用单片机产生7路舵机控制PWM波的方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PLC 控制系统抗电磁干扰的重要措施之一O PLC 控制系统安全接地设计及其工程实践一般应注意以下一些问题=
a .采用一点接地O 一般情况下接地方式与频率
有关9当频率低于1M~Z 时可用一点接地9高于10M~Z 时采用多点接地O PLC 控制系统因信号电缆分布电容和输入装置滤波等的影响9装置之间信号交换频率一般都低于1M~Z 9所以PLC 控制系统采用一点接地O 集中布置的PLC 系统适于并联一点接地方式9各装置的柜体中心接地点以单独的接地线引向接地极O 如果装置间距较大9应采用串联一点接地方式9用1根大截面铜母线(PEB >连接各装置柜体中心接地点9然后将接地母线直接连接接地极O
b .接地线采用大于22mm 2
的铜导线9接地母线
(PEB >使用截面大于60mm 2的铜排O 在接地末端测量接地电阻应小于2O 9接地极最好埋在距建筑物10~15m 远处9而且PLC 系统接地点必须与强电设
备接地点相距10m 以上O
c .信号源和交源电不允许共同使用1根地线9在接线铜排上才能把各个接地点联接在一起;屏蔽地\保护地各自独立地接到接地铜排上9不应当将其和电源地\信号地在其它任意地方扭在一起O 3结束语
PLC 控制系统中的干扰是一个十分复杂的问题9在抗干扰设计中应综合考虑各方面的因素9合理有效地抑制抗干扰O 另外9还需要说明的是9由于电磁干扰的复杂性9要根本消除干扰影响是不可能的9因此9在PLC 控制系统的软件设计和组态时9还应在软件方面进行抗干扰处理O 参考文献=
1]皮壮行9等.可编程序控制器的系统设计与应用实例 M ].北京=机械工业出版社92000.
2]袁任光.可编程序控制器选用手册 M ].北京=机械工业出版社92002.
3]郭宗仁9等.可编程序控制器应用系统设计及通信网络技术 M ].北京=人民邮电出版社92000.
4]陈宇9等.可编程序控制器基础及编程技巧 M ].广州=华南理工出版社92002.
5]王庆斌9等.电磁干扰及电磁兼容技术 M ].北京=机械工业出版社91999.
作者介绍=徐滤非(1964->9男9湖北黄石人9黄石高等专科
学校自动化系讲师9从事工业自动化的教学及科研工作O
用单片机产生7路舵机控制P WM 波的方法
刘歌群9卢京潮9闫建国9薛尧舜9(西北工业大学9陕西西安710072)
M et hod t o G enerat e 7Pul se
W i dt h M odul ati on W aves W it h S i n g l e
chi p M i cr o p r ocessor t o
Contr ol Ser vos
LI U G e
LU ji n g chao 9YAN jian g uo 9 XUE Yao shun (Nort h Wester n Pol y technic Uni versit y 9X i an 7100729Chi na ) 摘要C 提出了一种利用80C196KC 单片机产生7路P WM 波来控制FUTABA 舵机的方法O 利用分时机制产生每一路P WM 波的上升沿和下降沿97路波形从单片机的P1口同时输出9分辨率达到 2卜s O 本方法具有成本低\分辨率高\输出路数多等优点9并在某机器人控制器中得到了成功应用O 收稿日期=2003 05 29 关键词=单片机;P WM 波;软件定时器;运动控 制器 中图分类号=TP211.4;TN787.2 文献标识码=B 文章编号=1001 2257(2004>02 0076 03Abstract =A m et hod t o g enerat e 7p ul se W i dt h modul ati on Waves W it h si n g l e chi p m i cr o p r ocessor 80C196KC f or t he contr olli n g of Fut aba ser vos i s p r o p osed .Each P WM Wave i s p r oduced b y m echa- ni s m of ti m eshari n g.A ll7Waves9Whose resol uti on i s2us9are out p utt ed f r o m Port1of CP U si mult a-neousl y.W it h advant a g es of l o W cost9hi g h resol u-ti on and more out p ut nu mber9t he m et hod has been successf ull y a pp li ed i n an r obot co m p ut er contr ol s y st e m. Ke y words C si n g l e chi p m i cr o p r ocessor9p ul se W i dt h modul ati on Wave9sof t Ware ti m er9move-m ent contr oll er 0引言 在机器人无人驾驶汽车和无人驾驶飞机等运动控制器的设计中9常会遇到多路P WM波的产生问题O机器人的头肩肘腕指等关节9无人飞机的舵面1I9无人驾驶汽车的方向盘和油门等9都需要电机驱动9所以在这一类的控制器中需要多路的P WM信号来完成控制任务O在80C196单片机作为主芯片的控制器中9要产生多路P WM信号存在以下问题C a.单片机的P WM波发生器是固定周期的9难以完成各种周期的P WM输出要求O b.专门的P WM波发生器芯片波形周期受限定时精度不高增加系统的体积成本O c.用单片机的高速输出~SO产生P WM波2I9周期和分辨率可达到要求9但最多只能输出4路O 因此需要一种低成本高分辨率能够产生多路P WM波的方法O FUTABA舵机周期为14590卜s9工作正脉冲宽度为1200~1800卜s9有多种型号9常用于各种运动控制器3I O由于其工作正脉冲宽度不大于周期的1/89所以为利用软件定时器产生8路P WM波提供了可能性O由于中断响应和执行中断服务程序会占用一定的时间9为保证有一定的富余时间9本方法可以产生稳定的7路FUTABA舵机控制用P WM波O 1实现7路P WM波输出的机理由于各路P WM波的周期相同9工作正脉冲宽度小于周期的1/89可以在1个周期的时间里分时启动各路P WM波的上升沿9再利用1个软件定时器确定该路P WM波的输出宽度O 第1个软件定时器按周期的1/7时间定时9并 设置输出通道号9输出号从0开始O第1个软件定时器定时中断响应后9将当前输出通道号对应的引脚输出置高电平9设置该路输出正脉冲宽度9并启动第2个软件定时器9输出通道号指向下一路O第2个软件定时器定时时间到后9将当前输出引脚置低电平9此路P WM在该周期中输出结束9系统等待第1个软件定时器下一个1/7周期的中断到来9再利用第2个软件定时器输出下一路P WM波O7路全部输出完毕之后9输出号设为09重复新一轮输出O 7路P WM波的时间分配如图1所示O总周期为14590卜s91/7周期为2084卜s O 图17路P WM波的时间分配图 27路P WM波输出的软件设计 80C196KC单片机有4个软件定时器4I9选用软件定时器0进行1/7周期定时9选用软件定时器3定时每一路的高电平宽度O定义curr P WMPort 为当前输出通道号9初始值为09对应P1.0口O定义数组p Wm out7I为各路输出脉冲宽度值9数组值初始化为中位值1520卜s O程序一开始对~SO 进行初始化9选择定时器1为时间基准9使软件定时器中断9按1/7周期时间启动软件定时器0O软件定时器0的中断响应子程序把当前输出通道号对应的P1口引脚置高电平9按p Wm out curr P WM-Port I对应的时间装载并启动软件定时器39并按1/ 7周期时间再次启动软件定时器0O软件定时器3的中断响应子程序把当前输出通道号对应的P1口引脚置低电平O 程序原理性伪代码C #defi ne Z W Z1520//中位值1520卜s st ati c I NT8U curr P WMPort9//输出通道号 I NT16U p Wm out7I=Z W Z9Z W Z9Z W Z9 Z W Z9Z W Z9Z W Z9Z W Z}9//各路输出脉冲宽度值voi d i nit hsi o(voi d>//初始化~SO curr P WMPort=09 hso co mm and=0x189 hso ti m e=ti m er1+0x61b9//2084卜s91/