??因此,我组以《竞赛》规定的K型车模为基础,设计开发了基于Infineon Aurix平台的自平衡自行车系统,以较低的成本和较高的安全性,验证实现了自行车的自平衡与摄像头赛道循迹。
1.2 项目方案总述
??1. 车模单车使用K型车模。在车模上允许使用动量轮,动量杆维持车模平衡。如果采用无刷电机驱动动量轮,则需要使用基于Infineon的驱动方案。车模作品制作完毕后,对于车模外形尺寸没有限制。
??2. 微控制器与传感器车模微控制器采用Infineon单片机。传感器允许使用摄像头、CCD、光电管、电磁等。
??3. 赛道与比赛任务比赛赛道采用室内循环赛道,赛道上铺设有电磁引导线。车模从车库出发,在赛道上运行一周后,最终驶入车库。计时标准:车模从车库驶出到重新驶入车库之间的时间差。
??裁切完成之后,我们在车模底部位置粘贴了魔术贴,以此方便地进行电池的安装与更换。
2.2.2 动量轮与支架的安装
??为了使剪裁后的车模更加稳定,我们使用了龙邱的动量轮支架和的直流电机,实现车体、电机、飞轮、编码器和齿轮的配合。
??动量轮支架分为上下两部分,上部用于连接车模,下部用于固定电机和编码器,上下两部分之间使用三角体连接块连接。上半部分支架有多个螺丝安装孔,可以直接安装在车模原有孔位上,无需再对车模打孔。
2.3 电路板的安装
??考虑到 K 车模上并没有较多的空间来安装电路板,因此采用极简的设计风格,放弃供应商提供的主控核心板,而采取全4层PCB+SMT的工艺。我组将电路板上所需的部分分为了2个模块,分别是:
??1. 主控板,包含主控芯片以及各种电源模块,同时也有部分传感器接口。
??2. 电机驱动板:包含电机驱动模块。
??电路板的安装需要考虑各种因素,所以我组对此也尝试了好几种方案,并且在最终选出了最适合我们车模的安装方式。
2.3.1 主控板PCB安装
3.2 系统供电单元
3.2.1 供电方案分析
??智能车竞赛一般使用2芯或3芯串联的锂电池作为供电电池,这种电池额定电压为7.4V,在满电状态下最高不超过8.4V。因此必须使用降压电路,将电源电压降到3.3V才能正常驱动MCU和其他绝大部分外设,模块。事实上,考虑到一些外设需要5V供电加之5V也是常用的逻辑电平,我们常用的方案是将电源电压先降到5V,再从5V降到3.3V。
??以下是本方案的大致框架图,其中TC264D右侧的为板载外设,下方的均为通过2.54mm HDR接口与其他各种设备连接。电源方面,方案采用了串级DC-DC降压方案,提供稳定,高效率的5V/3.3V供电。
??TC264D内部集成了5V降压到3.3V的LDO和3.3V到1.3V的电路,理论上来说,只需要单独5V供电即可点亮芯片,但实际上为了稳定,我们通常使用3.3V供电+1.3V开关电源输入的方式为芯片提供电力。
3.4 驱动电路设计与实现
??为了使我们的系统拥有澎湃的动力,正确驱动电机必须要放在首位。就以竞赛中常见的380有刷电机举例,经我们实测,其稳定运行的电流在0.6A左右,而堵转时电流可以达到惊人的16A。如果直接用MCU的GPIO直接控制电机,无异于蚍蜉撼大树。因此,在智能车竞赛中,我们通常将功率输出与逻辑控制分离,使用一块和主板分立的电机驱动板来单独驱动电机。
3.4.1 智能有刷电机驱动芯片
??DRV8701芯片是TI公司在2015年发布的智能全桥驱动芯片,可以驱动4片外置的N-MOS组成的H桥,还支持多种逻辑控制方案,栅极驱动电流配置,限制堵转电流,3.3V/4.8V的LDO输出。
3.4.3 DRV8701外围电路设计
??使用DRV8701驱动有刷电机需要对参考电压与电机电流进行限制,如下式:
I C H O P = V R E F ? V O F F A V × R S E N S E I_{CHOP} = {{V_{REF} – V_{OFF} } over {A_V times R_{SENSE} }} ICHOP?=AV?×RSENSE?VREF??VOFF??
??其中A_V是芯片内部放大器的放大系数,等于20V/V,V_off=0.05V,所以一般取0.02Ω,即可实现10A左右的电流控制。
??如此,DRV8701便可以被我们完美的使用起来了。在本方案中,实际上未使用电流限制,以便达到最大驱动电流。参考设计如下:
-
Hardware Layer与Infineon的iLLD库耦合,负责对MCU的各类片上外设进行配置并抽象出通信接口。
-
Peripheral Layer通过Hardware Layer访问系统的外设模块如SD卡、IMU等,根据各个模块的具体功能抽象出接口给算法使用。
-
Algorithm Layer依靠Peripheral Layer提供的数据进行相关算法处理比如Kalman Filter、Image Process等
-
Thread Layer则是按照RTOS的逻辑将各类算法,外设操作按照线程分类、组织,并最终构建系统。
4.2 实时操作系统RT-Thread
4.2.1 移植RT-Thread到Aurix MCU
??RT-Thread是当前热门的国产RTOS,版权属于上海睿赛德电子科技有限公司,于2006 年1月首次发布,初始版本 为0.1.0,经过10来年的发展,如今主版本 已经升级到3.0,累计开发者达到数百万。
??为了在TC264D上使用RT-Thread,就必须进行移植,尤其是线程切换等设计内核操作的函数。而TriCore 提供了一种硬件的上下文机制,这种机制是专为嵌入式实时操作系统设计的,目的就是为了能提高线程切换的效率。
??因此,我们借助厂商的支持,在TC264D的CPU0内使用了RT-Thread进行线程管理,而CPU1作为协处理器进行异步的图像处理操作。
4.2.2 RT-Thread在项目中的调度
??在本项目中,我组主要使用了RT-Thread的动态线程与信 量功能。在所有片上,片外外设初始化完毕后,系统创建若干线程,交由RT-Thread进行调度。
05 控制原理
5.1 总述
??本项目在竞赛要求的基础上,搭建一个可保持自平衡,具有环境感知能力并且能够在保持稳定的系统。其中系统的自稳定最为关键。我组使用动量轮与控制前轮方向的舵机作为协同平衡控制器,icm20602为陀螺仪和加速度计的硬件架构。软件控制算法为PID控制,使用了串级PID、增量式PID、积分分离等手段。对于传感器测量的源数据则采用了Kalman Filter和滑动滤波来得到控制的反馈量。系统的平衡算法,先后经过MATLAB系统仿真与实机调试验证,具有较好的性能。
5.2 硬件传感器设计
??要保持平衡就需要获取车身的状态,包括车身角度、车身角速度。在此我组使用ICM20602作为实装IMU。ICM20602是新一代MEMS IMU具有极小的零漂与封装尺寸。仅需使用一个模块就可以完成对两个量的测量。同时,ICM20602支持的通信端口包括I2C和10MHz的高速SPI,完全适用于单车的平衡控制。
??对于此系统利用牛顿运动定理和简单的线性化即可得到系统对于的状态空间方程:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!