freescale中怎么用pwm实现电机正反转

作者&投稿:习宜 (若有异议请与网页底部的电邮联系)
飞思卡尔程序中怎么把一个电压值通过PWM口送给电机驱动电路~

  直流有刷电机的驱动电路是一个H桥,可以通过控制H桥的的四个驱动管来实现电机的调速与正反转。
直流有刷电机的扭矩与输入的电压有关,而输入电压是通过控制PWM的占空比来实现的(一个周期内的平均电压与占空比成正比)。
如何计算PWM的占空比,一般是通过闭环控制来实现。比如用测速机构测得当前的车速,发现车速小于目标转速,用PID闭环就可以算出需要增加多少占空比。
  仪器介绍
  有刷直流电机的工作原理
  有刷电机的定子上安装有固定的主磁极和电刷,转子上安装有电枢绕组和换向器。直流电源的电能通过电刷和换向器进入电枢绕组,产生电枢电流,电枢电流产生的磁场与主磁场相互作用产生电磁转矩,使电机旋转带动负载。由于电刷和换向器的存在,有刷电机的结构复杂,可靠性差,故障多,维护工作量大,寿命短,换向火花易产生电磁干扰。
  有刷直流电机的工作原理图如图2-1所示。在有刷直流电机的固定部分有磁铁,这里称作主磁极;固定部分还有电刷。转动部分有环形铁芯和绕在环形铁芯上的绕组。
  图2-1所示的两极有刷直流电机的固定部分(定子)上装设了一对直流励磁的静止的主磁极N和S,在旋转部分(转子)上装设电枢铁芯。定子与转子之间有一气隙。在电枢铁芯上放置了由A和X两根导体连成的电枢线圈,线圈的首端和末端分别连到两个圆弧形的铜片上,此铜片称为换向片。换向片之间互相绝缘,由换向片构成的整体称为换向器。换向器固定在转轴上,换向片与转轴之间亦互相绝缘。在换向片上放置着一对固定不动的电刷B1和B2,当电枢旋转时,电枢线圈通过换向片和电刷与外电路接通。

改变直流电动机转动方向的方法有两种:
一是电枢反接法,即保持励磁绕组的端电压极性不变,通过改变电枢绕组端电压的极性使电动机反转;
二是励磁绕组反接法,即保持电枢绕组端电压的极性不变,通过改变励磁绕组端电压的极性使电动机调向。当两者的电压极性同时改变时,则电动机的旋转方向不变。
他励和并励直流电动机一般采用电枢反接法来实现正反转。他励和并励直流电动机不宜采用励磁绕组反接法实现正反转的原因是因为励磁绕组匝数较多,电感量较大。当励磁绕组反接时,在励磁绕组中便会产生很大的感生电动势.这将会损坏闸刀和励磁绕组的绝缘。
1、他励直流电机
通常,可采用下面两种方法来使直流电流机反转:
(1)将电枢两端电压反接,改变电枢电流的方向。
(2)改变励磁绕组的极性,即改变主磁场的方向。
在实际运行中,由于直流电动机的励磁绕组匝数较多,电感很大,把励磁绕组从电源上断开将产生较大的自感电动势,使开关产生很大的火花,并且还可能击穿励磁绕组的绝缘。因此,要求频繁反向的直流电动机,应采用改变电枢电流方向这一方法来实现反转。
此外,还必须指出,仅采用上述方法之一即可实现电动机的反转,如果同时使用这两种方法,则反反为正,反而不能达到电动机反转的目的。
2、永磁直流电机
永磁式直流电动机,只要将电源正、负极连接方向调换,就可以实现电机反转。
3、无刷电机
用的是无霍尔控制器,只要调换任何两条电机线就可以了。
用的是有霍尔控制器,先调霍尔ac相线,再调线包AB相线就可以了。
4、串激式直流电动机
则需要改变定子线圈与碳刷(转子)串联的方向,
假定原电机内部接线为:
电源进线——定子线圈1端——定子线圈2端——左边碳刷——电枢(转子)——右边碳刷——电源;
要改变转向,就需要改为:
电源进线——定子线圈1端——定子线圈2端——右边碳刷——电枢(转子)——左边碳刷——电源;
即将碳刷(或定子线圈)的两端接线对调即可。
串激式直流电机的转向与电源正、负极连接方向无关,实际上可以使用在交流电路上。

电机速度控制的不同接法

速度控制原理(包括正反转):

通过改变电机驱动芯片MC33886所输入的PWM波的占空比,来控制对电机的供电电压的大小,从而控制电机的转动速率。

MC33886芯片的真值表如下:

输入
输出

D1
/D2
IN1
IN2
OUT1
OUT2

0
1
1
0
1
0

0
1
0
1
0
1

0
1
0
0
0
0

0
1
1
1
1
1

在设计过程中通过了向IN1,IN2口送出PWM波来控制电机的正转和反转,使用了电机的正转为智能车加速,当转弯的时候利用了反转PWM波来控制电机的减速,在无倍频的情况下,输出方波为5kHz,。

PWMPERXY= 2400;

MC33886芯片内含错误报告管/FS,,通过将其接到单片机PT2口来进行错误捕捉。

通过PWM5,PWM7的开启,送数和关断,向IN1和IN2送PWM波,自动控制电机的正反转,通过反转来刹车。

接法一:单片MC33886-正反转

引自《基于HCS12的小车智能控制系统设计》

2.5 车速控制单元

车速控制单元采用RS-380SH型直流电机对小车速度进行闭环控制,并用MC33886电机驱动H-桥芯片作为电机的驱动元件。车速检测元件则采用日本Nemicon公司的E40S-600-3-3型旋转编码器,其精度达到车轮每旋转一周,旋转编码器产生600个脉冲。

系统通过MC9S12DG128输出的PWM信号来控制直流驱动电机。考虑到智能车由直道高速进入弯道时需要急速降速。通过实验证明:当采用MC33886的半桥驱动时,在小车需要减速时只能通过自由停车实现。当小车速度值由80降至50时(取旋转编码器在一定采样时间内检测到的脉冲数作为系统速度的量纲),响应时间约为0.3 s,调节效果不佳;当采用MC33886的全桥驱动时,其响应时间约为0.1 s。因此系统利用MC33886的全桥结构,实现了小车的快速制动。其电机驱动电路如图7所示。VCC为电源电压7.2 V,IN1和IN2分别为MC33886的PWM信号输入端口。MC33886的输出端口OUT1和OUT2分别接驱动电机的两端。D1、D2为芯片的使能端。

接法二:双片MC33886 -可正反转

引自《西安理工技术报告》

3.2 转速控制电路

3.2.1 直流电机驱动

直流电机驱动采用飞思卡尔公司的5A 集成H 桥芯片MC33886。MC33886

芯片内置了控制逻辑、电荷泵、门驱动电路以及低导通电阻的MOSFET 输出电

路,适合用来控制感性直流负载,可以提供连续的5A 电流,并且集成了过流保

护、过热保护、欠压保护。

接制动。图3.5 为经过简化的H 桥电路,当S1、S4 导通且S2、S3 截止时,电

流正向流过电机,车模前进;S2、S3 导通S1、S4 截止时,电流反向流过电机,

适当利用这个过程可以使车模处于反接制动的状态,迅速降低车速;当S3、S4

导通且S1、S2 截止时,没有电源加在电机上,电机两端相当于短接在一起。由

于电机轴在外力作用下旋转时,电机可以产生电能,此时可以把直流电动机看

作一个带了很重负载的发电机,电机上会产生一个阻碍输出轴运动的力,这个

力的大小与负荷的大小成正比,此时电机处于能耗制动状态。

本设计中使用两片MC33886 并联,一方面减小导通电阻对电机特性的影响,

另一方面减小MC33886 内部的过流保护电路对电机启动及制动时的影响。

接法三:单片两个半桥并联-无反转制动

《上海交通大学报告》

驱动芯片MC33886 内部具有短路保护、欠压保护、过温保护等功能。MC33886

内部集成有两个半桥驱动电路,本设计中,因为只需控制小车前进的速度不需要控制运行电机反转,因此不需要采用全桥驱动运行电机。而为了增大电流驱

动能力,我们将两个半桥并联使用。

接法四:双片两个半桥并联-可正反转制动 《桂林电子报告》

为了能使小车在过弯道的时候能够快速地把速度减下来,我们的驱动电机部分使用了由两块MC33886 组成的全桥式驱动电路,可能控制电机的正反转以达到制动的目的。单片MC33886也可能组成桥式驱动电路。由于RS-380 电机的工作电流很大,经过测量,单片MC33886 驱动RS-380 电机时空载时的压降也有1.0V 之高。因此我们把单片MC33886 的两路驱动输出端并联起来,用两块MC33886 组成一个全桥式的驱动电路。该电路可以通过两个输入端就可以控制电机正反转,压降也减小到0.5V以下。两块内部并联后的MC33886 芯片来组成桥式驱动电路,电路原理图如下

以下是我用51单片机调试时使用的C语言程序。程序来源于网络。

将P1^0和P1^1输出的PWM接与IN1,IN2。通过按键P1^3,P1^4调节占空比的大小,控制芯片电压输出的大小从而改变电机的转速。


鲅鱼圈区19470097948: 飞思卡尔mc9s12xs128单片机与AVR的ATmega16单片机就有哪些区别呀?大体说下关键的区别就行,谢谢了 -
任邦启脾: 寄存器数量多了,比如PWM在AVR里面用两三个寄存器来设置,但在freescale里面要八九个寄存器,它能详细设置PWM的周期、占空比、极性、对齐方式、二次分频等,比AVR详细很多.AD、TIMER、SCI等模块也是,功能加强,总之相比AVR就是,你可以更加精确、更加详细地控制外围设备

鲅鱼圈区19470097948: matlab simulink中的示波器Scope如何实现多输入(不用Mux)?如下如所示 -
任邦启脾: 1、Simulink中搭建如下模型. 2、其中,调制波设为常数0.5,载波的设置参数及相应载波波形如下. 3、运行后,PWM脉冲波形如下图2,显示占空比为25%. 4、保持载波不变,调整调制波,这儿将调制波Constant设置为设置为0,这时脉冲占空比为50%. 5、保持调制波不变,修改载波参数,如下图,这时脉冲占空比为50%.

鲅鱼圈区19470097948: 怎样利用freescale单片机的AD转换电压信号
任邦启脾: freescale单片机也就是飞思卡尔单片机,ad转换最直接的就是转换电压为数字信号给单片机处理.具体方法要看你的飞思卡尔单片机型号.如果单片机自带AD模块的话就好办,直接写程序叫单片机读取ad引脚的ad值就可以了,这点你可以参看你的单片机的技术文档.注意输入的电压一般不能超过芯片供电电压.

鲅鱼圈区19470097948: 飞思卡尔XS128系列(二) PWM模块怎样实时改变pwm波的周期和占空比 -
任邦启脾: void PWM_Init(void) { PWME = 0x00; //禁止PWM输出 PWMCTL = 0x30;//通道0,1级联、2,3级联,形成16位pwm通道 //CLOCK A 通道0、1、4、5;CLOCK B 通道2、3、6、7 PWMPRCLK = 0x00; //clock A =busclk=24Mhz PWMSCLA = 0x01; ...

鲅鱼圈区19470097948: freescale单片机和51的差别大吗? -
任邦启脾: freescale单片机功能比51单片机强大,比如freescale的有PWM,SPI,I2C等,而一般的51没有这些,需要软件来仿真;其次,开发环境不同,freescale使用CodeWarier,可以在线调试程序,而51则采用Keil编写程序,并且要用专门的下载软件和...

鲅鱼圈区19470097948: 飞思卡尔程序中怎么把一个电压值通过PWM口送给电机驱动电路
任邦启脾: 直流有刷电机的驱动电路是一个H桥,可以通过控制H桥的的四个驱动管来实现电机的调速与正反转. 直流有刷电机的扭矩与输入的电压有关,而输入电压是通过控制PWM的占空比来实现的(一个周期内的平均电压与占空比成正比). 如何计算PWM的占空比,一般是通过闭环控制来实现.比如用测速机构测得当前的车速,发现车速小于目标转速,用PID闭环就可以算出需要增加多少占空比. 大概原理就是这样.

鲅鱼圈区19470097948: 如何用PIC单片机的PWM功能来控制LED的亮度 -
任邦启脾: 第一,要理解中断在这里的作用是固定的“一小段”时间进入一次. 第二,PWM_ON在程序中的作用很大,它会由0------>CYCLE------>0并且一直循环下去.可以把它看成一个有规律的变化的量. 第三,每进入中断一次count++,满足条件count==PWM_ON或coun..

鲅鱼圈区19470097948: 飞思卡尔单片机 怎么用TPM实现PWM 有程序更好
任邦启脾: 你要看下你单片机型号的资料中,TPM相关寄存器配置的内容,比如当配置成产生PWM模式时,周期由寄存器(TPMxMODH:TPMxMODL)决定,占空比由寄存器(TPMxCnVH:TPMxCnVL)决定,再将这些寄存器配置好即可.

鲅鱼圈区19470097948: 如何利用单片机的内部PWM输出功能实现PWM推挽 -
任邦启脾: 如果单片机本身有这个功能,设定就好,如果没有,就软件编写,但推挽就不是真正的推挽了,会和实际的相差一两个指令周期

鲅鱼圈区19470097948: AVR单片机与飞思卡尔的xs128哪个难学? -
任邦启脾: avr没用过,xs128还是挺简单的,不知道你是为了做智能车用、还是学习,我建议还是学习AVR

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网