Engineering 19

Atmega128 Bluetooth 연동

친구에게 부탁 받은 작업이 있어서 오랜만에 AVR 코딩ATmega128에서 수신 받은 데이터를 시리얼 통신을 이용해서 Bluetooth와 연동Atmega128 --- (유선) --- Bluetooth module --- (무선) --- Blueterm APP디버깅 도중 3.3V 레귤레이터가 타버려서 DC-DC 레귤레이터로 응급수술;;내가 쓰고 있는 폰은 아이폰6+인데 아쉽게도 애플스토어에서 지원하는 어플은Bluetooth SPP통신을 지원하지 않아서 안드로이드 폰만 테스트가 가능하다 ㅠ스위치를 입력받아 Atmega128에서 보내는 시리얼 데이터를 플롯하는 동작

Engineering/AVR 2016.03.29

ROVATA robot arm design

실험실에서 준비하고 있는 화성탐사로봇대회URC 2016에 참가하기 위해 준비하고 있는 로봇그 중 robot arm 설계를 맡게 되었는데 우선 레고 NXT부품을 이용하여대략적인 기구학적 움직임을 설계해 보았다. 이를 토대로 3D CAD를 이용해 실제 구동될 모터를 고려하여 설계를 한 뒤구속조건을 주어 메커니즘 시뮬레이션을 확인하였다. 3D CAD에서 설계한 부품을 Auto CAD로 변환하여 각 부품을 가공하여 조립한 모습이다.Grip을 담당하는 모터 1개와 Rotation을 담당하는 모터 1개, 총 2개의 모터로 2자유도를 가진다.추후 Linux에서 XBOX 360 pad의 입력값을 받아 각 모터를 위치제어하는 구조로 설계예정이다.

AVR을 이용한 Load cell 연동

로드셀로 로봇 다리의 지지력을 구하기 위해서ATmega128의 ADC를 이용하기로 하였다.우선 로드셀은 음전압을 필요로 하기 때문에 ICL7660으로 음전압을 발생하고+IN과 -IN의 전압 resolution이 작기 때문에 AD620으로 500배 증폭을 시켜준다.빵판으로 테스트 완료 로봇에서 로드셀을 최대 6개까지 사용하기 때문에 ADC핀 PF0~PF5를 사용하도록뜨게질 납땜으로 보드를 제작하였다.ATmega128의 RS-232통신으로 출력값을 보내고 이를 PC에서 수신하여 plotting해보았다. Matlab으로 plot해본 결과offset값을 수정하여 무게를 감지하는 것을 확인하였다. (노이즈가 있어서 low pass filter를 적용하였다)

Ambilight 제작

위의 사진은 얼마전에 우연히 인터넷에서 본 Ambilight를만들어보기 위해 사용한 Raspberry Pi 이다.Ambilight은 영상의 가장자리 RGB픽셀 값을 LED로 패널 뒤에서 빛을 쏴줌으로서좀 더 큰 화면을 보는 듯한 느낌을 주고좀 더 다이나믹한 영상미를 느낄수 있게 해주는 기술이다. Hardware : Raspberry pi (B type) + ws2801 (64pcs) + DC5V 3A AdapterSoftware : Raspbain + XBMC + hyperion 자취방에서 쓰고 있는 27인치 모니터에 테스트해본 영상

Engineering/Linux 2015.09.11