论文部分内容阅读
[摘要]设计系统以直流无刷电机专用集成控制芯片MC33035为主控制器,通过软件编程实现由AT90S8535单片机输出控制器所需要的PWM波,实现对直流电机转速的控制,近而实现对机器人行走机构的控制。设计系统大大简化了硬件电路,被广泛应用于机器人的行走机构的控制。
[关键词]直流无刷电机 MC33035 AVR单片机 PWM 闭环调速系统
中图分类号:TP2 文献标识码:A 文章编号:1671-7597(2008)1220071-01
一、引言
随着电子技术、功率元件技术和电子换向器以及高性能的磁性材料制造技术的飞速发展,无刷直流电机采用电子换向器取代了机械电刷和机械换向器,不仅保留了直流电动机的优点,而且又具有交流电动机的结构简单、运行可靠、维护方便等优点,使它一经出现就以极快的速度发展和普及。每种直流无刷电机都配备相应的驱动模块,该模块一般都集成了换相、内闭环控制和速度检测等功能,大大减轻了单片机的负担,让单片机有更充裕的时间来处理上层的算法。因此,在机器人行走机构的控制中直流无刷电机一直受到青睐。
二、机器人行走机构控制器结构与原理
(一)控制器结构
本系统所设计的控制器的核心器件是MOTORLORA公司研制的第二代无刷直流电机控制专用集成电路MC33035。为构成转速闭环调节系统,该控制器还加上了1片将无刷直流电动机的转子位置信号进行F/V转换,形成转速反馈信号的MC3309电子测速器芯片。同时核心控制器外接6个功率开关器件组成三相逆变器,以驱动三相永磁无刷直流电机。控制器电路的构成,如图1所示。图中MC33035的引脚3控制电机转向,引脚7控制电机起停,引脚22选择转子位置检测信号为600或1200方式,引脚23控制电机的制动。系统还利用电位器A来设定所需的电机转速;利用发光二极管FAULT 用作故障指示,当出现不正常的位置检测信号、主电路过流、3种欠电压之一(芯片电压低于9.1V,驱动电路电压低于9.1V,基准电压低于4.5V)、芯片内部过热、起停端低电平时,FAULT发光报警,同时自动封锁系统。
(二)控制原理
从电机转子位置检测器送来的三相位置检测信号(SA,SB,SC)一方面送入MC33035,经芯片内部译码电路结合正反转控制端、起停控制端、制动控制端、电流检测端等控制逻辑信号状态,经过运算后,产生逆变器三相上、下桥臂开关器件的6路原始控制信号,其中,三相下桥开关信号还要按无刷直流电机调速机理进行脉宽调制处理。处理后的三相下桥PWM控制信号(Ar,Br,Cr)经过驱动电路整形、放大后,施加到逆变器的6个开关管上,使其产生出供电机正常运行所需的三相方波交流电流。
另一方面,转子位置检测信号送入MC33039经F/V转换,得到一个频率与电机转速成正比的脉冲信号FB。FB通过简单的阻容网络滤波后形成转速反馈信号,利用MC33035中的误差放大器即可构成一个简单的P调节器,实现电机转速的闭环控制,以提高电机的机械特性硬度。实际应用中,还可外接各种PI、PD、PID调节电路以实现更为复杂的闭环调节控制。
三、PWM波的产生与控制
要控制电机的转速,可以直接改变电源电压或改变驱动器上MC33035第11引脚的电压实现。在本文中,我们通过改变11引脚上的电压来改变电机的转速。由实验所得,当11引脚上的电压为5V的时候,电机的转速就已经达到最高了,因此,可以用单片机控制11引脚的电压输出来改变电机的转速。11引脚上需要的是一个模拟信号,而AVR单片机输出的是一个数字信号,要想将数字信号转换成模拟信号,最好的方法就是通过D/A转换器,但这样做延长了单片机对电机的控制时间,而使用PWM波,再加上与之匹配的低通滤波器就能很好的解决这一问题。控制系统原理图,如图2所示。
AVR嵌入式单片机AT90S8535的频率为8MHZ,自带的两个定时计数器都可以同时输出两路PWM波,并且可以设置分频比。但是PWM波的频率也需要一定讲究的,频率太高时,对直流电机驱动的功率管要求过高,太低时产生电磁噪声较大。实际应用中PWM波的频率在18KHZ左右效果较好。所以,由软件编程通过一个定时/计数器1来完成PWM波的输出比较容易实现,而且频率可以自己控制。PWM信号其实就是一个可改变占空比的方波信号,该占空比的计算公式为(A-B)/A×100%。首先要设定一个A值,该值设得越大分辨率也就越高,但一般设定在100到255为宜。通过改变B值就可改变PWM信号的占空比,进行这两路电机的转速控制。编写PWM波的方式是预先在定时/计数器1里置入初值,当定时/计数器1溢出时就完成一个计数,A值就加1,当A值加到预先设定值时,完成一个周期的计数,将A值清零,重新开始计数。PWM波完成一个周期的输出。本文所设计系统把AT90S8535的D口PD0和PD1作为PWM波的两路输出。将PD0和PD1预置为1,并设定B的初值,然后开定时/计数器1,同时在溢出中断中比较A和B的值。如果不相等,则继续计数;如果相等,则把PD0和PD1口清零,当一个周期完时,有一定占空比的PWM波就完成了。如果想进行不同PWM波的多路输出,只需要与不同的B值进行比较就可以了。
由于输出的PWM波为一数字信号,不能直接输出到MC33035的第11引脚上,同时为了防止强电与弱电间的干扰,设计中采用将单片机输出PWM波先接入光电耦合器,再接低通滤波器实现。如果输入电流不够,还需要在输出端接一个上拉电阻。
此外,AT90S8535自身还带有E2PROM,可以预先置入A和B的值,并进行在线修改,完成现场可编程的功能。
四、闭环微机速度控制
闭环速度控制中传感器使用电机内部的霍尔传感器,使用外部中断对霍尔传感器返回的霍尔信号进行监测。霍尔传感器返回一个数字信号,如果此信号电压高于5V,还需要把此信号进行降压处理,接入光电耦合器,再接至单片机。AT90S8535有三个定时/计数器和两个外部中断捕获口,除去用一个定时/计数器1做PWM波的输出外,剩下的资源完全可以同时对两个电机进行闭环的速度控制。把两个霍尔信号输入到AT90S8535单片机的INT0和INT1中断口PD2和PD3上,软件设置INT0和INT1为上升沿中断,进入中断服务程序后开启定时/计数器0和定时/计数器2对上升沿进行计数,测出每两个上升沿之间的时间,然后对两次上升沿之间的时间进行处理,从而判断实际速度与需要的速度是否相等,如不相等,再相应地改变PWM波中B的值,从而改变11引脚上的电压,改变当前的转速,并继续监测直到相等为止。
本系统除了对无刷电机速度进行控制外,还可以通过驱动器上的方向引脚和制动引脚进行控制。原理也非常简单,单片机的两个信号口PD4、PD5对两个驱动器前进、后退进行控制,PD6、PD7对两个驱动器的启动、制动进行控制,不过仍然需要先接入光电耦合器防止干扰。五、结论及创新点
本文所述的直流电机闭环调速系统以直流无刷电机专用集成芯片MC33035为核心控制器。利用嵌入式单片机AT90S8535以编程的方式实现PWM波的生成,大大简化了硬件电路,使得AVR有更多的时间处理高层的控制算法。由于用软件中的定时/计数器直接生成PWM波,所以单片机频繁地工作在中断服务程序中,如果能很好地设定每次溢出中断的初始值和预分频,程序还是有充足的时间进行闭环控制的测控和计算,使得程序设计和软件运行更合理可靠。本文所设计系统已被广泛应用于机器人的行走机构的控制。
基金颁发部门:四川省教育厅;项目名称:基于CCD的嵌入式机器视觉系统在机器人中的应用研究;编号:2006C027;基金申请人:张江梅。
基金颁发部门:学校青年基金;项目名称:基于CMOS图像传感器的嵌入式机器视觉系统研究;编号:08zx3151;基金申请人:张江梅。
参考文献:
[1]蒲东兵、孙英娟、周光有、周春光,一种嵌入式智能寻迹机器人设计[J].微计算机信息2008,3-2:241-242.
[2]张琛,直流无刷电动机原理及应用[M].北京:机械工业出版社,1996.
[3]谭建成,电机控制专用集成电路[M].北京:机械工业出版社,1999.
[4]王晓明,电动机的单片机控制[M].北京:北京航空航天大学出版社,2002.
[5]耿得根、宋建国、马潮、叶勇建,AVR高速嵌入式单片机原理与应用[M].北京:北京航空航天大学出版社,2001.
作者简介:
张江梅,女,山西省昔阳县人,西南科技大学讲师,学士,在读工程硕士,主要从事机器人控制技术和嵌入式系统的研究工作。
[关键词]直流无刷电机 MC33035 AVR单片机 PWM 闭环调速系统
中图分类号:TP2 文献标识码:A 文章编号:1671-7597(2008)1220071-01
一、引言
随着电子技术、功率元件技术和电子换向器以及高性能的磁性材料制造技术的飞速发展,无刷直流电机采用电子换向器取代了机械电刷和机械换向器,不仅保留了直流电动机的优点,而且又具有交流电动机的结构简单、运行可靠、维护方便等优点,使它一经出现就以极快的速度发展和普及。每种直流无刷电机都配备相应的驱动模块,该模块一般都集成了换相、内闭环控制和速度检测等功能,大大减轻了单片机的负担,让单片机有更充裕的时间来处理上层的算法。因此,在机器人行走机构的控制中直流无刷电机一直受到青睐。
二、机器人行走机构控制器结构与原理
(一)控制器结构
本系统所设计的控制器的核心器件是MOTORLORA公司研制的第二代无刷直流电机控制专用集成电路MC33035。为构成转速闭环调节系统,该控制器还加上了1片将无刷直流电动机的转子位置信号进行F/V转换,形成转速反馈信号的MC3309电子测速器芯片。同时核心控制器外接6个功率开关器件组成三相逆变器,以驱动三相永磁无刷直流电机。控制器电路的构成,如图1所示。图中MC33035的引脚3控制电机转向,引脚7控制电机起停,引脚22选择转子位置检测信号为600或1200方式,引脚23控制电机的制动。系统还利用电位器A来设定所需的电机转速;利用发光二极管FAULT 用作故障指示,当出现不正常的位置检测信号、主电路过流、3种欠电压之一(芯片电压低于9.1V,驱动电路电压低于9.1V,基准电压低于4.5V)、芯片内部过热、起停端低电平时,FAULT发光报警,同时自动封锁系统。
(二)控制原理
从电机转子位置检测器送来的三相位置检测信号(SA,SB,SC)一方面送入MC33035,经芯片内部译码电路结合正反转控制端、起停控制端、制动控制端、电流检测端等控制逻辑信号状态,经过运算后,产生逆变器三相上、下桥臂开关器件的6路原始控制信号,其中,三相下桥开关信号还要按无刷直流电机调速机理进行脉宽调制处理。处理后的三相下桥PWM控制信号(Ar,Br,Cr)经过驱动电路整形、放大后,施加到逆变器的6个开关管上,使其产生出供电机正常运行所需的三相方波交流电流。
另一方面,转子位置检测信号送入MC33039经F/V转换,得到一个频率与电机转速成正比的脉冲信号FB。FB通过简单的阻容网络滤波后形成转速反馈信号,利用MC33035中的误差放大器即可构成一个简单的P调节器,实现电机转速的闭环控制,以提高电机的机械特性硬度。实际应用中,还可外接各种PI、PD、PID调节电路以实现更为复杂的闭环调节控制。
三、PWM波的产生与控制
要控制电机的转速,可以直接改变电源电压或改变驱动器上MC33035第11引脚的电压实现。在本文中,我们通过改变11引脚上的电压来改变电机的转速。由实验所得,当11引脚上的电压为5V的时候,电机的转速就已经达到最高了,因此,可以用单片机控制11引脚的电压输出来改变电机的转速。11引脚上需要的是一个模拟信号,而AVR单片机输出的是一个数字信号,要想将数字信号转换成模拟信号,最好的方法就是通过D/A转换器,但这样做延长了单片机对电机的控制时间,而使用PWM波,再加上与之匹配的低通滤波器就能很好的解决这一问题。控制系统原理图,如图2所示。
AVR嵌入式单片机AT90S8535的频率为8MHZ,自带的两个定时计数器都可以同时输出两路PWM波,并且可以设置分频比。但是PWM波的频率也需要一定讲究的,频率太高时,对直流电机驱动的功率管要求过高,太低时产生电磁噪声较大。实际应用中PWM波的频率在18KHZ左右效果较好。所以,由软件编程通过一个定时/计数器1来完成PWM波的输出比较容易实现,而且频率可以自己控制。PWM信号其实就是一个可改变占空比的方波信号,该占空比的计算公式为(A-B)/A×100%。首先要设定一个A值,该值设得越大分辨率也就越高,但一般设定在100到255为宜。通过改变B值就可改变PWM信号的占空比,进行这两路电机的转速控制。编写PWM波的方式是预先在定时/计数器1里置入初值,当定时/计数器1溢出时就完成一个计数,A值就加1,当A值加到预先设定值时,完成一个周期的计数,将A值清零,重新开始计数。PWM波完成一个周期的输出。本文所设计系统把AT90S8535的D口PD0和PD1作为PWM波的两路输出。将PD0和PD1预置为1,并设定B的初值,然后开定时/计数器1,同时在溢出中断中比较A和B的值。如果不相等,则继续计数;如果相等,则把PD0和PD1口清零,当一个周期完时,有一定占空比的PWM波就完成了。如果想进行不同PWM波的多路输出,只需要与不同的B值进行比较就可以了。
由于输出的PWM波为一数字信号,不能直接输出到MC33035的第11引脚上,同时为了防止强电与弱电间的干扰,设计中采用将单片机输出PWM波先接入光电耦合器,再接低通滤波器实现。如果输入电流不够,还需要在输出端接一个上拉电阻。
此外,AT90S8535自身还带有E2PROM,可以预先置入A和B的值,并进行在线修改,完成现场可编程的功能。
四、闭环微机速度控制
闭环速度控制中传感器使用电机内部的霍尔传感器,使用外部中断对霍尔传感器返回的霍尔信号进行监测。霍尔传感器返回一个数字信号,如果此信号电压高于5V,还需要把此信号进行降压处理,接入光电耦合器,再接至单片机。AT90S8535有三个定时/计数器和两个外部中断捕获口,除去用一个定时/计数器1做PWM波的输出外,剩下的资源完全可以同时对两个电机进行闭环的速度控制。把两个霍尔信号输入到AT90S8535单片机的INT0和INT1中断口PD2和PD3上,软件设置INT0和INT1为上升沿中断,进入中断服务程序后开启定时/计数器0和定时/计数器2对上升沿进行计数,测出每两个上升沿之间的时间,然后对两次上升沿之间的时间进行处理,从而判断实际速度与需要的速度是否相等,如不相等,再相应地改变PWM波中B的值,从而改变11引脚上的电压,改变当前的转速,并继续监测直到相等为止。
本系统除了对无刷电机速度进行控制外,还可以通过驱动器上的方向引脚和制动引脚进行控制。原理也非常简单,单片机的两个信号口PD4、PD5对两个驱动器前进、后退进行控制,PD6、PD7对两个驱动器的启动、制动进行控制,不过仍然需要先接入光电耦合器防止干扰。五、结论及创新点
本文所述的直流电机闭环调速系统以直流无刷电机专用集成芯片MC33035为核心控制器。利用嵌入式单片机AT90S8535以编程的方式实现PWM波的生成,大大简化了硬件电路,使得AVR有更多的时间处理高层的控制算法。由于用软件中的定时/计数器直接生成PWM波,所以单片机频繁地工作在中断服务程序中,如果能很好地设定每次溢出中断的初始值和预分频,程序还是有充足的时间进行闭环控制的测控和计算,使得程序设计和软件运行更合理可靠。本文所设计系统已被广泛应用于机器人的行走机构的控制。
基金颁发部门:四川省教育厅;项目名称:基于CCD的嵌入式机器视觉系统在机器人中的应用研究;编号:2006C027;基金申请人:张江梅。
基金颁发部门:学校青年基金;项目名称:基于CMOS图像传感器的嵌入式机器视觉系统研究;编号:08zx3151;基金申请人:张江梅。
参考文献:
[1]蒲东兵、孙英娟、周光有、周春光,一种嵌入式智能寻迹机器人设计[J].微计算机信息2008,3-2:241-242.
[2]张琛,直流无刷电动机原理及应用[M].北京:机械工业出版社,1996.
[3]谭建成,电机控制专用集成电路[M].北京:机械工业出版社,1999.
[4]王晓明,电动机的单片机控制[M].北京:北京航空航天大学出版社,2002.
[5]耿得根、宋建国、马潮、叶勇建,AVR高速嵌入式单片机原理与应用[M].北京:北京航空航天大学出版社,2001.
作者简介:
张江梅,女,山西省昔阳县人,西南科技大学讲师,学士,在读工程硕士,主要从事机器人控制技术和嵌入式系统的研究工作。