利用stm32单片机控制直流电机。
硬件部分:stm32f103c8t6、TB6612电机驱动模块、直流减速电机
首先搞明白原理。例如一个12v的直流电机,在其两端接上12v的电压,电机会满额转动,转速达到自身最快。若想控制速度变化,就需要改变电机两端的电压。此处我们利用PWM波实现,PWM波涉及两个重要的概念:频率和占空比。后面在代码部分会讲到。
TB6612是一个电机驱动模块,能同时控制两路电机。下图是其原理图。其中PWMA、PWMB接单片机产生PWM波的通道的IO口。
基于keil5的代码部分。
首先编写TB6612的GPIO驱动函数代码,由于正反转是由高低电平控制的,所以初始化一下端口时钟,然后配置一下IO口,推挽输出,速度50Mhz,就可以。