본문 바로가기

QFN타입 SMD 부품 납땜기 (CP2102 USB to UART) - 다음 작품을 위한 준비 안녕하세요.^ 거의 한주만에 돌아왔습니다. 때문에 몰린 포스팅 정리하느라 바쁘네요. 출발하기 전에 다음 블루투스를 사용하는 프로젝트를 하기 위해서 하드웨어를 설계해놓고 만들고 출발했었는데요. 블루투스 모듈을 구매하고 나니까 집에 USB를 시리얼로 변환해 주는 장치가 없어서 직접 처음으로 양면기판을 에칭해서 제작해봤습니다. FT232랑 PL2303 등 납땜하기 쉬운 IC가 있는데 뭐하러 CP2102같은 QFN 타입을 썼을까요? 첫번째로 FT232는 너무 비쌉니다. 비싼것 말고 기능은 충실하니 큰 불만은 없구요.ㅎ PL2303은 주변회로가 너무 많아서 USB to UART 장치가 너무 커질것 같아서 사용하지 않았구요. 주변회로도 거의 들어가지 않으면서 작게 만들 수 있는 걸로 CP2102가 끌려서 사용해봤습.. 더보기
AVR의 타이머/카운터 인터럽트 응용 LED시프트 순차점멸하기 - AVR 연습하기 이론 정리 다음에는 항상 실제 실험을 해왔고, 타이머/카운터 인터럽트 이론을 정리했으니 이제 실습입니다. 타이머/카운터로 AVR 내부에서 정확히 재서 1초를 만드는 프로그램을 짜 보았습니다. 첫번째 실험은 LED로 해봤지만 타이머/카운터 인터럽트는 활용도가 높은 만큼 여러가지를 제어해볼려고 합니다.^ 연습 하드웨어 회로는? 다시 처음으로 돌아와 버렸네요..! LED전류제한용 저항330옴과 LED 그리고 제가 만든 AVR 모듈이 사용된 회로입니다. 모듈이 없다면 브레드보드에 TINY2313으로 구성해서 사용해도 되는 초간단 회로이지요. 회로는 너무 많이 봐서 지겨우니 새로운 소스코드를 보도록 할까요! 동작은 기본제공되는 delay함수를 사용하지 않고 타이머 인터럽트로 delay함수를 만들어서 정확한 1초로.. 더보기
P-DIP타입 다리부러진 IC 고쳐서 사용하기 - 부품수리기 잠시 쉬어가는 타임입니다. ㅎ 다리부서진 AVR칩 다시 납으로 복구 할 때 사진찍어뒀는데 이제서야 올리네요. 사진찍을 때 손떨림 보정기능은 사용하지 말자구요.!! 쓴 결과가 위에처럼 노이즈가 잔뜩 껴서 나왔습니다. ㅜ 준비물은 브레드보드 Half+ 혹은 Full+ 하나 솔더위크 하나, 납 조금, IC분리용 드라이버, 롱로우즈 하나 인두기, 인두 받침대 이렇게 준비했습니다. 부러진 IC 소생중....이 삽질 아닌 삽질을 하게 된 계기는 저 40핀 짜리 조그만 IC가 5800원이나 한다는 겁니다. MEGA16 2개를 가지고 있는데요. 찍어둔 사진은 다리 1개가 부서졌지만 다른 1개가 VCC하고 RESET핀이 떨어져나갔습니다. ㅜㅜ 그래서 약 11600원을 날릴 수 없기에 비장한 각오로 소생작업에 들어갔습니다.. 더보기
AVR 타이머/카운터 인터럽트 (Timer/Counter interrupt) 제어 레지스터 - AVR 이론 타이머/카운터란 무엇일까요? STEP. 1타이머/카운터는 인터럽트와 처리가 동일한데 시간이 더해진 형태입니다.타이머가 일정한 시간마다 신호를 주면 카운터는 그것을 세어서 8비트 AVR의 경우에 256가 넘으면 8비트로 계산 할수 있는 값이 아니므로 넘침(Overflow) 가 발생하게 됩니다.이 때 인터럽트가 발생해서 원하는 프로그램을 처리하는 것이지요.! STEP. 2타이머/카운터를 이해하기 위해서는 주기와 주파수의 관계를 알아야 합니다.먼저 주파수는 1초에 진동하는 횟수 라고 일반적으로 알고 있습니다. 하지만 AVR 하는동안은 의미를 바꾸세요. 1초에 들어오는 신호로.!주기는 진동한번 즉 신호한번 1Hz가 들어오는 시간을 말합니다. 만약 이런신호가 측정되었다면 신호상승에서 하강까지가 신호 1번이고, 그.. 더보기
다림질 토너전사 단면PCB 에칭과정 총정리 - DIY PCB 다음부터의 PCB만드는 과정 사진 생략을 위해서 or 빠른 포스팅을 위해서 다림질로 단면PCB에칭하는 전 과정을 사진으로 정리해봤습니다. 사진은 무엇을 만들어 놓은 걸까요?? ㅎ 저 20핀 커넥터가 익숙하신 분들은 아실듯.! 단면PCB 제작과정제일 처음 준비되어야 할 것은 레이저 프린터와 캐드로 레이아웃 작업이 완료된 인쇄가 가능한 거버파일 혹은 캐드 프로그램내에서 원하는 레이어 별로 인쇄가 가능해야합니다. 사진이 많아 스크롤 돌리는 손이 아플지도 모릅니다.^ 준비가 모두 되었다면 첫번째로는 용지선정이 가장 중요합니다.용지는 시트지나 포인트지를 쓰고 남으면 뒷면에 표면이 미끌미끌하게 코팅되어있는 박리지를 얻을 수가 있는데요.. 용지 선정만 잘해도 공 PCB에 전사작업시 높은 성공률을 보입니다.저는 박리지.. 더보기
아두이노 두에밀라노베(Arduino Duemilanove) 완성 - 기초 LED 깜박이기 한동안 뜸한동안 여러가지를 테스트삼아 만들어보고, 부품이 올때까지 포스팅을 지연하고 있었습니다만 부품도착으로 아두이노 두에밀라노베를 완성했습니다.그럼 아두이노가 무엇이냐? 아두이노(Arduino)는 오픈소스를 기반으로 한 피지컬 컴퓨팅 플랫폼으로, AVR을 기반으로 한 보드와 소프트웨어 개발을 위한 통합 환경(IDE)를 제공한다. 아두이노는 많은 스위치나 센서로부터 값을 받아들여, LED나 모터와 같은 것들을 통제함으로써 환경과 상호작용이 가능한 물건을 만들어낼 수 있다. 또한 플래시, 프로세싱, Max/MSP와 같은 소프트웨어를 연동할 수 있다.- 위키백과 - 이론 정리는 재미없어서 싫지만 ... 내용의 충실함을 위해 어쩔수 없겠죠!!.. 아두이노는 AVR시리즈의 칩에 부트로더라는 프로그램을 올려서 마.. 더보기
[Light Drive 4/4] 적외선 무선제어 로봇완성 그리고 소프트웨어 프로그래밍 다시 Light Drive 들고 돌아왔습니다.^ 저 멍청한 기계에게 동작을 심어주고있습니다. 윙.... 진행중 .....90% 소스코드는 CodeVision으로 원래 코딩했으나 나중에 AVR Studio도 작업해서 두었고 리모컨은 별도의 ISP커넥터가 없어서 저렇게 만들어둔 AVR 연습용 모듈에 Tiny2313을 끼워서 프로그래밍 했습니다. 동작 알고리즘 알고리즘이라고 하는게 맞을까요?? ㅎ동작 프로그래밍은 먼저 송신부인 리모컨과 수신부인 로봇은 둘이 8Mhz로 발생시킨 타이머/카운터 0번 인터럽트로 보내는 신호, 받는 신호를 동일한 시간으로 분석합니다.리모컨측은 임의의 코드를 인터럽트 변수 Count값 50마다 1인경우 37Khz를 발생, 0인 경우에는 그냥 Count값 50을 지나도록해서 8비트로 4.. 더보기
AVR 외부 인터럽트를 이용한 LED 제어 - AVR 연습하기 안녕하세요. 2일 정도 뜸하다 돌아왔네요.^ 인터럽트관련 정리글을 올려놓고 실제 실험해본 것을 안올렸는데.. 뒤늦게 올립니다.^이제 점차 AVR을 다루는 난이도가 올라가는데요. AVR은 인터럽트시에는 사용하는 핀이 정해져 있는데 아래 핀아웃을 볼까요.! AVR 외부인터럽트 핀아웃ATTINY2313의 핀아웃을 보면 PD1~7 포트가 있고 그 옆에 괄호가 있는데 괄호가 해당핀에서 사용 할 수있는 기능이라고 보면됩니다.외부인터럽트의 경우에는 앞에 INT가 붙고 뒤에 비트값이 차례대로 붙는데 Tiny2313의 경우에는 외부인터럽트신호를 2선밖에 지원하지않기 때문에 INT0, INT1이 있고, 인터럽트 설정시에도 INT0, INT1 두 인터럽트설정만 하기에 레지스터수가 적습니다. 연습 하드웨어 회로는? 일단 그냥.. 더보기
[Light Drive 3/4] 포맥스로 적외선 무선제어 로봇 본체 프레임 제작 안녕하세요.!리모컨에 이어 로봇프레임 만들기로 다시돌아왔습니다.탱크차체나 모터달린 제품을 사서 로봇을 꾸미는 경우가 많으나, 도전정신으로 직접 만들었습니다.허접하지만 동작하는데 문제없으므로 Pass 재료는 사진처럼 포맥스, 컷터칼, 록라이트501(?), 볼캐스터, 사진에는 없지만 양면테이프, 가위 정도 준비해서 제작했습니다. 제작과정제작과정보다는 포토타임(?)이 어물리는 내용의 구간입니다.ㅎ 디자인은 일반 자동차를 떠올리면서, 창의성제로, 기계기술 제로의 작품을 만들어내고 있습니다. 메인프레임을 포맥스로 재단했는데요. 저는 가로(80mm)x세로(140mm)로 재단했습니다.포맥스판재 재단할때 칼로 먼저 여러번 선을 긋고 힘주어서 자르면 쉽게 잘립니다.처음부터 힘줘서 자르면 엇나가서 굴곡이 생겨 똑바로 안잘.. 더보기
AVR 외부 인터럽트 (AVR External interrupt) 제어 레지스터 - AVR 이론 인터럽트가 무엇일까요? 인터럽트란 Main()에서 기존에 프로그램 처리중에 외부의 신호나 변화에 의해서 인터럽트가 발생되면 그 인터럽트에 대응하는 프로그램을 먼저 처리하고 다시 Main()으로 복귀하여 주 프로그램을 처리하는 과정입니다. 인터럽트는 흔히 게임하는 아들에게 부모님이 심부름을 시켜 아들이 시킨일을 다하고 나면 원래하던 게임으로 돌아오는 과정으로 표현하곤합니다. AVR에서는 타이머/카운터0번, 타이머/카운터1번, 외부인터럽트(INT)등 다양한 인터럽트가 있으며 각각 처리방식에 따라서 또 여러가지로 세분화 됩니다.여기서는 간단한 AVR실험에 자주 사용하게 될 외부인터럽트에 대해서 다루도록 하겠습니다. 외부 인터럽트?외부인터럽트는 여러가지가 있겠지만 스위치입력에 인터럽트라는 속성을 부여했다고 생각.. 더보기