본문 바로가기

AVR/AVR 작품, Project

[Linetracker] AVR + OPAMP 응용 라인트레이서 만들기, PCB제작, 소프트웨어 코딩

 

 

상당히 마이너한 작품인 라인트레이서를 만들어서 AVR 작품에 오랜만에 포스팅으로 돌아왔습니다. 전면 하단부에 적외선 센서를 4조 설치하고, 디자인은 포맥스를 이용해서 Light Drive의 느낌으로 제작되었습니다.

 

 이번에는 PCB에 납코팅을 하지 않고, PCB 부식 방지제를 사용해 보았는데 그래도 부식되기는 되는데 많이 부식도안되고, 무엇보다 작업이 하나 줄었습니다. :D

 

 

 

회로도는 이렇습니다.


 

 

 

라인트레이서 센서보드 회로도

 

 

 

 

센서보드는 저렴한 적외선 센서인 ST-7L과 EL-7L 4조 세트로 구성되었고, EL-7L 일반 LED처럼 전원을 투입해서 적외선을 송출하고, ST-7L은 4.7K저항으로 풀다운 되어 검은색 라인에 의해 센서가 인식되어 있지 않을 때는 0V (논리0)을 출력하고, 일반필드에 있을 때는 적외선 센서가 인식되어 5V (논리1)을 출력합니다. (검은색 라인에서 센서가 인식되지 않는 이유는 검은색은 대부분의 빛이 흡수되고 반사되는 빛이 거의 없기 때문에 수광센서로 입력이 없어 논리0이 출력되게 됩니다)

 

 라인트레이서 메인보드 회로도

 

 

 

 

메인보드는 LM324 OPAMP를 통해서 센서 4조의 감도를 통합적으로 조절 할 수 있도록 설계했고, 나머지 주변 회로는 Light Drvie와 동일합니다.^

 

제작과정


 

 

 PCB 제작

 

역시 동일한 방식으로 IR Robot과 유사하게 PCB를 제작했습니다.

 

 부품장착 및 납땜

 

OPAMP를 사용하다보니 도저히 Bottom면으로만 배선이 힘들어서 점프를 약 5~6개 사용하였습니다. 원래 정석대로 제작한다면 PCB를 양면으로 제작해야 하지만, 그렇게 되면 작업이 추가로 더 들어가니 그냥 PCB 레이아웃상에 TOP면으로 배선되어있지만, VIA만 추가로 인쇄해서 전사해줬답니다.^

 

 라인트레이서 프레임 제작

 

 

 

 완성 !!!!

 

완성!!!!

부식방지제를 뿌렸음에도 기판이 부식이 일어나고 말았네요.. 그리고 참고로 센서의 간격은 일반적으로 판매하는 절연테이프의 폭에 맞춰 제작했기 때문에 필요에 맞게 PCB 레이아웃에서 간격을 조정할 필요가 있습니다.^

 

 

 

제어 알고리즘 및 자료 다운로드


 

알고리즘은 크게 복잡한 것은 없습니다. 전면 하단 센서 왼쪽 부터 0x01, 0x02, 0x04, 0x08 순으로 자리 데이터 값이 있는데 신호가 들어오고 안들어 옴에 따라서 sensor변수를 만들어 비트연산을 한 후에 이 값을 비교해서 각 모터에 PWM신호를 주고 속도 차이가 생긴 모터가 좌회전을 하거나 우회전을 하거나 직진하게 됩니다.^
그럼 PCB 레이아웃 및 소스코드가 필요한분은 아래에서 다운로드 하시기 바랍니다.^

 

 

 AVR Linetracer (Linetracker) 소스코드 다운로드

 

 AVR Linetracer (Linetracker) PCB 디자인 다운로드

 

 

 

동작영상


 

 

- 루프 무한 반복 주행 -

 

- 라인을 강제로 이탈시켰을 때 -

 

간혹  아예 라인에서 벗어나는 경우도 있지만, 무난한 주행을 확인했습니다.

요 근래 아이디어도 떨어져서 무엇을 만들어야 될지 모르겠네요 ㅎㅎ 그리고 시간있을 때 틈틈이 요것 완성했답니다.^ 다음은 무엇으로 돌아올까요??