[아두이노] 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
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기

메이커 스토리

번호 제목 글쓴이 날짜 조회수
35 일반 과메기전 3차 전시자료 - 우리가 세상을 아름답게 만드는 방법 icon HellMaker 12-27 22,277
34 일반 과메기전 3차 전시자료 - 우리가 세상을 바꾸는 방법 icon HellMaker 12-25 23,727
33 일반 과메기전 2차 전시자료 - 우리가 세상을 다가가는 새로운 방법 icon HellMaker 12-24 22,172
32 일반 과메기전 1차 전시자료 - 우리가 세상을 편하게 만드는 방법 icon HellMaker 12-23 23,379
31 일반 Hell Maker의 매너가 치킨을 지킨다. icon 양재동메이커 01-11 25,745
30 일반 이원난 농원의 꺼구로 어항 icon 양재동메이커 12-02 23,950
29 일반 갈대 빨대 제작 도움이 필요합니다. icon 양재동메이커 11-06 24,407
28 일반 Toy Printer사용법에 _#2 icon 청계천도사 11-05 23,752
27 일반 Toy Printer사용법 +2 icon 청계천도사 11-05 23,377
26 일반 반려 동물 심폐 소생 시뮬레이터 icon 양재동메이커 09-26 24,022
25 일반 3D Printed Record icon HellMaker 09-05 24,142
24 일반 배터리 잔량 측정기 만들기 (마이크로 비트) icon HellMaker 09-04 31,439
23 일반 김메모 - 미세먼지 관련 인식도 조사 결과 및 분석 icon 양재동메이커 06-17 26,331
22 일반 2019년 4월 19일 DIY 청계천도사 프로젝트 진행 +1 icon 청계천도사 04-18 24,575
21 일반 김메모 와 헬메이커 2번째 협업 : 잡초제거 로봇 요구 분석 +2 icon 양재동메이커 04-14 26,964
20 일반 사랑의 독거 노인 도시락 MBED 프로그램 설명 icon 양재동메이커 04-04 23,937
19 일반 무게를 재는 방법에 대한 고찰 icon 양재동메이커 04-02 27,726
18 일반 Thermal Printer Mounts Directly to an Arduino / Raspberry Pi icon 양재동메이커 03-22 25,225
17 일반 3D-Printed Gimbal Pan/Tilts Cameras and… Lasers? icon 양재동메이커 01-17 24,135
16 일반 2019년 명동 재미랑 캐릭터 메이커 톤 참여기 +1 icon 양재동메이커 01-13 25,141