微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于AVR的直流电机高精度数字控制系统

基于AVR的直流电机高精度数字控制系统

时间:04-06 来源:互联网 点击:

程序运行后,实际测得角度控制的稳态误差在±0.005 7 rad,速度控制的动态误差在±0.013 1 rad/s,具有较高的精度和稳定性。在实际使用中,可以采用先进算法编制控制程序,进一步提高系统的控制性能。
作为比较,将相同的控制算法在PC上实现,通过全数字直流伺服驱动器上驱动电机,测得角度控制的稳态误差是±0.004 rad,速度控制的动态误差是±0.008 rad/s。可见本系统的控制精度与伺服驱动器的控制精度接近,而成本低于后者,具有很大优势。
2.2 PC机控制界面的VC程序设计
  PC机控制界面将目标转动角度和速度发送给单片机,同时接收单片机发来的实时角度和速度并以曲线形式显示。控制界面基于对话框的结构,使用VC自带的MSComm控件和单片机通信[4]。该控件重要属性设置如下:
  ①本文使用PC机的串口1通信,故串口编号CommPort设置为1;
  ②设单片机发来的一个有效角度或速度数据的字节数为n,则从输入缓冲区一次读取的字节数InputLen属性设置为n;
  ③输入缓冲区长度InBufferSize设置为n的整数倍,防止读取数据出错;
  ④产生接收事件的阈值RThreadshold设置为n,表示缓冲区中有一个及以上有效数据时就接收;
  ⑤输出缓冲区长度OutBufferSize设置为n的整数倍;
  ⑥产生发送事件的阈值RThreadshold设置为n。
以上属性设置完毕后打开串口,在事件驱动函数中接收数据,依次将其转换为绘图设备区域中Y轴上的像素值,同时顺序连接各点绘制曲线并更新,实时表示电机转动角度和速度的变化。如图7所示,是电机速度控制界面的截图,横轴表示时间,纵轴表示转速,曲线的跳跃是电机速度方向的改变。

本文提出一种直流电机高精度数字控制系统的实现方法,设计了PC机上的控制界面。该系统硬件结构简单可靠、性价比高,系统可以达到很高的控制精度,并进行了软件验证,采用先进算法后可以进一步提高控制性能。
参考文献
[1] ATMEL. ATmega128 Data Sheet.Rev.2467R-AVR-06/08.
[2] 史晓娟,李海芹.基于CPLD的四倍频鉴相计数电路在运动控制器中的应用[J].制造技术与机床,2008(6):85-87.
[3] INTERSIL. HIP4080A Data Sheet. www.int-ersil.com.
[4] 张筠莉,刘书智.Visual C++实践与提高.串口通信与工程应用篇[M].北京:中国铁道出版社,2006:21-45.

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top