DC모터 두개를 이용한 자율 주행차 비슷한것을 인터넷 강의를 들으며 만들기 시작했다.

그런데 주어진 모터 드라이브가 내가 갖고 있는 TB6612FNG와 달라서 이점을 고려하면서 작업을 진행하였다.

그런데 Warning 이나 Error없이 진행되던 소스에 갑자기 RuntimeWarning: This channel already in use 이런 문구들이 나타나기 시작했다. GPIO 핀을 다른 곳에 꽂아도 마찬가지로 나타나는 Warning들...   에러는 아니지만 깔끔한 소스를 원하는 것이 기본아닌가...

인터넷을 검색해보니 답은 간단하다 cleanup()을 해주란다. 집에 있는 부품들과 라즈베리파이 소스에 GPIO 핀에 대한 선언후 바로 GPIO.cleanup()을 실행시키고 이후 진행시키는 것을 시도해 보았는데 첫번째 소스는 해결된 듯 했으나 두번째 소스에서 해결되지 않았다. 근본적인 하드웨어 연결부분과 코딩을 재검토 해보는 것이 좋겠다.

Timport RPi.GPIO as GPIO
# do stuff …

# … left blank for the reader to fill in …
# … then perform a clean exit:

try :

except :

finally :
   GPIO.cleanup()

그리고 TB6612FNG 모터 드라이브에 연결된 모터들이 반응을 하지 않으니 별도의 모터용 전원을 넣어주는 것도 고려해야 할 것 같다. 이후 내용은 직접 테스트해보고 다시 수정하여 정리하고자 한다.

Posted by 천칭
,

http://blog.naver.com/roboholic84/10186976167

 

Motor Driver 1A TB6612FNG

스파크펀의 TB6612 드라이버는 두개의 DC 모터를 제어할 수 있는 모터드라이버로 최대 15V 3A의 출력...

blog.naver.com

도식화된 자료라서 옮겨왔습니다.

아두이노가 아닌 라즈베리파이로 도전해보려고 자료를 모으고 있습니다.

[2020-10-12]

라즈베리파이 파이썬으로 DC모터 2개를 제어하려 할때 위의 내용을 참고하여 작업했으나, 움직임이 없어서 자세히보니 모터 파워에 해당하는 VM 항목에 5V전원을 추가로 넣어주는 것을 안한것 같네요. 잘 될 것 같긴한데.. 해보고 수정하겠습니다.   By 천칭

Posted by 천칭
,

아들래미 장난감 자동차로 테스트했던 내용중에 L298N 모터드라이버를 사용하여 출력저하를 경험하였다.

아두이노 보드와 모터에 입력되는 전원을 분리하여 주었음에도 DC모터는 겨우 돌아간다는 느낌만을 주었을뿐 힘을 쓰지 못했다. 멀티미터로 출력전압을 테스트 해보려 했지만 회사업무로 시간도 없었고, 수많은 멀티미터들 중에 어떤것을 구입할까 고민하는것도 보통일은 아닌듯하여 찾아낸것이 TB6612FNG칩을 사용한 아주 작은 모터 드라이버를 찾아 구입하여 테스트하였으며 아두이노 보드도 NANO보드로 바꾸어 부피도 줄이면서 만능기판으로 옮기기 직전 상태에서 테스트를 진행 할 수 있었다.

 

왼쪽에 붉은 빛을 내는 세로바 형태의 기판이 블루투스 보드이고 가운데 푸른빛을 내는 작은 보드가 아두이노 나노보드, 오른쪽의 작은 빨간색 보드가 모터드라이버이다.... 전원은 아래에 보이는 1.5V x 4(6V)만으로 아두이노 보드와 모터가 작동된다... 아주 잘...ㅎㅎ

프로그램 소스는 정리하여 추후 올려 놓겠슴다...^^

 

Posted by 천칭
,

블루투스 RC카를 만들어보겠다고 아두이노를 시작한지 한달(?) 정도 인데...

makepcb.co.kr 에서 구입한 들어있는 센서가 어떤 용도인지도 잘 모를 초보자용 풀셋으로 시작해서 LED 불켜보고, LCD1602 연결해 보고, 온도센서와 거리센서를 연결해 본것이 연습이랄까...

 

드디어 블루투스 연결모듈(HC-06)로   Serial 통신이 잘되는지 통신연습을 몇번 해보고 DC모터 컨트롤을 위한 L298N모듈을 구입하여 연결하기에 이르렀다.

 

처음엔 모터드라이브(298N) 연결법때문에 고민... 이걸 블루투스 모듈과 같이 아두이노 보드에 연결하려니 핀 번호 조정하고 다시 스케치 프로그램 소스 수정하느라 고민...

 

Serial 통신상으로는 블루투스와 아두이노가 잘 되는것을 확인했으나 모터드라이브는 묵묵부답...꼼짝도 하지 않는다.

 

확인결과 소스에 약간의 문제가 있었고, 블루투스 통신으로 전달받는 전진 명령 val값이 모터드라이브 수행 함수에 전달되지 않는 것과 모터드라이브 전용 전원이 부족했다는 것을 체크하여 수정... 배터리 갈기 후...

 

전진과 후진으로 잘돌아가는 바퀴를 확인했다.... 만세!

 

이후에는 앞바퀴의 방향전환을 담당할 모터에대한 컨트롤이 필요한데... 서보모터가 아닌 일반 모터라서 방법을 고민중이다.

 

또한 어렵사리 성공하더라도, 아두이노와 모터드라이브 그리고 블루투스 모듈을 한곳에 모아서 작게 만들 기판작업이 남았다. 사진 위쪽에 위치한 아두이노 보드는 아두이노 NANO PRO로 교체하여 면적을 작게 가져갈 예정이다.

 

기판도 주문하고 납땜을 하기 위한 선로 그림도 그려서 납땜을 하여 작업을 마쳐보려는데... 언제 할수 있을런지...

Posted by 천칭
,

 

지난번 복잡했던 선들이 많이 단순해 졌다.

1602LCD를 쉽게 연결해 주는  I2C 인터페이스변환 어댑터를 붙여 주어서 가능해 졌다. 복잡했던 온갖 선들이 4가닥 선으로 화면을 표시해 준다.정말 대단하다. 

온도는 계속 엉뚱한 값을 보여주고 있지만 오늘은 특별히 초음파 거리측정 센서를 붙여보았다.

로봇 눈처럼 생긴 센서가 제법 근사치에 맞게 거리를잡아준다.

오늘도 작은 기쁨을 느껴보며 하루를 정리한다.

아... 아두이노 스케치(프로그램 소스)는 여기저기 인터넷을 뒤지고 예제 소스를 뒤섞어 업로드하고 있는데...

게시할 만큼 간결하지 못해 올리지 못하고 있다...

 

다음엔 오늘 도착한 블루투스 모듈 이용법을 파악한후 동작상황을 보아야 겠다...

오늘도 블루투스 RC카 제작에 한걸음 더 다가갔으리라 생각하며...

 

Posted by 천칭
,

지난번 LCD에 hello, world! 표시에 성공한 회로에 온도센서와 조도 센서를 연결하여

LCD에 표시하는 시도를 해봤다.

여기저기 나와있는 소스를 정리하여 업로드하고 실행시키니

분명 숫자는 표시되는지 맞는건진... 모르겠다.

초단위로 온도와 조도를 표시하라고 해봤더니

마이너스(-) 값도 표시하면서 계속 편차가 심하게 움직인다.

조도는 거의 일정하게 표시하는데... 손가락을 조도 센서를 가려도 크게 차이 나지 않는

그런이유도 모르겠다. 아 낭패다...

온도센서인 LM35는 1도씨마다 10mV의 값을 전달한다고 한다...

프로그램 소스에서 이값을 보정하여 실제적인 온도를 맞춘다고 하는데...

여러방법을 해봤지만 맞는건진 아직도 의문....

 

아~ 참... Dispay 할때 윗열의 Temp C 문자가 아래 조도 숫자 다음에 계속해서 나오는 문제가 있어서

참고삼아 적어본다.. lcd.clear(); 로 해결이 되긴하지만,

아랫열로 커서를 옮기고 "Light           "; 라고 준 상태에서

커서를 Light 쪽으로 붙여서 조도 숫자를 표기하니 쓸데없는 문자표기가 없어졌다...

 

공동구매 사이트가 현재 열여있어서 초음파 거리센서, DC모터 드라이버 모듈, 블루투스 모듈, 아두이노 NANO보드를 추가 구매한것이 오고 있다. 오늘은 추가로 RC카 재료인 바퀴(모터와 기어가 달려있는) 세트를 주문했다...

이제 정말로 블루투스 RC카를 만들어보는 준비단계를 시작해봐야겠다...

 

 

Posted by 천칭
,

바쁜 일상속에서 나도 뭔가 해보고 싶다는 생각에 시작한 아두이노...

어른들을 위한 장난감이랄까? 

예전 중학교 기술시간에 라디오를 만드는 실습시간이 있었는데...

아마도 그즈음이었던 것 같다... 아주많이 흥미를 느꼈던것이...

고등학교에서 이과가 아닌 문과를 택하면서 멀어진 전자기판들...

대신 컴퓨터에 많은 관심을 가졌었고 결국 전산실 근무....ㅋㅋㅋ

 

아두이노를 시작하면서 지금은 교재에 씌여진것을 연습삼아 만들지만

나중엔 핸드폰의 블루투스 기능을 이용한 RC카에 도전하리라 맘먹으며

오늘 4시간가량 투입된 LCD에 글자 표시하기... 성공..

1602 LCD기판을 브레드 기판에 고정시키기 위한 납땜작업의 부분 실패로

원인도 모르며 "왜 안되지?"를 반복하는 바보같은 짓을 했다.

결국 납땜한곳을 하나하나 다시 점검하며 재연결하여 성공...

 

 

회로도는 다음과 같다... 익숙치 않아서 한참 들여다 봤음....

 

다음엔 디지털 온습도계에 도전할 예정이다... 홧팅.

 

Posted by 천칭
,