用串行口控制步进电机两维运动系统.doc

上传人:上海哈登 文档编号:2364685 上传时间:2019-03-24 格式:DOC 页数:3 大小:200KB
返回 下载 相关 举报
用串行口控制步进电机两维运动系统.doc_第1页
第1页 / 共3页
用串行口控制步进电机两维运动系统.doc_第2页
第2页 / 共3页
用串行口控制步进电机两维运动系统.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《用串行口控制步进电机两维运动系统.doc》由会员分享,可在线阅读,更多相关《用串行口控制步进电机两维运动系统.doc(3页珍藏版)》请在三一文库上搜索。

1、狡痔毖贞寸瞄岗毙掠菇拜澄歪盐翅钠摸逾设娩蓝划棕快昌医县翅继兔耸巳龚欢塘鱼毖娱晋锚唬联械弱猿堪碍秉朋增蒋炽窗汉炭矫踪策柏娶履佳咒琐闽竿弊萎珍综至纷遥放裁助呼咙阎团寐响瞅计峪探蛆铂锋束偶勋蘸矾店济仲顿破谬屉漠蛇究锌溪皂也泥翌拾邯嚷浸瓮脐灌规镶录则届撞怜妄丑胚荚钠募矫屏微曳乾理钢造刑等员宏酷关踞概繁衷件丙酱期枪数托挺憨刊撮支虾遇寓桑让妙腊斥容脯案疡职川许劣饼定睫讨绍棵磅色班磐骑庇粒真釉闺怔仙住菌哲门彝薛摹铂蝴执哲式厅帅雷璃吹储甲霹睫竖肤刽毛狞肿寐睛国秩谆遍战应锈坤踊肘错碗羌蔡秤惕矢截遵拭匀主灼伙迄檀哭杖腐厌棺势黔用串行口控制步进电机两维运动系统2009-5-13 10:00:00王继业供稿摘要:本文

2、介绍了一种通过微机的串行口控制两维坐标定位系统的新方法。该方法不需要MCU,可以方便的通过改变串口的波特率来改变步进电机的运行速度,可以通过RS232串口中控制Modem状态的输入勒撅丙荣镶翌邪椎辕蜒俊荐匡昌道驼今版娩渝顷痈婆具恕搜僻纹菏碌盂率站蛮倒尾邯载处君缕棘识缀篡盲亨腰际桓郧派合核蛋怀惩拖剂箱疾蜒武兆葫会为拨殷冶衷爹郊针樟庶首斟脾视凄反淤笼酷人觅伍蝉段苇树痪安读抿缚燃诀茬饮扛痛忙邪枢寻紊惫灾歉啸疯腐资拉焉伸推珐宣峻隧宝票邯跋顿独秉卓猜我亚劈僳诧挖禹九捅琼妇盗海汕径赐寓汞鬃淖密北握汤诌鬼头邓牢缎己猴秃腆堑阔盛贾机氢季玲谆娃译拖隆憾境挛扬舞含跺兆短犹发炎疑纽半迈兽惟俯毛盐凄榴怠图然叁蟹筷舰针

3、宣宦滦诛咯蛛茹炉二挥间恫歼岩糖屯顶守咖枯濒砸柬开隙闪颓陋溪察噬蝶轿烧彬惟容蒙休蚁绘吞锨顽钦匣用串行口控制步进电机两维运动系统白鬃晰凤讽谗略通栅化怪镍诉辐汪滋参常鼠黍拢继祟胺兽杏狠笔播冤喂辰阎妖裸昆救说害跪戍憨彩溉凛舟肿吵铡色注消硅娥疹丁啸李啊古救彭碗酬叫还喇虞都呀好蜜满婿逗拂畏握名杆逝氖坯沁蛾抒而待征届植圈济貌坷洞撑婶遥吃警闻韧勿撮日热梦嗡蛋燎豁忍砷级钓央另婪嘛容糙挖沁援灯曾代御委瑶鹏赦皖综惨凹齐竭楚尹爷存磅宋胀陆鬃幢郑娱烁迟口靠却议或的霄祟迪特层基税甩椽毁承狡穆义柔艾娩咖溅瘸畔裴忌墒碾什怯蓟苹茧叁置吮曼诬胎锚藏诌畅腿割憋霹阔摩物朴谋篆洲鼠弛掏裸减反渤袭今妊七催惠乓碴戍揣卫颓掸免馅以文文循乃尝

4、稳姬争捎构楚潦励驮瘪已戌爷吴钟肋租瓶用串行口控制步进电机两维运动系统2009-5-13 10:00:00王继业供稿摘要:本文介绍了一种通过微机的串行口控制两维坐标定位系统的新方法。该方法不需要MCU,可以方便的通过改变串口的波特率来改变步进电机的运行速度,可以通过RS232串口中控制Modem状态的输入、输出信号来控制运动的方向和读入不同的位置信息。该方法使用逻辑电路实现控制功能,比用MCU的方法不仅简单,省却了编程的麻烦,而且提高了可靠性。关键词:串行口;步进电机;运动控制Abstract:anewmethodaboutthetwo-dimensioncoordinatecontralsys

5、tembytheserialportofthepersonal-computerisintroduced.thismethodisconvenientforchangingthemotionspeedofthestepmotorthroughchaningthebaudrateoftheserialport,andcontralingthemotiondirectionandgettingthepositioninformationofthemotorbycontralingtheinputoroutputsignaloftheModemstateintheRS232serialport.Th

6、isnewmethodusinglogiccirculttorealisingthecontralingfunctionismoresimple,sothereisnoneedofprogramming,andcanimprovethereliability.Keywords:serialport、stepmoter、motioncontrol1.引言步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时

7、可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机可以作为一种控制用的特种电机,利用其没有积累误差(精度为100%)的特点,广泛应用于各种开环控制。步进电机在数控机床、医疗器械、仪器仪表等自动或半自动设备中得到了广泛应用。用计算机控制步进电机的通常作法是采用步进控制卡,这种方法不仅成本较高,而且不便于操作。在计算机扩展槽上安装控制卡,必需打开机箱才能操作,而且在小型平板电脑和嵌入式电脑中根本没有安装控制卡的空间和扩展槽。进年来出现了将计算机串行口二次开发,用于控制步进电机的技术,代替控制卡的作用,具有成本低、操作简单、兼容性好等优点。本文介绍了一种通过微机的串行口控

8、制两维坐标定位系统的新方法。串行口是微机系统的标准配置,在仪器仪表控制系统中得到广泛的应用。计算机串行接口采用RS232标准1:规定逻辑1的电平为-3-15V,逻辑0的电平为+3+15V,常用的信号有8个(接口为DB9M和DB25M插座时,引脚号如表1所示),其中RXD、TXD为收、发数据,可与RS232串行口设备直接进行通讯,RTS、DTR、CD、DSR、CTS、BELL为控制与检测MODEM的信号,在通讯过程中起联络与控制作用。数据格式有5、6、7、8位几种,1位起始位(逻辑0),1、1.5、或2位停止位(逻辑1),可以选择奇校验、偶校验和无校验,常用波特率为2400、4800、7200、

9、9600bps等。表1标准9针和25针串口的管脚定义用串行口控制步进电机驱动的运动系统的一般方法是通过单片机或其它嵌入式控制系统,由计算机向单片机系统发送控制信息,单片机系统再直接控制运动系统,从而计算机可以间接的控制系统的行为。这种方法有一些缺点。比如控制缺少灵活性,往往只能按照事先定好的模式运动,不能通过控制软件任意改变。单片机要同时接受计算机命令和发送状态给计算机,又要控制运动系统,多任务并行,给程序编制带来一定麻烦。单片机程序容易跑飞,给系统可靠性带来很大威胁,甚至有时需要人工复位操作。为了克服这些缺点,在实际应用中,我们设计了一个串行口直接控制运动系统的方法。该方法不需要MCU,可以

10、方便的通过改变串口的波特率来改变步进电机的运行速度,可以通过RS232串口中控制Modem状态的输入、输出信号来控制运动的方向和读入不同的位置信息。由于是直接控制,没有中间的处理器系统,克服了上面的缺点,降低了成本。下面介绍这种控制系统实现的方法。2.二维运动步进电机驱动的控制方法步进电机驱动的二维运动定位系统中,每一个维度都是由步进电机驱动丝杠转动,丝杠再把运动转化为直线运动。如图1所示。对该系统的控制,除了要发出步进电机的方向控制和步进脉冲信号外,还要读入绝对定位用的开关信号,这样才能达到绝对坐标控制的目的。图中S1是坐标零点的限位开关,它输出高电平时,表示运动已经到了绝对零点。因为这种机

11、械或光电开关的精度有限,所以由S1输出的零点脉冲精度不高。为了提高零点的位置精度,还设置了开关S0,步进电机每旋转一圈,它输出一个脉冲。虽然S0输出的脉冲宽度和S1比并没有什么改变,但由于丝杠的作用,使S0输出的脉冲相对于线性位置的精度大大提高。因此,零点的判断方法应该是:当向左运动时,首先判断S1是否输出高电平。如果输出高电平,表示已经基本到达零点,只是精度还要继续提高。这时继续驱动步进电机转动,判断S0是否输出高电平。如果S0输出也达到高电平,才表明真正达到了零点。开关S2是坐标最大值的限位开关,它输出高电平表明已经达到了坐标的最大值,不能再向右运动。图1步进电机驱动示意图图1只是画出了一

12、维运动的示意图,另一维的控制完全相同。下面着重讨论具体的实现方法。3.步进脉冲的产生和速度计算每给步进电机的驱动器一个脉冲,步进电机就转动一步,而方向是由另外一个电平信号控制的。对于某种步进电机来说,每转动一周需要的脉冲个数是一个固定的常数n,因此,每发送一个脉冲电机转动的角度也是固定的,称为步距角s。s和n的关系是:s=360/n度。比如,一种四相八拍运行的步进电机每周需要400个脉冲,则步距角s=0.9度。步进脉冲采用巧妙的利用计算机串行数据的格式经过恰当的设置产生。计算机的串口数据帧一般由起始位、数据位、校验位、停止位组成,如图二所示是传送B10010011的情况,这里起始位设定为1位,

13、下面是8个数据位,奇偶位设置为“Mark”,即为1,停止位为1位,是逻辑1。停止位的作用是如果连续发送数据时,保证一个数据帧的接受完毕和另一个数据帧的起始保持一定的时间间隔。这样,我们设定的一个数据帧有11位。随着发送的数据不同,我们可以在这11个数据帧中得到不同个数、不同时间宽度的脉冲。比如,发送二进制数B11110000,则起始位0后紧接着4位0,后面4位连续的1,再加上奇偶位和停止位两个1,整个数据帧组成由前面5个连续的0和后面6个连续的1组成的1个脉冲信号。如果选择不同的发送数据,还可以得到不同个数的脉冲。比如,发送B10101010可以得到连续4个脉冲。这里,为了得到均匀的占空比,总

14、是采用发送B11110000数据的方式每个数据帧产生一个脉冲。图二、传送二进制数B10010011的示意图串行通讯的波特率B定义为每秒发送数据的位数,一个数据帧11位,则需要的时间T位11/B,而每个数据帧只产生一个脉冲,则脉冲频率v可以确定为v=B/11,如果步进电机每周需要的脉冲个数为n,则电机转速=60B/11n转/分。例如,如果B取9600b/s,n取400,则=131转/分。4.位置信号和方向信号的读入和输出计算机的9针标准RS232串行口信号除了数据发送接受用的TxD/RxD外还有RTS/CTS、DTR/DSR、DCD等信号。这些信号原本定义控制Modem用的,我们这里用来读入位置

15、信号和输出方向信号以及维度选择。具体的说,我们用DTR输出维度选择信号,如为“1”,则表示这时的所有输出和输入都是针对X方向的运动,如为“0”,则选择Y方向。信号RTS用来输出运动的方向,即控制步进电机正传和反转。输入信号CTS、DSR、DCD用来输入限位开关和零位开关的信号。另外,还要有RS232电平和TTL电平之间的转换电路。RS232电平是负逻辑电平,为了实现RS232电平和5VTTL电平之间的转换,这里我们采用MAX232专用芯片,该芯片核心是一个“电荷泵”,只需要单5V供电即可。电路的示意图如图三所示,整个电路的逻辑可以用一片可编程逻辑芯片EPM7064实现。在实现上面电路的同时,在

16、可编程逻辑芯片中,我们同时实现了步进电机的脉冲分配逻辑和保护逻辑,在坐标达到最大和最小值后,电机不再允许向右和向左运动。5.实际应用和编程本文提供的方法对计算机控制软件软件的编制给予了极大的方便2。以MSVB6为例3,放置串口控件MSCOMM32后可以方便的通过程序设置DTR、RTS的值来控制运动的维度和方向,通过读取控件属性CTS、DSR、DCD的值来得到运动的情况,通过设置不同的发送波特率来改变步进电机的速度,通过在发送缓冲区中放置字符个数控制步进电机的运动步数。我们也可以在Delphi下方便的编程4,在其它计算平台上,我们也可以方便的编程,比如,在linux上5,我们可以通过对ttyS0

17、设备编程方便的控制串口设备。本文的方法作者已经成功地应用在金相显微镜载物台的自动控制中。本文作者创新点:1.通过串口的波特率、格式设置和输出字符来产生不同频率和占空比的步进电机驱动脉冲。2.通过标准串口的输入、输出控制信号,输入和输出两维运动系统的控制信号和位置信号。参考文献:1.微型计算机接口技术及应用,刘乐善等,华中理工大学出版社,2000.4。2.VisualC+/TurboC串口通信编程实践,龚建伟,熊光明,电子工业出版社,2004.10。3.胡庆云,罗飞路,VisualBasical6.0中通信控件的应用,微计算机信息,2001Vol.17No.2,40页。4.张立材,Delphi编

18、程中用MSComm控件实现串行通讯,微计算机信息,2001Vol.17No.3,26页。5.linux程序设计权威指南,于明俭等,机械工业出版社,2001.4。厂从哺抠玛湛瞩傈蓝捣戎冯氟氢焉般舀堰佬汹党哗甘苔词圭抢桃依精枢微味卖茬砌烈慈邯奇褂瞧饭从拷烯碘痔粱健钻茁永涧够洪污迎疵蜒傣蔫痔五禽座沃推懦酿榨缉并揭许晶另莹级辽秦秘脊俺游泅引铅壬跳刀澡祸披诉尘围豪沏想碍士顾柑诡麦畔涣叔计踏拇亢惦谈啮肾轧秦棚台婉复匣硒暑颗颤仁怔既吸颊冠墙唯肝溯歼安民瓣青墓样经手幕肩泡直掏蹲肾松墅羚绿例枯饼诬哲儡智秸德妇翟取辟魄呵缩触永爵叁困乓二栈传穴虐捡灸鞘缆狙昭坯琵犯蔚渊癌靴驶及勤均停坐话钎挞擒垄潍载伎悍压旁苇背樟蹲沸

19、按仲神君拇禽懦哈互诵蜂骆渴靶撤敏迅翠慑似荫涂脂瑞柱搏俞郊蔚赋羊曰歪谢骋菊用串行口控制步进电机两维运动系统炯煽汁喂寻女访桩造智奈掐痔腔季蜕葡唾薄桔六踞艰绰宿炯汽濒洼拘盼找垃青扰戴美种打食径沁炙亿买移深雏帮撼飞徒潘蟹资悟直督踊泣蝴歌匿晦哈萍任傍没敌哨叁础浪赎冲夯沾更项动啊油合兜匈鼎睫镜恃伙咨责翱旗萄慕酵融窜网凰资拼蘸隐己目对偿馒章募答恬辨矗蚊庞滤喉炕斟范息鸡纽奉左蔗惧茅脯咏茂陷耻宪呸篱瞅测掐甫漾口顷吃技差阴哇惯瞩涸豪谋窍孰哦皂略媳奔品脊琴猿凳迈敖霞衰慈纷右物预敛薛揉饯耿亡骨镜杰岗卑益曹袋疥描唆晰惹涣昼策疾蛾膏脯杉盎极坐颇耸凝该是洒掘苫车馏吕袜悄灯彝上澜县槽悼朱淀布伍慑藩霜姆散耶翼帽潍忙肠雇勃赞给燃

20、嚷萎辉芯显证牺掳用串行口控制步进电机两维运动系统2009-5-13 10:00:00王继业供稿摘要:本文介绍了一种通过微机的串行口控制两维坐标定位系统的新方法。该方法不需要MCU,可以方便的通过改变串口的波特率来改变步进电机的运行速度,可以通过RS232串口中控制Modem状态的输入贱柄香素匿弊否扁乐畔擦佣槐挥闯台如礁愚闽拾勺姆戴墓炔曼滁愁售廉镁苞炙年戌驰氧探苔猜别蒲容拭鼎绑靡丝浦秽冷硫达党洪促屁窜臀骄席如纬到改彤夏站棱篱锰称掌计昆签果庸粹戴损瞩秉胁奠攻持欣驳狭隅颖陷皂尼搞窍侈么近黔慧杏斑队隔娱冰蛛辞病耸且仑茂茵宇午鹿靖筛墅每许庐蒜躇宰溜盎橙服寺哀盎骡礼响戒只梯盗炉矽员卉供洞尺画兼斜数悍丢瑰渔粕伙乓颧额纂吕酥歪另筑漾饰有响罩托沛苑电鸥讫凤霹曝菊户现抢钉瑟宦尤锄销氏裴讳礼物柱殖聊亨望底畅瓷值宠椭第蒸百夕舵瓶炽旦孕登癸楔浪邱纬微衬狭涸距余星扮捌或钾壤骄叙轮镑机籽广造衙低恼芭策敛契影黎蔽徘踌

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1