基于l6234pd的无刷直流电机控制器设计【字数:2959】
无刷直流电机控制器在工业生产方面有广泛应用,本文设计了一种以L6234PD电机驱动芯片为核心的无刷直流电机控制器,从而控制无刷电机的转速和位置。设计包括硬件设计和软件设计,软件设计方面使用PID双闭环控制,经过测试最终证明了本论文方案的可行性和实用性。
目录
引言 1
一、无刷直流电机工作原理 2
二、硬件设计 2
(一)控制器构成 2
(二)L6234PD驱动芯片 2
(三)ATMega328PPU单片机 3
(四)AS5600磁性编码器 4
三、控制的实现 4
四、软件设计 5
(一)软件介绍 5
(二)编码器测试 6
(三)PID参数调节 6
(四)开环速度控制例程测试 8
(五)双闭环PID控制实现 9
总结 11
致谢 12
参考文献 13
引言
1995年,晶体管直流换向技术替代了传统机械换向器,这就是当今世界无刷直流电机的诞生。无刷直流电机(BLDCM)相对于普通电机具有电磁转矩脉冲小,输出扭矩大,寿命长,可靠性高等优点。而无刷直流电机的控制处理系统会直接影响到电机的实际运行效能。
一、无刷直流电机工作原理
无刷直流电机的基本结构由绕组定子和转子线圈组成,借由改变电源输入到电机内的电流强度来改变定子线圈产生的电流波形以及交流电频率,从而使得绕组线圈的周围形成一个恒定磁场绕直流电机旋转,磁场驱动附在转子上的永磁体转动,电机正常运转[]。电机性能和转子永磁体磁通性强度、数量、输入的电流电压大小等有关,更取决于电机的控制系统性能[]。
二、硬件设计
(一)控制器构成
无刷直流电机控制器主要由单片机驱动主控电路、霍尔信号采样检测电路、电流信号采样电路、电机驱动控制电路等部分构成,本课题所选用的驱动芯片为L6234PD,单片机为ATMega328PPU, 位置传感器为AS5600磁性编码器。
(二)L6234PD驱动芯片
L6234PD为意法半导体生产的直流电机式全驱动芯片,驱动控制 *好棒文|www.hbsrm.com +Q: ^351916072#
电路原理图如图31所示,引脚图如图32所示。
图31 驱动控制电路原理图
图32 L6234PD引脚图
(三)ATMega328PPU单片机
? ATMega328PPU具有1KB/2KB的读写速度,串行可编程USART,引脚图如图33所示。
图33 ATMega328PPU引脚图
(四)AS5600磁性编码器
AS5600是一种具有12位高分辨率模拟输出和PWM输出的磁性传感器,在配合Simple FOC使用时可通过I2C接口实现相对简单的编程。引脚图如图34所示。
图34 AS5600引脚图
三、控制的实现
本课题对电机进行控制的实现方法为PID双闭环控制。PID控制又称之为比例积分微分控制,比例控制能反映控制系统的偏差值,当系统出现较大偏差时,比例控制会立即产生自动调节以减少偏差。比例设定值大时能有效减少校正系统误差所需要的时间,但超过一定阈值会造成系统的不稳定。积分控制能在系统存在稳态误差时动态调节,直至系统无差后积分调节停止并输出常值。微分控制能反映系统偏差的变化率,可以在一定程度上预见偏差变化的趋势,因此能产生超前的控制作用,在系统偏差尚未产生时消除,从而明显改善系统的动态性能[]。PID控制具有算法简单、可靠性高、鲁棒性强的特点,被广泛应用于工业过程控制。
闭环控制是一种根据控制对象的输出端反馈信息进行自动校正调节的控制方式,在实际情况与计划存在偏差时, 进行程序的自适应调节以达到预期要求。PID控制原理图如图41所示,闭环控制原理图如图42所示。
图41 PID控制原理图
图42 闭环控制原理图
四、软件设计
(一)软件介绍
控制器软件采用Arduino IDE 1.8.12设计,在SimpleFOC库的基础上进行编写。FOC算法是针对无刷电机的一种控制算法,相比于普通的电调控制无刷电机,FOC可以实现高精度的扭矩、速度、位置控制以及保持电机的平稳运行[]。而SimpleFOC是基于Arduino平台的一种FOC算法,在有着低硬件成本优势的同时也保证了功能的全面性。
(二)编码器测试
完成了As5600磁编码器在无刷电机上的安装并且与驱动板连接后,用模拟通讯方式运行sensor test程序测试编码器是否能够正常工作。
测试中编码器的模拟量输出口与Arduino uno的A8口相连接,因此程序内gneticSensorAnalog指定引脚为A8。上传程序后打开串口监视器查看编码器输出数值,
手动转动电机发现串口监视器数值发生变化且无跳变,编码器正常工作。传感器测试程
序如图51所示。
图51 传感器测试程序
(三)PID参数调节
1.调试原理
SimpleFOC的角度控制是在速度环的基础上简单的再套一层P环实现,速度由传感器测出后通过一个低通滤波器回传到控制回路中。SimpleFOC角度闭环控制系统框图如图52所示。
图52 SimpleFOC角度闭环控制系统框图
常规需要进行调节的参数为速度环的P.I.D三个参数以及角度环的P参数,调定目标为当设定角度时电机能够快速回位、无过冲、无震动。
根据PID的调试原理[],降低比例增益P可以获得较少的震动,提升比例增益P可以增加灵敏度,但不稳定性会增加 。提升积分增益I能加快电机对干扰的反应速度,同时也会增加电机的不稳定性。当调节P环无法消除震动影响时可以增加D环数值,对加速度进行控制从而抵消一部分因过调产生的震动。
2.调试过程
参数调试过程中,当设定电机角度时出现了过冲现象,在转动到设定角度值时电机产生轻微震动,在降低比例系数后得以解决。
此外也发生了数次在设定角度、速度值测试时,电机响应存在延迟的情况,经过排查排除了硬件以及接线的原因,后发现积分系数设定值过大,在提高了系统无差度的同时产生了滞后现象,使得系统响应速度变慢,重新调试后电机延迟消失。
目录
引言 1
一、无刷直流电机工作原理 2
二、硬件设计 2
(一)控制器构成 2
(二)L6234PD驱动芯片 2
(三)ATMega328PPU单片机 3
(四)AS5600磁性编码器 4
三、控制的实现 4
四、软件设计 5
(一)软件介绍 5
(二)编码器测试 6
(三)PID参数调节 6
(四)开环速度控制例程测试 8
(五)双闭环PID控制实现 9
总结 11
致谢 12
参考文献 13
引言
1995年,晶体管直流换向技术替代了传统机械换向器,这就是当今世界无刷直流电机的诞生。无刷直流电机(BLDCM)相对于普通电机具有电磁转矩脉冲小,输出扭矩大,寿命长,可靠性高等优点。而无刷直流电机的控制处理系统会直接影响到电机的实际运行效能。
一、无刷直流电机工作原理
无刷直流电机的基本结构由绕组定子和转子线圈组成,借由改变电源输入到电机内的电流强度来改变定子线圈产生的电流波形以及交流电频率,从而使得绕组线圈的周围形成一个恒定磁场绕直流电机旋转,磁场驱动附在转子上的永磁体转动,电机正常运转[]。电机性能和转子永磁体磁通性强度、数量、输入的电流电压大小等有关,更取决于电机的控制系统性能[]。
二、硬件设计
(一)控制器构成
无刷直流电机控制器主要由单片机驱动主控电路、霍尔信号采样检测电路、电流信号采样电路、电机驱动控制电路等部分构成,本课题所选用的驱动芯片为L6234PD,单片机为ATMega328PPU, 位置传感器为AS5600磁性编码器。
(二)L6234PD驱动芯片
L6234PD为意法半导体生产的直流电机式全驱动芯片,驱动控制 *好棒文|www.hbsrm.com +Q: ^351916072#
电路原理图如图31所示,引脚图如图32所示。
图31 驱动控制电路原理图
图32 L6234PD引脚图
(三)ATMega328PPU单片机
? ATMega328PPU具有1KB/2KB的读写速度,串行可编程USART,引脚图如图33所示。
图33 ATMega328PPU引脚图
(四)AS5600磁性编码器
AS5600是一种具有12位高分辨率模拟输出和PWM输出的磁性传感器,在配合Simple FOC使用时可通过I2C接口实现相对简单的编程。引脚图如图34所示。
图34 AS5600引脚图
三、控制的实现
本课题对电机进行控制的实现方法为PID双闭环控制。PID控制又称之为比例积分微分控制,比例控制能反映控制系统的偏差值,当系统出现较大偏差时,比例控制会立即产生自动调节以减少偏差。比例设定值大时能有效减少校正系统误差所需要的时间,但超过一定阈值会造成系统的不稳定。积分控制能在系统存在稳态误差时动态调节,直至系统无差后积分调节停止并输出常值。微分控制能反映系统偏差的变化率,可以在一定程度上预见偏差变化的趋势,因此能产生超前的控制作用,在系统偏差尚未产生时消除,从而明显改善系统的动态性能[]。PID控制具有算法简单、可靠性高、鲁棒性强的特点,被广泛应用于工业过程控制。
闭环控制是一种根据控制对象的输出端反馈信息进行自动校正调节的控制方式,在实际情况与计划存在偏差时, 进行程序的自适应调节以达到预期要求。PID控制原理图如图41所示,闭环控制原理图如图42所示。
图41 PID控制原理图
图42 闭环控制原理图
四、软件设计
(一)软件介绍
控制器软件采用Arduino IDE 1.8.12设计,在SimpleFOC库的基础上进行编写。FOC算法是针对无刷电机的一种控制算法,相比于普通的电调控制无刷电机,FOC可以实现高精度的扭矩、速度、位置控制以及保持电机的平稳运行[]。而SimpleFOC是基于Arduino平台的一种FOC算法,在有着低硬件成本优势的同时也保证了功能的全面性。
(二)编码器测试
完成了As5600磁编码器在无刷电机上的安装并且与驱动板连接后,用模拟通讯方式运行sensor test程序测试编码器是否能够正常工作。
测试中编码器的模拟量输出口与Arduino uno的A8口相连接,因此程序内gneticSensorAnalog指定引脚为A8。上传程序后打开串口监视器查看编码器输出数值,
手动转动电机发现串口监视器数值发生变化且无跳变,编码器正常工作。传感器测试程
序如图51所示。
图51 传感器测试程序
(三)PID参数调节
1.调试原理
SimpleFOC的角度控制是在速度环的基础上简单的再套一层P环实现,速度由传感器测出后通过一个低通滤波器回传到控制回路中。SimpleFOC角度闭环控制系统框图如图52所示。
图52 SimpleFOC角度闭环控制系统框图
常规需要进行调节的参数为速度环的P.I.D三个参数以及角度环的P参数,调定目标为当设定角度时电机能够快速回位、无过冲、无震动。
根据PID的调试原理[],降低比例增益P可以获得较少的震动,提升比例增益P可以增加灵敏度,但不稳定性会增加 。提升积分增益I能加快电机对干扰的反应速度,同时也会增加电机的不稳定性。当调节P环无法消除震动影响时可以增加D环数值,对加速度进行控制从而抵消一部分因过调产生的震动。
2.调试过程
参数调试过程中,当设定电机角度时出现了过冲现象,在转动到设定角度值时电机产生轻微震动,在降低比例系数后得以解决。
此外也发生了数次在设定角度、速度值测试时,电机响应存在延迟的情况,经过排查排除了硬件以及接线的原因,后发现积分系数设定值过大,在提高了系统无差度的同时产生了滞后现象,使得系统响应速度变慢,重新调试后电机延迟消失。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/rjgc/261.html