资源描述:
《串行通讯在基于dsp控制的电机控制中的应用new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、电机控制机电工程技术!""#年第$%卷第&&期串行通讯在基于’()控制的电机控制中的应用孙志辉,陈帅功(北京科技大学机械工程学院,北京&"""*$)摘要:本文介绍了以+,($!"-.!%"/0为核心控制器的步进电机自动升降速控制系统与)1机的通讯及程序设计方法。文章分析了通讯协议及数据传输的格式,详细介绍了’()和上位)1机的软件设计,给出了程序的流程图和人机控制界面,并在步进电机和步进式伺服电机上,进行了相关的实验,基本上达到了控制的要求。关键词:步进电机;步进式伺服电机;自动升降速;(12;,(1344中图分类号:+,$"&5!文
2、献标识码:6文章编号:&""787%7!9!""#:&&8""%"8"$&引言+2公司的!"""系列的’()是一种专门为控制而开发的微控制器,这些’()一般都带有众多的片内外设,比如串行通讯模块和针对电机进行控制的事件管理器模块等等,这使得这些’()芯片可以很方便地与其他控制芯片、)1等进行通讯,也十分便利于对各种电机进行控制。+2公司的+,($!"-.!%"/型’()微控制器内嵌的异步串行口((12)支持1);与其它标准格式的异步外设之间的数字通讯,通过<(8!$!接口可以方便地进行’()之间和)1机之间的异步通讯。而该控制器的每个
3、事件管理模块,均包(?)(@)括:两个&=位的通用定时器;*个&=位脉冲调制()>,)通道,因此,加上其他相关的片内外设的配合,图&脉冲输入法可以实现对交流感应电机、无刷直流电机、步进电机等的控制。在文中,介绍了使用)1机作上位机给步进电机控机正反转的控制脉冲;当采用单脉冲输入法时,其连线方制提供操作界面,利用+,($!"-.!%"/作下位机对步进电式如图&(@)所示,该图中的1A为时钟脉冲输入,步进机进行控制的’()系统的硬件和软件的设计,该系统不仅电机的正反转方向由;B’的高、低电位决定。在本文介绍可以用于多电机控制系统的调试上,
4、而且也可以作为一般的系统中,采用了图&(@)的形式,这种形式的控制有时工业远程控制设备来使用。也被称为符号加脉冲的形式。由于+,($!"-.!%"/的输出!系统的硬件设计电压为$5$C,而一般的脉冲分配器的输入电平都比$5$C要高,因此,往往需要进行电平转换,对于频率不是很高本系统的硬件模块包括两部分:步进电机的控制模块的信号,可以采用D1门加上拉电阻,来进行电平转换,和串行通讯模块。这样可节省成本。对一些场合脉冲分配器输入的脉冲的频步进电机的控制,利用’()的事件管理模块发出频率率要达到几百E,甚至是几,,在这种情况下,使用这样可变
5、的脉冲,然后经过脉冲分配器进行脉冲分配,最后,的电路,就不合适了,而要使用高速的电平转换芯片。在由驱动模块将分配过的脉冲进行放大来对步进电机进行控系统的设计中,使用时光科技有限公司的2,(系列交流伺制,可以有两种形式来为脉冲分配器提供脉冲:单脉冲输服控制器,让其工作在电子齿轮的工作方式下(即符号加入法和双脉冲输入法。以日本三洋电机公司生产的步进电脉冲的方式)代替实际的步进电机,就出现了在脉冲频率机脉冲分配器),,*/$&为例:采用双脉冲输入法的连线过高时,电平转换反应不过来的情形。方式如图&(?)所示,其中1)、1;两端分别输入步进电
6、收稿日期:!""#—"/—!&%"机电工程技术!""#年第$%卷第&&期电机控制图!软件流图在系统中的串行通讯模块的设计中,也存在电平转表&控制命令表换,为了节省成本采用了电阻和二极管’(#)&*搭接而成控制命令控制功能命令格式的电平转换电路。"0&&电机正转"411,"4&&位置高位5,3,位置高位6,3$软件规划"0!!电机反转"411,"4!!位置低位5,3,位置低位6,3在系统设计中,软件设计是其中关键的一个环节。软"0$$电机停止"411,"4$$,"0"","0"","0"","0""件设计主要设计+,-的软件设计和-.机
7、的软件设计。主"0%%速度设置"411,"4%%位置高位5,3,位置高位6,3要解决的问题有:串行通讯协议、+,-对接收到信息的处"0##加速度设置"411,"4##位置低位5,3,位置低位6,3理以及-.机对发送数据的处理、+,-根据接收的信息实现步进电机的匀加速—匀速—匀减速的平滑地速度控制这表!应答命令表三个问题。整个软件的控制流程,可见图!,由图!可以看出程应答命令电机的运行状态序控制的关键在于两个中断控制环节。对于通讯协议设置接受正确"411,"411,"411,"411返回当前位置位置高位5,37位置高位6,3位置低位5,
8、37位置低位6,3如下:通讯命令由/个字节构成,第一个字节是同步字节"011,第二个字节为命令码,用来指示各种控制命令,在系统中,暂时设置了#个命令,实际中可以根据情况设置即发出%个"011给予应答。通讯程序向+,-发送