版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第九讲 综合设计(一) 智能车控制黄文恺一、智能车概述n智能车的工作模式是:光电、电磁或摄像头中得一种或几种传感器探测赛道信息,转速传感器检测当前车速,电池电压监测电路检测电池电压,并将这些信息输入单片机进行处理。通过控制算法对赛车发出控制命令,通过转向舵机和驱动电机对赛车的运动轨迹和速度进行实时控制。智能车使用摄像头传感器的智能车使用摄像头传感器的智能车使用红外传感器的智能车使用红外传感器的智能车1个红外接收管,2个红外发射接收管组成的模块二、构建一辆简单的智能车系统n由红外传感器,单片机、电机驱动芯片和两个电机即可构成一套控制系统,再加上底盘,即可构成一辆简单的寻迹智能车。基本的智能车系统
2、框图红外传感器采集道路信息单片机处理信息电机驱动芯片(如L298)电机电源部分单片机使用5V供电,电池供电的是有电压波动的,例如一节5号充电电池,充满是1.5V,随着放电时间的累积,会逐渐下降到1.0V以下。需要用稳压模块进行稳压。常用的5V稳压IC有7805,LM2940-5等。电容起滤波作用,特别是电机启动时耗电大,可能会把电压拉低,造成波动,导致单片机重启。电机驱动部分使用L298N驱动电机。二极管使用1N5819或1N5822红外传感器部分使用使用RPR220,电路简单,左边是发光二极管,接一个限流电,电路简单,左边是发光二极管,接一个限流电阻即可。右边光电二极管接单片机的阻即可。右边
3、光电二极管接单片机的AD口即可采集到数据。口即可采集到数据。开始启动寻迹程序探 测 黑 线是否探测到黑线判断处理程序(switch)右轮探测到黑线左轮探测到黑线左右轮同时探测到黑线向 右 转向 左 转继续前进继 续 前 进是否结束编程思想n红外传感器检测端连接的是单片机的A/D口,当红外光射到白色地面反射则光电管导通,检测到低电平,射到黑色的线,则光线吸收,检测到高电平。由于模拟电路不可能产生完美高低电平。必须设置一个阈值,例如大于2.5V,就是高电平(黑色),低于2.5V,就是低电平(白色)。10位精度的AD,则511为2.5V。n使用定时器中断,每隔1MS去检测一次上述传感器的状态。检测到
4、传感器值发生变化时,则改变PWM的值,来改变电机的转速,使智能车前进或左、右转。简单的路径算法黑线在中间,两电机速度一致前进黑线在中间,两电机速度一致前进黑线靠左,右电机减速,往右转一点黑线靠左,右电机减速,往右转一点黑线靠最左,左电机加速,右电机减速,黑线靠最左,左电机加速,右电机减速,往右多转点。往右多转点。黑线靠左,左电机减速,往左转一点黑线靠左,左电机减速,往左转一点黑线靠最左,左电机减速,右电机加速,黑线靠最左,左电机减速,右电机加速,往右多转点往右多转点。黑线检测不到,冲出跑道,根据上黑线检测不到,冲出跑道,根据上一次检测到的结果,继续往一边转,一次检测到的结果,继续往一边转,直到
5、检测到跑道为止。直到检测到跑道为止。三、程序讲解(AIcar文件夹里)n#include “iom16v.h”#include “macros.h”unsigned int Leftspeed,Rightspeed; /全局变量,左右电机的转速全局变量,左右电机的转速const int threshold=511; /设置阈值,高于阈值为低电平,低于阈值为高电平设置阈值,高于阈值为低电平,低于阈值为高电平 unsigned char prestatus=0b00000100; /上一次的值,默认初始值在中间上一次的值,默认初始值在中间n#pragma interrupt_handler Int
6、_TCCR0: 20 /定时器定时器0中断中断 void Int_TCCR0(void) n unsigned int AD5; unsigned char a,key=0; for(a=0;a5;a+) ADa=get_AD(a); /循环循环5次,每次采集一次次,每次采集一次AD数据数据n if (ADathreshold) key&=(0a); /如果某位小于阈值则将该为置如果某位小于阈值则将该为置0 else key|=(1a); /如果大于阈值则将改位设置为如果大于阈值则将改位设置为1 nif (prestatus=key) nswitch(key) /判断黑线的值判断黑线的值n c
7、ase 0b00000100: Leftspeed=Rightspeed=100; break; n case 0b00001000: Leftspeed+=30;break;n case 0b00010000: Leftspeed+=50;Rightspeed-=50;break; n case 0b00000010: Leftspeed-=30;break; n case 0b00000001: Leftspeed-=50;Rightspeed+=50;break; n case 0b00000000: Leftspeed=Rightspeed=0; break; n default: L
8、eftspeed=Rightspeed=0; break; n n prestatus=key; /赋值改变状态值赋值改变状态值采集函数unsigned int get_AD(unsigned char a) /AD采样函数 unsigned int i; /设置变量采集设置变量采集AD数据数据 ADMUX = (1 REFS0)|a; /*AVCC、选取通道、选取通道a,看数据手册,看数据手册204页,页,MUX04到到MUX0的状态分别是表示选通的状态分别是表示选通AD0到到AD7的的*/ADCSRA = (1 ADEN) | (1 ADSC)/*使能、开启使能、开启*/ | (1 ADP
9、S1) | (1 ADPS0);/*8分频分频*/while(!(ADCSRA & (1 ADIF);/*等待采样结束等待采样结束*/i = ADC;/*读取读取AD结果结果*/ADCSRA &= (1 ADIF); /*清标志清标志*/ADCSRA &= (1 ADEN); /*关闭转换关闭转换*/return i; /*返回结果返回结果*/nvoid io_init(void) / 端口初始化端口初始化 DDRC=0X00; PORTC=0XFF; DDRD=0XFF; PORTD=0XFF; DDRA=0X00; PORTA=0XFF; DDRB=0XFF; PORTA=0XFF;nvo
10、id pwm_init(void) / 10位相位修正位相位修正PWMTCCR1A|=(1WGM11)|(1WGM10)|(1COM1A1)|(1COM1B1); TCCR1B|=(1CS11)|(1CS10);nvoid timer_init(void) /设置定时器设置定时器 TCCR0=0 x0B; /CTC模式,系统频率模式,系统频率64分频,分频,OC0引脚断开引脚断开 TCNT0=0 x00; OCR0=0 x3E; /1ms定时的比较值定时的比较值 TIMSK=0 x02; /T/C0比较匹配中断开放比较匹配中断开放 主程序nvoid main(void)n n CLI(); /
11、关全局中断关全局中断n io_init();n pwm_init();n timer_init();n SEI(); /全局中断开放全局中断开放n Leftspeed=100; /给小车的初始状态值给小车的初始状态值n Rightspeed=100;n while(1)n n PORTD=(1PD0)|(1PD2); /设置IN1和IN3为高电平 电机均正转n OCR1A = Leftspeed; /全局变量改变速度值全局变量改变速度值n OCR1B= Rightspeed;n n n注意事项n1、循迹小车设计说明书循迹小车设计说明书放在第九讲文件夹中。程放在第九讲文件夹中。程序在序在AICAR文件夹中。文件夹中。n2、由于、由于PROTUES没有光电二极管的库,没有提供连没有光电二极管的库,没有提供连接图,所以请按照实际来接线。光电传感器接收端接接图,所以请按照实际来接线。光电传感器接收端接在在ADC0至至ADC4中。中。n3、阈值、初始速度值、速度改变值等,可根据小车的、阈值、初始速度值、速度改变值等,可根据小车的实际采集情况和运行速度来修改和调试。实际采集情况和运行速度来修改和调试。n4、小车的电机不可能完全一致,走直线时可能、小车的电机不可能完全一致,走直线时可能PWM值一样,但是速度都不一样,必须现场调试
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 别墅大棚出租合同范本
- 合同撤诉解协议书模板
- 厂房电缆外包合同范本
- 卫生合作协议合同范本
- 协议解除装修合同模板
- 南通汽车租赁合同范本
- 协议书范本换房协议书
- 农超租赁合同独家协议
- 制作宣传材料合同范本
- 区域代理项目合同范本
- 消防联动调试方案(完整版)
- 收费站廉政培训课件
- 酒店数字化运营知识培训课件
- 2025至2030中国健康管理行业发展形势及投资规划预测报告
- 2023年无锡市江阴文化商业旅游产业集团有限公司招聘考试真题及答案附答案详解(完整版)
- 终末病历质控工作规范与案例
- 四川省石渠县2025年上半年公开招聘辅警试题含答案分析
- 合同签订与履行法律风险防范
- 基孔肯雅热危害及预防课件
- 2025年婴幼儿发展引导员(高级)职业技能鉴定考试题库(含答案)
- 农行对导盲犬管理办法
评论
0/150
提交评论