×
单片机 > 单片机程序设计 > 详情

基于Atmega8L单片机稳压控制的定频调宽变速控制系统的电路

发布时间:2020-06-06 发布时间:
|

    为了模拟深海高压环境,研制了一套深海环境模拟试验装置,在对深海环境模拟装置控制系统结构原理分析的基础上,提出了一种针对压力的阔环控制策略,采用以Atmega8L单片机为核心的主控电路、以ECN30206为核心的驱动电路、以Max7219为核心的显示电路,设计了稳压控制的定频调宽变速控制系统的硬件电路,并进行了相应的软件编制,实现了控制电路各模块的自由组合,以满足不同场合的需求,又可组成闭环控制系统,不但能够显着提高深海环境模拟装置的压力控制精度,同时还具有节能的效果。

 

    深海海底有大量的矿产资源和微生物群落,对该环境下进行的生物成矿作用、生命起源等的问题研究,将有助于阐明深海微生物受压力调节的代谢机制,获得宝贵的极端环境基因资源,对地质学、地球化学和生命科学等一系列学科研究具有重大的意义。然而由于其处于深海极端环境这一特殊性,难以身临其境进行观察与研究,需要在实验室建立海底极端环境的模拟系统进行实验来配合相关科学研究。

    针对深海环境的特殊性,开发了一套耐高温高压的模拟试验装置,本文主要探讨该装置压力精确稳定控制电路设计及控制软件开发中的相关问题。

    1 设计要求及系统组成

    1.1 设计要求

    研究工作以及要达到的技术指标如下:

    1)压力控制范围为0~20 MPa,精度为+2%FS,最小的压力梯度为1%/min;

    2)对压力的精确稳定控制,在全工作范围内连续可调;

    3)对压力、流量实时曲线及数字显示,具有曲线记录及回放功能。

    1.2 系统组成

    该模拟实验装置主要包括由水泵、深海环境模拟舱、水箱和管路等组成的深海环境模拟系统,及其监测与控制系统,可模拟海底热液口的极端海洋环境,也可模拟一般的海洋环境,还可以完成样品的培养、加样、取样等,其中泵的流量可以根据需要在输出流量范围内无级调节,功能切换可以通过截止阀的开或关来实现。监测与控制系统主要完成温度、压力、流量等参数的监测及控制。整个系统构成如图1所示。

    
    本文主要介绍压力精确稳定控制系统的设计,其它部分另文介绍。系统中的电机选用调速性能好、体积小、效率高的三相无刷直流电机,因为单片机价格低,片内资源丰富,且可以灵活编制程序,所以采用以单片机为核心的控制系统。工作时,传感器把检测到的管路压力及负载转速反馈到单片机,进一步去触发由PI构成的调速系统,以PWM方式对电机进行调速,电机带动油泵工作提供连续可调的压力源。

2 控制系统硬件电路设计
    控制系统总体框图如图2所示,本控制系统主要由控制电路、驱动电路、显示电路、RS485接口电路组成。本系统是速度闭环系统,霍尔位置传感器的位置信号处理后送专用驱动芯片后产生一个速度脉冲信号,经单片机处理转换成转速,再运用增量式Pl算法,得到PWM控制信号,经光电耦合电路驱动专用集成驱动芯片闭环控制电机转速;同时单片机还监控控制系统的运行状态,当系统出现短路、过流、过压等故障时单片机将封锁PWM输出信号,使电机停机,并通过LED电路显示故障。考虑到应用的场合不同,对控制系统的需求也不同,本文设计各功能部件时考虑相互独立性并保留好相应的接口以便构成一个完整的系统。


    2.1 控制电路设计

    控制电路主要由Atmega8L单片机、PWM信号产生及处理电路、电流检测电路、转速检测电路、隔离电路及接口电路组成。

    2.1.1 PWM信号产生及处理电路设计

    在本控制系统中,主要是利用ATmega8L内部定时器产生定频调宽的PWM波信号来控制无刷直流电机的转速。这里采用ATmega8L的Timer2工作在快速PWM模式下,产生高频的PWM波形,波形产生后需要进行处理才能得到所想要的输出信号,处理电路如图3所示。

 

    
2.1.2 电流检测电路设计
    本文采用Allegro公司的ACS712集成芯片扩展外围电路进行测量。ACS712由霍尔元件、霍尔电流驱动元件、偏差调整电路、信号恢复电路、信号放大电路组成,具有价格低、精度高、绝缘性能好等特点。电流检测电路如图4所示。ACS712在电流为零时7脚Vo输出2.5 V,故设计了一个精密电阻RP1分压产生2.5 V电压,使放大电路输出电压Uo从0 V开始线性变化;为提高电阻分压带负载能力,既使2.5 V电压不随后级电路影响,这里采用了一级电压跟随器使输出Ui2为2.5 V。据叠加原理可算出图4中Uo为:
   

    
    从式(3)可以看出输出电压与夹在1、2和3、4脚之间电流成正比。将此电压送入ATmega8L的A/D转换器处理即可得到电机的工作电流,应用此电流可以对无刷直流电机进行转矩闭环控制及过流保护。


    2.1.3 转速检测电路设计

    转速检测对于控制系统非常重要,由于控制系统主要是由转速构成的闭环控制系统,所以获得电机转速是控制系统的关键。由驱动电路通过霍尔IC输出位置信号,无刷直流电机每转一周输出12个脉冲FG信号,但这些脉冲信号干扰比较大,不能直接被ATmega8L处理,所以必须对脉冲FG信号进行滤波提取。如图5所示,由于驱动电路开路输出,所以电路加了上拉电阻R11。FG信号谐波比较多,设置C4起到滤波的作用,其值大小比较难确定,需要通过实验调整。FG信号通过P521在3脚产生一个比较稳定、无谐波的FG’信号,其中G5不能选用过大,否则FG’信号会失真,以致ATmega8L识别不出来。ATmega8L内部Timerl具有16位的输入捕捉单元,通过外部引脚ICP1来捕捉外部事件。读取ICR1时捕捉寄存器先读低字节ICR1L,然后再读捕捉寄存器高字节ICR1H。再根据两次捕捉寄存器的差值就可以算出电机转速。

    隔离电路是为了避免驱动电路及其接口电路受强电压的影响,在外电路接口线上加的光电耦合隔离,以保证电路正常运行。

    2.2 驱动电路设计

    驱动电路是主控电路与无刷直流电机之间的桥梁,本控制系统采用日立公司的专用集成无刷直流控制芯片ECN30206。ECN30206专用集成无刷直流控制芯片适用于直流500 V电压、1 A以下,功率在20~300 W的三相有位置传感器的无刷直流电机。ECN30206驱动芯片由内部自带6个全桥IGBT开关管(上桥臂和下桥臂)及每个IGBT都带保护的续流二极管,用于3个上桥臂电压提升的电荷泵电路、无刷直流电机方向控制电路,为ECN30206驱动芯片产生时钟的声表面波产生电路、PWM产生电路、三相非配器、过流及欠压保护电路、转子位置检测电路组成。三相分配器内部具有换相控制表,依据表格中相对照的值来合理分配各个桥臂的通断状态。根据ECN30206集成驱动芯片的内部原理分析和霍尔开关芯片的工作原理可以设计直流电机驱动电路如图6所示。

    
    该系统采用的是4对磁极的无刷直流电机,所以一个机械角为90°,电导通角为30°,因而3个霍尔开关集成芯片EW632需每隔30°放一个,以检测无刷直流电机的转子的位置。3片EW632输入信号与开关管导通状态对应关系如表1所示。


    1)内部PWM各项参数的确定

    内部PWM波的频率由声表面振荡器(SAW)、11脚接的电容CTR和12脚接电阻RTR确定,如式:

    FPwm=0.494/(CTRxRTR)     (4)

    本系统选用的CTR为1 800 PF,RTR为22 kΩ,据式(4)可得PWM频率为12.5 kHz。

 

    PWM占空比由13脚输入的模拟电压VSP确定。当VSP的值小于声表面振荡器幅值的最小值Vsawl时,PWM占空比为0%,所有的IGBT管都将关闭;当VSP的值大于声表面振荡器的最大值VsawH时,PWM占空比为100%;当VsawL≤VSP≤VsawH时占空比P与VSP的大小成线性:

    P=(VSP-Vsawl)/(VsawH-VsawL)     (5)

    因此只需改变VSP的大小就可以对电机进行线性无极调速。

    2)电机转一周FG脉冲个数的确定

    泵站采用的无刷直流电机有4对磁极,电机转一周FG脉冲个数为12个脉冲。

    3)电荷泵外部电路参数确定

    为了打开桥臂IGBT功率驱动开关,必须先提升门极电压才能打开,ECN30206内部有电荷泵电路,用户只需设定外部电路各器件参数即可。电容的大小决定了充电时间,即决定了IGWT驱动开关管打开的时间,因此不能过大,否则打开时间过长造成事故,这里电容都选为1μF。

    4)负压及过流保护

    当ECN30206检测到VCC引脚电压小于12 V时所有的IGBT功率驱动开关管关闭,直到VCC大于12 V时才恢复正常工作。

    电流保护是通过在下桥臂IGBT串接电阻到地GL分压反馈到ECN30206内部过流电压比较器实现,内部过流电压比较器参考电压Vref为0.5 V,这里设定最大电流值Imax为1 A,则RS的值为:

    Rs=Vref/Imax     (6)

    将Imax=1 A,Vref=0.5 V代入式(6)得RS为0.5 Ω,这里选用康铜丝。

    5)电路稳定的保证

    为使驱动电路稳定及提高抗干扰性,必须对各引脚进行处理,在引脚上适当的加上拉电阻或下拉电阻,在高输入阻抗的引脚处加上高频旁路电容以消除高输入阻抗引脚对高频噪音的敏感性。

    2.3 RS485显示电路及通信接口电路设计

    控制系统采用美国MAXIM(美信)公司的MAX7219驱动芯片做LED数码显示驱动芯片,驱动8个8段数字LED显示器,显示永磁无刷直流电机的转速、工作电流及其故障。ATmega8L内部集成了一串通信模块,因此在外围扩展一RS485接口驱动芯片即可以进行通信,这里系统采用的是MAXIN公司的MAX487作为驱动芯片,在具体应用时将芯片的RE和DE两个使能端接在一起,使MAX487处于某一确定的状态,同时也节约了系统的I/O口。显示电路及通信接口电路是比较常见的通用电路,由于篇幅有限这里不做详细介绍。

    3 控制系统软件程序设计

    控制系统硬件电路设计完成后需要进行软件编制工作。系统的软件设计具体体现了系统的技术要求,是整个系统控制规律的逻辑实现。

    本控制系统软件设计采用前后台系统,即系统由一个死循环程序加多个中断服务子程序组成,任务比较多时,用实时操作系统(RTOS),提高单片机CPU的使用率。主程序由系统初始化转子转速计算和转速PID闭环控制组成,完成系统的大部分功能任务;中断程序主要对中断时间进行检测并通知主程序进行相应处理,完成必要的实时性功能,从而节省CPU的时间,使程序各部分功能可靠地运行;中断程序主要用来串行中断接收上位机发来的转速设定值、定时中断检测电流及显示转速值和相关故障。

    3.1 转速数字PID闭环控制程序设计

    为实现电机转速跟随给定值变化,控制系统采用PID算法对转速进行闭环控制。确定PID算法的各参数后,用Atmega8L单片机实现比较简单,在程序中定义一个结构体变量存放用户设定转速值、当前转速值、前次误差值、当前误差值、累计误差值、比例常数、积分常数和微分常数,结构体定义源程序如下:

   

    按照PID控制算法编制控制程序,控制定时器T2的PWM波占空比从而改变VSP电压值的大小实现闭环转速控制,其中随着采样次数的增加,累计误差也将会饱和溢出,所以必须进行抗饱和处理。

    3.2 联机通信程序设计

    电机的转速设置可以通过调节精密电位器,然后将电压值模数转换,根据模数转换值改变PWM的占空比,改变驱动器输入电压VSP;也可以通过控制系统与上位机通过RS485总线通信实现,直接由上位机发送速度值,通过上位机还可以根据不同型号的电机设定不同的电流保护值,同时控制系统可以将运行及故障信息反馈给上位机,供上位机参考。

    4 结论

    1)采用以Atmega8L单片机为核心的主控电路、以ECN30206为核心的驱动电路、以Max7219为核心的显示电路,三部分相互独立,可单独选用,满足不同场合的需求,又可组成一闭环控制系统。

    2)设计的压力控制系统可以保证深海环境模拟系统压力精确稳定控制,并可以实现连续可调。

    3)该系统也可为其他压力控制系统提供有益的参考。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
Keil(MDK-ARM)系列教程(七)_菜单