2.3 控制器模块设计方案
根据设计任务,控制器主要用于产生占空比受数字 PID 算法控制的 PWM
脉冲,并对电机当前速度进行采集处理,根据算法得出当前所需输出的占空比
脉冲。对于控制器的选择有以下三种方案。
方案一:采用 FPGA(现场可编辑门列阵)作为系统的核心控制器,FPGA
可以实现各种复杂的逻辑功能,模块大,密度高,它可以将所有器件都集成在
一块芯片里,这样既减小了体积,又提高了系统稳定性,并且还可以用 EDA 软
件进行仿真、调试,便于对功能测试与控制。由于 FPGA 输入输出采用并行的
方式,系统的处理速度得到很到的提高,对于大规模实时系统的控制核心是一
个非常适合的选择。FPGA 通过输入模块把参数输入,然后通过程序控制 PWM
脉冲的占空比,但是由于本次设计对数据处理实时性要求并不是很高,使得
FPGA 高速实时处理的优势不能得到充分发挥,并且由于其集成度高,使其成
本偏高,而且芯片的引脚很多,导致硬件电路板的布线相对复杂,从而加大了
电路设计与制作的工作量。
方案二:采用 AT89C52 作为系统控制的方案。AT89C52 单片机软件编
程灵活、自由度大。相对于 FPGA 来说,它的芯片引脚少,在硬件很容易实现。
并且它还具有功耗低、体积小、技术成熟和成本低等优点,在各个领域中应用
广泛。虽然 AT89C52 单片机有这么多优点,可是对于此系统,不能硬件产生
PWM 波,而软件产生需要借助定时器中断,太消耗性能,并且还不能产生较
高的频率,如若采用此处理器,必定达不到理想的效果。
方案三:采用 STM32F103C8 作为此系统控制核心,STM32F1 系列属于
32 位 ARM 微控制器,该系列芯片是意法半导体(ST)公司出品,其内核是
Cortex-M3。最高 72MHz 工作频率,运行速度快,硬件资源丰富。
综合上述三种方案比较,采用 STM32F103C8 作为控制器处理输入的数据
并控制电机运动及时精确,完全满足设计要求。因此在本次设计选用方案三。
2.4 电机驱动模块设计方案
本次设计的主要目的是控制电机的转速,因此电机驱动模块是必不可少,
其方案有一下两种。
方案一:采用 MOS 管组合电路构成驱动电路,由于在驱动电路中采用了
大量的晶体管相互连接,使得电路复杂、抗干扰能力差、可靠性下降,采用此
方案,不能改变电机转动方向。
方案二:采用专用的电机驱动芯片,如 L298N 电机驱动芯片,由于它内
部已经考虑到了电路的抗干扰能力,安全以及可靠行,设计者不需要对硬件电
路设计考虑很多,只需考虑到芯片的硬件连接、驱动能力等问题,可将重点放
在算法实现和软件设计中,大大的提高了工作效率。并且还能使设计电路简单、
抗干扰能力强、可靠性好。
基于上述理论分析和实际情况,电机驱动模块选用方案二。