通常很多地方只是单纯的单片机MCU没有对电机的驱动能力,或者是介绍关于电机驱动的作用,如:
- 提高电机的效率和精度。驱动器采用先进的电子技术和控制算法,能够精准控制电机的参数和运行状态,提高了电机的效率和精度。
- 拓展电机应用领域。驱动器还可以支持多种控制方式和通信协议,便于与外部控制系统和传感器的联接,从而实现电机在机器人、自动化生产线、电动汽车等领域的广泛应用。
- 增加对电机的保护。驱动器支持多种保护功能,如过载保护、过热保护、欠压保护等,能够有效保护电机的安全和稳定运行。
虽然上述原因表述合理,但是有时很难给人一个使用电机驱动的必要性的更加确切的认识。实际上,除了考虑到了对电机的保护,其实有一个更加至关重要的原因,其实是对主控板MCU的芯片的保护。以STM32F103RBT6芯片的GPIO电路图为例,这里只需要关注GPIO口处的两个电平VDD(正)和VSS(负)以及两个保护二极管。
通常这里的VDD和VSS分别为+3.3V和-3.3V(可能也有的是+5V和-5V),通过这一组电平以及两个二极管,可以在一定程度上控制GPIO口输入的电平。如果输入的电平在正常范围内,则电平范围就在VDD和VSS之间,两个二极管不导通,电流正常流入。而如果输入的电平绝对值意外稍大了一些,超出了VDD或VSS的范围,那么保护二极管将会导通,将输入的过高的电平下拉到正常水平再输入,以保证流入内部电路的电流不过大,实现对内部的电路的保护。但是对于电机,通常由于电机不同于其它元件,为其它元件提供的电功率通常用于发热,或只是很小一部分用于其它任务,但是为电机提供的功率需要比发热的前提下多出一大部分用于电机的转动,从而导致在同内部线圈阻抗的元件工作的情况下,流经电机的电流将远大于其它正常元件,则该电路中串联的其它元件基于大电流下分压,分得的电压非常大,从而如果用GPIO直接控制电机,则电机运作时会回传给GPIO非常大的灌电压与灌电流,超过了保护二极管所能承受的正向压降范围,二极管烧毁,大电流流入内部电路,将内部电路乃至整片MCU烧毁。
因此,一个比较简单粗暴的使用电机驱动的理由就是:需要通过电机驱动来接受并转化大电压和大电流,以保护MCU内部电路,否则MCU可能会直接烧毁。(如果不相信的盆友可以尝试一下,可能供给电压不足够点亮一个MCU,但说不定看到冒烟)
参考资料
- 野火《STM32教程》(【入门篇】8,GPIO功能框图讲解)