DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1259|回复: 0
打印 上一主题 下一主题

[待整理] 一种寻迹小车中分布式控制系统的设计与应用

[复制链接]
跳转到指定楼层
楼主
发表于 2015-4-27 19:47:14 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本文将介绍一种应用于寻迹小车的分布式控制系统的设计方法,该系统可对电机模块、传感器模块和灯控模块进行分布式控制。这样设计是为该系统将来从寻迹小车到真车进行移植提供方便。
       
        此寻迹小车模型采用7.5V电池驱动,通过改变PWM占空比调速。小车可以在不完全确定的道路环境下,通过自我判断,对周围环境进行探测,并做出相应的反应(如左拐弯、右拐弯和改变速度等)。目前用在机器人上的多为价格较贵的超声波传感器和红外传感器等,本设计采用价格便宜的反射式光耦传感器来完成对周围环境的感知。此外,小车还具有良好的导航系统。
       
        系统结构
       
        本系统采用分布式结构,如图1所示。因为在车身控制系统中控制对象多而且分散,若采用点对点的集中控制方式,控制模块与被控对象之间就需要大量连接电缆,会导致车内布线复杂且制造和安装困难,并存在故障隐患。分布式系统结构可以根据控制对象的位置来设计控制模块,从而缩短了控制对象与控制模块之间的距离。各模块间通过LIN总线来通信,该方式仅需要一根线作为通信线。此外,分布式系统结构还可降低单板的静态电流,增加单板的稳定性。
         
       
        图1分布式车身控制系统结构图1主控制模块的设计
       
        根据系统功能要求和结构特点,本控制系统被分成主控模块和三个子模块(传感器模块、电机控制模块和灯控模块)。其中主控模块主要检测车身主体部分控制开关的状态,并根据这些控制开关的状态实现相应的控制策略,然后将控制命令通过CAN总线和LIN总线发送给相应的子模块,之后根据各子模块反馈的负载状态判断是否存在故障,若有故障则报警显示。同时,CAN总线接收上层CAN网络的某些信息。主控制模块的微控制器采用了可靠性高、抗干扰能力强的汽车专用芯片XC164CS,其内部集成了CAN的控制器。图2是主控制模块的硬件原理图。
         
       
        图2主控制器模块硬件原理图2直流电机驱动与控制模块的设计
       
        电机控制模块中的微控制器采用的也是XC164CS,这是由于该系列微控制器中都有相应的单元可以实现对电机的控制,相当方便。本设计使用了两路电机控制小车的后轮驱动和前轮转向。对直流电机的驱动和控制采用了电机控制接口芯片TLE6209,它的内部集成了一个H型桥式电路,用来驱动电机,实现电机的四象限运行,分别对应正转、正转制动、反转和反转制动。16位微控制器XC164CS通过内部的CAPCOM模块产生一个10kHz的PWM信号给TLE6209,触发H桥电路。
       
        3传感器模块的设计
       
        传感器模块中采用了微控制器XC866,主要用来采集8个传感器的值,传送给主控制板的XC164CS进行处理,然后产生相应的策略改变PWM占空比对驱动和转向电机做出相应的控制。同时,还要完成对通信模块数据的发送和接收,其硬件框图如图3所示。
         
       
        图3传感器模块硬件框图当反光板反射式光电开关CNY70检测到给定的白色(或黑色)路线时,产生相应的电平信号,经XC866采集再通过LIN总线传送给主控制器。
        系统通信
       
        小车的各个电子控制单元之间通过LIN总线和CAN总线连接。
       
        本系统中CAN收发器采用了TLE6250G,电机信息的传输需要高速的数据传输率(200Kb/s)以达到实时控制电机的要求。CAN的数据发送速率高达1Mb/s,可工作于只接收模式和空闲模式,具有优良的EMC特性和各种保护功能;而LIN总线因为数据传输率较低以及从确保高安全性能的角度来考虑并不合适。
       
        使用CAN、LIN结合的网络结构可以兼顾CAN总线实时性强、可靠性高、通信速率快、互操作性好、灵活性高和LIN网络结构简单、成本低的特点,更好地搭建汽车的网络系统。
       
        本系统采用了TLE6258系列LIN总线收发器,它作为介于协议控制器和物理总线之间的接口,特别适合在汽车和工业应用的LIN系统中用来驱动总线,且可用于标准的ISO9141系统。TLE6258提供空闲模式以减少电流损耗,通过在总线上发送唤醒帧,可把主机或从机从空闲模式唤醒,返回到正常的操作模式。
       
         
        图4是本系统的LIN总线硬件电路图。
       
        图4串行通信/LIN总线硬件电路如图4所示,系统通过接插件K1在串行通信和LIN总线通信之间进行选择,TXD0(串行发送)和RXD0(串行接收)信号来自微控制器。当TXD0和RXD0同TLE6258接通时,系统与LIN总线连接,而与MAX232连接时,系统执行串行通信功能。图4中INH是禁止输入引脚,高电平有效,收发器引脚TxD接收来自微控制器引脚TXD0的数据,同时将数据发送至总线,在发送数据的同时进行自接收,并通过引脚RxD将自接收的数据反馈给微控制器。微控制器接收到反馈回来的数据后调用接收中断,接收中断不断发送和自接收数据,从而实现LIN总线的通信。本系统中数据通信主要是主模块向三个模块发送控制命令和三个子模块向主模块反馈状态数据。
       
        软件设计
       
        系统中各个ECU通过CAN总线发送接收命令,实现相互通信,从而实现数据的共享等。软件设计基于DAVE和KEIL软件编写,程序主要由CAN初始化、发送数据和接收数据三部分组成,如图5所示。
         
         
       
        图5主程序流程图结论
       
        本设计方案可实现分布式车身控制系统的基本功能,且结构简单、成本低。此外,这一设计思想同样也适用于真车的控制。汽车电子技术的不断进步,将促使CAN、LIN和正在发展的更高速、具有容错性的总线技术有机组合,构成安全、舒适,更满足人们需求的汽车网络。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-12-30 03:40 , 耗时 0.091905 秒, 21 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

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