找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 寻迹小车中分布式控制系统的设计

[复制链接]
admin 发表于 2013-3-25 02:15:45 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本文将介绍一种应用于寻迹小车的分布式控制系统的设计方法,该系统可对电机模块、传感器模块和灯控模块进行分布式控制。这样设计是为该系统将来从寻迹小车到真车进行移植提供方便。

         此寻迹小车模型采用7.5V电池驱动,通过改变PWM占空比调速。小车可以在不完全确定的道路环境下,通过自我判断,对周围环境进行探测,并做出相应的反应(如左拐弯、右拐弯和改变速度等)。目前用在机器人上的多为价格较贵的超声波传感器和红外传感器等,本设计采用价格便宜的反射式光耦传感器来完成对周围环境的感知。此外,小车还具有良好的导航系统。

系统结构
          本系统采用分布式结构,如图1所示。因为在车身控制系统中控制对象多而且分散,若采用点对点的集中控制方式,控制模块与被控对象之间就需要大量连接电缆,会导致车内布线复杂且制造和安装困难,并存在故障隐患。分布式系统结构可以根据控制对象的位置来设计控制模块,从而缩短了控制对象与控制模块之间的距离。各模块间通过LIN总线来通信,该方式仅需要一根线作为通信线。此外,分布式系统结构还可降低单板的静态电流,增加单板的稳定性。
    20121107050446226863155.jpg
   
      图1 分布式车身控制系统结构图   
    20121107050446383103156.jpg
   
      图2 主控制器模块硬件原理图   

           1 主控制模块的设计

         根据系统功能要求和结构特点,本控制系统被分成主控模块和三个子模块(传感器模块、电机控制模块和灯控模块)。其中主控模块主要检测车身主体部分控制开关的状态,并根据这些控制开关的状态实现相应的控制策略,然后将控制命令通过CAN总线和LIN总线发送给相应的子模块,之后根据各子模块反馈的负载状态判断是否存在故障,若有故障则报警显示。同时,CAN总线接收上层CAN网络的某些信息。主控制模块的微控制器采用了可靠性高、抗干扰能力强的汽车专用芯片XC164CS,其内部集成了CAN的控制器。图2是主控制模块的硬件原理图。

         2 直流电机驱动与控制模块的设计

         电机控制模块中的微控制器采用的也是XC164CS,这是由于该系列微控制器中都有相应的单元可以实现对电机的控制,相当方便。本设计使用了两路电机控制小车的后轮驱动和前轮转向。对直流电机的驱动和控制采用了电机控制接口芯片TLE6209,它的内部集成了一个H型桥式电路,用来驱动电机,实现电机的四象限运行,分别对应正转、正转制动、反转和反转制动。16位微控制器XC164CS通过内部的CAPCOM模块产生一个10kHz的PWM信号给TLE6209,触发H桥电路。

         3 传感器模块的设计
         
         传感器模块中采用了微控制器XC866,主要用来采集8个传感器的值,传送给主控制板的XC164CS进行处理,然后产生相应的策略改变PWM占空比对驱动和转向电机做出相应的控制。同时,还要完成对通信模块数据的发送和接收,其硬件框图如图3所示。
    20121107050446461233157.jpg
   
      图3 传感器模块硬件框图   

           当反光板反射式光电开关CNY70检测到给定的白色(或黑色)路线时,产生相应的电平信号,经XC866采集再通过LIN总线传送给主控制器。

系统通信

         小车的各个电子控制单元之间通过LIN总线和CAN总线连接。

         本系统中CAN收发器采用了TLE6250G,电机信息的传输需要高速的数据传输率(200Kb/s)以达到实时控制电机的要求。CAN的数据发送速率高达1Mb/s,可工作于只接收模式和空闲模式,具有优良的EMC特性和各种保护功能;而LIN总线因为数据传输率较低以及从确保高安全性能的角度来考虑并不合适。
    20121107050446492483158.jpg
   
      图4 串行通信/LIN总线硬件电路   

           使用CAN、LIN结合的网络结构可以兼顾CAN总线实时性强、可靠性高、通信速率快、互操作性好、灵活性高和LIN网络结构简单、成本低的特点,更好地搭建汽车的网络系统。

         本系统采用了TLE6258系列LIN总线收发器,它作为介于协议控制器和物理总线之间的接口,特别适合在汽车和工业应用的LIN系统中用来驱动总线,且可用于标准的ISO9141系统。TLE6258提供空闲模式以减少电流损耗,通过在总线上发送唤醒帧,可把主机或从机从空闲模式唤醒,返回到正常的操作模式。图4是本系统的LIN总线硬件电路图。

         如图4所示,系统通过接插件K1在串行通信和LIN总线通信之间进行选择,TXD0(串行发送)和RXD0(串行接收)信号来自微控制器。当TXD0和RXD0同TLE6258接通时,系统与LIN总线连接,而与MAX232连接时,系统执行串行通信功能。图4中INH是禁止输入引脚,高电平有效,收发器引脚TxD接收来自微控制器引脚TXD0的数据,同时将数据发送至总线,在发送数据的同时进行自接收,并通过引脚RxD将自接收的数据反馈给微控制器。微控制器接收到反馈回来的数据后调用接收中断,接收中断不断发送和自接收数据,从而实现LIN总线的通信。本系统中数据通信主要是主模块向三个模块发送控制命令和三个子模块向主模块反馈状态数据。

软件设计

         系统中各个ECU通过CAN总线发送接收命令,实现相互通信,从而实现数据的共享等。软件设计基于DAVE和KEIL软件编写,程序主要由CAN初始化、发送数据和接收数据三部分组成,如图5所示。
    20121107050446539353159.jpg
   
      图5 主程序流程图   

   结论

         本设计方案可实现分布式车身控制系统的基本功能,且结构简单、成本低。此外,这一设计思想同样也适用于真车的控制。汽车电子技术的不断进步,将促使CAN、LIN和正在发展的更高速、具有容错性的总线技术有机组合,构成安全、舒适,更满足人们需求的汽车网络。
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-26 22:57 , Processed in 0.056461 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表