[아두이노#586] ESP32보드와 대용량 모터드라이버(BTS7960)로 DC모터 정역제어하고 컨베이어밸트도 제어해보기!(녹칸다의 컨베이어밸트)
프로그래밍/BTS7960과컨베이어밸트 2024. 2. 29. 22:50
https://youtube.com/live/AbcGIneLZJ4
[아두이노#586] ESP32보드와 대용량 모터드라이버(BTS7960)로 DC모터 정역제어하고 컨베이어밸트도 제어해보기!(녹칸다의 컨베이어밸트)
녹칸다의 컨베이어밸트 시리즈이다!
이번편에서는 583~584편에서 아두이노 우노로 제어했던 대용량모터드라이버를 ESP32보드로 제어해보도록 한다!
(주의사항)
1.ESP32보드는 아두이노IDE에 설정을 해주어야 사용가능하다!(ESP32 DEV MODULE선택)
2.ESP32보드는 아날로그입력이 10bit가 아니라 12bit이기때문에 0~4095의 범위를 가진다!
(녹칸다의 ESP32시리즈)
https://bota.tistory.com/category/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/ESP32%EC%99%80%20%EC%95%84%EB%91%90%EC%9D%B4%EB%85%B8
(ESP32에 PWM출력하기)
ledcSetup(채널번호, 5000, 8);
ledcAttachPin(핀번호, 채널번호);
ledcWrite(채널번호, 출력값);
(INPUT_PULLUP가능핀)
불가능 34,35,2,36,39
가능 32, 33,25,26,14,27,12,13,22,23,19,21,5,18,16,17,4,15
(예제목차)
1.ESP32보드에 BTS7960을 연결하고 2초간 정회전, 2초간 멈춤, 2초간 역회전, 2초간 멈춤을 무한반복 하도록 하시오!(정역제어)
2.가감속해서 정회전하고 멈춘다음 2초쉬고 가감속해서 역회전하고 멈춘다음 2초쉬고를 무한반복하도록 하시오!(정역제어+속도제어)
3.버튼을 3개(13,12,14) 연결해서 첫번째 버튼을 누르면 정회전, 두번째 버튼을 누르면 정지, 세번째버튼을 누르면 역회전 하도록 하시오!(디지털)
4.버튼 1을 누르면 정회전쪽으로 속도가 계속 증가하고 버튼 3를 누르면 역회전쪽으로 점점 속도가 증가하고 버튼 2를 누르면 즉시 중지되도록 하시오!
5.가변저항(27)의 위치를 이용해서 DC모터를 가감속 정역제어하시오!
6.대용량모터드라이버(BTS7960)를 2개 연결해서 예제1번을 그대로 작동시키시오!(전진, 2초쉬고, 후진, 2초쉬고)
7.예제3번을 대용량모터드라이버 2개를 활용하는 예제로 바꾸시오!
8.예제5번을 대용량모터드라이버 2개를 활용하는 예제로 바꾸시오!
-------추가예제-------
9.ESP32의 블루투스통신을 이용해서 스마트폰으로 정역제어를 하시오!(7번예제를 활용함)
10.앱스토어에있는 아두이노 블루투스앱으로 전진,후진,좌회전,우회전,정지 기능을 블루투스 통신으로 제어되도록 하시오!