基于stm32微控制器的直流电机驱动器设计

时间:2022-05-07 04:11:24

【摘要】2 电路硬件设计 2.1 控制系统 本驱动器采用STM32F103RCT6微处理器,基于Cortex-M3内核,最高的时钟频率为72MHZ,拥有丰富的外设资源,包含了DMA控制器、ADC、还拥有专用于电机控制...

基于stm32微控制器的直流电机驱动器设计

摘 要 在各类电机设备中,直流电机以其良好的调速特性、启动和制动性能,在工业、冶金、机械制造等现代化工业部门得到了广泛的应用;为了增强电机驱动器的精确控制功能和可移植性,本次基于stm32微控制器直流电机驱动器进行了研究。

【关键词】直流电机 精确控制 可移植性 stm32微控制器

大部分直流电机驱动在系统中集成,依靠控制器对外部参数进行分析处理后输出的驱动指令来实现各种动作,在集成电路的条件下可完成直流电机的保护和驱动,但驱动部分无法移植;本次研究拟设计一种基于stm32微控制器的直流电机驱动器,实现电机控制、检测、保护、通讯、显示为一体,具有响应速度快、控制精度高的特点,同时也保证了可移植性。

1 总设计方案

以stm32主控芯片为控制系统,其余组成部分为驱动电路、电源电路、检测电路、显示电路、通信电路等。该驱动器拟设计成双电机驱动模式,在根据指令完成保护、驱动操作的同时还能对电机运行参数进行实时监测显示和反馈,如图1所示。

2 电路硬件设计

2.1 控制系统

本驱动器采用STM32F103RCT6微处理器,基于Cortex-M3内核,最高的时钟频率为72MHZ,拥有丰富的外设资源,包含了DMA控制器、ADC、还拥有专用于电机控制的高级定时器,有强大的边沿捕获能力和PWM功能,可以使设计大大的简化,系统总功耗降低;采用SWD仿真接口,引脚更少,连接更为简单安全,代码也能以更快的速度下载到Flash当中。

2.2 驱动电路

驱动器采用VNH3SP30芯片作为电机驱动单元,VNH3SP30是意法半导体公司生产的专用于电机驱动的大电流功率集成芯片,最大电流为30A、电源电压高达40V,内含欠压、过压保护电路,具有过热报警输出和自动关断等功能。

STM32单片机通过光耦隔离来实现对驱动芯片的控制和信号反馈,单片机通过控制INA和INB管脚高低电平来实现电机的正反转及制动,通过PWM信号控制电机转速,ENA和ENB管脚实现芯片的过热、过压、欠压及过流反馈,如图2所示。

2.3 电源电路

电源电路设计参数值具体包括如下:

(1)stm32微处理器和通信芯片供电电压3.3V;

(2)VNH3SP30芯片驱动和检测电路供电电压5V;

(3)增量式码盘供电电压12V;

(4)VNH3SP30芯片电机驱动供电电压24V。

在电源电路中,电源输入电压为24V,通过LM2576S-12.0,LM2576S-5.0以及SPX1117IMPX-3.3稳压芯片将电压分别降为12V、5V、3.3V后供给各电路。

2.4 检测电路

检测电路包括电流检测、电压检测以及转速检测,主要用于对流过电机的电流、电机两端电压以及电机转速进行检测。电压、电流、转速信息不仅可对电机运行提供保护,而且还能用于对电机运行特性参数进行调整。

电流检测元件使用电流传感器(ACS712),在该传感器内设置有高精准性的低偏置线性霍尔传感器电路,可对交流、直流电流成比例的电压进行输出和检测。电压检测则以分压电路实现,将直流电机并联到电阻上,将电阻输出电压调节到stm32的ADC采集范围内。转速检测预留增量式码盘接口,将码盘固定于电机上,电机轴和码盘转子相连,处理器通过采集码盘信息从而计算出电机转速。

2.5 显示电路

驱动器预留LCD显示电路接口,LCD分别接在stm32的PA8~12、PB6~7等共计16个端口,对电机驱动时的转速、电压、电流以及故障等运行情况进行显示。

2.6 通信电路

通信电路设计采用SP3232芯片,实现上位机与电机驱动器之间的通信,用于实现控制器对电机的转向、转速的控制及电机运行电压、电流、转速、运行状态等情况的反馈。

3 软件设计

软件设计以stm32自带的固件库为基准,与直接控制寄存器相比可有效降低编程难度和耗时,驱动器功能主要包含PWM控制和ADC信号采集。驱动器控制以脉宽调制实现,通过对占空比进行调节,达到控制电机转速的目的。考虑到电压波动负载变化会对转速产生影响,因此本设计中以PID算法对转速波动进行调节;由于ADC采集会受到电压和电流波动的影响,因此可将每秒采集的数据量累积到10求均值,再将均值与电机欠压、过压、过流的临界值进行比对,若超过临界值则反馈故障状态;232通信主要实现上位机对电机转向、转速的实时控制和运行状态的反馈。

4 总结

本文基于stm32微控制器对直流电机驱动器的驱动和运行控制进行了设计,实现了驱动部分对电机运行状态的监测和反馈,同时节约了控制系统的程序空间,提高控制精度,赋予了驱动系统可移植性。

参考文献

[1]吴勇,王友仁,王强,等.基于STM32的无刷直流电机正弦波驱动控制系统设计[J].微电机,2015(09):39-42.

[2]邱恒.基于STM32单片机的直流电机调速系统设计研究[J].电子世界, 2016(07):156-156.

[3]刘学俊.基于STM32的永磁直流无刷电机的控制及其在绕线机上的应用[D].厦门大学,2014.5-6.

作者单位

南京模拟技术研究所 江苏省南京市 210016

上一篇:数字媒体艺术在展示设计中的创新运用 下一篇:SIMULINK MULTISIM和LABVIEW在数字逻辑电路中...