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

메이커 스토리

번호 제목 글쓴이 날짜 조회수
69 아두이노 헬박사님의 로봇팔 살리기 icon 양재동메이커 05-13 4,316
68 아두이노 ESP32 CAM을 활용한 도깨비 자동차 Ver 3.0 icon 양재동메이커 06-12 8,084
67 아두이노 ESP32 CAM - 도깨비 자동차 2 icon 양재동메이커 07-13 11,885
66 아두이노 ESP32 CAM - 도깨비 자동차 icon 양재동메이커 05-07 13,374
65 아두이노 로보티즈 다이나믹 셀 MX-12W를 Arduino로 제어하기 (without 3 state buffer) +2 icon 양재동메이커 02-24 17,407
64 아두이노 Otto Bot Bluetooth 연동하기 icon 양재동메이커 05-14 14,150
63 아두이노 ESP8266와 아마존 알렉사 연동 icon 양재동메이커 03-09 15,366
62 아두이노 Open Cat 전원 문제 icon 양재동메이커 02-23 13,970
61 아두이노 Open Cat 한글 매뉴얼 icon 양재동메이커 02-12 14,423
60 아두이노 반려 동물 심폐 소생 시뮬레이터 #2 icon 양재동메이커 11-29 14,388
59 아두이노 오또봇과 형제들 오또봇 RC카 +1 icon 양재동메이커 10-06 15,709
58 아두이노 용인 ICT 스마트 다비아스 톤 - 아침에는 시간이 부족해 icon 양재동메이커 08-04 14,120
57 아두이노 아두이노 이용한 RC, 블루투스 배틀로봇의 외형 자료 icon 양재동메이커 07-25 14,286
56 아두이노 아두이노(아두이노 모터쉴드)를 이용한 RC, 블루투스 배틀로봇 +1 Wavy 07-22 14,819
55 아두이노 팬틸트를 활용한 태양 추적 장치의 개발 icon 양재동메이커 07-15 13,584
54 아두이노 미세먼지 조립 키트 조립기 icon 양재동메이커 07-10 13,937
53 아두이노 오또봇과 형제들 icon 양재동메이커 07-07 15,439
52 아두이노 Otto Bot and Bluetooth icon 양재동메이커 06-08 14,403
51 아두이노 Tokyo Nana의 오또봇(Otto Bot) 제작기 1탄 Tokyonana 06-05 13,722
50 아두이노 오또봇 기본형 만들기 - 오또봇(Otto Bot) 조립 하기 +1 icon 양재동메이커 05-25 19,370