您当前的位置:五五电子网电子知识电子知识资料电动机-发电机基于PSoC的二相混合式步进电机细分驱动器 正文
基于PSoC的二相混合式步进电机细分驱动器

基于PSoC的二相混合式步进电机细分驱动器

点击数:7167 次   录入时间:03-04 12:00:14   整理:http://www.55dianzi.com   电动机-发电机

图8 斩波式电路原理图

  另一种脉宽调制方式电路原理如图9所示,其原理是用最大幅值相同的D/A输出的正弦规律变化的电压与恒幅三角波(也可为锯齿波)进行比较,D/A输出的电压越大,脉宽调制电路输出的PWM脉冲的宽度也越大,而脉冲间的间隔则越小;反之则PWM脉冲的宽度也越小,而脉冲间的间隔则越大。图10很好的说明了这种比较过程及输出结果。这种方式调制出的PWM波,其脉冲宽度时间占空比是按正弦规律变化的,用它来控制功放管的通断将产生比斩波式精度更高正弦变化的阶梯型细分电流。这种方式是通过对功放管通断时间的控制来改变输出到绕组上的平均电流,这是因为绕组的电感特性对电流变化有阻碍作用,并且要求所用三角波的频率一般应大于20kHz。其实这种方法不一定要用真正的D/A与三角波发生器,完全可以用软件的方法实现,只要输出的PWM波的占空比按正弦规律变化。

  由于本文的设计方案是SPWM细分驱动,所以总结出以下几点结论:①三角波的频率决定PWM的频率,而PWM的频率决定了细分电流的纹波大小;②D/A输出值的大小决定PWM的脉宽,而PWM的脉宽和频率共同决定了细分电流的大小;③D/A的位数n决定细分数为2n ,细分后电机的最小步距角为固有步距角θ/2n-1,SPWM的占空比的值即有2n种,并且其取值是按正弦规律变化及每个阶梯电流对应一种占空比;④D/A输出值大小变化的频率决定电机转速,并应远小于三角波的频率,在电机启动时不能超过其启动频率,在电机连续运行时不能超过其最高工作频率;⑤三角波的频率不能大于功率管的截止频率,选择开关性能越好的功率管,三角波的频率可以越大,细分电流的纹波就越小。

  当然,除了上面介绍的几种常用方法,还有其它的方法,比如PID控制等。总之,目标就是精确控制绕组中流过正弦变化的阶梯型波。

  另外,有文献指出由于步进电机制造工艺引起的误差和相电流由小变到大引起的相电流及其产生的励磁存在非线性而导致的误差等,会使细分后的步距角并不是完全均匀的;为了进一步提高步距角,需要对正弦规律的D/A值进行修正,即修正每小步的相电流值。当然,对于细分后能达到精度允许的误差的应用场合完全可以不必耗费过多的资源来进行这种修正了。

  通过以上对步进电机及其细分驱动的分析,读者应该对其有了充分的认识,下一节将对本文设计的基于PSoC的二相混合式步进电机细分驱动器进行介绍。

  基于PSoC的二相混合式步进电机细分驱动器

  随着细分驱动技术的发展,步进电机的相数“多”和固有的步距角“小”已经没有多大意义。对细分驱动器而言,相数多了反而增加了其复杂性,因为要输出的细分相电流多了;且由于混合式步进电机的优势,现在很多产商也是以生产这种电机为主,二相混合式步进电机将成为主流,所以本文针对其设计了一种基于PSoC的并使用上述脉宽调制方法实现的细分驱动器。

  赛普拉斯公司生产的CY8C系列PSoC可编程的片上系统,集成了M8C内核微控制器以及用户可配置的嵌入式系统中通常围绕微控制器周围的模拟及数字模块,模块可配置成放大器、ADC、DAC、滤波器及比较器等模拟功能以及定时器、计数器、PWM、SPI和UART等数字功能。

  由于本驱动器是为二自由度的云台设计,需要同时控制二个步进电机转动,每个同时要两路PWM控制,而每个PWM需占用一个数字模块,因此选择有8个可配置数字模块的CY8C27443-24PXI型号28引脚封装的芯片,其有3个8位的可复用可配置的I/O口P0、P1、P2。其功能模块组成如图11所示。

 


图9 脉宽调制式原理图  
图10 脉宽调制原理及输出  
图11 CY8C27443-24PXI功能组成模块
    本文通过赛普拉斯公司提供的配套开发软件PSoC Designer进行开发(其使用方法请查看相关资料),为芯片配置4个8位PWM模块、1个8位定时器、1个8位A/D(占1个模拟和1个数字模块)、1个UART串口(占两个数字模块)和1个PGA可编程增益放大器,如图12所示,图中左边为输入引脚,右边为输出引脚,上半部分8个矩形即为8个可配置的数字模块,依次被A/D、定时器、UART串口和4个PWM模块占用,下半部分12个矩形即是可配置的模拟模块,被PGA和A/D各占用一个。

      其中,UART串口用来连接上位机,使上位机程序能发送命令控制电机的转动(包括启动、停止、方向和速度)和细分数等,下位机可向上发送一些状态信息等。每个PWM模块输出通过内部总线连到P1口的两个引脚上,即每个PWM模块从两个引脚上输出相同的波形,但是可以通过引脚的可配置功能使其中一个引脚输出高或低电平,可以实现模块的分时复用;因为后文选用集成双H桥芯片L298n作为末级功放,其每个桥的两个输入口同一时刻只有一个为高电平才导通,因此只用一个PWM模块就能控制它,引脚连接如表1所示。定时器模块用来产生中断源以编写分时处理结构的程序。A/D模块的输入连接PGA输出,PGA的输入可以通过MUX模块连接4个不同的引脚(P01、P03、P05、P07),从而一个A/D模块就能分时通过4个引脚输入来实现采样4组不同的反馈相电流,以此可实现如过流保护等闭环控制功能。这些模块都可以通过在程序中调用其提供的API函数实现参数和功能的设置,如要实现PWM模块输出的PWM波的脉宽和周期(频率)设置,可分别调用函数:

void PWM8_WritePulseWidth(BYTE bPulseWidth);

void PWM8_WritePeriod(BYTE bPeriod).

      当然,要使其正常工作还需要用其它函数,这种调用API函数进行编程的方法,使得开发相对于用其它芯片的设计方案更简单。

    细分驱动器的末级功放使用两片集成的双H桥路芯片L298n。该芯片的开关频率最高可达40kHz,最高工作电压可达46V,瞬间峰值电流可达3A,持续工作电流为2A,其使用方法请参考芯片手册。整个驱动器的原理图如图13所示。图中选用42BYGH4417混合式2相4线步进电机,其相电流为1.7A,因此4个采样电阻选择0.02Ω、1W、2512封装的精密电阻,采样电压分别通过P01、P03、P05和P07被A/D模块分时读取;正常情况下,每相绕组的采样电压最大值为0.034V,经过PGA模块放大48倍后约为1.63V,给片内以2.5V作为参考电压、分辨率约为0.02V的8位A/D进行转换。


图12 PSoC内部模块配置  
表1 PWM模块与I/O口及L298n连接对应表  
图13 细分驱动器原理图

      驱动器设计的最大细分数为128,当频率固定时,则决定细分电流大小的SPWM波的占空比即有128种。这128个脉宽值从小到大排列与四分之一个正弦波的128级量化后的值成比例关系,这样只需要知道任意一个细分电流值(细分电流值=m×最大相电流/128,0≤m≤128)的大小对应的脉宽值,就可计算出所有的脉宽值,这个值需要通过实验得到,并且不同的电机由于相电阻等参数的不同所得到的这个脉宽值也不同。编程时把这128个脉宽值放在代码段,调用API函数设置PWM波脉宽时使用时用查表方式进行查找。对这128个值进行2的倍数值等距采样使用,就能实现64、32、16、8、4、2和1等细分,从而很容易实现“电机快速转动时使用低细分,慢速时使用高细分”的控制策略。四个PWM模块,每两个的脉宽值是同时变化的,PWM1与PWM2同时(控制图2-3中上面的那个L298n),另两个同时,并且一个是从小到大变化,另一个是从大到小变化,从而实现电机的正转和反转;脉宽值变化的越快,电机转动越快,不变时电机处于自锁状态。

      经实验证明,本文所设计的细分驱动器在电机快速和慢速转动时都能很稳定地工作,电机输出力矩和步距角均匀、运行平稳,充分发挥了步进电机的功能。

      总结

      本文首先详细分析了步进电机的工作和细分驱动原理,最后选择理论上比较好的SPWM细分驱动方法,使用PSoC结合L298n实现了最高128细分的、能同时驱动两个步进电机的细分驱动器。

      本文的细分驱动器设计方案很好地解决了使用其它方案时遇到的电路复杂和编程困难等问题,成本也比其它方案低很多,所用电子元件很少、功耗低、体积小,非常适合用于对体积和重量要求严格的场合,如无人机等。



上一页  [1] [2] 


本文关键字:步进电机  驱动器  电动机-发电机电子知识资料 - 电动机-发电机