首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
基于CAN总线的分布式控制器设计和实现
来源:本站整理  作者:佚名  2009-10-26 12:03:49



3.2 多任务分配实例 

    以主控制模块的软件为例对上述构架进行说明,如图5。 

    每个任务独自运行,将各自的计算数据放入数据通道中,或者从数据通道中获得相应数据进行计算,这样的构架结构清晰,柔性强。 

4 控制器应用实例 

    笔者将该控制系统应用于轮系机器人的寻线控制上,即让机器人跟踪地面上一定宽度的引导线。 

4.1 硬件选择 

    根据控制要求,硬件上需要信号输入模块,主控模块和伺服驱动模块。 

4.2 传感器安置和信号输入模块 

    笔者采用光电传感器,利用不同颜色对于光的反射效果不同的原理,区分出地面的指引线,光电传感器布局如图6。 

    机器人采用14个光电传感器(数字量),黑色点表示在引导线上为0,白色点表示在引导线外为1,并且通过光电传感器间距和引导线宽度之间的关系,保证最多只有3个光电传感器在引导线内,从这样的一系列逻辑组合就可以知道机器人现在的姿态。信号输入模块中的算法任务对采集信号做滤波,过滤误信号,之后将数据传输给信息输出任务,打包后发向总线。 

4.3 寻线算法和主控模块 

    主控模块的信息接受任务获得上述信息后,解包并将相关的数据扔向数据通道,算法任务获得数据进行运算。 

    由图6可知,7个光电传感器和引导线之间有9种状态,上下两组状态就可以确定目前机器人的姿态,其构成一个9×9的二维矩阵,易知共有81种不同的组合。通过这个二维矩阵可获得机器人现在的状态,用左极偏、左大偏、左中偏、左小偏、正常、右小偏、右中偏、右大偏和右极偏九种状态来表示,对应整数-4~+4。 

    给出机器人寻线控制PID表达式: 

     

    其中ΔVk是第k时刻需要的左右轮速度差,即在总线上传输的电机速度参数;e表示偏移状态和正常状态之间的差,在这里就是状态所对应的整数;kp,kI,kD分别为比例、积分和微分常数。 

    算法任务将ΔVk扔到数据通道中,由信息输出任务将其打包后发送给CAN总线。 

4.4 输出驱动和伺服驱动模块 

    该模块接收到ΔVk之后采用“均分原理”,把差速均分增加在左右轮电机上,即: 

     

    VL和VR分别为左右轮的输出转速,Vm为无偏移情况下的左右轮输出。 

    算法任务将VL和VR变为符合LM629的参数格式之后发送到数据通道,信息输出任务获得该数据之后直接对LM629进行驱动。 

    整个基于CAN总线多任务构架的控制系统信息流图如图7所示。 

    CAN总线在多任务操作系统的构架下可以看成是透明的,模块之间的通讯可以简单地看成各个任务之间的通讯,做到了各个模块之间的无缝连接。在用该控制器进行机电系统设计时,设计者的注意力只需要放在各模块的算法任务部分。本系统可以很好地满足在校生科技创新的需求,方便学生构架机电系统或者机器人的控制器,让设计者把更多的精力放在机电控制算法上面。 

上一页  [1] [2] [3]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:94,089.84000 毫秒