清华大学飞思卡尔智能汽车教程

合集下载

飞思卡尔智能车摄像头组新手指南(5)--让车跑起来篇

飞思卡尔智能车摄像头组新手指南(5)--让车跑起来篇

飞思卡尔智能车摄像头组新⼿指南(5)--让车跑起来篇舵机、电机控制策略让车跑起来彭岸辉控制器设置了快速的控制周期,在每个运算周期内,控制器即时地得到智能车车速以及传感器采样来的道路信号,经过控制算法的计算后,控制单元输出相应的前轮控制转⾓以及电机占空⽐的值,其输出值再经过函数映射关系转换为 PWM 脉宽信号传⾄前轮舵机以及驱动电机,从⽽实现⼀个周期的控制。

由于摄像头的信号是具有周期性的,可以直接采⽤摄像头采集⼀幅图像的周期作为控制周期。

舵机控制采⽤ PD 控制,控制跟随性较好,P可以及时对赛道的变化作出反应,当然舵机的 P 项值也是跟随赛道情况变化的,直道和较⼩的弯道时控制较弱,90 度弯道或 270 度⼤弯道控制量较强,D有预测道路类型的作⽤,也就是能使舵机提前打⾓。

电机控制采⽤ PID 控制,可以减⼩动态误差并且跟随性能较好。

当然也可以使⽤其他控制,很多⼈舵机采⽤P控制,电机采⽤PD或PI控制。

对⽐他们的优缺点⾃⼰选择适合⾃⼰⼩车的PID。

这⾥不进⾏深⼊讲解。

前⾯的⼯作完成后懂得基本的图像处理算法就差不多可以使⼩车跑起来了!要使⼩车跑起来其实不难的,很多初学者最希望的就是看⾃⼰的车跑起来,因为当初我也是这样的,很理解师弟师妹们此刻的想法!最基本的图像处理算法就是:图像中间往两边搜索⿊线注意:初学者在初学时不知道偏差是怎样计算的。

这⾥就提⼀下:偏差就是计算出的中线即图中赛道中的⿊线与摄像头所看到的中线即图中赛道中的竖直红线(例如采集到的图像是100列的,那么摄像头看到的中线就是50)做差得到的值就是偏差。

它表⽰车当前位置与期望位置的偏离程度。

再看个图吧:⽤两⾏来说明,其他的⼀样。

第⼀⾏左边坐标(0,1)右边坐标(0,99),得出的中线就是(0,50),那么50所在的那⼀列就是摄像头所看到的中线(就是图中竖直的红线)。

这⾥再提⼀下,很多⼈提出中线后发现上位机上或LCD上没显⽰出中线,其实显⽰出中线很简单的:根据RGB,⼀个像素点的像素值为255时显⽰出来的是⽩⾊,像素值为0时显⽰出来的是⿊⾊。

《智能车制作 “飞思卡尔杯”从入门到精通》教材部分章节节选

《智能车制作 “飞思卡尔杯”从入门到精通》教材部分章节节选

图 3-7 前置 置卧式
16 6
图 3-8 后置卧式
优点:安 安装原车模 模舵机布置方 方式、改动 动量小,重心 心低; 缺点:响 响应速度慢 慢、两边拉杆 杆长度不一 一样、转向不 不对称。 2).扣式
图 3-9 扣式 扣
优点:重 重心低、响 响应速度快、 、转向平顺 顺对称; 缺点:安 安装过程复 复杂、不利于 于后续维护 护调整。 3).卧式
图 3-14匀速圆 圆周运动
转向舵机因 因型号固定 定在供电电 压确定时其 其输出力矩 矩是固定的, ,我们知道 道力矩等于 于 力与 与力臂的乘积 积,即 M=F F*L。舵机 的输出力矩 矩与摆臂长度关系如下 下: 舵机转矩 矩=舵机摆臂 臂作用力*摆臂长度 摆 18 8
假设舵机 机输出力矩 矩是恒定的 ,其输出轴 轴的旋转角 角速度也是恒 恒定的,舵 舵机摆臂端 端 部的 的瞬时线速度 度随舵机摆 摆臂长度增 加而增大。摆臂的瞬 瞬时线速度大 大会导致转 转向系统灵 灵 敏度 度提高,这是 是我们最希 希望得到的。 。 同时,我 我们知道在 在转向时舵机 机摆臂的力 力传递搭到 到横拉杆,横 横拉杆的作 作用力大于 于 轮胎 胎阻力时才开 开始转向,小于或者 等于轮胎阻 阻力时不转 转向。开始转 转向后,横 横拉杆作用 力越 越大轮胎转的 的越快,也 也就是说转向 向响应速度 度越快。 而舵机力 力矩是恒定 定的,舵机摆 摆臂作用力 力与摆臂长 长度是成反比 比的,此长 长彼消。舵 舵 机摆 摆杆不能太长 长也不能太 太短,太短, 响应慢,太长,拉不 不动,响应 应也慢。 最合适的 的舵机摆臂 臂长度值, 可以通过转 转向系统四 四杆机构仿真 真结合实际 际测试来获 获 取。实际测试可 可以选用不 不同长度的舵 舵机摆臂装 装车后测试转 转向灵敏度 度。 获取最佳舵 舵机摆臂长 长度后,可 以对摆臂的 的外形做优 优化以达到减 减重、美观 观的效果。 图 3 3-15 为优化 化后的舵机摆 摆臂,选用 用 1mm 不锈钢板线切 切割成型。 不锈钢板有 有良好的刚 刚 度、韧性,为了 了减重将摆 摆臂中部切除 除一块。

飞思卡尔智能车教程 9-3

飞思卡尔智能车教程 9-3

Um Im
4017 80
5e j17
4.78 j1.46 () 感性
Y
1 Z
1 517
0.2(17)S 0.19
j0.06(S)
一、求解一端口的阻抗或导纳
§9-3 正弦稳态电路的分析
习题9-3(4) 图中N为不含独立源的一端口,已知端口电压
u和电流i。试求输入阻抗Z和导纳Y,并给出等效电路图
Z1 10030
Z 100 30
Z1 R jL 10030
U2 1
I C
§9-3 正弦稳态电路的分析
三、利用电路的相量图辅助分析与计算
习题9-15 在图示电路中,已知 U 100V R2 6.5 R 当20 调节触点c使 Rac 4时, 电压表的读数最小,其值为30V。 试求阻抗Z。
U1 200120V , U2 2000V , I 290A
Z1
R
jL
U1 I
200120 290
10030
U2 1
I C
方法三:画出阻抗三角形辅助求解

Z
Us I
Z
100Z ()

Z1
U1 I
Z1
100Z1()
ZC
j1
C
U2 I
U2 I
90
j100
Z Z1 ZC
100Z 100Z1 j100
.
I 15Ω
12mH
+ Us
+ UR - + UL -
+
.
UC
-
5μF -
i 4 2 cos(5000t 53.13)A
各元件电压相量为
UR RI 60 53.13 V

飞思卡尔智能车新手入门解决方案

飞思卡尔智能车新手入门解决方案

目录目录 (1前言 (3一、基于飞思卡尔芯片的智能循迹车 (11、智能循迹车简介 (12、摄像头组方案 (1(1CMOS模拟摄像头 (2(2CMOS数字摄像头 (33、光电组方案 (4(1红外传感器 (4(2激光传感器 (64、电磁组方案 (10(1工型电感传感器 (10(2色环电感传感器 (10(3硬件设计 (105、道路识别策略 (11(1摄像头信号采集 (12(2红外传感器信号采集 (13(3电磁传感器信号采集 (136、电机驱动 (147、速度检测 (168、调试策略 (17(1速度调试(以摄像头组为例子 (17(2综合调试 (18二、入门级别智能车方案——基于STC89C52单片机智能小车 (191、简介 (192、方案 (19(1基于红外传感器循迹方案 (19(2基于激光传感器循迹方案 (203、利用中断调制PWM占空比驱动直流电机 (23 (1直流电机的实物图片 (23(2直流电机的介绍 (23(3直流电机的驱动 (234、利于中断调制PWM占空比驱动舵机摇头 (24 1、舵机的原理及其应用 (24(1舵机的实物图片: (24(2舵机的介绍 (25(3舵机的工作原理 (255、数码管显示 (251、数码管原理 (256、LED流水灯控制 (27LED灯参考电路图 (277、液晶显示 (28(11602液晶显示 (28a主要技术参数 (28b信号接脚 (29c基本操作时序 (29d电路图接法 (29(212864液晶显示 (30a主要技术参数 (30b信号接脚 (30c基本操作时序 (30d电路图接法 (318、ADC0804 (319、DAC0832 (3210、I2C总线 (3411、矩阵控制 (3512、蜂鸣器控制 (36前言智能化是21世纪机电一体化技术发展的一个重要发展方向。

人工智能在机电一体化及自动控制领域日益得到重视,现阶段在机电一体化及自动化专业教学方式上,部分院校较重视实践而轻理论,部分院校较重视理论而轻实践,但有一个共同点就是:通过一些相关技能竞赛能够有效地提高学生的综合能力,在比赛过程中充分锻炼了参赛者理论知识和实操能力;如:飞思卡尔智能汽车竞赛,电子设计竞赛,机械创新设计竞赛,瑞萨竞赛等。

飞思卡尔智能车开发教程Chap03

飞思卡尔智能车开发教程Chap03

3.2 XS128的GPIO寄存器与GPIO构件封装
低功耗驱动寄存器
低功耗输出
记忆要点:输出时:低功耗驱动寄存器的一位:0—输出 功耗正常, 1—输出功耗为正常的1/5
上拉下拉电阻使能寄存器与上拉下拉选择寄 存器 禁用或允许上拉或下拉电阻
记忆要点:上拉下拉使能寄存器的一位:0—无上拉或 下拉,1—有上拉或下拉
记忆要点: 在引脚被定义为低功耗驱动时,可通过低功耗允许寄存器RDRIV中的相应位来定义是否低功耗驱动使能:0—不允许低功耗驱动使能 1—允许低功耗驱动使能。 输出时:数据寄存器的一位:0—输出低电平,1—输出高电平
3.2 XS128的GPIO寄存器与GPIO构件封装
ห้องสมุดไป่ตู้
A、B、E口共用的上拉电阻控制寄存器 (PUCR) 共用一个控制寄存器(PUCR)
3.2 XS128的GPIO寄存器与GPIO构件封装
3.2.1 XS128的GPIO寄存器 9个GPIO口(A口,B口,E口,J口,M口,P 口,S口,T,口AD口) (1)A、B、E口除具有独立的数据方向寄存器
与数据寄存器外,还共用上拉电阻控制寄存器 A、B、E、T、AD都有8个引脚,而J口有2 (PUCR)与低功耗驱动寄存器(RDRIV)。 个引脚,M口有6个引脚,S口有4个引脚, (2)T口、S口、M口、P口、J口有:数据方向 寄存器、数据寄存器、输入寄存器、低功耗驱动 P口有7个引脚 寄存器、上拉下拉使能寄存器、上拉下拉选择寄 存器。 引脚其他寄存器 (3)P口、J口还有两个寄存器,是中断使能寄 存器和中断标志寄存器。S口、M口还有线或寄 存器。
3.4 CW环境C语言工程文件的组织
• • • • •
prm 文件有五个组成部分构成 NAMES ~ END部分 SEGMENTS ~ END部分 PLACEMENT ~ END部分 STACKSIZE部分 VECTOR部分

自动循迹智能小车制作(飞思卡尔智能车制作)

自动循迹智能小车制作(飞思卡尔智能车制作)

自动循迹智能小车制作目录摘要................................................................. 错误!未定义书签。

1 设计要求 (3)2 方案的选择与比较 (3)2.1 主控芯片选择 (3)2.2 电源的选择 (3)2.3 寻迹方案 (4)2.3 电机驱动方案 (4)3 最终方案 (5)4各功能模块的实现 (6)4.1 微控制器模块的设计 (6)4.2电源模块原理图 (6)4.3 TCRT5000红外检测模块 (6)4.4 系统PCB图 (7)4.5 系统程序流程图 (8)5 性能测试 (9)6 性能评价及总结 (10)7 附录 (11)附录1:元件清单 (11)附录2 系统原理图 (12)附录3系统程序 (13)8参考文献 (19)1 设计要求设计一自动寻迹小车,其实现功能如下:1.使其能够检测到轨迹的路线,并按照预订轨迹运行;2.要求在小车冲出预定路线后能够自动回到预定轨迹上;3.小车能够按多种不同的轨迹运行。

2 方案的选择与比较2.1 主控芯片选择方案1:采用51系列单片机,该系列单片机结构简单,但是能实现很多功能。

与其它单片机相比较价格便宜。

端口电流较大,可以达到20mA,驱动能力强。

方案2:采用msp430系列单片机,该系列单片机片上资源丰富,功能强大,但是端口灌电流和拉电流较小,驱动能力不强。

它主要运用在需要低功耗的地方。

本系统主要是进行寻迹运行的检测以及电机的控制,经过对比分析,我们选用AT89S52单片机作为主控芯片来驱动电机,进而控制电机转速。

2.2 电源的选择方案1:采用9V蓄电池为直流电机供电,将9V电压降压、稳压后给单片机系统和其他芯片供电。

蓄电池具有较强的电流驱动能力以及稳定的电压输出性能。

虽然蓄电池的体积过于庞大,在小型电动车上使用极为不方便。

方案2:采用9V南孚干电池直接个电机驱动芯片L298N供电,并将9V经过7805稳压及电容滤波后给单片机供电。

飞思卡尔光电组

飞思卡尔光电组

传感器硬件原理图
传感器元器件清单
? 发光二极管 × 8
发光二极管(贴片封装0805) × 8
? 接收管 × 8
调制管 × 4
? 三极管8050 × 4
电位器500Ω(滑动变阻器) × 8
? 电容0.1μF(贴片封装0603) × 8
? 电阻22Ω(贴片封装0805) × 16
? 电阻1.5kΩ(贴片封装0805) × 8
00110000000000
黑线相当偏左 01000000000000
没有黑线(盲区) 00000000000000
传感器在起点与十字路口
? 如何分辨是 后期重点
2、路径识别算法
? 传感器相关初始化
? void PORT_Init(void)
?{
? DDRA = 0x00;
//端口A方向输入
? PUCR_PUPAE = 1; //端口A信号上拉
按传感器输出信号不同,检测方法 分两种:数字量输出(调制,以我们学 校为代表)和模拟量输出(A/D,以清 华为代表)。
二、光电车硬件
元器件标号基本知识: R电阻标号识别
C电容标号识别
←无k是标号
有k就是阻值 →
光电传感器:发射电路
调制是为了将连续光变成频率约180kHz的光脉冲
注意:⒈我们使用的接收管只能接收调制光,因此发射管必须经过调制电 路发射调制光,否则接收管无法接收光信号;
? PORTA = 0x00; //端口A初值为0
}
寄存器按位赋值举例PUCR_PUPAE = 1; (PUCR |= 0x01;)
? 传感器状态采集:
? void Sensor_collect(void) //采集传感器状态

飞思卡尔智能车开发教程Chap08资料

飞思卡尔智能车开发教程Chap08资料
❖ 5.SPI串行时钟引脚SCK(SPI Serial Clock)
SPI串行时钟引脚SPSCK用于控制主机与从机之间的数据传输。
❖ 6.主出主入引脚MOMI
主出主入引脚MOMI(Master Out/Master In)是单线传输时,主机的输入输出数据 线,与MOSI引脚复用。对于MCU被设置为主机方式,该引脚发送或接收从机的数据。
0x0000
2020/10/13
8
8.3 A/D模块编程方法与实例
8.3.1 A/D模块基本编程方法
❖ 1.A/D转换初始化
在程序初始化时应对A/D转换的5个控制寄存器写入控制字 节,决定序列长度,设置分频系数和转换精度等。
❖ 2.启动A/D转换
对于A/D转换状态向控制寄存器写入控制字节,选取要转 换的通道、结果寄存器的调整方式、设置是连续转换还是一 次转换。 ❖ 3.获得A/D转换结果
❖ 7.从入从出引脚SISO
从入从出引脚SISO(Slave In/Slave Out)是单线传输时,从机的输出输入数据线, 与MISO引脚复用。对于MCU被设置为从机方式,该引脚发送或接收主机的数据。
❖ 8.时钟极性
表示时钟信号在空闲时是高电平还是低电平。
❖ 9.时钟相位
决定数据是在时钟信号SCK的上升沿还是在SCK的下降沿进行采样
❖ 1.主机-从机(Master-Slave)
提供SPI串行时钟的SPI设备称为SPI主机或主设备(Master),其它设备则称为SPI从 机或从设备(Slave)。
❖ 2.从机选择引脚 (Slave Select)
若一个MCU的SPI工作于主机方式,则置该MCU的 为高电平。若一个MCU的SPI工作 于从机方式,当 =0时表示主机选中了该从机,反之则未选中该从机。

飞思卡尔智能车电路详解(全)

飞思卡尔智能车电路详解(全)
• 标准检测距离只有7mm。 • 光敏三极管引脚正极反用。 • 使用脉冲打开方式能极大提高工作电流,
增加检测距离。但使用不当极易烧毁传感 器,因此初期使用时不推荐使用此方法。
视频分离电路 LM1881
测速传感器模块
• 霍尔传感器 • 反射式红外传感器 • 对射式红外传感器 • 测速电机 • 对加速度传感器进行积分
智能汽车

硬件电路设计
安徽大学 创新实验室整理
整个系统电路模块组成
• 单片机控制模块 • 黑线检测模块 • 测速模块 • 电机驱动模块 • 电源模块
单片机控制模块
黑线检测模块
• 光电组:反射式红外传感器、 激光传感器
• 摄像头组:CMOS、CCD
红外传感器RPR220
具体使用注意点
• 发光二极管部分在恒流情况下最大工作电 流为50mA。
• 电子调速器(电调) 好用,但实在太贵
L298N 输入输出
并联电路
MC33886并联电路
。。。。。。
电源模块
• 单片机系统模块电源 -- 5V(LM2940)
• 黑线检测传感器模块电源
光电 -- 5V(LM2575) 摄像头 -- 9V/12V(mc34063)
• 测速部分电源 -- 5V
• 舵机动电源 -- 电池直接供电 • 电机驱动模块电源 -- 电池直接供电
5V电源部分
LM2575芯片手册上的常用电路
二极管的额定电流值应大于最大负载电流的1.2倍,但考虑 到负载短路的情况,二极管的额定电流值应大于LM2575的最大 电流限制;另外二极管的反向电压应大于最大输入电压的1.25 倍。
LM2575芯片特点
• 优点: 转换效率高,芯片发热现象不明显,避

飞思卡尔智能车入门资料大全概要

飞思卡尔智能车入门资料大全概要
计算机控制技术、单片机技术、C语言、 传感器与检测技术、电机与拖动、模数电 及电路基础、自动控制理论、机械设计基 础等学科
1.2.2 动手能力和创新能力 常见电源电路和驱动电路设计 新的一些寻迹算法的提出等
二、硬件系统设计与实现
1)电源部分 2)电机驱动部分 3)舵机部分 4)图像采集部分 5)测速部分
1k
OUT1 CC P1 OUT2 33n VS S VS S D1 D2 47uF 47u VS S C3 0.1u GND GND C1 GND
GND 6 5 4 3 2 1 GND VC C PWM7 PWM5 D2 D1
20 DNC 4 V+ 5 V+ 16 V+ 18 D1 13 D2
R2 VC C
正确放电:
由于镍镉电池具有记忆效应,对电池的不完全放电将会人 为的降低电池的电容量; 从放电曲线可以看出,随着电池电量的减少,其电压也会 逐渐降低,当电压降低到某个阈值后继续放电,电池电压 将很快的跌落。这个阈值就是电池的放电下限电压。厂家 给出了放电下限电压为6V。因此,在使用时,建议在动力 车的电源设计中加入电池保护电路,当电池电压低于6V时 切断电路,用来保护电池。如果没有保护电路,要注意, 电池接通时人不要离开。因为当电池电压降到接近6V时, 电池已经给不出多少电流,已经没有能力驱动电机了,此 时一定要及时断开电路,到了给电池充电的时候了。
舵机控制方法
三线连接方式 红线:电源线+6V 蓝线:地线 黑线:PWM控制信号
2.2.2驱动芯片BTS7960/7970组成的电路
大功率驱动芯片BTS7970特性如下: 输入电压:6v---24v 输出电流: 最大可达60A 内阻:16毫欧 控制线电压: 5v PWM控制频率:25K

飞思卡尔智能车入门指南

飞思卡尔智能车入门指南

飞思卡尔智能车入门指南概述智能车巡线是一个半实时随动系统。

系统不断传感前方赛道的信息,根据赛道偏转情况计算前轮转向角度,再配合后轮的动力,达到巡线的目的。

如下图:该系统主要涉及知识领域有:单片机、传感器、电机、舵机、电路等,附带着涉及到一些调试手段知识。

以下就从这几方面简要介绍。

速度控制给电机加一个恒定的电压,电机最终会以某个恒定速度转动。

适当增加电压,电机速度会加快,最终稳定在一个更快的速度。

故调节电机所加电压即可调节电机转速。

由于单片机是数字电路,只能控制电压为“有”或“无”,于是我们让电压在“有”和“无”之间反复跳动,那么电压的有效值在电池电压到0之间可连续变化。

实际加载在电机上的电压是一个方波,方波的高电平时间长度比方波周期为占空比,占空比越高电压的有效值越高。

100%占空比相当于电池直接接在电机上,0%占空比相当于断路,0~100%相当于降压。

单片机普通输出口只能提供小电流的信号电,无法给电机提供功率,故使用MOS管。

用单片机的信号控制MOS管的通断,起到开关的作用。

开关串联在电池与电机之间,即可给电机提供功率。

单片机方波信号的频率一般在K的数量级(1000Hz)。

假设现在给电机50%占空比的方波,信号频率为1K,电机以某个恒定速度转动。

适当改变信号周期会发现电机转速略有变化。

信号频率很小(例如几十赫兹)或者很大(例如几兆赫兹)时,电机转速会较慢,在某个适中的值时速度达到最大值。

此时电机能量转化效率最高。

此时固定信号频率不变,改变信号占空比,电机转速和占空比基本成正比。

若以恒定占空比驱动电机,在负载发生变化时,电机速度也会发生变化。

若希望电机负载变化而电机仍能匀速转动,应采用闭环控制。

给电机安装速度传感器(例如:光电编码器),每隔固定的时间检测光电编码器旋转的圈数(例如:每10ms检测一次光电编码器在过去的10ms内旋转了多少圈),该圈数即可换算成速度。

当发现实际转速比目标转速慢时,适当增加占空比,反之适当减小占空比,则可实现在负载变化时电机转速基本不变。

EN-FSROB 飞思卡尔智能车各模块调试指南

EN-FSROB 飞思卡尔智能车各模块调试指南

EN-FSROB飞思卡尔智能车各模块调试指南1、下载Motor文件夹下面的程序,测试电机驱动模块,系统控制底板:蜂鸣器、按键、OLED 接口及XS128最小系统;步骤:(1)连线:系统底板P11插针P7、P5、P3、P1/2接电机驱动模块的排针7、5、3、1/2;(2)连接电机,调节4、3按键,可发现电机转速及转向发生变化;(3)分别按下1、2按键,可关闭、打开蜂鸣器,并可观察OLED液晶显示数据是否正常;2、下载A_CarTest文件夹下面的程序,测试XS128核心板串口排针及系统控制底板舵机控制电路:步骤:(1)上电,调节电位器,万用表测试P10舵机插接排针的6V、GND引脚电压调整至6V;(2)XS128核心板UART排针通过杜邦线插上蓝牙模块,注意插线顺序;(3)手机安装蓝牙串口测试工具,并打开,通过摇动手机左右晃动可发现舵机旋转;3、CC2500模块测试:1)将T103模块插入电脑,打开《CC2500无线串口数据传输下载软件》文件夹下的下载软件;给T103模块下载程序2)给XS128下载CC2500测试程序;3)插上CC2500模块到底板,把另外一块CC2500模块通过转接座插入到T103模块,并打开串口调试助手,并按照下图进行配置:4)此时,通过串口调试助手发送数据可在底板OLED模块的R_Buff区显示出来发送的数据,然后按下地板上的四个按键中的其中一个,可在OLED模块的S_Buff区显示所按下的按键号并通过CC2500模块传送到串口调试助手;4、CCD测试;1)下载CCD测试程序;2)连接CCD传感器到智能车底板的P3或P4接口;3)电脑安装PL2303驱动,插入USB-TTL小板,并且用杜邦线将USB-TTL小板与XS128核心板连接;4)打开智能车调试助手,按如下方法配置,配置好打开串口可发现数据上传到调试助手上面;5、摄像头测试;1)下载OV7620测试程序;2)正确连接摄像头到底板上的P7OV7620转接接口;3)电脑安装PL2303驱动,插入USB-TTL小板,并且用杜邦线将USB-TTL小板与XS128核心板连接;4)打开智能车调试助手,按如下方法配置,配置好打开串口可发现摄像头所拍照片上传到调试助手上面;6、编码器测试;编码器改装,褐色——VCC;蓝色——GND;白色——IN;。

智能车制作全过程(飞思卡尔)

智能车制作全过程(飞思卡尔)

智能车制作全过程(飞思卡尔)如果我写得好,请顶我一下,我将再接再厉!(本人在很久以前做的一辆用来比赛的智能车--获得华北一等奖,全国二等奖,有许多可改进地方.)下面我们来立即开始我们的智能车之旅:首先,一个系统中,传感器至关重要."不管你的CPU的速度如何的快,通信机制如何的优越,系统的精度永远无法超越传感器的精度" .是的,在这个系统中,传感器的精度,其准确性就显得至关重要.如果你问我传感器的电路,呵呵,我早就和大家分享了,在我发表的日志中,有一篇<<基于反射式距离传感器>>的文章就详细的说明了传感器的硬件电路以及可以采取的信号采样方式.传感器安装成一排,如上面排列.(就是个一字排列,没有什么特别)接下来,看看我们如何处理传感器得到的信息:大家看到了.结构很简单,我们已经搞定了传感器通路.下面我们来看看多机的控制方面的问题:其实,不管是便宜还是比较贵的舵机,都是一样的用法.舵机的特点就是不同的占空比方波就对应着舵机的不同转角.当然不同的舵机有不同的频率要求.比如我用的这个舵机:方波频率50HZ.怎么改变占空比?这个不就是PWM模块的功能嘛.PWM模块可以输出任意占空比的方波.只要你控制其中的占空比寄存器,就可以直接控制舵机的转角.你只要将传感器的状态和这个占空比对应上,不就OK了?就这么简单,做到这里,你就可以让你的车在跑道上跑了!接下来,我们的工作是让智能车更加完善:速度要稳定.在当前的系统结构中,要使一个系统更稳定更可靠,闭环系统是一个选择.(如果你不知道什么是闭环系统,可以参照我的文章里面的一篇"基于单片机的PID电机调速"),既然是一个闭环系统,速度传感器是必不可少的,用什么样的传感器做为速度反馈呢:仔细看,和后轮之间有一条皮带的这个貌似电机的东西,就是我的速度传感器,它的学名叫"旋转编码器".这个器件的特点就是:每转一圈,就会从输出端输出一定的脉冲,比如我这个旋转编码器是500线的,就是转一圈输出500个脉冲.因此,我只要在单位时间内计数输出端输出的脉冲数,我就可以计算出车辆的速度.显然,这个速度可以用来作为PID速度调节的反馈.现在有了反馈,我们需要的是调节智能车驱动电机的速度了,如何来调速,就成了必须解决的问题了.我用的是驱动芯片MC33886. 其实,这个芯片就是一个功率放大的模块.我们知道,单片机输出的PWM信号还是TTL信号,是不能直接用来驱动电机的.非要通过功率模块的放大不可.这个道理其实很简单,就像上次我给大家画的哪个电子琴电路的放大电路一样:看上面的那个三极管,就是将TTL电路的电流放大,才能够来驱动蜂鸣器.其实这里的这个MC33886就是这样的一个作用.而且我们自己也完全可以用三极管自己搭建一个这样的功率放大电路,当然,驱动能力肯定不如这里的这个MC33886(如我们用三极管就搭建了超过MC33886的电路,摩托罗拉就不会卖几十块钱一个了.呵呵.)知道了这个MC33886的工作原理,就好说了,一句话,通过PWM来调节电机的速度.当方波中高电平占的比例大,电机的平均电压肯定高,转速肯定快.也就是说,PWM的占空比越大,电机转速越高.看,就这么简单,这个智能车就做好了.接下来,我们就把我们知道的PID知识放到舵机和直流驱动电机的控制中去.就可以达到一个比较好的控制效果.如果要达到更高的水平,肯定机械方面的改造也少不了.当然,这不属于本文的讨论范围.呵呵.智能车制作全过程(飞思卡尔---舵机篇发表于 2008/11/28 10:00:55感谢大家的支持!如果我写得好,请顶我一下!智能车的制作中,看经验来说,舵机的控制是个关键.相比驱动电机的调速,舵机的控制对于智能车的整体速度来说要重要的多.PID算法是个经典的算法,一定要将舵机的PID调好,这样来说即使不进行驱动电机的调速(匀速),也能跑出一个很好的成绩.机械方面:从我们的测试上来看,舵机的力矩比较大,完全足以驱动前轮的转向.因此舵机的相应速度就成了关键.怎么增加舵机的响应速度呢?更改舵机的电路?不行,组委会不允许.一个非常有效的办法是更改舵机连接件的长度.我们来看看示意图:从上图我们能看到,当舵机转动时,左右轮子就发生偏转.很明显,连接件长度增加,就会使舵机转动更小的转角而达到同样的效果.舵机的特点是转动一定的角度需要一定的时间.不如说(只是比喻,没有数据),舵机转动10度需要2ms,那么要使轮子转动同样的角度,增长连接件后就只需要转动5度,那么时间是1ms,就能反应更快了.据经验,这个舵机的连接件还有必要修改.大约增长0.5倍~2倍.在今年中,有人使用了两个舵机分别控制两个轮子.想法很好.但今年不允许使用了.接下来就是软件上面的问题了.这里的软件问题不单单是软件上的问题,因为我们要牵涉到传感器的布局问题.其实,没有人说自己的传感器布局是最好的,但是肯定有最适合你的算法的.比如说,常规的传感器布局是如下图:这里好像说到了传感器,我们只是略微的一提.上图只是个示意图,意思就是在中心的地方传感器比较的密集,在两边的地方传感器比较的稀疏.这样做是有好处的,大家看车辆在行驶到转弯处的情况:相信看到这里,大家应该是一目了然了,在转弯的时候,车是偏离跑道的,所以两边比较稀疏还是比较科学的,关于这个,我们将在传感器中在仔细讨论。

飞思卡尔智能车从零开始

飞思卡尔智能车从零开始

一开始我们买了TRT5000这种光电管,我测试过这种光电管的敏感距离很近,有才1~2cm,而且只能直射。所以我们考虑把它用在检测起跑和十字路口。看了华南理工光电报告,他们用的是架起来的光电管,很想学他们,所以我和队友刘久研究他们用哪种信号的,刚开始久定位错了,因为看到报告说他们用的是840nm的发射管,接收管套上黑皮套,久以为是遥控用的发射和接收管哪种类似,久淘宝买原件弄,久这样找资料,焊电路,调试,最后发现光电接收管有两种电平型和脉冲型,一般的遥控用的三只脚的接收一体化的光电管是脉冲型的,在刚碰到黑线,电平会改变ms级的时间,接着就不变了,而且发现它的接收管出奇的灵敏。弄了好像也差不多一个个月吧,才确定我们弄错了,我的博客有篇文章是介绍红外的,可以参考下
9XS128和DG128不同的不多,但AD的寄存器是完全不同,9X128多了个PIT24位的定时,芯片注明总线频率不要超过40MHZ但我们这边摄像头一直超到80MHZ和64MHZ,到现在都没事。
2。回到学校才2月20多号,大家都回到学校,我在寒假也看了下PID算法,回来大家交流下都烦糊涂(其实PID最好不要看的那么认真,等车能跑了,再认真研究算法也不迟的),大家继续看资料,算法也好,逛论坛也好……声明下,当时热情高涨的很啊。是盼着车模和主板芯片快点到啊。可能是学校第一次参加这个比赛,经费迟迟不批,系列负责老师说跟校领导催了,我们也看得见,但就是不批钱,结果等到3月中旬了,基本其他学校都在月初拿到芯片和车模了,我们到中旬了连个屁也摸不着,一直等,没实践,把热情都磨没了……到3月月底就觉得没戏了,也没心情看资料,其实到中旬以后就没什么希望和热情了(1因为把智能车想得太高深~2。车模迟迟不到,以为学校不批了)
对于赛道;刚开始官方网说只能用KT板(看优酷帖的赛道有检测用的黑线)~以为白色KT板和黑线是什么高级的东东,用800多买回来才知道TMD这些东西值个鸟钱,其实检测的用黑线久就是黑色电工胶~五金店几块钱多的是~但主要要买2.54cm的。对于KT板,就是我们吃饭用的白色饭盒的材料吧!没认真研究过,不过材料感觉差不多,TMD太赚我们的钱了。车模没到前,可以买些电工胶在宿舍的走道帖,先做个探测头,探测头网上买容易也不贵,模拟检测嘛!车做好后,我试过在宿舍的地板能跑。

飞思卡尔智能车 XS128 PE编程入门教程

飞思卡尔智能车 XS128  PE编程入门教程

飞思卡尔智能车XS128 PE编程入门教程(1)首先打开CodeWarrior 5.0 开发环境。

然后在弹出的选项中选择新建工程注释(如果没有弹出这个对话框的,可以在下面的File中选择New Project新建一个工程)(2) 选择开发芯片的型号(这里我们使用的是MC9S12XS128)接着选择TBDML这个是我们使用在线调试功能的选项。

(3) 选择工程的生成路径,注意:如果我们不使用PE编程功能的话,在这步结束后,我们可以直接选择完成按钮来完成工程的新建。

(4) (PE编程功能的步骤)下一步,这个对话框我们什么都不用选择,直接点击下一步。

(5)选择下面这个选项来启动PE编程功能。

(6) 红色边框中的选项的功能为是否启动浮点数据的使用,默认第一个是不启用,第二个是启用,float数据为32位。

double为32位,第三个是启用,float 数据为32位,double数据为64位。

(7)最后一步什么都不要设置,直接点击完成。

(8) 以上步骤我们完成了一个XS128工程的新建步骤。

PE的使用步骤:(1) 新建工程后,会自动弹出个芯片封装型号的选择,选择好后点击OK。

(注意:我们学校有些芯片是80管脚的,也有112管脚的,所以注意选择红线标注的选项)(2) 点击OK后,就会出现我们要编程的环境了。

如下(3)红色标注的地方就是我们该工程的工作区了。

细心的同学就会发现,它生成的文件中没有我们需要写的源文件XXX.c 。

那我们现在就来生成这些文件。

找到下图的按键Processor Expert。

然后点击第二个选项的Generate Code ' XXXX .mcp' (这里的XXXX表示该工程名称).下面是自动生成的文件。

这时候我们发现软件为我们自动的生成了一个Project.c(Project 是我这个工程建立的文件命,不同的工程文件名将导致这个名字不同)的文件。

这个就是我们将要编写的源文件了,它里面包含了我们的主函数main()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
武汉科技大学信息科学与工程学院
7.1
机械设计
倘若将CMOS摄像头旋转90°安装,输出的图 像信息也将旋转90°,通过S12的A/D转换器 采集的图像信息,水平分辨率与垂直分辨率会发 生互换,从原来的水平分辨率低、垂直分辨率高 的图像变成水平分辨率高、垂直分辨率低的实际 图像,正好符合道路参数检测模型的要求。 在同样保证90 cm的前瞻下,底端的宽度有22 cm左右,顶端65 cm,可以达到避免地面干扰 的效果。同时底端仅有不到20 cm的图像丢失, 而且摄像头的俯角相对较小,可以克服反光的问 题,这样过弯道的时候会有安全保障。
武汉科技大学信息科学与工程学院
7.3
软件设计
在摄像头方案智能车控制系统的软件设计中,程 序的主流程是:通过外部中断采集程序对摄像头 的视频信号进行采集,主程序在两次外部中断的 间隙中完成对数据进行处理及计算并给出控制量, 采样周期为20 ms。其中,主程序主要完成的 任务是:单片机初始化和黑线提取算法;图像滤 波算法;舵机控制算法及驱动电机控制算法。
武汉科技大学信息科学与工程学院
7.2
硬件设计
在摄像头方案中,由于车速检测模块、舵机控制 单元及直流驱动电机控制单元同光电管方案相同, 以下对路径识别单元、HCS12控制核心及电源 管理单元做简要介绍。
武汉科技大学信息科学与工程学院
7.2 7.2.1
7.2.2 7.2.3
硬件设计 HCS12控制核心
武汉科技大学信息科学与工程学院
7.2.3
路径识别单元
图7.3 摄像头采样电路图
武汉科技大学信息科学与工程学院
7.2.3
路径识别单元
摄像头视频信号端接LM1881的视频信号输入 端,同时也接入S12的一个A/D转换器口(选 用PAD1)。 LM1881的行同步信号端(引脚1)接入S12的 一个外部中断IRQ口。 LM1881的奇-偶场同步信号输出端接S12的普 通I/O口即可(选用PORTM0)。
摄像头传感 器方案
1.检测前瞻距离远 2.检测范围宽 3.检测道路参数多 4.占用MCU端口资源少
1.电路相对设计复杂 2.检测信息更新速度慢 3.软件处理数据较多
表7.1 两种检测方案的比较
武汉科技大学信息科学与工程学院
第7章 智能汽车设计实践——摄像头型设计
图像采集传感器可分为CCD型和CMOS型,其 中CMOS型摄像头工艺简单,价格便宜,对于识 别智能车赛道这样的黑白二值图像能力足够,因 此,我们以下主要以CMOS型摄像头为例,介绍 基于摄像头方案的智能车详细设计。
武汉科技大学信息科学与工程学院
7.2.3
路径识别单元
倘若采用第一种方法,则无需配以外部芯片,在硬件上 就可以较为简便。然而,此方法在智能车控制系统的设 计中存在两大局限性。 其一,S12的A/D转换时间还不够短,在不超频的情况 下,该单片机的A/D转换时间最短为7 μs,而行同步脉 冲一般只有4.7 μs左右的持续时间,大多数消隐脉冲 更只有3.5 μs的持续时间,持续时间都小于7 μs,所以 A/D转换很有可能漏检行同步脉冲或消隐脉冲。一旦漏 检一两个脉冲,就会使摄像头视频采样的效果大打折 扣。
武汉科技大学信息科学与工程学院
7.2.1
HCS12控制核心
具体的对应引脚详见图7.1
图7.1 112引脚封装的MC9S12DG12B单片机引脚图
武汉科技大学信息科学与工程学院
7.2.2
电源管理单元
同光电管方案比较,摄像头方案的电源管理单元 就显得复杂得多。根据系统各部分正常工作的需 要,各模块的电压值可分为2.5 V, 5 V, 6.5 V, 7.2 V, 12 V五个挡,主要包含以下五个方面:
武汉科技大学信息科学与工程学院
7.1
机械设计
而按照大赛采用跑道的形状特点,这些跑道都是 由直线和圆弧组成的,检测车模前方一段路径参 数,只需要得到中心线上3~5个点的位置信息 就可以估算出路径参数,如位置、方向和曲率等。 通过图像中的若干行信息就可以检测出这排点的 位置,故所需的检测图像应该是水平分辨率高, 垂直分辨率低。
在摄像头方案中,其I/O口具体分配如下: PAD1用于摄像头视频信号的输入口; IRQ(PE1引脚)用于摄像头行同步信号的输入捕捉; PM0用于摄像头奇-偶场同步信号的输入口; PT0用于车速检测的输入口; PB口用于显示小车的各种性能参数; PWM0(PP0引脚)与PWM1(PP1引脚)合并用于 伺服舵机的PWM控制信号输出; PWM2(PP2引脚)与PWM3(PP3引脚)合并用于 驱动电机的PWM控制信号输出(电机正转); PWM4(PP4引脚)与PWM5(PP5引脚)合并用于 驱动电机的PWM控制信号输出(电机反转)。
武汉科技大学信息科学与工程学院
7.1
机械设计
此外,摄像头所架的高度一定要适宜。架得过高 会导致小车的视野过大,看到的黑线变得太细, 还会导致智能车的重心太高,使智能车快速过弯 时容易翻车;架得太低又会影响前瞻,带来反光 的问题,影响采样。合适的高度要既满足小车的 重心要求,又保证前瞻距离。 安装摄像头的底座和支杆应使用刚度大、质量轻 的材料,以防晃动。
第7章 智能汽车设计实践—— 摄像头型设计
第7章 智能汽车设计实践——摄像头型设计
两种检测方案的比较——
路径识别方法 优 点 缺 点
红外光电管 传感器方案
1.电路设计相对简单 2.检测信息速度快 3.成本低
1.道路参数检测精度低、种类少 2.检测前瞻距离短 3.耗电量大 4.占用MCU端口资源较多 5.容易受到外界光线影响
武汉科技大学信息科学与工程学院
7.3
软件设计
摄像头方案具体主程序流程图如图7.4所示。
图7.4 摄像头方案具体主程序流程图
武汉科技大学信息科学与工程学院
7.3 7.3.1
7.3.2 7.3.3 7.3.4 7.3.5
武汉科技大学信息科学与工程学院
软件设计 初始化算法
图像采集算法 黑线提取算法 图像滤波算法 控制策略及控制算法
7.3.1
初始化算法
1.锁相环的设置 2.脉冲宽度调制(PWM)初始化 3.定时中断及输入捕捉通道的初始化
4.A/D转换模块初始化
5.外部中端(IRQ)的初始化
武汉科技大学信息科学与工程学院
1.锁相环的设置
通过设置锁相环,可以改变单片机的时钟频率。 在MC9S12单片机中,靠锁相环产生的时钟频 率由下面的公式得到:
武汉科技大学信息科学与工程学院
第7章 智能汽车设计实践——摄像头型设计
1
7.1
机械设计
2
7.2
硬件设计
3
7.3
软件设计
武汉科技大学信息科学与工程学院
7.1
机械设计
同光电管方案比起来,摄像头方案机械设计的不 同主要体现在摄像头传感器的安装上,而舵机及 车速检测单元的安装基本同光电管一样。下面我 们将重点介绍摄像头传感器安装这一问题。 摄像头的作用是检测道路的信息,相当于人的眼 睛,其视野范围和前瞻距离决定了小车的过弯性 能和速度。所以摄像头的安装方式要适当。摄像 头的安装方案有两种:一种是正向安装,另一种 是旋转90°安装。
武汉科技大学信息科学与工程学院
7.2.2
电源管理单元
(1)采用稳压管芯片LM2576将电源电压稳压到5 V后, 给单片机系统电路、车速检测的转角编码器电路供电, 且为后面的升压降压做准备; (2)经过一个二极管降至6.5 V左右后供给转向伺服 电机; (3)直接给直流驱动电机、驱动芯片MC33886电路 供电; (4)采用升压芯片B0512S将5 V电压升压到12 V后, 给摄像头供电; (5)采用稳压芯片LT1764将5 V电压稳压到2.5 V后, 作为单片机A/D模块参考电压。
电源管理单元 路径识别单元
武汉科技大学信息科学与工程学院
7.2.1
HCS12控制核心
HCS12控制核心单元既可以直接采用组委会提 供的MC9S12EVKX电路板,也可以自行购买 MC9S12DG128单片机,然后量身制作适合自 己需要的最小开发系统。
武汉科技大学信息科学与工程学院
7.2.1
HCS12控制核心
武汉科技大学信息科学与工程学院
7.2.3
路径识别单元
要能有效地采样摄像头视频信号,首先要处理好 的技术问题就是能提取出摄像头信号中的行同步 脉冲、消隐脉冲和场同步脉冲。否则,单片机将 无法识别所接收到的视频信号处在哪一场,也无 法识别是在该场中的场消隐区还是视频信号区, 更无法识别是在视频信号区的第几行。
武汉科技大学信息科学与工程学院
7.2.3
路径识别单元
要处理好行同步脉冲和场同步脉冲提取的问题, 有以下两种可供参考的方法。
方法一:直接采用A/D转换进行提取。当摄像头信号为 行同步脉冲、消隐脉冲或场同步脉冲时,摄像头信号 电平就会低于这些脉冲模式之外时的摄像头信号电平。 据此,可设一个信号电平阈值来判断A/D转换采样到的 摄像头信号是否为行同步脉冲、消隐脉冲或场同步脉 冲。 方法二:就是给单片机配以合适的外围芯片,此芯片 要能够自己提取出摄像头信号的行同步脉冲、消隐脉 冲和场同步脉冲,以供单片机控制之用。
武汉科技大学信息科学与工程学院
7.2.3
路径识别单元
其二,在智能车控制系统中,S12除负责摄像头视频 采样方面的处理之外,还要负责黑色引导线的提取、 方向速度控制等方面的处理,但毕竟MC9S12DG128 的处理能力还是有限的,若采用此方法,会使得在视 频采样上花费较多的S12处理资源,这样摄像头视频 采样本身的效率较低。此外,黑色引导线的提取、方 向速度控制等方面的设计也会局限于所剩余的单片机 处理资源。
武汉科技大学信息科学与工程学院
相关文档
最新文档