一款基于DSP的循迹及自平衡的智能小车设计

来源:本站
导读:目前正在解读《一款基于DSP的循迹及自平衡的智能小车设计》的相关信息,《一款基于DSP的循迹及自平衡的智能小车设计》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《一款基于DSP的循迹及自平衡的智能小车设计》的详细说明。
简介:本系统选用TI公司32位DSPTMS320F28027作为控制芯片,设计制作了一款能够循迹并寻找平衡的智能小车。根据所给定的跑道和跑道上的位置标志对小车进行硬件设计和程序编写。循迹分为前后各4路循迹,采用的是4路红外循迹模块,保证了小车能够前进后退均在指定路线上。

引言

本系统选取了32位TMS320F28027作为运动物体的控制中心。TMS320F28027具有丰富的资源,拥有32位架构、高级外设、高度的模拟集成、高达128 KB的快闪存储器,同时还包括功能强大的ADC、高分辨率PWM以及湿著增强的捕获单元等众多特性优异的组件、高精度片上振荡器、模拟比较器、上电复位与掉电保护等在内的各种集成模块。本文以电动车跷跷板的设计为例,介绍了TMS320F28027的PWM电机调速、A/D采样、中断和I/O口等的操作和控制,以及LCD、L298n、红外循迹等外部扩展硬件的连接技巧和方法。

1 小车功能介绍

1.1 按键和显示功能

按键操作:使用3个按键分别进行选择、确认、退出功能操作,在系统上电后,显示界面进入主菜单,通过“选择”按键埘“板上寻平衡”、“上板寻平衡”两个功能进行选择,选定结束按下“确认”键,系统进入对应函数,此时可以按下“退出”键退出对应的功能函数。

显示功能:LCD实时显示小车的倾角和小车正在执行的功能,成功完成一项操作后LCD给出“OK”的指示,同时在每项操作进行时显示其操作所用时间,完成所有任务后显示出每项操作所耗时间。

1.2 “板上寻平衡”功能

在不加配重的情况下,电动车完成以下运动:

①电动车从起始端点A出发,快速行驶到中心点C附近;

②电动车在中心点C附近尽快使跷跷板处于平衡状态,保持平衡5 s,并给出明显的平衡指示;

③电动车从步骤②中的平衡点出发,快速行驶到跷跷板末端B处(车头距跷跷板末端B不大于50 mm);

④电动车在B点停止5 s后,快速倒退回起始端A,完成整个行程;

⑤在整个行驶过程中,电动车始终在跷跷板上,并分阶段实时显示电动车行驶所用的时间。

其中,到达C点附近和倒退回A点有红外循迹装置配合循迹标志完成,寻找平衡主要由倾角传感器检测小车状态控制小车前后移动完成。

1.3 “上板寻平衡”功能

将配重固定在可调整范围内任一指定位置,电动车完成以下运动:

①将电动车放置在地面距离跷跷板起始端A点300 mm以外、90°扇形区域内某一指定位置(车头朝向跷跷板),电动车能够自动驶上跷跷板,如图1所示。

一款基于DSP的循迹及自平衡的智能小车设计

②电动车在跷跷板上取得平衡,给出明显的平衡指示,保持平衡5 s以上。

③将另一块质量为电动车质量10%~20%的块状配重放置在如图2所示中A至C间指定的位置,电动车能够重新取得平衡,给出明显的平衡指示,保持平衡5 s以上。

一款基于DSP的循迹及自平衡的智能小车设计

1.4 跑道和小车介绍

(1)小车跑道

跑道分为两个部分:矩形部分的跷跷板和扇形部分的地面区域。图2中两侧箭头代表循迹标识,跷跷板中间箭头为后退的循迹标识。在跷跷板中部C点放置跷跷板支架,保证跷跷板可自由摆动。

(2)小车循迹模块安装位置

主要介绍小车循迹模块的安装位置,以保让小车能够正确循迹。前进循迹由小车前部左右各两路的红外循迹装置完成,位置配合跷跷板上前进循迹线安装。后退循迹由小车后部的4路红外循迹装置完成,位置配合跷跷板上后退循迹线安装。安装位置如图3所示。

一款基于DSP的循迹及自平衡的智能小车设计

2 功能模块电路连接

2.1 系统总体模型

TI公司32位DSPTMS320F28027为系统的控制芯片,系统通过7 V稳压直流电源给电机供电,同时7 V稳压电源经LM8965稳压模块输出5V电压后给其他模块供电。在上电过后使用独立按键配合LCD12864实现功能选择,选择功能结束,小车在红外循迹模块的引导下到达指定地点开始寻找平衡,此时系统对倾角传感器输出电压进行A/D采样并将数据传输给芯片处理,然后芯片输出信号对L298N驱动的直流电机进行调节,配合光电码盘控制小车在跷跷板上移动以实现平衡点寻找。系统框图如图4所示。

一款基于DSP的循迹及自平衡的智能小车设计

2.2 L298N驱动连接电路

L298N是一块双H桥直流电机驱动芯片,主要是对直流电机进行PWM转速调节,对步进电机进行PWM细分操作。驱动部分的端子电压Vs在+5~+35 V,承载最大电流为2 A;逻辑部分的工作电压为5~7 V,电流为0~36 mA,低电平有效值为-0.3~1.5 V,高电平有效值为2.3 V~Vss。该驱动板可驱动2路直流电机,使能端ENA、ENB为高电平时有效,设置IN1和IN2的输入电平确定电机的转动方向,改变输入使能端PWM脉冲的占空比实现调速。(注意:当使能信号为0时,电机处于自由停止状态;当使能信号为1,且IN1和IN2为00或11时,电机处于制动状态,阻止电机转动。)

由于小车采用的是左右两侧速度差转向,所以为了节省I/O口,电机连接时使用一个I/O配合使能端控制一侧的两个电机的转向和转速使能端控制转速,I/O口控制转向。具体操作:同侧的两个电机并联,电机一端通过I/O口经L298N控制,另一端从同一I/O口引出一根信号线经一非门后由L298N控制。具体电路连接如图5所示(其中MG1~MG4为4个直流电机)。

一款基于DSP的循迹及自平衡的智能小车设计一款基于DSP的循迹及自平衡的智能小车设计

方向设定主要函数如下:

一款基于DSP的循迹及自平衡的智能小车设计

一款基于DSP的循迹及自平衡的智能小车设计

配合循迹模块即可实现小车循迹功能。循迹模块分为前后4路,前4路的4个信号端口与后4路并联,前4路的4个红外循迹模块由一个I/O口供电,后4路供电由此I/O口经一非门供给。只需改变此I/O的高低电平即可完成前后循迹模块的切换。循迹程序框图如图6所示。

一款基于DSP的循迹及自平衡的智能小车设计

循迹主要程序如下:

一款基于DSP的循迹及自平衡的智能小车设计

一款基于DSP的循迹及自平衡的智能小车设计

2.3 LCD12864电路连接

为了节省I/O口,显示选用的LCD为SPI传输型,主要用于必要数据显示以及菜单和系统状态显示。该模块一共有10个引脚,其中除去电源引脚和空引脚还有RET引脚用于上电复位,CS引脚传输主从状态选择,SCK引脚时钟信号输入,SDA引脚数据输入,BUSY引脚判忙接口。由于I/O口的限制,我们采用的并非SPI数据传输模式,而是选用的模拟SPI数据传输。模拟SPI主要是对数据传输时序进行模拟。

模拟SPI数据传输,只能对数据进行一位一位的传输。因为此时序为上升沿触发,所以在传输之前时钟信号置低,传输结束后置高。但是程序的编写比较麻烦,因为此LCD的命令和数据都是8位数据。所以选择按位与加移位实现输入8位数据,具体程序如下:

一款基于DSP的循迹及自平衡的智能小车设计

一款基于DSP的循迹及自平衡的智能小车设计

在实际操作中,每次上电需要对LCD进行复位设置(RST先置低10 ms左右,然后置高20 ms左右)这样才能保证LCD正常显示,同时在命令和数据传输之前需要对LCD进行初始化操作,即对LCD进行清屏操作(清除上电一瞬间的乱码显示),然后根据需求进行亮度设置。由于此设计中LCD只需进行数据的接收,所以CS片选端直接接地,设置LCD为从输入设备即可。具体电路连接如图7所示。

一款基于DSP的循迹及自平衡的智能小车设计

2.4 倾角传感器电路连接

倾角传感器选用的是数字信号传输的MMA7361,此模块能够检测器件的X/Y/Z三轴的倾斜角度,以及期间的加速度。小车在跷跷板上寻找平衡只需一个轴检测倾角即可,所以任选一轴与小车车面平行,竖直指向车头即可。

当小车发生前后倾斜时,输出电压改变,通过输出电压的线性变化反映小车的倾角、运动加速度,以及运动的方向。通过A/D采样进行相应的电压/角度、电压/加速度转换,这样便可以时刻调节小车姿态。

倾角传感器A/D采样程序设定如下:

一款基于DSP的循迹及自平衡的智能小车设计

一款基于DSP的循迹及自平衡的智能小车设计

结语

本文只用了TMS320F28027的部分功能,算法也比较简单,只是为大家的学习交流抛砖引玉而已。TMS320F28027还有很多强大的功能,有待以后大家的学习和使用。

个人的使用经验表明TMS320F28027运算速度快,而且操作简单易学,不仅适合完成各种业余的电子设计制作,而且也能满足专业人士的大部分需求,是性价比较高的芯片。在配合外部扩展硬件的使用过程中,需仔细阅读TMS320F28027和硬件模块的电气参数,以防止元器件的损毁。

提醒:《一款基于DSP的循迹及自平衡的智能小车设计》最后刷新时间 2024-03-14 01:20:28,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《一款基于DSP的循迹及自平衡的智能小车设计》该内容的真实性请自行鉴别。