




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第九届智能车竞赛培训 2011 4 21冀连杰 提纲 一 智能车总体构成 二 基本元器件详细介绍 三 智能车各模块详细介绍 四 焊接及其注意事项 五 程序基础知识及编写 2 一 智能车总体构成 使用LED或者LCD显示信息 便于交互 捕获外界信号 相当于智能车的眼睛 由电机控制器及电机构成 微处理器 显示模块 传感器模块 驱动模块 二 基本元器件详细介绍 1 电阻 在电路中通常起分压分流的作用 电阻通常用R表示 第一条色环 阻值的第一位数字 第二条色环 阻值的第二位数字 第三条色环 阻值的第三位数字 第四条色环 阻值乘数的10的幂数 第五条色环 误差 常见是棕色 误差为1 图中所示电阻值为 120 100 120欧 4 2 电容 记为C 104为0 1uF 104前两位表示有效数字 第三位数字是倍率 用于消除高频干扰 电解电容可直接读数 白条边为负极 用于消除低频干扰 5 3 二极管 只往一个方向传送电流的电子零件 记为D 晶体二极管为一个由P型半导体和N型半导体形成的P N结 在智能车中用于阻止电流反向流动 由镓与砷 磷的化合物制成的二极管 当电子与空穴复合时能辐射出可见光 在电路及仪器中作为指示灯 6 4 比较器 比较器是将一个模拟电压信号与一个基准电压相比较的电路 比较器的两路输入为模拟信号 输出则为二进制信号 输入电压的差值增大或减小时 其输出保持恒定 右图中 2脚通过电位器R15提供基准电压 3脚为输入模拟电压 当3脚电压高于2脚基准电压时 1脚输出高电平 发光二极管D10不亮 反之 当3脚电压低于2脚基准电压时 1脚输出低电平 发光二极管D10点亮 7 LM324 LM324系列器件为价格便宜的带有真差动输入的四运算放大器 两个信号输入端中 INPUT为反相输入端 表示运放输出端OUT的信号与该输入端的位相反 INPUT为同相输入端 表示运放输出端OUT的信号与该输入端的相位相同 当运算放大器在没有反馈电路情况下作为比较器使用 8 5 反射式红外光电传感器 ST188 ST188采用高发射功率红外光电二极管和高灵敏度光电晶体管组成 检测距离可调 4 13mm 9 6 稳压集成电路 用78 79系列三端稳压IC来组成稳压电源所需的外围元件极少 电路内部还有过流 过热及调整管的保护电路 使用起来可靠 方便 而且价格便宜 该系列集成稳压IC型号中的78或79后面的数字代表该三端集成稳压电路的输出电压 如7805表示输出电压为正5V 7909表示输出电压为负9V 右图中 1脚为输入脚 2脚地 3脚输出 常在其外围接瓷片电容及电解电容 给智能车提供稳定的电源 10 6 电位器 电位器的电阻体有两个固定端 通过手动调节转轴或滑柄 改变动触点在电阻体上的位置 从而改变了动触点与任一个固定端之间的电阻值 从而改变了电压与电流的大小 通常 电位器中间的管脚接到动触点 通过调节转轴改变中间管脚与两端管脚之间的电阻 从而改变电压的大小 11 7 液晶屏 1602为2 8字符型液晶屏 工作电压4 5 5 5V 根据时序图给各引脚正确时序后 可显示字符 12 8 电机驱动芯片 L298N恒压恒流桥式2A驱动芯片 L298N可接受标准TTL逻辑电平信号VSS VSS可接4 5 7V电压 4脚VS接电源电压 VS电压范围VIH为 2 5 46V 输出电流可达2 5A 可驱动电感性负载 1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻 形成电流传感信号 L298可驱动2个电动机 OUT1 OUT2和OUT3 OUT4之间可分别接电动机 13 三 智能车各模块详细介绍 1 微处理器 AT89S52是一种低功耗 高性能的片内含有8KB快闪可编程 擦除只读存储器的8位CMOS微控制器 使用高密度 非易失存储技术制造 并且与80C51引脚和指令系统完全兼容 单片机最小系统电路 三 智能车各模块详细介绍 2 显示模块 1602接法如下图所示 本次设计采用模拟总线方式 液晶屏1602的基本操作时序为 读操作时序 写操作时序 三 智能车各模块详细介绍 3 传感器模块 上图为红外光电传感器模块电路 当ST188前方为白色时 ST188接收管导通 电阻值减少 输出电压降低 此时比较器同相输入端 3脚 输入电压小 比较器输出为低电平 发光二极管点亮 光传感器模块 上图为光敏电阻模块电路 光敏电阻阻值随光照强度增大而减小 首先在自然光条件下调节R18改变基准电压 使发光二极管点亮 当光照强度增大 光敏电阻阻值减少 输出电压增加 此时比较器同相输入端 3脚 输入电压大 比较器输出为高电平 发光二极管熄灭 三 智能车各模块详细介绍 4 电机驱动模块 L298控制方法 本设计中采用脉宽调制技术 PWM 控制使能端 En 然后改变IN1和IN2的状态实现电机的正转和反转 同时可改变脉宽的占空比来调节电机的转速 PWM波形为周期不变的周期性高低电平信号 占空比为高电平时间除以周期 改变占空比实质上是改变了电动机的驱动电压 下图为10 和50 占空比的PWM信号 1 焊接方法及顺序 1 焊前处理 清除焊接部位的氧化层元件镀锡 2 焊接方法右手持电烙铁 左手用尖嘴钳或镊子夹持元件或导线 焊接前 电烙铁要充分预热 烙铁头刃面上要吃锡 即带上一定量焊锡 将烙铁头刃面紧贴在焊点处 电烙铁与水平面大约成60 角 以便于熔化的锡从烙铁头上流到焊点上 烙铁头在焊点处停留的时间控制在2 3秒钟 抬开烙铁头 左手仍持元件不动 待焊点处的锡冷却凝固后 才可松开左手 用镊子转动引线 确认不松动 然后可用偏口钳剪去多余的引线 3 焊接顺序焊接时 应先焊接比较低的元器件 最后焊接高的元器件 22 注意事项 1 电路板所有方形孔为正极 有正负极的元器件需注意方向 需要注意方向的器件包括 发光二极管 二极管 电源座 传感器接口 方孔接ST188发射端 白色管 芯片座 凹槽与电路板上对应 电解电容 白色边为负 液晶显示屏 7805 正面1脚接方孔 电源适配器 白色条纹线为正 注 若器件接反可能导致电路板烧毁 2 R15 R16 R17及电路板左上方白线框内器件不需要焊接 3 ST188接线顺序从左至右依次为U11 U10 U12和U13 4 严禁带电拔插芯片 23 五 程序基础知识及编写 1 建立C项目软件 KEILuVISION2 1 首先将Keil解压到C盘根目录下 打开keil目录下UV2文件夹中UV2即可打开Keil 点击Project菜单 选择弹NewProject 如图1 接着弹出一个标准Windows文件对话窗口 在 文件名 中输入您的第一个C程序项目名称 保存 后的文件扩展名为uv2 这是KEILuVision2项目文件扩展名 以后我们可以直接点击此文件以打开先前做的项目 图1 Project菜单 图2 文件窗口 2 选择所要的单片机 这里我们选择常用的Ateml公司的AT89C52 此时屏幕如下图所示 3 首先我们要在项目中创建新的程序文件或加入旧程序文件 如果你没有现成的程序 那么就要新建一个程序文件 点击新建文件的快捷按钮 在下图中出现一个新的文字编辑窗口 就可以编写程序了 4 写入例程后 点击保存按钮 保存新建的程序 因是新文件所以保存时会弹出类文件操作窗口 我们把第一个程序命名为test1 c 保存在项目所在的目录中 这时你会发现程序单词有了不同的颜色 说明KEIL的C语法检查生效了 然后在屏幕左边的SourceGroup1文件夹图标上右击弹出菜单 在这里可以做在项目中增加减少文件等操作 单击AddFiletoGroup SourceGroup1 弹出文件窗口 选择刚刚保存的文件 按ADD按钮 关闭文件窗 程序文件已加到项目中了 这时在SourceGroup1文件夹图标左边出现了一个小 号说明 文件组中有了文件 点击它可以展开查看 5 C程序文件已被我们加到了项目中了 接下来编译运行 下图1中 红色框内都是编译按钮 从左到右依次为1 2 3 不同是1是用于编译单个文件 2是编译当前项目 如果先前编译过一次之后文件没有做动编辑改动 这时再点击是不会再次重新编译的 3是重新编译 每点击一次均会再次编译链接一次 不管程序是否有改动 在3右边的是停止编译按钮 只有点击了前三个中的任一个 停止按钮才会生效 图2和图3是编程中产生hex文件的设置 在图2中 选中Target单击右键 弹出菜单中选择Targat1属性 弹出图3属性页 选中红色圆圈内选择框即可 编译完程序后hex文件产生在工程文件夹内 图1编译按钮 图2选择工程属性 图3属性页 五 程序基础知识及编写 2 单片机C语言基础数据类型 1 char字符类型char类型的长度是一个字节 通常用于定义处理字符数据的变量或常量 分无符号字符类型unsignedchar和有符号字符类型signedchar 默认值为signedchar类型 unsignedchar类型用字节中所有的位来表示数值 所可以表达的数值范围是0 255 signedchar类型用字节中最高位字节表示数据的符号 0 表示正数 1 表示负数 负数用补码表示 所能表示的数值范围是 128 127 unsignedchar常用于处理ASCII字符或用于处理小于或等于255的整型数 正数的补码与原码相同 负二进制数的补码等于它的绝对值按位取反后加1 2 int整型int整型长度为两个字节 用于存放一个双字节数据 分有符号int整型数signedint和无符号整型数unsignedint 默认值为signedint类型 signedint表示的数值范围是 32768 32767 字节中最高位表示数据的符号 0 表示正数 1 表示负数 unsignedint表示的数值范围是0 65535 3 long长整型long长整型长度为四个字节 用于存放一个四字节数据 分有符号long长整型signedlong和无符号长整型unsignedlong 默认值为signedlong类型 signedint表示的数值范围是 2147483648 2147483647 字节中最高位表示数据的符号 0 表示正数 1 表示负数 unsignedlong表示的数值范围是0 4294967295 4 float浮点型float浮点型在十进制中具有7位有效数字 是符合IEEE 754标准的单精度浮点型数据 占用四个字节 5 指针型指针型本身就是一个变量 在这个变量中存放的指向另一个数据的地址 这个指针变量要占据一定的内存单元 对不同的处理器长度也不尽相同 在C51中它的长度一般为1 3个字节 指针变量也具有数据类型 6 bit位标量bit位标量是C51编译器的一种扩充数据类型 利用它可定义一个位标量 但不能定义位指针 也不能定义位数组 它的值是一个二进制位 不是0就是1 类似一些高级语言中的Boolean类型中的True和False 运算符和表达式 赋值运算符赋值运算符将一个变量与一个表达式连接起来的式子为赋值表达式 在表达式后面加 便构成了赋值语句 使用 的赋值语句格式如下 变量 表达式 示例如下a 0 xFF 将常数十六进制数FF赋于变量ab c 33 同时赋值给变量b cd e 将变量e的值赋于变量df a b 将变量a b的值赋于变量f注 符号是用来进行相等关系运算 算术 增减量运算符对于a b a b这样的表达式大家都很熟悉 用在C语言中 就是算术运算符 C51中的算术运算符有如下几个 其中只有取正值和取负值运算符是单目运算符 其它则都是双目运算符 加或取正值运算符 减或取负值运算符 乘运算符 除运算符 取余运算符算术表达式的形式 表达式1算术运算符表达式2 简单例程 循迹小车程序讲解 流程图 开始 扫描光照强度 小 初始化液晶及寄存器 扫描传感器状态 无变化 控制电机状态 终止 停止信号 N 头文件及变量定义 机器人大赛例程 include include defineucharunsignedchar defineuintunsignedint include motor h include 1602 h sbitBUZZER P1 7 蜂鸣器sbitOPT P3 2 光敏电阻INT0sbitREED P3 3 干簧管INT1ucharALL WHITE FLAG 0 全白标志位ucharALL BLACK FLAG 0 全黑标志位ucharTURN FLAG 0 转弯标志ucharCOUNT FOR REED 0 雷区计数标志 控制口定义 L298N接口定义 sbitLEFT IN1 P1 3 左边电机sbitLEFT EN P1 4 sbitLEFT IN2 P1 5 sbitRIGHT IN1 P1 2 右边电机sbitRIGHT EN P1 1 sbitRIGHT IN2 P1 0 PWM定义产生 definePWM PERIOD100ucharPWM COUNTER 0 pwm产生周期100 100usucharLEFT PWM DUTY 50 左边电机占空比ucharRIGHT PWM DUTY 50 右边电机占空比 1602接口定义 definelataportP2 8位数据口 硬件 definebuly0 x80 忙检测DB7 10000000sbitrs P0 7 寄存器选择输入端 硬件 sbitrw P0 6 读写控制输入端 硬件 sbite P0 5 使能信号输入端 硬件 内部资源初始化 voidInit void TMOD 0 x12 设定T1的工作模式为1 16bit计数模式 设定T0的工作模式为2 8bit重装初值模式TH0 0 x9c 100us定时2 8 100 156 9cHTL0 0 x9c TH1 65536 50000 256 50000us 50msTL1 65536 50000 256 定时50msIT0 0 中断触发方式控制 1 下降沿 0 电平IP 0 x03 中断优先级 定时器0 外部中断0优先EA 1 开总中断EX0 1 外部中断0允许中断EX1 1 外部中断1允许中断ET0 1 定时器0允许中断ET1 1 定时器1允许中断TR1 1 启动定时器1TR0 1 启动定时器0 定时器0 函数功能 输出PWM波voidTimer0 void interrupt1using1 PWM COUNTER if PWM COUNTERLEFT PWM DUTY LEFT EN 0 if PWM COUNTER RIGHT PWM DUTY RIGHT EN 0 else PWM COUNTER 0 LEFT EN 1 RIGHT EN 1 定时器1 函数功能 时钟voidtimer1 interrupt3 ucharcnt TH1 65536 50000 256 TL1 65536 50000 256 cnt if cnt 20 cnt 0 SecondL if SecondL 10 SecondL 0 SecondH if SecondH 6 SecondH 0 MinuteL if MinuteL 10 MinuteL 0 MinuteH 液晶屏程序 液晶屏程序见1602 h voidmain ucharroad status road status pre Init 内部资源初始化LcdReset 液晶初始化DisplayListChar 0 0 Time 4 DispOneChar 7 0 DisplayListChar 0 1 CUGROBOTTEAM 14 传感器左1 P0 0以此类推 while REED 1 未检测到雷时继续循迹 road status P0 循迹程序 函数名称 RoadTrackvoidRoadTrack road status switch road status case1 GoHead 28 12 break 小右转case2 GoHead 2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025内蒙古呼和浩特市新城区东街西街街道社区卫生服务中心招聘3人考前自测高频考点模拟试题及完整答案详解
- 2025贵州安顺市紫云苗族布依族自治县利源融资担保有限责任公司招聘1人考前自测高频考点模拟试题及一套完整答案详解
- 2025海南文昌市人民医院编外工作人员招聘(9号)模拟试卷附答案详解(黄金题型)
- 安全培训教师报到册课件
- 安全培训教师工作简历课件
- 小学安全培训总结讲话课件
- 小学安全培训学费课件
- 2025年佳木斯同江市事业单位公开遴选管理人员和专业技术人员73人考前自测高频考点模拟试题及答案详解(夺冠)
- 2025福建三明市大田县住房和城乡建设局(房地产服务中心)补招聘工作人员(政府购买服务)1人模拟试卷及参考答案详解一套
- 2025年杭州市余杭区卫生健康系统事业单位招聘编外工作人员73人模拟试卷及答案详解(夺冠)
- 2025房地产中介劳动合同协议书范本
- 教科版科学五年级上册2.1地球的表面教学课件
- 急进性肾小球肾炎患者的护理
- 2025至2030中国克罗恩病药物行业项目调研及市场前景预测评估报告
- 知识分享大讲堂活动方案
- 2026届初三启动仪式校长讲话:初三启航!以信念为舵赴青春与使命之约
- 制药企业GMP生产质量管理培训资料
- 4.1.2+无理数指数幂及其运算性质课件-2025-2026学年高一上学期数学人教A版必修第一册
- 土地管理法测试题及答案
- XX中小学落实“双减”政策及加强“五项管理”实施方案
- 工程用工实名管理方案(3篇)
评论
0/150
提交评论