资讯详情

RT-Thread优化智能车设计

学 学校:重庆大学 队伍名称:风林火山 参赛选手:谢文祥、梁华林、陈俊林 带队老师:李敏

简 介: 本文主要介绍了基础RT Thread智能视觉组四轮跟踪智能汽车系统原理、软硬件设计和汽车生产过程,汽车系统介绍包括汽车模具机械结构设计、模块电路设计、传感器信号处理、控制算法、神经网络算法车调试方法等。恩智浦公司的单片机设计RT1064是数字摄像头的核心控制MT9V032收集轨道元素信息,增量编码器获取车速,陀螺仪获取车姿。程序基于RT Thread操作系统, IAR 作为集成编译环境,使用 无线串口、LCD 、辅助调试手段是拨码开关和按键。经过大量的软硬件测试,智能汽车在高速下实现了稳定的循环运动。

01.引言
文章目录
02.模型车设计制作
主控芯片的选择
稳压电路的选择
驱动电路的选择
电流环电路
传感器的选择
编码器的选择
03.传感器安装
摄像头
编码器
系统电路板的固定及连接
04.电路设计
最小系统部分
电机驱动部分
05.控制算法
程序运行流程
定义信号量
初始化线程\定时器
线程间通信
控制策略选择
模糊PID
06.开发工具
开发环境与调试方法
基于C和串口的上位机
07.结论

 

§01


  全国大学生智能汽车竞赛是由教育部高等学校自动化专业教学指导委员会主办。该竞赛以“立足培养,重在参与,鼓励探索,追求卓越” 为指导思想,旨在促进高等学校素质教育,培养大学生的综合知识运用能力、基本工程实践能力和创新意识。智能车竞赛涉及自动控制、传感技术、电子、电气、计算机、机械与汽车等多个学科,为大学生提供了一个充分展示想象力和创造力的舞台,吸引着越来越多来自不同专业的大学生参与其中,激发了大学生的创新思维,对于其实践、创新能力和团队精神的培养具有十分重要的价值。

  全国大学生智能汽车竞赛组织运行模式贯彻“政府倡导、专家主办、学生主体、社会参与”的 16 字方针,充分调动各方面参与的积极性。

  RT-Thread,全称是 Real Time-Thread,是一个嵌入式实时多线程操作系统,基本属性之一是支持多任务,任务与任务之间通过任务调度器进行非常快速地切换(调度器根据优先级决定此刻该执行的任务),造成多个任务在一个时刻同时运行的错觉。也是一款主要由中国开源社区主导开发的开源实时操作系统。实时线程操作系统不仅仅是一个单一的实时操作系统内核,它也是一个完整的应用系统,包含了实时、嵌入式系统相关的各个组件:TCP/IP协议栈,libc接口,图形用户界面等。

  本文是本届参赛队伍风林火山对最终参赛车模的总体概括,并对制作过程中的技术细节做了展示。本文的参考文献中,《C ++ primer plus》阐述了基本的C++语言语法和程序设计思路,《模拟电子技术基础》详细讲述了电路的基本知识,《嵌入式实时操作系统:RT-Thread设计与实现》对嵌入式系统的开发调试方法做了简介,并对RT-Thread进行了详细的讲解。《智能车制作》对实际制作智能车时的总体方案进行了简要的阐述。

  本文将在其后的正文部分按照顺序阐述:   1. 模型车设计制作的主要思路以及实现的技术方案概要说明;   2. 模型车结构设计;   3. 电路设计说明;   4. RT Thread 的运用和控制策略的介绍;   5. 开发工具、制作、安装、调试过程说明;   6. 模型车的主要技术参数说明。

 

§02 型车设计制作


一、主控芯片的选择

  AI视觉组限制芯片厂商只能为NXP,故选择官方推荐的RT1064, 该芯片的主频高,可以满足彩色摄像头使用,硬件资源丰富。

▲ 图2.1 RT1064核心板

二、稳压电路的选择

  电源模块为系统其他各个模块提供所需要的电源。设计中,除了需要考虑电压范围和电流容量等基本参数之外,还要在电源转换效率、噪声和干扰等方面进行优化。可靠的电源方案是整个硬件电路稳定可靠运行的基础。

  核心板上电存在时序问题,IO不能先于内核上电,否则会导致内核无法启动。可以通过使用CR引脚来控制外围设备供电电路使能。因为当CR引脚变为高电平时,表面内核启动成功。外部电路通过三极管和Mos管设计出合理的电路。整车电源由额定电压7.4V,满电电压8.4V的锂电池供电。通过不同的稳压方案,将电池电压转换成各个模块所需要的电压。

  1) 锂电池供电,正常使用时电压在7.4~8.4V。可直接用于电机供电。   2) 通过TPS76850产生5v电压,供给编码器,串口通信,陀螺仪等。   3) 使用稳压芯片AMS1117系列稳压到6V,为转向舵机和数字舵机供电。   4) 通过TPS76833产生3.3v电压,为摄像头供电

▲ 图2.2 稳压电路原理图

三、驱动电路的选择

  使用MOS桥电路驱动电机,为避免电流反冲进芯片,造成芯片损坏,利用隔离芯片为桥电路提供信号。

▲ 图2.3 驱动电路原理图

四、电流环电路

  电流环指的是电流反馈系统。一般指的是将输出电流采用负反馈的方式接入处理环节的方法,来提高电流的稳定性.在使用电流环后,可以通过电流内环度外环相结合来提高系统的性能,提高车运行的稳定性。

▲ 图2.4 电流环原理图

五、传感器的选择

  比赛所用的摄像头可以分为两大类: CCD摄像头和CMOS摄像头。CCD摄像头图像对比度高、动态特性好,但供电电压比较高,需要12V的工作电压。耗电严重,拍摄的图像稳定性并不高。CMOS摄像头,体积小,图像稳定性较高,只需3.3V供电,耗电量低。总转风摄像头是一款基于MT9V032芯片设计的CMOS摄像头,是逐飞科技独家研发的一款高性能,在恩智浦竞赛市面上性能最优,最适合高速情况下的图像采集的全局快门摄像头。

▲ 图2.5 总转风摄像头

六、编码器的选择

  采用逐飞科技的带方向1024线光电编码器,输出轴上的机械几何位移量转换成脉冲或数字量,实现对速度的测量,从而完成对电机的闭环控制。

▲ 图2.4 1024线光电编码器

 

§03 感器安装


一、摄像头

  逐飞科技设计的130度无畸变总钻风广角摄像头,调节镜片中心离地面的高度为30cm ,视角为30°,智能车据此获得了良好且稳定的图像。

▲ 图3.1 模型车侧视图

二、编码器

  为了实现电机闭环,提高控制精度,本车使用了1024线带方向的编码器,并对编码器传回数据进行简单的滤波处理,在不牺牲处理时间的前提下尽可能提高编码器传回数据的精确度。

三、系统电路板的固定及连接

  C车模由于电机及编码器都在车尾部,重心偏后,所以我们在不影响舵机连杆运动的情况下将电路板尽量靠前安装,通过对硬件的合适处理,减小车的重心到最低,并通过四个电子秤保证车子重心尽可能在车中心。

 

§04 路设计


一、最小系统部分

  在设计主板的时候,主要考虑的原则是电路板足够窄,同时满足电流的要求,适当增大线宽,在布局布线的时候,尽可能考虑电流的流向。

▲ 图4.1 最小系统部分

二、电机驱动部分

  驱动电路对电流的要求更严格,电流线要格外加粗,同时为了利于散热,我进行了开窗处理,同时必须采用隔离芯片防止烧坏单片机。并且增加电流信号采集芯片,为电流环和电机保护提供硬件基础。

▲ 图4.2 电机驱动部分

 

§05 制算法


  基于RT Thread的控制算法

一、程序运行流程

  在AI视觉组的任务相对其他更加繁杂,包括基础循迹、数字识别、二维码识别、激光打靶等等。同时为了方便调试运行、需要TFT显示标志位、按键响应、蜂鸣器提示和LED闪烁等功能。对于这样一个智能车任务,完全可以将它分解成多个简单、容易解决的小问题,小问题逐个被解决,大问题也就随之解决了。在多线程操作系统中,也同样需要开发人员把一个复杂的应用分解成多个小的、可调度的、序列化的程序单元,当合理地划分任务并正确地执行时,这种设计能够让系统满足实时系统的性能及时间的要求

  在本次智能车比赛中我们主要使用了RTthread中的线程、时钟、线程同步等功能。

  用于检测电池电压变化的定时器bat_timer:

rt_timer_t bat_timer = rt_timer_create("bat_timer", adc_bat_thread, RT_NULL, ADC_BAT_INTERVAL, RT_TIMER_FLAG_PERIODIC); 
    rt_timer_start(bat_timer); 
 
void adc_bat_thread(void *parameters) 
{ 
         
    uint16 value = adc

标签: 5l智能开关三极管三极管分离正负电流

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台