本发明涉及一种伺服电机的控制系统及方法,更具体地说,它涉及一种基于STM32的伺服电机集成化控制系统及方法,属于伺服电机的控制技术领域。
背景技术:
在工业控制领域,PLC在中低端自动化设备中占有很大的市场份额,世界上主流的PLC品牌(比如西门子、欧姆龙)都有着雄厚的技术积累,PLC具有开发周期短、可靠性高、编程语言(比如梯形图)易于工程技术人员接受等优势。因此,PLC在中低端的非标、非批量的工业自动化产品中有着难以超越的优势。
虽然当今主要的中低端工业自动化产品中PLC占有很大的市场份额,在大批量的控制任务中,PLC成本高昂。此外,当前PLC的伺服驱动器的控制方案主要采用DSP+FPGA,其成本非常高。
因此,从成本与应用角度考虑,急需一种价格更低廉、使用更方便的伺服电机集成化控制系统及方法来满足大批量的控制任务的使用需求。
技术实现要素:
针对上述问题,本发明的目的是提供一种价格低廉、使用方便的基于STM32的伺服电机集成化控制系统及方法,它基于STM32核心,可以方便实现对伺服电机运动状态的控制,从而在不减性能的情况下大大降低成本、更便于用户使用。
为实现上述目的,本发明采用的技术方案是:
一种基于STM32的伺服电机集成化控制系统及方法,包括主控模块1、伺服驱动器模块2;
所述主控模块1,包括左极限传感器Uc1、原点传感器Uc4、右极限传感器Uc7,与左极限传感器Uc1共同构成左极限传感器输入接口电路3的电阻Rc1、整流器Uc2、电阻Rc2、电容Cc1、光电耦合器Uc3、电阻Rc3,与原点传感器Uc4共同构成原点传感器输入接口电路4的电阻Rc4、整流器Uc5、电阻Rc5、电容Cc2、光电耦合器Uc6、电阻Rc6,与右极限传感器Uc7共同构成右极限传感器输入接口电路5的电阻Rc7、整流器Uc8、电阻Rc8、电容Cc3、光电耦合器Uc9、电阻Rc9;带DSP功能的STM32主控处理器Uc12,接带DSP功能的STM32主控处理器Uc12输出端的光电耦合器Uc19、Uc22,与光电耦合器Uc19共同构成脉冲输出接口电路6的电阻Rc10、三极管Q1、电阻Rc11,与光电耦合器Uc22共同构成方向输出接口电路7的电阻Rc12、三极管Q2、电阻Rc13,与带DSP功能的STM32主控处理器Uc12相连接的触摸屏模块Uc10、按键或者按钮模块Uc11;
所述伺服驱动器模块2,包括由6个二极管D1、D2、D3、D4、D5、D6组成的三相整流桥8,由绝缘栅双极型晶体管T1、T2、T3、T4、T5、T6组成的三相桥逆变电路9,伺服驱动主控处理器STM32芯片U15,与伺服驱动主控处理器U15相连接的光耦隔离电路U8、操作键盘U9、脉冲/方向输入接口电路U13,与光耦隔离电路U8相连接的继电器U4、母线电压检测电路U5、IGBT驱动电路U7,电机本体U1,与电机本体U1和三相桥逆变电路9连接的两个霍尔传感器U2、U3,与母线电压检测电路U5、输入电路连接的分压电阻R4。
用户通过按键或者按钮模块Uc11向带DSP功能的STM32主控处理器Uc12设定电机本体U1的运行参数:电机本体U1转动的圈数、电机本体U1的转动速度、电机本体U1的方向信号,触摸屏模块Uc10显示上述参数。
所述左极限传感器输入接口电路3中,当电机本体U1旋转到左极限位置时,左极限传感器输入接口电路3输出左极限信号,输送给带DSP功能的STM32主控处理器Uc12。
所述原点传感器输入接口电路4中,当电机本体U1旋转到原点位置时,原点传感器输入接口电路4输出原点信号,输送给带DSP功能的STM32主控处理器Uc12。
所述右极限传感器输入接口电路5中,当电机本体U1旋转到右极限位置时,右极限传感器输入接口电路5输出右极限信号,输送给带DSP功能的STM32主控处理器Uc12。
然后带DSP功能的STM32主控处理器Uc12结合用户设定的电机本体U1运行参数及左极限信号、原点信号、右极限信号,向外输出“电机脉冲信号”与“电机方向信号”。
脉冲输出接口电路6通过光电耦合器Uc19把带DSP功能的STM32主控处理器Uc12输出的“电机脉冲信号”进行隔离,得到更稳定纯净的“电机脉冲信号”,该信号再经过三极管Q1进行放大之后,直接送给伺服驱动器模块2。
方向输出接口电路7通过光电耦合器Uc22把带DSP功能的STM32主控处理器Uc12输出的“电机方向信号”进行隔离,得到更稳定纯净的“电机方向信号”,该信号再经过三极管Q2进行放大之后,直接送给伺服驱动器模块2。
“电机脉冲信号”与“电机方向信号”输入伺服驱动器模块2,具体的说,是输入伺服驱动器模块2中的脉冲/方向输入接口电路U13。
所述脉冲/方向输入接口电路U13接入伺服驱动主控处理器STM32芯片U15,“电机脉冲信号”与“电机方向信号”通过脉冲/方向输入接口电路U13,最终到达伺服驱动主控处理器STM32芯片U15。
所述三相整流桥8由二极管D1、D2、D3、D4、D5、D6组成,二极管D1、D3、D5的负极相连接,输出脉动直流电的正极DC+,二极管D2、D4、D6的正极相连接,输出脉动直流电的负极DC-。
由绝缘栅双极型晶体管T1、T2、T3、T4、T5、T6组成三相桥逆变电路9,绝缘栅双极型晶体管T1和T2组成U相桥壁,其中T1为上桥臂,T2为下桥臂,T1与T2的连结点称为连结点U;绝缘栅双极型晶体管T3和T4组成V相桥壁,其中T3为上桥臂,T4为下桥臂,T3与T4的连结点称为连结点V;绝缘栅双极型晶体管T5和T6组成W相桥壁,其中T5为上桥臂,T6为下桥臂,T5与T6的连结点称为连结点W;三个桥壁共同构成三相桥逆变电路9。
三相或者单相交流电由伺服驱动器模块2的电源输入端口输入,经过三相整流桥8输出脉动直流电,直流电的正极为DC+、负极为DC-,然后该脉动直流电经三相桥逆变电路9进行逆变,逆变成三相交流电给电机本体U1供电。
伺服驱动主控处理器STM32芯片U15采用空间矢量脉冲宽度调制技术(SVPWM),输出3组PWM波,这3组PWM波对应三相桥逆变电路9的三个桥壁,作为控制绝缘栅双极型晶体管T1、T2、T3、T4、T5、T6的“IGBT控制信号”,通过光耦隔离电路U8输送至IGBT驱动电路U7,从而控制绝缘栅双极型晶体管T1、T2、T3、T4、T5、T6的导通或关断,进而对U相、V相、W相这三相的电压和电流进行控制,从而调整三相交流电,进而实现对电机本体U1的转动的控制。
3组PWM波分别控制绝缘栅双极型晶体管T1、T2、T3、T4、T5、T6进行开关,通过控制导通时间、开关时间、开关顺序输出三相交流正弦波电压给电机本体U1的定子供电,从而形成旋转磁场,带动电机本体U1的转子旋转,其三相交流正弦波的合成矢量的有效电流大小决定电机本体U1的实际输出转矩的大小;三相交流正弦波的合成矢量的旋转速度决定电机本体U1的运转速度;三相交流正弦波的合成矢量的总旋转角度决定电机本体U1的运转距离;三相交流正弦波的合成矢量的旋转方向决定为电机本体U1的运转方向。
三相交流电的电流大小控制电机本体U1的转动力量的大小,即三相交流电的电流大小与电机的输出转矩成正比关系,所以伺服驱动主控处理器STM32芯片U15可以通过三相交流电的大小,依据电机本体U1的正比比例系数,计算出电机本体U1当前的实际输出转矩。其中,正比例系数通过系统模型给出。
所述霍尔传感器U2的两个输入端口串联到U相中,霍尔传感器U3的两个输入端口串联到V相中,两个霍尔传感器的输出都与光耦隔离电路U8相连接,霍尔传感器U2用来检测三相交流电中U相的电流,霍尔传感器U3用来检测三相交流电中V相的电流。伺服驱动主控处理器STM32芯片U15根据三相电流矢量之和为零计算出W相的电流,从而得知为电机本体U1供电的三相交流电的大小;并且,霍尔传感器U2、U3还起着电流过大保护的作用。
所述电机本体U1内部的反馈装置与伺服驱动主控处理器STM32芯片U15相连接,将包含电机当前的转速、旋转方向、目标输出转矩、位置信息的“电机反馈信号”输出至伺服驱动主控处理器STM32芯片U15。
伺服驱动主控处理器STM32芯片U15根据霍尔传感器U2、U3测得的U相、V相的电流,计算得出W相的电流,依据正比例系数,计算出电机本体U1当前的实际输出转矩,然后伺服驱动主控处理器STM32芯片U15比较目标转矩与实际输出转矩,利用PID算法调整3组PWM波的脉冲宽度,从而调节三相交流电的电流大小,进而将实际输出转矩调整至目标转矩;
伺服驱动主控处理器STM32芯片U15将“电机反馈信号”中的“电机当前的转速、旋转方向、位置信息”与“霍尔传感器U2、U3测得的U相、V相的电流”使用SVPWM算法比较,将经过PID算法调整过脉冲宽度的3组PWM波再次进行调整,从而调整三相桥逆变电路9的导通时间、开关时间以及开关顺序。
所述光耦隔离电路U8用于将霍尔传感器U2、U3,继电器U4,母线电压检测电路U5,IGBT驱动电路U7的信号进行隔离保护。
所述继电器U4在回路中串联电阻,电机本体U1刚启动时,整个伺服驱动器模块2的工作电流比较大,通过继电器U4进行限流。当电机本体U1刚启动时,伺服驱动主控处理器STM32芯片U15控制继电器U4的常开触点为断开状态,启动完成之后再把常开触点的状态切换为常闭。
所述母线电压检测电路U5检测经过分压后的母线直流电压,输出具有更高驱动能力的直流电压信号至伺服驱动主控处理器STM32芯片U15,伺服驱动主控处理器STM32芯片U15进行A/D采集,得到直流母线电压的电压值,从而确定伺服驱动器模块2的直流供电电压。当直流供电电压过大时,伺服驱动主控处理器STM32芯片U15控制系统自动关断进行保护;当直流供电电压过小时,伺服驱动主控处理器STM32芯片U15输出报警信号。
采用STM32作为控制芯片,成本低廉;留有编程接口,易于通过编程调整具体程序,工作灵活,扩展性强;同时留有通信传输接口,可以构建大范围的工作网络,方便应用于大批量的控制任务中。
在控制信号的传输过程中,采用多组光电耦合器,保证传输信号的稳定性;
采用母线电压检测电路U5对伺服驱动器模块2电路中的直流电压进行检测,当直流供电电压过大时,系统自动关断,提高系统的可靠性;
因此,本发明具有成本较低,适用范围广;易用性较高,工作灵活;稳定性好、可靠性高;扩展性强,可构建大范围的工作网络,在大批量的控制任务中使用方便的优点。
作为优选,所述左极限传感器输入接口电路3中,当电机本体U1旋转到左极限位置时,左极限传感器Uc1响应,左极限传感器输入接口电路3输出左极限信号,该左极限信号通过光电耦合器Uc3进行隔离之后,输送给带DSP功能的STM32主控处理器Uc12;
所述原点传感器输入接口电路4中,当电机本体U1旋转到原点位置时,原点传感器Uc4响应,原点传感器输入接口电路4输出原点信号,该原点信号通过光电耦合器Uc6进行隔离之后,输送给带DSP功能的STM32主控处理器Uc12;
所述右极限传感器输入接口电路5中,当电机本体U1旋转到右极限位置时,右极限传感器Uc7响应,右极限传感器输入接口电路5输出右极限信号,该右极限信号通过光电耦合器Uc9把该右极限信号进行隔离之后,输送给带DSP功能的STM32主控处理器Uc12。
作为优选,所述母线电压检测电路U5的输入端接母线直流电压分压电阻R4。经R4分压后的直流电压经过母线电压检测电路U5,得到具有更高驱动能力的直流电压信号,然后该信号通过光耦隔离电路U8输出至伺服驱动主控处理器STM32芯片U15,伺服驱动主控处理器STM32芯片U15进行A/D采集,得到直流母线电压的电压值,从而确定伺服驱动器模块2的直流供电电压。
一种基于STM32的伺服电机集成化控制系统,包括如下步骤:
用户通过按键或者按钮模块Uc11向带DSP功能的STM32主控处理器Uc12设定电机本体U1的运行参数:电机本体U1转动的圈数、电机本体U1的转动速度、电机本体U1的方向信号。
当电机本体U1旋转到左极限位置时,左极限传感器Uc1响应,左极限传感器输入接口电路3输出左极限信号,该左极限信号通过光电耦合器Uc3进行隔离之后,输送给带DSP功能的STM32主控处理器Uc12。
当电机本体U1旋转到原点位置时,原点传感器Uc4响应,原点传感器输入接口电路4输出原点信号,该原点信号通过光电耦合器Uc6进行隔离之后,输送给带DSP功能的STM32主控处理器Uc12。
当电机本体U1旋转到右极限位置时,右极限传感器Uc7响应,右极限传感器输入接口电路5输出右极限信号,该右极限信号通过光电耦合器Uc9把该右极限信号进行隔离之后,输送给带DSP功能的STM32主控处理器Uc12。
带DSP功能的STM32主控处理器Uc12依据上述的电机本体U1的运行参数、左极限信号、原点信号以及右极限信号,分别通过脉冲输出接口电路6向外输出相应的“电机脉冲信号”、通过方向输出接口电路7向外输出相应的“电机方向信号”。
脉冲输出接口电路6通过光电耦合器Uc19把带DSP功能的STM32主控处理器Uc12输出的“电机脉冲信号”进行隔离,得到更稳定纯净的“电机脉冲信号”,该信号再经过三极管Q1进行放大之后,直接送给伺服驱动器模块2。带DSP功能的STM32主控处理器Uc12输出的“电机脉冲信号”中的脉冲数量可以控制电机本体U1转动的圈数,“电机脉冲信号”中的脉冲频率可以控制电机本体U1的转动速度。
方向输出接口电路7通过光电耦合器Uc22把带DSP功能的STM32主控处理器Uc12输出的“电机方向信号”进行隔离,得到更稳定纯净的“电机方向信号”,该信号再经过三极管Q2进行放大之后,直接送给伺服驱动器模块2。带DSP功能的STM32主控处理器Uc12输出的“电机方向信号”中的高电平信号可以控制电机本体U1正向转动,“电机方向信号”中的低电平信号可以控制电机本体U1反向转动。
“电机脉冲信号”与“电机方向信号”输入伺服驱动器模块2,具体的说,是输入伺服驱动器模块2中的脉冲/方向输入接口电路U13。
三相或者单相交流电由伺服驱动器模块2的电源输入端口输入,经过三相整流桥8,输出脉动直流电,系统开始工作。
脉动直流电接着由绝缘栅双极型晶体管T1、T2、T3、T4、T5、T6组成的三相桥逆变电路9进行逆变,逆变成三相交流电给电机本体U1供电,电机本体U1开启。
伺服驱动主控处理器STM32芯片U15接收到来自主控模块1的“电机脉冲信号”与“电机方向信号”,伺服驱动主控处理器STM32芯片U15依据上述信号,采用空间矢量脉冲宽度调制技术(SVPWM),输出3组PWM波,这3组PWM波对应三相桥逆变电路9的三个桥壁,作为控制绝缘栅双极型晶体管T1、T2、T3、T4、T5、T6的“IGBT控制信号”,该信号通过光耦隔离电路U8输送至IGBT驱动电路U7;IGBT驱动电路U7依据“IGBT控制信号”,直接控制绝缘栅双极型晶体管T1、T2、T3、T4、T5、T6导通或截止,调整为电机本体U1供电的三相交流电的U相、V相、W相的电压和电流,电机本体U1开始转动。
电机本体U1内部的反馈装置与伺服驱动主控处理器STM32芯片U15相连接,将包含电机当前的转速、旋转方向、目标输出转矩、位置信息的“电机反馈信号”输出至伺服驱动主控处理器STM32芯片U15。
伺服驱动主控处理器STM32芯片U15根据霍尔传感器U2、U3测得的U相、V相的电流,计算得出W相的电流,依据正比例系数,计算出电机本体U1当前的实际输出转矩,然后伺服驱动主控处理器STM32芯片U15比较目标转矩与实际输出转矩,利用PID算法调整3组PWM波的脉冲宽度,从而调节三相交流电的电流大小,进而将实际输出转矩调整至目标转矩。
伺服驱动主控处理器STM32芯片U15将“电机反馈信号”中的“电机当前的转速、旋转方向、位置信息”与“霍尔传感器U2、U3测得的U相、V相的电流”使用SVPWM算法比较,将经过PID算法调整过脉冲宽度的3组PWM波再次进行调整,从而调整三相桥逆变电路9的导通时间、开关时间以及开关顺序;
经过多次调整,电机本体U1按用户设定的参数稳定运转。
在系统运行过程中,U1内部的反馈模块将包含电机当前的转速、旋转方向、目标输出转矩、位置信息的“电机反馈信号”实时传输至伺服驱动主控处理器STM32芯片U15,伺服驱动主控处理器STM32芯片U15实时做出调整,保证系统的稳定性;
由于采用STM32核心,系统可为用户提供丰富的应用函数接口API,用户需要实现某个功能时,只需要调用相应的功能函数,并对其形参进行简单的地设置,就可以对触摸屏和主控程序进行编程,可以大大缩短开发周期,有效降低对用户的专业水平要求;
基于STM32对伺服电机控制系统进行集成化后,易于用户进行开发使用,可以大大降低开发时间与研究成本,用户熟悉之后可以实现与PLC相媲美的开发周期。
因此,本发明具有稳定好、可靠性高;易用性较高,工作灵活,易于推广;开发时间与研究成本较低的优点。
作为优选,所述带DSP功能的STM32主控处理器Uc12输出的“电机脉冲信号”中的脉冲数量控制电机本体U1转动的圈数,“电机脉冲信号”中的脉冲频率控制电机本体U1的转动速度。
所述带DSP功能的STM32主控处理器Uc12输出的“电机方向信号”中的高电平信号控制电机本体U1正向转动,“电机方向信号”中的低电平信号控制电机本体U1反向转动。
作为优选,所述主控模块1中,带DSP功能的STM32主控处理器Uc12还连接有:RS-232接口电路Uc13、JTAG接口电路Uc14、指示电路Uc15、RS-485接口电路Uc16、复位电路Uc17与晶振电路Uc18;
RS-232接口电路Uc13和RS-485接口电路Uc16分别用来与外界设备进行通讯,JTAG接口电路Uc14提供程序下载和在线调试的接口,指示电路Uc15用来对系统的工作状态进行显示,复位电路Uc17用来对带DSP功能的STM32主控处理器Uc12和液晶屏模块Uc10进行复位,晶振电路Uc18产生震荡信号,给带DSP功能的STM32主控处理器Uc12提供时钟基准。
作为优选,所述伺服驱动器模块2中的伺服驱动主控处理器STM32芯片U15还连接有:D/A转换电路U10、通信接口电路U11、A/D转换电路U12、其它IO接口电路U14;
操作键盘U9主要用来对伺服驱动主控处理器STM32芯片U15的工作参数进行设置,D/A转换电路U10提供数字量转换为模拟量的接口,通信接口U11提供伺服驱动主控处理器STM32芯片U15与其它设备进行通讯的接口,A/D转换电路U10提供模拟量转换为数字量的接口,其它I/O为系统预留的功能,以便进行功能扩展或者二次开发。
作为优选,所述“IGBT控制信号”为:伺服驱动主控处理器STM32芯片U15采用空间矢量脉冲宽度调制技术(SVPWM)与PID算法输出的3组PWM波,这3组PWM波对应三相桥逆变电路9的三个桥壁,直接控制绝缘栅双极型晶体管T1、T2、T3、T4、T5、T6导通或截止,进而对给电机本体U1供电的三相交流电的U相、V相、W相的电压和电流进行控制。
作为优选,所述电机本体U1内部的反馈装置与伺服驱动主控处理器STM32芯片U15相连接,将包含电机当前的转速、旋转方向、目标输出转矩、位置信息的“电机反馈信号”输出至伺服驱动主控处理器STM32芯片U15;
伺服驱动主控处理器STM32芯片U15根据霍尔传感器U2、U3测得的U相、V相的电流,计算得出W相的电流,依据正比例系数,计算出电机本体U1当前的实际输出转矩,然后伺服驱动主控处理器STM32芯片U15比较目标转矩与实际输出转矩,利用PID算法调整上次输出的3组PWM波的脉冲宽度;
伺服驱动主控处理器STM32芯片U15将“电机反馈信号”中的“电机当前的转速、旋转方向、位置信息”与“霍尔传感器U2、U3测得的U相、V相的电流”使用SVPWM算法比较,将经过PID算法调整过脉冲宽度的3组PWM波再次进行调整,从而调整三相桥逆变电路9的导通时间、开关时间以及开关顺序。
因此,本发明具有如下有益效果:
(1)稳定性好、可靠性高;
(2)成本较低,适用范围广;
(3)易用性较高,工作灵活,易于推广;
(4)开发时间与研究成本较低。
附图说明
图1是本发明的一种示意图;
图2是本发明的主控模块1的一种结构示意图;
图3是本发明的伺服驱动器模块2的一种结构示意图;
图4是本发明的三相桥逆变电路9的一种连接电路图。
图中:左极限传感器Uc1、整流器Uc2、光电耦合器Uc3、原点传感器Uc4、整流器Uc5、光电耦合器Uc6、右极限传感器Uc7、整流器Uc8、光电耦合器Uc9、触摸屏模块Uc10、按键或者按钮模块Uc11、带DSP功能的STM32主控处理器Uc12、RS-232接口电路Uc13、JTAG接口电路Uc14、指示电路Uc15、RS-485接口电路Uc16、复位电路Uc17与晶振电路Uc18、光电耦合器Uc19、光电耦合器Uc22、电阻Rc1、电阻Rc2、电阻Rc3、电阻Rc4、电阻Rc5、电阻Rc6、电阻Rc10、电阻Rc11、电阻Rc12、电阻Rc13、电容Cc1、电容Cc2、三极管Q1、三极管Q2;
6个二极管D1、D2、D3、D4、D5、D6、6个绝缘栅双极型晶体管T1、T2、T3、T4、T5、T6、电机本体U1、霍尔传感器U2、霍尔传感器U3、继电器U4、母线电压检测电路U5、IGBT驱动电路U7、光耦隔离电路U8、操作键盘U9、D/A转换电路U10、通信接口电路U11、A/D转换电路U12、脉冲/方向输入接口电路U13、其它IO接口电路U14、伺服驱动主控处理器STM32芯片U15、分压电阻R4。
具体实施方式
下面通过具体实施例,并结合附图,对本发明的技术方案作进一步的具体描述:
如图1、图2、图3及图4所示的实施例是一种基于STM32的伺服电机集成化控制系统及方法,包括主控模块1、伺服驱动器模块2;
主控模块1包括左极限传感器Uc1、原点传感器Uc4、右极限传感器Uc7,与极限传感器Uc1共同构成左极限传感器输入接口电路3的电阻Rc1、整流器Uc2、电阻Rc2、电容Cc1、光电耦合器Uc3、电阻Rc3,与原点传感器Uc4共同构成原点传感器输入接口电路4的电阻Rc4、整流器Uc5、电阻Rc5、电容Cc2、光电耦合器Uc6、电阻Rc6,与右极限传感器Uc7共同构成右极限传感器输入接口电路5的电阻Rc7、整流器Uc8、电阻Rc8、电容Cc3、光电耦合器Uc9、电阻Rc9;带DSP功能的STM32主控处理器Uc12,接带DSP功能的STM32主控处理器Uc12输出端的光电耦合器Uc19、Uc22,与光电耦合器Uc19共同构成脉冲输出接口电路6的电阻Rc10、三极管Q1、电阻Rc11,与光电耦合器Uc22共同构成方向输出接口电路7的电阻Rc12、三极管Q2、电阻Rc13,与带DSP功能的STM32主控处理器Uc12相连接的触摸屏模块Uc10、按键或者按钮模块Uc11;
伺服驱动器模块2包括由6个二极管D1、D2、D3、D4、D5、D6组成的三相整流桥8,由绝缘栅双极型晶体管T1、T2、T3、T4、T5、T6组成的三相桥逆变电路9,伺服驱动主控处理器STM32芯片U15,与伺服驱动主控处理器U15相连接的光耦隔离电路U8、操作键盘U9、脉冲/方向输入接口电路U13,与光耦隔离电路U8相连接的继电器U4、母线电压检测电路U5、IGBT驱动电路U7,电机本体U1,与电机本体U1和三相桥逆变电路9连接的两个霍尔传感器U2、U3,与母线电压检测电路U5、输入电路连接的分压电阻R4。
脉冲/方向输入接口电路U13接入伺服驱动主控处理器STM32芯片U15。
三相整流桥8由二极管D1、D2、D3、D4、D5、D6组成,二极管D1、D3、D5的负极相连接,输出脉动直流电的正极DC+,二极管D2、D4、D6的正极相连接,输出脉动直流电的负极DC-。
由绝缘栅双极型晶体管T1、T2、T3、T4、T5、T6组成三相桥逆变电路9,绝缘栅双极型晶体管T1和T2组成U相桥壁,其中T1为上桥臂,T2为下桥臂,T1与T2的连结点称为连结点U;绝缘栅双极型晶体管T3和T4组成V相桥壁,其中T3为上桥臂,T4为下桥臂,T3与T4的连结点称为连结点V;绝缘栅双极型晶体管T5和T6组成W相桥壁,其中T5为上桥臂,T6为下桥臂,T5与T6的连结点称为连结点W;三个桥壁共同构成三相桥逆变电路9。
霍尔传感器U2的两个输入端口串联到U相中,霍尔传感器U3的两个输入端口串联到V相中,两个霍尔传感器的输出都与光耦隔离电路U8相连接。
电机本体U1内部的反馈模块与伺服驱动主控处理器STM32芯片U15相连接。
光耦隔离电路U8连接霍尔传感器U2、U3,继电器U4,母线电压检测电路U5与IGBT驱动电路U7。
带DSP功能的STM32主控处理器Uc12还连接有:RS-232接口电路Uc13、JTAG接口电路Uc14、指示电路Uc15、RS-485接口电路Uc16、复位电路Uc17与晶振电路Uc18。
伺服驱动主控处理器STM32芯片U15还连接有:D/A转换电路U10、通信接口电路U11、A/D转换电路U12、其它IO接口电路U14;
一种基于STM32的伺服电机集成化系统的控制方法,工作过程如下:
以一次电机本体U1正常工作流程举例:
三相或者单相交流电由伺服驱动器模块2的电源输入端口输入,经过三相整流桥8,输出脉动直流电,直流电的正极为DC+、负极为DC-,系统开始工作。
脉动直流电接着由绝缘栅双极型晶体管T1、T2、T3、T4、T5、T6组成的三相桥逆变电路9进行逆变,逆变成三相交流电给电机本体U1供电,电机本体U1被启动。
当电机本体U1需要进行定位时,需要带负载进行一次“找原点”操作。
用户通过按下按键或者按钮模块Uc11中的按钮,向带DSP功能的STM32主控处理器Uc12发出让电机本体U1“找原点”的指令。
已经预先在带DSP功能的STM32主控处理器Uc12中设定好“找原点”工作中,电机本体U1的运行参数:电机本体U1的转动速度为100PPS、电机本体U1的转动方向信号为顺时针。
带DSP功能的STM32主控处理器Uc12输出的“电机脉冲信号”中的脉冲数量控制电机本体U1转动的圈数,“电机脉冲信号”中的脉冲频率控制电机本体U1的转动速度;Uc12输出的“电机方向信号”中的高电平信号控制电机本体U1正向转动,“电机方向信号”中的低电平信号控制电机本体U1反向转动。
带DSP功能的STM32主控处理器Uc12先分别通过脉冲输出接口电路63输出“电机脉冲信号”:恒定频率为100Hz的方波;通过方向输出接口电路7输出“电机方向信号”:高电平信号。
由于电机本体U1找原点功能不需要设置运转圈数,此处设定带DSP功能的STM32主控处理器Uc12一直向脉冲/方向输入接口电路U13发出信号,直至电机本体U1旋转到原点位置时,原点传感器输入接口电路4输出原点信号作为反馈信号至带DSP功能的STM32主控处理器Uc12,带DSP功能的STM32主控处理器Uc12接收到原点信号后,停止向脉冲/方向输入接口电路U13发出信号。
脉冲输出接口电路6通过光电耦合器Uc19把带DSP功能的
STM32主控处理器Uc12输出的“电机脉冲信号”进行隔离,得到更稳定纯净的“电机脉冲信号”,该信号再经过三极管Q1进行放大之后,直接送给伺服驱动器模块2。
方向输出接口电路7通过光电耦合器Uc22把带DSP功能的STM32主控处理器Uc12输出的“电机方向信号”进行隔离,得到更稳定纯净的“电机方向信号”,该信号再经过三极管Q2进行放大之后,直接送给伺服驱动器模块2;具体地说,是输入伺服驱动器模块2中的脉冲/方向输入接口电路U13。
伺服驱动主控处理器STM32芯片U15接收到来自主控模块1的“电机脉冲信号”:恒定频率为100Hz的方波,与“电机方向信号”:高电平信号,伺服驱动主控处理器STM32芯片U15依据上述信号,判断用户指示电机本体U1以顺时针方向、转动速度为100PPS的状态进行运转。
伺服驱动主控处理器STM32芯片U15采用空间矢量脉冲宽度调制技术(SVPWM),输出3组PWM波,这3组PWM波对应三相桥逆变电路9的三个桥壁,作为控制每个绝缘栅双极型晶体管的“IGBT控制信号”,该信号通过光耦隔离电路U8输送至IGBT驱动电路U7;IGBT驱动电路U7依据“IGBT控制信号”,直接控制绝缘栅双极型晶体管T1、T2、T3、T4、T5、T6导通或截止,进而对给电机本体U1供电的三相交流电的U相、V相、W相的电压和电流进行控制,电机本体U1开始转动。
电机本体U1内部的反馈装置将包含电机当前的转速、旋转方向、目标输出转矩、位置信息的“电机反馈信号”输出至伺服驱动主控处理器STM32芯片U15。
伺服驱动主控处理器STM32芯片U15根据霍尔传感器U2、U3测得的U相、V相的电流,计算得出W相的电流,依据系统模型给出的正比例系数,计算出电机本体U1当前的实际输出转矩,然后伺服驱动主控处理器STM32芯片U15比较目标转矩与实际输出转矩,利用PID算法调整3组PWM波的脉冲宽度,从而调节三相交流电的电流大小,进而将实际输出转矩调整至目标转矩;
伺服驱动主控处理器STM32芯片U15将“电机反馈信号”中的“电机当前的转速、旋转方向、位置信息”与“霍尔传感器U2、U3测得的U相、V相的电流”使用SVPWM算法比较,将经过PID算法调整过脉冲宽度的3组PWM波再次进行调整,从而调整三相桥逆变电路9的导通时间、开关时间以及开关顺序。
经过多次调整,伺服驱动主控处理器STM32芯片U15控制电机本体U1以顺时针方向、转动速度为100PPS的状态进行找原点操作。
电机本体U1先顺时针转动,在转动过程一旦遇到左极限传感器或者右极限传感器,表明电机本体U1旋转到左极限位置或右极限位置:
当电机本体U1旋转到左极限位置时,左极限传感器Uc1做出响应,左极限传感器输入接口电路3输出一个+0V的电压作为左极限信号,该左极限信号通过光电耦合器Uc3把该右极限信号进行隔离之后,输送给Uc12;
当电机本体U1旋转到右极限位置时,右极限传感器Uc7做出响应,右极限传感器输入接口电路5输出一个0V的电压作为右极限信号,该右极限信号通过光电耦合器Uc9把该右极限信号进行隔离之后,输送给带DSP功能的STM32主控处理器Uc12。
带DSP功能的STM32主控处理器Uc12接收到左极限信号或右极限信号后,立即通过方向输出接口电路7输出反向的“电机方向信号”:低电平信号。
方向输出接口电路7通过光电耦合器Uc22把新的“电机方向信号”进行隔离,该信号再经过三极管Q2进行放大之后,直接输入伺服驱动器模块2中的脉冲/方向输入接口电路U13。
伺服驱动主控处理器STM32芯片U15接收到来自主控模块1的“电机脉冲信号”:恒定频率为100Hz的方波,与新的“电机方向信号”:低电平信号,伺服驱动主控处理器STM32芯片U15依据上述信号,判断用户指示电机本体U1以逆时针方向、转动速度为100PPS的状态进行运转。
伺服驱动主控处理器STM32芯片U15采用空间矢量脉冲宽度调制技术(SVPWM),输出3组PWM波,这3组PWM波作为控制每个绝缘栅双极型晶体管的“IGBT控制信号”,该信号通过光耦隔离电路U8输送至IGBT驱动电路U7;IGBT驱动电路U7依据“IGBT控制信号”,直接控制绝缘栅双极型晶体管T1、T2、T3、T4、T5、T6导通或截止,进而对给电机本体U1供电的三相交流电的U相、V相、W相的电压和电流进行控制,控制电机本体U1以逆时针方向、转动速度为100PPS的状态继续进行找原点操作。
电机本体U1在转动过程一旦遇到原点传感器Uc4,表明电机本体U1旋转到原点位置:
当电机本体U1旋转到原点位置时,原点传感器Uc4响应,原点传感器输入接口电路4输出一个+0V的电压作为原点信号,该原点信号通过光电耦合器Uc6进行隔离之后,输送给带DSP功能的STM32主控处理器Uc12。
带DSP功能的STM32主控处理器Uc12接收到原点信号后,立即停止向外输出信号。
伺服驱动主控处理器STM32芯片U15接收不到来自主控模块1的“电机脉冲信号”与“电机方向信号”,判断让电机本体U1停止运动。
伺服驱动主控处理器STM32芯片U15停止输出3组PWM波,晶体管T1、T2、T3、T4、T5、T6截止,使电机本体U1停止运转,完成“找原点”操作。
当电机本体U1找好原点后,处于待机状态,用户可以通过按键或者按钮模块Uc11,向带DSP功能的STM32主控处理器Uc12设定电机本体U1的工作参数:设置电机本体U1以500PPS的速度正转10圈。
假设电机本体U1转一圈需要1000个脉冲,由于“电机脉冲信号”中脉冲数量控制电机本体U1转动的圈数,脉冲频率控制电机本体U1的转动速度,所以带DSP功能的STM32主控处理器Uc12需要向外输出总数为10000个、频率为500Hz的脉冲信号作为“电机脉冲信号”;同时,输出高电平的电信号作为“电机方向信号”。
带DSP功能的STM32主控处理器Uc12分别通过脉冲输出接口电路6向脉冲/方向输入接口电路U13输出“电机脉冲信号”:总数为10000个、恒定频率为500Hz的脉冲;通过方向输出接口电路7向脉冲/方向输入接口电路U13输出“电机方向信号”:高电平信号。
脉冲输出接口电路6通过光电耦合器Uc19把带DSP功能的
STM32主控处理器Uc12输出的“电机脉冲信号”进行隔离,得到更稳定纯净的“电机脉冲信号”,该信号再经过三极管Q1进行放大之后,直接送给伺服驱动器模块2;具体的说,是输入伺服驱动器模块2中的脉冲/方向输入接口电路U13。
方向输出接口电路7通过光电耦合器Uc22把带DSP功能的STM32主控处理器Uc12输出的“电机方向信号”进行隔离,得到更稳定纯净的“电机方向信号”,该信号再经过三极管Q2进行放大之后,直接送给伺服驱动器模块2;具体的说,是输入伺服驱动器模块2中的脉冲/方向输入接口电路U13。
伺服驱动主控处理器STM32芯片U15通过脉冲/方向输入接口电路U13接收到来自主控模块1的“电机脉冲信号”:总数为10000个、频率为500Hz的脉冲信号,与“电机方向信号”:高电平信号,伺服驱动主控处理器STM32芯片U15依据上述信号,判断用户指示电机本体U1以顺时针方向、转动速度为500PPS的状态运转10圈。
伺服驱动主控处理器STM32芯片U15采用空间矢量脉冲宽度调制技术(SVPWM),输出3组PWM波,这3组PWM波对应三相桥逆变电路9的三个桥壁,作为控制每个绝缘栅双极型晶体管的“IGBT控制信号”,该信号通过光耦隔离电路U8输送至IGBT驱动电路U7;IGBT驱动电路U7依据“IGBT控制信号”,直接控制绝缘栅双极型晶体管T1、T2、T3、T4、T5、T6导通或截止,进而对给电机本体U1供电的三相交流电的U相、V相、W相的电压和电流进行控制,控制电机本体U1开始转动。
电机本体U1内部的反馈装置将包含电机当前的转速、旋转方向、目标输出转矩、位置信息的“电机反馈信号”输出至伺服驱动主控处理器STM32芯片U15。
伺服驱动主控处理器STM32芯片U15根据霍尔传感器U2、U3测得的U相、V相的电流,计算得出W相的电流,依据系统模型给出的正比例系数,计算出电机本体U1当前的实际输出转矩,然后伺服驱动主控处理器STM32芯片U15比较目标转矩与实际输出转矩,利用PID算法调整3组PWM波的脉冲宽度,从而调节三相交流电的电流大小,进而将实际输出转矩调整至目标转矩;
伺服驱动主控处理器STM32芯片U15将“电机反馈信号”中的“电机当前的转速、旋转方向、位置信息”与“霍尔传感器U2、U3测得的U相、V相的电流”使用SVPWM算法比较,将经过PID算法调整过脉冲宽度的3组PWM波再次进行调整,从而调整三相桥逆变电路9的导通时间、开关时间以及开关顺序。
经过多次调整,伺服驱动主控处理器STM32芯片U15控制电机本体U1以顺时针方向、转动速度为以顺时针方向、转动速度为
500PPS的状态稳定运转。
上述3组PWM波输出结束后,电机本体U1正好运转10圈,U15不再输出新的PWM波,晶体管T1、T2、T3、T4、T5、T6截止,电机本体U1停止运转,完成操作。
上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域的普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。