基于NiosⅡ的超声电机驱动控制电路
单端芯片实现差分信号的转换。转换后的两路信号A、B是一组正交脉冲信号,电机朝不同方向运动时,A、B两路信号之间
的相位关系会发生转换,从而判断电机运行的方向。因此,根据这一特性,在FPGA中,用Vetilog语言编写了一个实现正交编码脉冲电路的功能的计数模块。
同时,为了进一步消除光栅反馈信号可能产生的窄脉冲干扰信号,本控制器将转换后的单端信号进一步滤波。主要过程是:在采集某一状态信号时,利用比该状态信号更高频率的采样时钟对其进行多次重复采集,直到多次采集结果完全一致时才视为有效信号输出。然后再将滤波过后的信号发送给正交编码脉冲电路进行辨向和计数。
1.3 驱动控制器的控制方式
电机工作时,FPGA通过串口接收来自上位机发送的数据至Nios II处理器中,经过程序处理之后,得出电机运行的方式(步进、连续)、运行的距离等信息,NiosⅡ处理器通过控制DDS模块的起停时间来控制驱动信号的有无进而控制电机的运动过程。电机运行时的位移和速度的实际信息可以从光栅编码器的反馈信号中得出,计数器模块计算出脉冲数的值发送给Nios II处理器,处理器通过具体的控制算法改变DDS输出信号的幅值、频率、相位从而对电机的运行状态做出进一步的调整。这样,一个完整的闭环控制系统就由一块FPGA芯片实现了。
2 实验分析
2.1 超声电机速度稳定性研究
由于超声电机在一定的频率范围内,它的速度随着频率的增大而减小,因此我们可以通过控制正弦信号的频率来保证超声电机速度的稳定性。
本实验使用的直线超声电机在33.8 kHz附近运行的比较稳定,所以选用33.8 kHz作为直线超声电机的实验频率。首先研究直线超声电机在不加入任何的控制算法时,它的速度稳定性,实验结果如图5所示。
![](../img/eep/emb/emb-44010cq5hkg034hy.jpg)
由上图可以看出不加控制算法直接运行,超声电机的速度不是很稳定。如果在Nios II处理器中加入一些控制算法去控制电机运行时的频率,速度的稳定性会有显著的改善。以增量式PID算法为例:
△u(k)=A1e(k)+A2e(k-1)+A3e(k-2)
u(k)是频率,e(k)是第K次采样时目标速度与当前速度的差值。通过上面的公式算出频率的改变量,发送新的频率控制字给DDS模块,改变驱动信号的频率,从而达到控制电机运行速度的效果。图6为加入PID算法后电机的速度曲线。
![](../img/eep/emb/emb-44011kqf3po3ef4b.jpg)
由此可见,引入控制算法的超声电机驱动,电机的速度波动要远远的小于直线超声电机在不引入算法时的波动。这很好的解决了直线超声电机在运动过程中的速度稳定性问题。
2.2 定位精度测试
对一个单轴直线超声电机运动平台进行精确定位实验。此精密运动平台在脉冲宽度为3.5μs时有着比较稳定的输出特性,步进距离大约在100 nm左右。使用“连续+步进”的方式进行精度测试,连续运动至预定目标处,然后利用微小步进进行调整。英国REN-ISHAW公司的XL-80激光干涉仪系统作为本次实验的测定系统,将激光干涉仪显示数据与定位距离进行比较。实验表明,此超声电机直线运动平台的定位精度可以达到1μm。
![](../img/eep/emb/emb-44012kmwb0o5wy0q.jpg)
![](../img/eep/emb/emb-440131rdl3015vw4.jpg)
3 结论
文中利用SOPC技术,将波形发生模块和微处理器模块以及脉冲计数模块巧妙地集成到一片FPGA内部,利用可编程逻辑的灵活性和Nios II的强大处理能力,实现了超声电机驱动控制电路的设计。采用SOPC方案进行系统设计,充分利用FPGA的可编程性,整个开发过程变得灵活方便,在不改变任何外围电路的情况下可以对系统进行软硬件升级,延长系统的寿命周期,同时大大提升了系统的性能和系统的集成度,降低了系统的开发成本,这正是相对于其他方案的优势,也符合当今科技的发展方向。
超声电机 闭环控制系统 SOPC技术 NiosⅡ软核处理器 相关文章:
- 变形机翼分布式超声电机驱动的应用设计方案(12-21)
- 多面体螺纹一体式超声电机的AF应用(12-28)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)