모터제어
PWM으로 스텝모터 제어시 꼭 확인합시다.
요약: ARR, CCR 값이 설정 가능한 최대값을 넘어가지 않는지 확인합시다. 예를 들어 Core 클럭이 96MHz이고, 타이머의 Prescale 값을 96으로 설정하면(실제로는 설정할 때는 96에서 1이 빠진 95가 되어야 합니다.) Timer 내부에 공급되는 클럭은 1MHz가 됩니다. 이 때, 초당 8펄스 속도로 신호를 공급하고자 했을 때 아래와 같이 값을 설정하게 됩니다. ARR = (1000000 / 8) - 1 = 124999 CCR = (125000 / 2) - 1 = 62499 언듯보면 문제가 없는 것 같습니다. 하지만 모터는 아예 회전을 하지 않았습니다. 과연 무엇이 잘못되어 그런 것일까요? 답은 ARR 설정 값에 있습니다. 제가 사용한 MCU 는 STM32H743ZI 입니다. 그리고 타이..