분류 전체보기
-
스테핑 모터를 까보았다!프로젝트/Curiosity Project - teamjointproject 2020. 4. 26. 15:00
안녕하세요! 정라이언 입니다. 오랜만에 티스토리를 써보는데요. 오늘의 주제는 바로바로 스테핑모터의 구조 입니다. 자 시작해 볼까요? 혹시 스테핑모터의 대해서 아시나요? 스테핑모터는 한 바퀴의 회전을 많은 수의 스텝들로 나눌 수 있는 브러쉬리스 직류 전기 모터입니다. 모터의 위치는 모터가 적절하게 장치에 설치되어 있는 한, 어떤 피드백 장치 없이도 아주 정확하게 조절이 가능합니다. 이제 스테핑모터의 대해서 알겠나요? 오늘은 스테핑모터의 대해서가 아니라 스테핑모터의 구조에 대해서 설명할 것 입니다. 스테핑모터는 종류에 따라 구조가 다릅니다. HB형 스테핑모터는 그림 4.1과 같은 외형과 내부구조로 되어 있습니다. 이 부품은 스테이터 입니다. 이 부품은 로터 입니다. 스테핑모터의 기본 특성은 정특성과 동특성이..
-
[Project_AF] 자동초점 현미경 개발기 (9) - 실행파일 변환Ort Lab 2020. 4. 14. 00:25
저번까지 해서 자동초점 현미경의 프로그래밍 파트가 끝났습니다. 다만, 이를 실제로 사용하기 위해서 일일히 파이썬을 깔고, ~.py를 실행시킬 수 없음으로 파이썬 파일을 exe 실행파일로 변환합니다. 이는 pyinstaller를 이용합니다. pyinstaller를 사용하기 위해서 모듈을 import 합니다. >> pip install pyinstaller 모듈을 설치했으면 exe파일로 변환시키기 전에 아이콘을 지정합시다. 아이콘이라 하면 요런 아이콘이요. 기본적으로 exe실행파일은 이렇게 생겼습니다. 안이쁘니 바꿔주죠. 일단 exe파일로 사용할 이미지를 준비합니다. png파일로 준비하세요. 기본적으로 아이콘 변경은 정사각형을 지원하기때문에 정사각형 맞춰서 준비해주시면 됩니다. 그러면 이 사이트로 접속하면 ..
-
[Project_AF] 자동초점 현미경 개발기 (8) - 함수제작-3 [자동초점]Ort Lab 2020. 4. 13. 23:55
지난 3월 9일이후 거의 1달만이네요. 코로나 조심들 하시고.. 학교 못가시는 학생분들 파이팅... 쨋든... 자동초점을 위해서 1~7편까지 왔네요. 8에서는 자동초점 기능을 구현합니다. 현미경의 조동나사를 회전시킬 모터는 42각 스텝모터를 사용하는데 그 이유는 1 fullstep에 1.8도를 회전하기 때문에 제어에 용이해서입니다. 근데 지금생각해보니 자동초점 함수 제작 보다는 하드웨어를 먼저 쓰는게 나았던거 같긴한데 고치기 귀찮음으로 그냥 지나갑시다. 자동 초점은 다음과 같은 방식으로 작동합니다. 왼쪽은 현재 재물대의 높이(맨위가 렌즈쪽)이고, 오른쪽은 카메라에서 실시간으로 계산한 Definition(선명도)입니다. 1차적으로 붉은색으로 표시된 화살표대로 쭉 내려가며 스캔을 진행합니다. 이 스캔에서는 ..
-
분광기 (分光器, Spectrometer or Spectroscope)메이커들을 위한 배경지식 2020. 3. 23. 18:26
오랜만에 인터넷이 원활히 되는 세상에 있게되어 다시 글을 써봅니다. 마침 소형 분광기 센서를 사용한다는 말을 얼핏 듣게되었습니다. 그 분광기 센서에 대하여 조금 찾아보다가 분광기의 정확한 역할을 학생들에게 알려준다면 그 센서의 사용 방법과 방향이 명확해질 것 같다는 생각이 들어 그에 관한 이야기를 시작합니다. 분광기는 한자어를 그대로 풀이하면 '빛을 나누는 기기'입니다. 그리고 영어 이름으로 찾아보면 Spectrometer 또는 Spectroscope이라고 표현되는데 그 어원을 찾아보면 Spectro = color, meter는 정량적인 측정, scope은 현미경, 망원경과 같이 한 이미지를 보는 도구 또는 기기를 이야기합니다. 따라서 빛을 나누어서 그 양을 측정하고 이미지화 시키는 장비를 분광기라고 정..
-
[Project_AF] 자동초점 현미경 개발기 (7) - 함수제작-2 [제물대 이동]Ort Lab 2020. 3. 9. 12:48
저번 글에서 save_data()함수를 완성하였습니다. 이번에는 장치의 제물대를 제어하기 위한 함수들을 완성하려합니다. up_step() - 제물대 위로 이동 down_step() - 제물대 아래로 이동 settop() - 현재위치를 제물대 최대높이로 설정 이렇게 3개의 함수가 있습니다. 일단, 제물대의 높이를 조종하기 위한 모터는 컴퓨터로 바로 제어하기 힘들기 때문에 아두이노를 이용할겁니다. 컴퓨터에서 신호를 보내 아두이노를 제어하기 위해서는 시리얼 통신을 이용합니다. import serial Port_adress = 'COM2' AVR = serial.Serial(Port_adress, 9600) AVR.write(b'0') 위의 코드는 9600비트/초의 통신속도로 COM2로 '0'을 전송하는 코드입..
-
[Project_AF] 자동초점 현미경 개발기 (6) - 함수제작-1 [사진저장]Ort Lab 2020. 3. 8. 23:50
(5)에서 제작한 GUI에 각 버튼에 해당하는 함수를 본격적으로 작성해야겠네요. 정의해야할 함수는 다음과 같습니다. save_data() - 카메라 화면을 ○○.jpg로 저장 settop() - 현재위치를 제물대 최대높이로 설정 up_step() - 제물대 위로 이동 down_step() - 제물대 아래로 이동 AF() - 자동초점 실행기능 일단 가장 간단한 save_data()부터 빠르게 해보죠. 일단 캡쳐한 화면을 저정해야합니다. def save_data(): text = 'Image' ret, frame = cap.read() cv2.imwrite('./Save/%s.jpg'%text,frame) print('System >>> Data_save Success [%s.jpg]'%text) 이 함수를..
-
[Project_AF] 자동초점 현미경 개발기 (5) - GUIOrt Lab 2020. 3. 6. 00:24
저번 글(4)까지 해서 자동초점을 위한 준비는 끝이 났습니다. 이제 이를 이용해서 본격적으로 프로그램을 제작해야죠! 그런의미로 오늘은 GUI를 제작할 예정입니다. 일단 GUI에 기본적으로 들어가야할 기능을 선정해봅시다. 기본적인 기능은 초점을 잡는것이니, 초점을 잡는 기능은 있어야겠고.. 필요할 경우 제물대의 높이를 버튼으로 조종할 수 있도록 해야겠군요. 그리고 접안렌즈쪽은 카메라가 있으니, gui 자체에서 카메라 화면을 크게 보여주는 것도 중요하겠군요. 또한 연구용으로 쓰려면 촬영이 중요하니.. 프로그램 자체에 현재 카메라화면을 스크린샷해서 원하는 이름으로 저장해주는 기능도 있어야겠군요. 대충 GUI를 디자인해보자면.. 네 이렇습니다. 붉은색으로 숫자를 써놓았으니.. 하나하나 짚어보면 1. 이 큼직한 ..