안녕하세요.
오늘은 Motor Driver L298N을 이용하여 자동차 모터를 구동시켜 보도록 하겠습니다.
참고로 이 글은 개발의 전체적인 내용을 연재하고 있는 글이 중에 하나입니다.
그래서, 앞에쓴 글을 보시면 더욱 도움이 되실것 같습니다.
아래 글을 링크 걸어둘께요. 필요하신 분은 한번 읽어 보세요.
(물론 이 글만 보셔도 크게 문제는 없습니다.)
1) 임베디드 SW, MCU에 대한 정리 (feat. 임베디드 SW 비전)
https://embeddedchallenge.tistory.com/210
2) MCU 개발 장비 구매 방법 정리 (인피니언 MCU TC275 Lite)
https://embeddedchallenge.tistory.com/211
3) 임베디드 SW 개발 환경 세팅 방법 정리 (소스코드 편집기, 컴파일러, 디버거 환경 설정 방법)
https://embeddedchallenge.tistory.com/212
4) 인피니언 IDE Tool 사용방법 정리 (프로젝트 생성 및 다운로드 수행)
https://embeddedchallenge.tistory.com/219
5) 인피니언 MCU LED Blinking (TC275 GPIO 설정)
https://embeddedchallenge.tistory.com/225
6) 인피니언 MCU Clock, 오실레이터 에 대한 이해 (TC275 보드에서 확인)
https://embeddedchallenge.tistory.com/226
7) 인피니언 MCU PLL 설정 및 주변기기 Clock 설정 (TC275)
https://embeddedchallenge.tistory.com/227
8) 인피니언 MCU 인터럽트/Interrupt 설정 (TC275 동작 확인)
https://embeddedchallenge.tistory.com/228
9) 스케줄링(scheduling)에 대한 정리, 인피니언 MCU Scheduler 설계 정리
https://embeddedchallenge.tistory.com/229
10) PWM이란 무엇인가? 인피니언 MCU를 이용한 PWM 설계 수행
https://embeddedchallenge.tistory.com/232
그럼 지금부터 Motor Driver가 무엇인지에 대해서 알아보도록 하겠습니다.
모터를 동작시키기 위해서는 MCU에서 내보내는 전류로는 부족합니다.
따라서 모터를 돌리기 위한 외부전원이 필요합니다.
지난시간에 아래와 같이 PWM으로 스위치를 눌러주면 외부전원이 모터로 들어가는 원리를 설명하였습니다.
이렇게 PWM을 스위치로 동작하여 모터에 외부전원으로 부터
전류를 공급할수 있도록 해주는 장치를
모터 드라이버라고 부릅니다.
모터 드라이버를 선택할때에는 아래 3가지 정보를 기반으로 선택하셔야 합니다.
1) 디지털 구동전압
- PWM을 내보는 전압 Level을 맞추어서 모터 드라이버를 선택해야 합니다.
2) 모터드라이브 전압
- 모터드라이버의 외부전압 크기 Spec을 맞추어야 합니다.
3) 드라이브 전류
- 모터에서 필요한 전류를 충분히 내보낼수 있는 모터드라이버를 선택해야 합니다.
저는 아래와 같은 자동차를 한번 만들어 보았습니다.
이때 자동차를 구동하기 위하여 4개의 모터가 필요합니다.
모터의 스펙을 살펴 보도록 하겠습니다.
제가 사용한 모터는 정격전압이 3V ~ 6V 인 DC모터를 사용하였습니다.
아래 사진을 참고해 주세요.
역시 정격전압에 따른 전류의 크기를 잘 살펴 보아야 합니다.
6V일때 200mA까지 빨아쓰는것을 확인 할수 있습니다.
그렇다면 위의 모터 Spec을 기반으로 드라이버를 선정해 보도록 하겠습니다.
제가 선정한 모터드라이버는 L298N 입니다.
'스텝모터 드라이버 보드로 L298N IC가 장착된 듀얼 H-브리지 모터 드라이버 모듈로
2개의 DC 또는 스테핑 모터 제어가 가능하다' 라고 내용이 적혀있습니다.
L298N 모터 드라이버는 5~35V에 해당되는 DC모터 2개를 제어할수 있고,
각 모터당 2A의 연속 전류를 내보내 줄수 있습니다.
따라서 위의 DC모터2개쯤은 충분히 전류를 내보내줄수 있다는 것을 확인할수 있습니다.
또한 디지털 구동 전압도 5V이기 때문에 인피니언 MCU의 PWM 전압 Level로 충분히 제어가 가능합니다.
마지막으로 모터드라이브 전압도 5~35V로 DC모터(3~6V) 전압을 제어하는데도 전혀 문제가 되지 않을만큼
충분한것을 확인 할 수 있습니다.
회로도는 아래와 같습니다.
4개의 모터를 제어하기 위해서는 2개의 모터드라이버가 필요하겠네요.
따라서 아래와 같이 모터드라이버를 2개를 달았습니다.
연결은 아래와 같이 수행하였습니다.
우선 외부전원을 아래와 오렌지색 박스에 연결합니다.
그러면 모터드라이버안에 레귤레이터가 있어서 5V 전압이 만들어 집니다.
이것으로 보통 MCU의 전원을 공급하는데 사용합니다.
아래는 전체적인 연결도 입니다.
여기서 PWM을 위의 Enable Pin에 연결합니다.
그리고 Input Pin이 4개가 있습니다.
왼쪽부터 1(빨강),2(초록),3(하늘),4(보라) 입니다.
모터드라이버의 회적 방향 및 Stop을 위의 진리표와 같이 동작을 하게 됩니다.
즉, PWM을 Duty 50%를 주고 있는 가운데이서
1(빨강), 2(초록)에 1(High), 0(Low)를 주게 되면 모터가 정방항으로 동작하여
자동차는 앞으로 나아가게 됩니다.
이제 전체적인 연결을 수행하였으니, 다음 포스팅에서
코드를 만들어서, 자동차를 동작시켜 보도록 하겠습니다.
감사합니다.
'Embedded SW > [Infineon] TC275 Lite Project' 카테고리의 다른 글
UART 통신 정리, UART 통신 MCU 설계 (인피니언 MCU) (0) | 2021.11.27 |
---|---|
DC모터 드라이버 설계, RC카 전진,후진,회전 설계 (인피니언 MCU PWM, GPIO 설정) (1) | 2021.11.26 |
PWM이란 무엇인가? 인피니언 MCU를 이용한 PWM 설계 수행 (3) | 2021.11.21 |
스케줄링(scheduling)에 대한 정리, 인피니언 MCU Scheduler 설계 정리 (2) | 2021.11.18 |
인피니언 MCU 인터럽트/Interrupt 설정 (TC275 동작 확인) (4) | 2021.11.17 |
댓글