关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 基于CAN总线的分布式控制器设计和实现

基于CAN总线的分布式控制器设计和实现

作者: 时间:2009-10-26 来源:网络 收藏
3.2 多任务分配实例

本文引用地址:https://www.eepw.com.cn/article/163511.htm

以主控制模块的软件为例对上述构架进行说明,如图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扔到数据通道中,由信息输出任务将其打包后发送给

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

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

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

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

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

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

伺服电机相关文章:伺服电机工作原理


pid控制器相关文章:pid控制器原理



上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭