[아두이노] ESP32 CAM - 도깨비 자동차 2

지난 3개월 동안 틈틈히 시간내서 이것 저것 시도 했던 내용을 정리하여 공유 해 본다. 지극 히 개인 적인 경험으로 각자의 상황에 따라 조금씩 틀릴수 있는점 양해 부탁 드립니다. 


24b90ead4b8580ad39634b6a21a949c8.jpg
 

 최초 링크의 소스를 참조하여 GPIO12을 모터 드라이버 제어에 사용 하려고 하였으나 적용된 모터 드라이버 문제 인지 초기 동작시 해당 IO에 연결된 모터가 동작 되어다 ESP32 CAM이 계속 Restart되는 문제가 발생되어 초음파 센서로 대체 하여 사용 IO를 할당 하였다.

 e5b59323bf2f2eb0f1475643ac8f044b.jpg 

L9110S L9110 H-브리지 스테퍼 모터 듀얼 DC 모터 드라이버 컨트롤러 보드 모듈  가장 저렴한 모터 드라이버로 2개의 모터를 제어 할수 있으며 이전 아두이노 나노 도깨비  자동차에서도 사용 하였다. 

 특별할게 없는 모터 드라이버 인데 ESP32 CAM (AI THINKER)의 GPIO 12번 연결 사용시 초기 모터가 동작하는 것으로 보아 해당 핀이 초기 설정 값이 HIGH 또는 내부 회로로 구성이 다른 IO 과 틀린 부분이 있지 않을까 의심 해본다.


ESP32 CAM의 도깨비 자동차의 주요 기능 정의


1. WiFi는 AP Mode와 Station Mode 동시 지원

AP Mode를 접속하여 Station Mode WiFi의 설정 정보 설정 및 저장 (EEPROM 영역에 저장)


2. 모터 속도 제어 및 관련 설정

설정 페이지에 접속하여 모터 속도 설정 (EEPROM 영역에 저장)


3. Web Page를 통하 영상 이미지 확인 및 자동차 제어


b113a7ccbc4343b098facfcbc0f1fd21.jpg
 

 WiFi검색 후 Pro+Makers AP에 연결 후  192.168.4.1 웹 주소 접속 하면 위와 같은 화면을 볼수 있다. 기본 적은 WiFi 설정 정보 입력 후 Update 버튼 클릭시 해당 정보가 EEPROM에 저장되어 추가 설정 없이 사용이 가능 하다. 추가적으로  모터의 전진/후진 시 속도 제어 값도 설정 할수 있도록 하였다.

(아두이노 나노와 다르게 ESP32는 별도의 EEPROM영역이 없다 Flash Memory를 일부를 할당하여 사용되며 사용 함수도 살짝 상이한 부분있다.)

7ccdafc7ffd3b23a426e065a8134f8d5.jpg 6599071179d465f060b69541561e49c3.jpg 

ESP32 CAM과 초음파 센서 전원 터미널드 커페시터를 회로 구성, 스위치는  Boot Mode 선택에 사용되며 시리얼 통신은 뒤면에 별도의 보드를 연동하여 사용 하도록 하였다.

7753b3fa6aee23ae45cefc8a899825a1.jpg

전원 보드는 28650 리튬이온 배터리의 충전 모듈과 DC UP (3,7~4,2V to 5V) 모듈 장착, DC UP 모듈은 3A까지 지원 된다고 하는데, 테스트 시 전원 부족으로 제어 보드가 Reboot 되는 현상이 발생 된다. (모터 2개를 동시 동작시 주로 발생)


fb3567b136efca85dbb9ae057125c804.jpg

완성된 도깨비 자동차 기존 레이저 커터를 활용하여 장착해 보았으며, 시간을 두고 기구 및 관련 문제를 해결해 나갈 예정이다. 

756c464fc24ae6563765ebd57ee03d27.jpg
설정 화면 하단에 카메라 화면과 제어 버튼 들이 배치 되어 있고.  버튼 누를때 해당 동작이 서버로 전송 되며 땔때 정지 동작이 서버로 전송 되도록 HTML이 구성되어 있다. 




 참고한 예제 같은 경우 Web Server호출된  처리 Handler 함수에서 모터 제어가 이루어 지고 있는데, 여러번 제어 명령을 내릴 경우 처리 속도가 계속 느려지는 문제가 확인 되어 Handler에서 이벤트만 등록 하고 IO처리는 Loop 에서 처리하도록 로직을 변경 하였다.


 추측으로는 ESP32는 CPU0에서는 시스템 (통신)  CPU1에서 사용자 로직을 처리 하도록 설계된것으로 알고 있으며 귀차니즘으로 인하여 이런 차이로 문제가 발생 되지 않았나 생각 해 본다, 추후 자세한 원인 파악이 되면 관련 내용을 업데이트 하도록 하겠다.


P.S : 해당 소는 정리 후 빠른 시일내에 공개 하도록 하겠다.



 




0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기

메이커 스토리

번호 제목 글쓴이 날짜 조회수
109 라즈베리파이 Top Maker 해커톤 2021 icon 양재동메이커 08-29 22,079
108 라즈베리파이 라즈베리 파이 4 WiFi 안테나 확장 방법 icon 양재동메이커 08-24 33,741
107 아두이노 Otto Bot Bluetooth 연동하기 icon 양재동메이커 05-14 24,981
106 일반 자이로센서 roll, pitch, yaw 데이터 처리 구조 #2 icon HellMaker 03-01 23,121
105 일반 자이로센서 roll, pitch, yaw 데이터 처리 구조 #1 icon HellMaker 02-22 34,084
104 일반 MECCANOID G15 Personal Robot icon 양재동메이커 02-10 20,194
103 일반 레이저 커터 구입을 위한 TMI icon 양재동메이커 02-03 20,252
102 일반 1회용 마스크 수집 시스템 icon 양재동메이커 12-31 20,810
101 일반 과메기전 3차 전시자료 - 우리가 세상을 아름답게 만드는 방법 icon HellMaker 12-27 19,936
100 일반 과메기전 3차 전시자료 - 우리가 세상을 바꾸는 방법 icon HellMaker 12-25 21,240
99 일반 과메기전 2차 전시자료 - 우리가 세상을 다가가는 새로운 방법 icon HellMaker 12-24 19,963
98 일반 과메기전 1차 전시자료 - 우리가 세상을 편하게 만드는 방법 icon HellMaker 12-23 21,017
97 아두이노 ESP8266와 아마존 알렉사 연동 icon 양재동메이커 03-09 24,360
96 아두이노 Open Cat 전원 문제 icon 양재동메이커 02-23 24,072
95 아두이노 Open Cat 한글 매뉴얼 icon 양재동메이커 02-12 22,919
94 일반 Hell Maker의 매너가 치킨을 지킨다. icon 양재동메이커 01-11 23,343
93 일반 이원난 농원의 꺼구로 어항 icon 양재동메이커 12-02 21,837
92 아두이노 반려 동물 심폐 소생 시뮬레이터 #2 icon 양재동메이커 11-29 23,628
91 일반 갈대 빨대 제작 도움이 필요합니다. icon 양재동메이커 11-06 22,093
90 일반 Toy Printer사용법에 _#2 icon 청계천도사 11-05 21,365