论智能车设计

时间:2022-03-22 10:18:14

论智能车设计

摘?要:本设计以MC9S12XS128作为唯一的微控制器,进行数据的采集处理和电机、舵机的控制;采用CMOS摄像头为核心路径识别传感器,实现黑线的提取并路径的判别;以基于BTS7960的设计作为电机驱动,实现电机的稳定控制;针对车模的双电机后轮分别驱动模式,我们采用了力求精确的双光电编码盘分别进行速度的测量以及控制,实现了此动力控制系统的闭环控制,更好的满足了系统设计中差速控制的需要。

关键字:摄像头,智能车,飞思卡尔

一.车模机械改装

优良的机械性能是竞速比赛车模系统的基本,它直接影响着参赛车模的各项运动性能指标,更关系到整个系统的稳定。作为整个控制系统的基础至关重要。

车模机械调整思想:

车模的机械结构调整应该遵循以下几个原则:

第一,可靠。车模在调试中难免会有机械磨损,长此以往,会对整个车模的结构稳定造成影响。因此,车模在机械改装时应该注意细节,排除可能的机械隐患,尽可能的降低设计不合理带来的故障。

第二,简洁。复杂的机械结构形式适应一定的技术环境。但是针对车模来说,本身的机械结构无需特别复杂。简单的机械结构更有利于机械的维护,为赛车减轻了重量。

第三,严谨。机械的安装需要恪守严谨的态度和技术。稍微的失误或者错位都会导致机械部件的磨损和性能的发挥

二.系统的硬件组成

本智能车系统由以下几部分硬件单元组成:CMOS摄像头模块(OV7620),mc9s12单片机最小系统板,电机驱动模块(BTS7960),转向舵机,测速模块。

运行过程大致如下:

小车上电后,单片机运行初始化代码,从摄像头读取赛道图像信息,存入单片机内存,根据编写的代码处理图像,提取引导黑线,由此控制舵机,进而控制小车转向。同时,测速模块时刻测速,单片机定时读取编码器的脉冲计数数值,通过速度pid运算,输出速度控制信号,控制电机驱动模块控制电机运行,从而实现速度控制。

3.图像采集

由于本智能车采用ov7620数字传感器,使用相对简单,单片机根据摄像头的场中断和行中断信号,来转存灰度值。

每当有场中断信号,即表示为新的一幅图像,之后每有一个行中断信号表明是新的一行的开始。由此原理,将摄像头采集的八位灰度信息存入单片机内存的二位数组,就是采集到的图像信息。

由于单片机内存有限,我们选择的是100*40的二维数组。

4.数据处理

提取黑线的思想比较简单,求取二维数组内所有像素点的最大值和最小值,取平均值,作为阈值,比较二维数组内各个像素点与阈值的大小,初步确定黑与白,之后,再通过一系列算法,提取出黑线。

5.速度控制

我们的速度控制思路有两个,一是判断赛道类型,根据不同的赛道类型,给不同的速度;二是根据前方赛道弯曲程度和黑线提取的远度来给定速度。使用时,二者结合。

速度的调整是通过经典的增量式pid实现,具体公式详见计算机控制系统相关书籍。

6.舵机控制

舵机的控制是通过舵机pid公式计算得出,主要是通过比例环节实现,偏差的来源主要是各行的黑线坐标位置与期望的黑线坐标位置作比较,相减得到的有符号数值就是偏差error,带入经典pid算式,经过调试,即可用于舵机控制信号。

7.测速模块

测速模块为光电编码器。单片机通过定时器产生20ms的定时中断,每20ms取一次编码器脉冲累加值,从而得到一个与速度成比例的值。

8.电机驱动

电机驱动为bts7960芯片构建的H桥,具体电路请自己查找。

三.控制代码

由于篇幅有限,简单举一个速度pid的例子,具体完整代码见备注。

void speed_pid(int std_speed,int curr_speed)

{ INT16S PWM_temp;

float Kpp=0.3;?INT8U Ki=2,Kd=2;

error=std_speed-curr_speed;

if(error-15)error=0;

PWM_temp= PWMDTY23+Kpp*(error-last_error)+Ki*error+Kd*(error+pre_error-2*last_error);

if(PWM_temp

else if(PWM_temp>500) PWM_temp=500;

PWMDTY23=PWM_temp;

pre_error=last_error;

last_error=error;

}

四.结束语

本次做智能车,颇有感触。该智能车以单片机为控制核心,集中采集各类传感器采集到的信息,处理之后,发出控制信号,控制各种执行部件,做出动作。是一个简单的自动控制系统,具有很好的学习实践价值,收获颇大。

参考文献:

[1]卓晴,黄开胜,邵贝贝等.《学做智能车》北京航空航天大学出版社 2007.

[2]王宜怀等,《嵌入式系统设计实践》北京航空航天大学出版社 2011

[3]林静等《Labview 虚拟仪器程序设计从入门到精通》,人民邮电出版社 2010

上一篇:提高企业统计信息质量问题探讨 下一篇:淡化节假日旅游的经济意义,提升节日文化内涵