无线遥控玩具小车设计与制作_第1页
无线遥控玩具小车设计与制作_第2页
无线遥控玩具小车设计与制作_第3页
无线遥控玩具小车设计与制作_第4页
无线遥控玩具小车设计与制作_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

- 1 - “发明杯发明杯”大学生创新大赛作品大学生创新大赛作品 题 目: 无线遥控玩具小车设计与制作 - 2 - 目目 录录 摘要1 引言3 1 方案设计与论证 4 1.1 直流调速系统 4 1.2 防碰撞系统5 1.3 显示系统5 2 硬件设计 5 2.1 小车系统框图5 2.2 单片机最小系统设计6 2.3 电机驱动电路设计7 2.4 遥控发射接收电路设计9 2.4.1 无线发送电路 10 2.4.2 无线接收电路 11 2.5 检测系统设计11 2.5.1 速度检测设计 11 2.5.2 防跌落系统设计 12 2.5.3 防碰撞系统设计 13 2.6 显示电路设计13 2.7 单片机 I/O 口的分配14 2.8 电源设计14 2.9 小车车体设计14 3 软件设计 15 3.1 主程序设计15 3.2 PWM 子程序设计17 3.3 遥控子程序 18 3.4 防跌落、碰撞子程序 20 3.5 显示子程序 21 4 结果分析及结论 22 5 谢辞 - 3 - 23 6 参考文献 23 附件 1 程序清单 24 附件 2 硬件电路图 33 附件 3 电路 PCB 图 34 - 4 - 无线遥控玩具小车设计与制作无线遥控玩具小车设计与制作 摘要摘要: : 80C51 单片机是一款八位单片机,他的易用性和多功能性受到了广大使用者的好 评,该课题的基本思想是设计一台能够遥控行走并自动回退防止跌落的机器小车。遥控 接收端以 80C51 单片机为控制核心,其中数据的发射和接收部分通过无线通讯模块完 成。可通过发射端来控制小车的直流电机实现无极调速, 遥控小车进行转向, 并能在 液晶上显示出小车的实时速度值。小车还能自动检测落差较大的落差,遇到楼梯等低 处会自动回避,以防止小车由高处摔落。 关键词关键词: :80C51 单片机、PWM 调速、遥控小车 - 5 - 引言引言 在我国,单片机已不是一个陌生的名词,它的出现是近代计算机技术的里程碑事 件,因为单片机的诞生标志着计算机正式形成了通用计算机系统和嵌入式计算机系统 两大分支。在单片机诞生之前,为了满足工控对象的嵌入式应用要求,只能将计算机 进行机械加固、电气加固后嵌入到对象体系中构成自动控制。但由于体积过大,无法 嵌入到大多数对象体系,如家电、玩具、仪器仪表等。单片机则应嵌入式应运而生。 单片机的微小体积和极低的成本,可广泛应用到如玩具、家电、仪器仪表、汽车电子 系统、工业控制单元、办工自动化系统、金融电子系统、个人信息终端及通信产品中, 成为现代化电子系统中最重要的智能化工具。 本系统以 80C51 单片机为核心器件,由一块液晶显示小车的运动数据,采用 L298N 来驱动控制电机的正反转,利用无线遥控装置对小车进行遥控,实现具有前进、 后退、左移和右移四种运动方式。利用光电一体化红外线传感器,检测落差较大的地 方,实现自己判定,并自己避免落到落差较大的地方。利用微动开关,实现小车碰撞 到物体后能自动回避,从而达到遥控智能控制的目的。 基于单片机控制的设计思想,选用廉价的遥控编码解码集成电路(PT2262/PT2272) 采用 LM298N 芯片驱动直流电机,通过 PWM 实现调速,在小车的外围安置红外传感器。 实现小车的无级调速控制 ,小车调试性能稳定。这种遥控方案能实现对电动小车的运 动状态进行实时控制,控制灵活、可靠,精度高,可满足对系统的各项要求。 - 6 - 1 1 设计方案与论证设计方案与论证 根据设计的要求,确定如下方案:在现有玩具电动小车的基础上,加装光电检测 器,无线模块,实现对电动小车的无线遥控,能对小车的速度、位置、运行状况的实 时控制,并将测量数据传送至单片机进行处理,由单片机根据所检测的各种数据送液 晶显示出来。 1.11.1 直流调速系统直流调速系统 方案一:静止可控整流器。 方案二:脉宽调速系统。 方案一:静止可控整流器。 V.M 系统是当今直流调速系统的主要形式。它可以是 单相、三相或更多相数,半波、全波、半控、全控等类型,可实现平滑调速。V.M 系 统的缺点是晶闸管的单向导电性,它不允许电流反向,给系统的可逆运行造成困难。 它的另一个缺点是运行条件要求高,维护运行麻烦。最后,当系统处于低速运行时, 系统的功率因数很低,并产生较大的谐波电流危害附近的用电设备。 方案二:脉宽调速系统。 采用晶闸管的直流斩波器基本原理与整流电路不同的是, 在这里晶闸管不受相位控制,而是工作在开关状态。当晶闸管被触发导通时,电源电 压加到电动机上,当晶闸管关断时,直流电源与电动机断开,电动机经二极管续流, 两端电压接近于零。脉冲宽度调制(Pulse Width Modulation) ,简称 PWM。脉冲周期 不变,只改变晶闸管的导通时间,即通过改变脉冲宽度来进行直流调速。 与 V.M 系统相比,PWM 调速系统有下列优点: (1)PWM 调速系统的开关频率较高,仅靠电枢电感的滤波作用就可以获得脉动 很小的直流电流,电枢电流容易连续,系统的低速运行平稳,调速范围较宽。由于电 流波形比 V.M 系统好,在相同的平均电流下,电动机的损耗和发热都比较小。 (2)同样由于开关频率高,若与快速响应的电机相配合,系统可以获得很宽的频 带,因此快速响应性能好,动态抗扰能力强。 根据以上综合比较,以及本设计中受控电机的容量和直流电机调速的发展方向, 本设计采用了 H 型单极型可逆 PWM 变换器进行调速。 脉宽调速系统的主电路采用脉宽调制式变换器,简称 PWM 变换器。脉宽调速的驱 动能力有限。为顺利实现电动小汽车的前行与倒车,本设计采用了可逆 PWM 变换器。 - 7 - 可逆 PWM 变换器主电路的结构式有 H 型、T 型等类型。我们在设计中采用了常用的双极 式 H 型变换器,它是由 4 个三极电力晶体管和 4 个续流二极管组成的桥式电路。 1.21.2 防碰撞系统防碰撞系统 障碍物的检测方案 (1)利用超声波探测传感器 可以在较远的距离就可以检测到前方的障碍物,但超声波探测传感器的价格昂贵, 电路需要调试、验证,用于遥控小车上会大大增加小车的成本,并不合适。 (2)利用红外一体化光电传感器 电路简单,但受外界的条件的干扰比较大,还有对于黑色的障碍物体不能辨别, 因为黑色会吸收红外光,造成检测不到黑色物体,对小车的运动会影响。 (3)利用微动开关传感器 利用微动开关传感器检测障碍,价格便宜,而且是硬件结构,结构简单,实用性 强,当碰到障碍物时微动开关就马上动作,避开障碍物,不用外接电路,也不用电源, 可以节约电能的使用。 我们从经济实用的方面考虑,在此我们采用第三种方案。 1.31.3 显示系统显示系统 (1)采用数码管显示 数码管显示具有高亮的特性,但数码管的驱动电流比较大,要外加驱动电路,会 增加小车的成本,而且占用单片机的 I/O 口资源和单片机资源较多,并且此电路要用 多位数码管显示,使电路变的更复杂。 (2)采用液晶显示 液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍 式仪表和低功耗应用系统中得到越来越广泛的应用,采用液晶能直观的将速度显示给 用户,2 行 16 个字的 1602 液晶模块比较常用,而且液晶的显示都已经模块化,我们直 接就可以用。 所以我们采用第二中方案更实用方便,用液晶显示。 2 2 硬件设计硬件设计 2.12.1 小车系统框图小车系统框图 小车主要由信号传感器,信号处理电路,无线发送模块,无线接收模块,单片机 小系统,电机驱动电路,直流电机以及液晶显示电路等组成。 - 8 - 小车的系统框图如图 2.1 所示。 图 2.1 小车系统框图 小车控制采用 AT89C51 单片机,通过控制电机驱动电路来驱动电机的运行。无线 接收模块接单片机,利用无线发送模块遥控器给接收模块发送无线信号,控制小车的 运动,液晶上显示小车的实时速度。当避障传感器或防跌落传感器测得信号时候,单 片机能自己控制电机左转或者右转,避免小车碰撞和跌落。 2.22.2 单片机最小系统设计单片机最小系统设计 80C51 是片内有 ROM/EPROM 的单片机,因此,这种芯片构成的最小系统简单、可靠。 80C51 单片机最小系统是整个小车的控制核心,负责小车的各种信号的处理计算,控制 小车的运行,就犹如小车的“大脑” 。 单片机最小系统电路组成如图 2.2 所示。 Y 1 11 .05 92 MH z C 5 20 P C 6 20 P + C 7 22 u R 2 10 K V CC S2 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 R EST 9 R XD 10 T XD 11 IN T0 12 IN T1 13 T 0 14 T 1 15 W R 16 R D 17 X TA L2 18 X TA L1 19 G ND 20 P2.0 21 P2.1 22 P2.2 23 P2.3 24 P2.4 25 P2.5 26 P2.6 27 P2.7 28 PSEN 29 A LE /P 30 E A/V P 31 P0.7 32 P0.6 33 P0.5 34 P0.4 35 P0.3 36 P0.2 37 P0.1 38 P0.0 39 V CC 40 U 3 A T8 9S5 1 1 9 2 8 3 7 4 6 5 R P1 10 K 复位 MCU V CC P15 P16 P17 P33 P36 P10 P11 P12 P13 P14 P30 P31 P32 P34 P35 P37 P00 P01 P02 P03 P04 P05 P06 P07R EST P26 P27 PWM 1 PWM 2 IN PU T 1 IN PU T 2 P24 P25 S1SW -SPS T D 5 L ED R 1 1K C 9 103 C 8 100uF V CC 图 2.2 单片机最小系统电路 单片机最小系统组成: (1)时钟电路 80C51 虽然有内部振荡电路,但要形成时钟,必须外部附加电路。80C51 单片机的 - 9 - 时钟产生方法有两种。内部时钟方式和外部时钟方式。 本设计采用内部时钟方式,利用芯片内部的振荡电路,在 XTAL1、XTAL2 引脚上外 接定时元件,内部的振荡电路便产生自激振荡。本设计采用最常用的内部时钟方式, 即用外接晶体和电容组成的并联谐振回路。振荡晶体可选用 12MHZ 的。电容值无严格 要求,但电容取值对振荡频率输出的稳定性、大小、振荡电路起振速度有少许影响, CX1、CX2 可用 20pF 的此片电容。 在设计印刷电路板时,晶体和电容应尽可能靠近单片机芯片安装,以减少寄生电 容,更好的保证振荡器稳定和可靠地工作。 (2)复位电路 复位电路通常采用上电自动复位和按钮复位两种方式。 最简单的上电自动复位电路中上电自动复位是通过外部复位电路的电容充电来实 现的。只要 Vcc 的上升时间不超过 1ms,就可以实现自动上电复位。时钟频率用 12MHZ 时 C 取 22uF,R 取 10K。除了上电复位外,有时还需要按键手动复位。按键手动复位 有电平方式和脉冲方式两种。其中电平复位是通过 RST 端经电阻与电源 Vcc 接通而实 现的。 (3)单片机下载串口 MAX232 芯片是美信公司专门为电脑的 RS-232 标准串口设计的接口电路,使用+5v 单电源供电。MAX232 下载串口基本可分三个部分: R 1 IN 13 R 2 IN 8 T 1 IN 11 T 2 IN 10 GND 15 V+ 2 V- 6 VCC 16 R 1 O UT 12 R 2 O UT 9 T 1 O UT 14 T 2 O UT 7 C 1+ 1 C 1 - 3 C 2+ 4 C 2 - 5 U 4 232 P31 E 4 1U F E 3 IUF E 2 IUF E 1 1UF P30 V CCV CC 1 6 2 7 3 8 4 9 5 J8D B9 图 2.3 单片机下载口 第一部分是电荷泵电路。由 1、2、3、4、5、6 脚和 4 只电容构成。功能是产生 - 10 - +12v 和-12v 两个电源,提供给 RS-232 串口电平的需要。 第二部分是数据转换通道。由 7、8、9、10、11、12、13、14 脚构成两个数据通 道。其中 13 脚(R1IN) 、12 脚(R1OUT) 、11 脚(T1IN) 、14 脚(T1OUT)为第一数据通 道。 8 脚(R2IN) 、9 脚(R2OUT) 、10 脚(T2IN) 、7 脚(T2OUT)为第二数据通道。 TTL/CMOS 数据从 T1IN、T2IN 输入转换成 RS-232 数据从 T1OUT、T2OUT 送到电脑 DP9 插 头;DP9 插头的 RS-232 数据从 R1IN、R2IN 输入转换成 TTL/CMOS 数据后从 R1OUT、R2OUT 输出。 第三部分是供电。15 脚 GND、16 脚 VCC(+5V) 2.32.3 电机驱动电路设计电机驱动电路设计 由于单片机输出的电压信号不能直接驱动电机运行,所以单片机必须要通过电机 驱动电路来控制电机的运行。 直流电机采用 L298N 芯片来驱动控制电机正反转和低、高速度的运行。L298N 是 SGS 公司的产品,内部包含 4 通道逻辑驱动电路。是一种二相和四相电机的专用驱动器, 即内含二个 H 桥的高电压大电流双全桥式驱动器,接收标准 TTL 逻辑电平信号,故比 较适合控制该小车类型的电机。L298N 内部结构如图 2.4 所示: 图 2.4 L298N 的内部电路 电机驱动电路的设计如图 2.5 所示: - 11 - 12 GND 7 VCC 14 U 1A 74 AL S0 4 34 U 1B 74 AL S0 4 V S 4 IN PU T 1 5 IN PU T 2 7 E NA BL E A 6 IN PU T 3 10 IN PU T 4 12 E NA BL E B 11 G ND 8 V SS 9 O UT PU T 1 2 O UT PU T 2 3 O UT PU T 3 13 O UT PU T 4 14 SE N SE A 1 SE N SE B 15 U 2 L 298 D 1 D IO DE D 2 D IO DE D 3 D IO DE D 4 D IO DE D 6 D IO DED 7 D IO DE D 8 D IO DED 9 D IO DE C 2 10 0U F C 1 10 3 V CC 12 V 12 V PWM 1 PWM 2 12 V +6VC 3 10 0u FC 4 10 3 IN PU T 2 IN PU T 1 动动动1 动动动2 动动动 图 2.5 电机驱动电路 单片机输出的控制信号 INPUT1,INPUT2 通过非门芯片 74LS04 后,接 L298N 的四个 端口,电路如图 2.5 所示,通过变换 INPUT1,INPUT2 的高低电平就可以控制两个电机 的正反转,这里非门的使用不但减少了单片机 I/O 口的使用,而且很容易的就能控制 电机的正反转,使程序也简单很多。L298N 的芯片的供电电压为标准的 5V,电机驱动的 供电电源为 12V。L298N 的输出最大电压为 46V,电流为 2.5A,驱动直流电机已经足够了。 因为 L298N 内含二个 H 桥,所以可以同时控制两个直流电机,改变输入 6 脚和 11 脚的 PWM 脉冲就可以分别调节输出电压,从而分别能控制两个直流电机的转速,互不影响, 从而控制小车的速度,转向。 2.42.4 遥控发射接收电路设计遥控发射接收电路设计 通过遥控接收电路来手动遥控小车的运行,这就要求遥控接收电路要可靠的发送, 接收,而且外界的干扰对接收电路要小。发射电路发射的无线信号频率要与空间其它 的无线信号频率不一样,避免无线信号相互干扰。所以我们可以采用 PT2262/PT2272 这一对无线发射和接受的芯片。 PT2262/2272 是台湾普城公司生产的一种 CMOS 工艺制造的低功耗低价位通用编解 码电路,PT2262/2272 最多可有 12 位(A0.A11)三态地址端管脚(悬空,接高电平,接低电 平),任意组合可提供地址码,PT2262 最多可有 6 位(D0.D5)数据端管脚,设定的地址码和 数据码从 17 脚串行输出,可用于无线遥控发射电路。 编码芯片PT2262发出的编码信号由:地址码、数据码、同步码组成一个完整的码 字,解码芯片PT2272接收到信号后,其地址码经过两次比较核对后,VT脚才输出高电 平,与此同时相应的数据脚也输出高电平,如果发送端一直按住按键,编码芯片也会 连续发射。当发射机没有按键按下时, - 12 - PT2262不接通电源,其17脚为低电平,所以315MHz的高频发射电路不工作,当有按键 按下时,PT2262得电工作,其第17脚输出经调制的串行数据信号,当17脚为高电平期 间315MHz的高频发射电路起振并发射等幅高频信号,当17脚为低平期间315MHz的高频 发射电路停止振荡,所以高频发射电路完全收控于PT2262的17脚输出的数字信号,从 而对高频电路完成幅度键控(ASK调制)相当于调制度为100的调幅。 PT2262 /PT2272 芯片引脚图 图 2.6 PT2262 引脚图 图2.7 PT2272引脚图 2.4.12.4.1 无线发送电路无线发送电路 无线遥控发射模块是由按键接收电路、遥控指令编码器、高频载波发生器、调制 电路及发射电路等组成,如图 2.8 所示。 在图 2.8 中,SB1SB4 为遥控指令操作键,PT2262 为遥控指令编码器,晶体管 VT1 和声表面波谐振器 GD315 及外围元件一起构成了高频载波发生器与调制电路,L1 既是发射天线,也是振荡电路的一部分。所使用的声表面波谐振器 GD315,具有频率 一致性非常好,工作频率为 315MHz,且工作频率的稳定度极高。 - 13 - 图 2.8 无线电遥控发射模块电路 无线遥控发射模块的工作过程是:当发射模块没有按键按下时,PT2262 不接通电 源,其 17 脚输出低电平,使晶体管 VT1 截止,所以 315MHz 高频发射电路不工作。当 SB1SB4 中有某个按键按下时,PT2262 得电工作,其 17 脚输出经过编码的串行数据 (脉冲)信号,且当 17 脚为高电平期间,315MHz 高频发射电路起振并发射出等幅高频 信号。编码器 PT2262 第 17 脚输出的编码信号是由地址码、数据码、同步码组成的一 个完整码字。如果遥控器上的按键一直按下,则编码器 PT2262 也会不停地输出脉冲串。 当 17 脚为低电平期间,315MHz 高频发射电路停止振荡。由此可知,高频发射电路完全 受控于 PT2262 第 17 脚输出的数字信号,也就是说,高频电路对 PT2262 输出的编码信 号完成幅度键控调制(ASK 调制) ,类似于调制度为 100的幅度调制。 2.4.22.4.2 无线接收电路无线接收电路 超外差式接收机具有温度适应性强,接收灵敏度高,工作稳定可靠,抗干扰能力 强,产品一致性好,接收机的本振辐射低,性能指标好,容易通过 FCC 或者 CE 等标准 的检测,但是价格较高,在广播电台、电视机等要求较高的场所使用。而超再生式接 收机具有电路简单,成本低廉等优点,在无线电遥控系统中得到了广泛应用。本遥控 系统接收模块采用了超再生接收方式。 无线遥控接收模块是由选频放大接收电路、信号放大与波形转换电路、解码芯片 PT2272 等组成,如图 2.9 所示: - 14 - 图 2.9 无线接收模块电路 在图 2.9 中,由晶体管 VT1 和 VT2 组成了选频放大电路,用于接收遥控发射器发 出的高频信号。由运算放大器 LM358 及外围元件组成了信号放大与波形转换电路,它 把输入的正弦波信号转换为矩形脉冲后送到解码电路 PT2272 处理。解码电路 PT2272 从输入的字符串中分离出地址码,并将其与从地址线输入的地址码进行两次比较核对 后,其 VT 脚(17 脚)才输出高电平,与此同时和 PT2262 相对应的数据脚也输出高电 平提供给单片机 I/O 口。 2.2.5 5 检测系统设计检测系统设计 2.5.12.5.1 速度检测设计速度检测设计 光电传感器灵敏度高、响应时间快,通过光电传感器来检测小车的运转而实现小 车速度的检测。测速信号传感器安装在小车轮子边上,采用 LM324N 集成运放及外围电 路组成红外检测电路作为测速信号传感器,实现对小车的速度信号的采集。速度检测 原理如图所示,轮子转一周,输出四个脉冲,送单片机处理,然后由单片机计算出速 度等值,送显示器显示出来。速度检测电路原理如图 2.10 所示。 光码盘 红外收 发一体 化 信 号 处 理 图 2.10 速度检测原理图 P1.01.3 80C51 - 15 - 2.5.22.5.2 防跌落系统设计防跌落系统设计 采用红外线光电一体化传感器用于检测路面的低洼处,将采集的高低电平信号经 LM324N 电压比较器后,送出标准的高低电平送单片机处理。 红外一体化光电传感器固定在小车底盘前沿,贴近地面。正常行驶时,发射管发 射红外光照射地面,光线经地面反射后被接收管接收,输出高电平信号,小车遇到低 洼处时,发射端发射的红外光线被吸收,接收端接收不到反射的红外光线,传感器输 出低电平信号后送 80C51 单片机处理。本系统共设计两个光电一体化传感器,分别装 置在小车车头的左、右两个位置,用来检测小车前方的状况,当左侧光电传感器不受 到红外光照时,单片机控制小车向右转;当右侧光电传感器不受到红外光照时,单片 机控小车向左转;当左、右两侧光电传感器都不受到红外光照时,单片机控制小车倒 退。 防跌落电路原理如图 2.11 所示: 单 片 机 图 2.11 防跌落电路原理图 电路工作原理:如果是平的地面,红外光线会经过地面反射回来,反射到接收极, 此时 U3U2,经 运放比较后,输出高电平,送单片机处理。 2.5.32.5.3 防碰撞系统设计防碰撞系统设计 小车 微动开关微动开关前 - 16 - 图 2.12 微动开关的安装位置 为防止小车碰撞障碍物时会碰坏,用两个微动开关装置装在小车的左前方和右前 方,当障碍物碰到微动开关时候,小车会按单片机设计好的方案进行自动的避开障碍 物体(左转、右转或者倒退) 。微动开关的设计位置如图 2.12 所示。 2.2.6 6 显示电路设计显示电路设计 显示的液晶采用了市面上较为普遍的 1602 液晶,显示容量为 16*2 个字符,该芯 片的正常工作电压为 4.5V-5.5V,图 2.13 是单机片与液晶 1602 的接口电路。 图 2.13 单机片与液晶的接口电路 在使用 LCD 液晶的时候需要注意的是基本操作时序,LCD 液晶显示器基本的操作时 表 2.2 液晶接口说明 序为: (1)读状态:输入:RS=L,RW=H,E=H,输出 D0D7=状态字。 (2)写指令:输入:RS=L,RW=L,D0D7=指令码,E=高脉冲,输出无。 (3)读数据:输入:RS=H,RW=H,E=H 输出 D0D7=数据。 (4)写数据:输入:RS=H,RW=L,D0D7=数据,E=高脉冲,输出无。 - 17 - 在读写操作的时候还需要注意的是对控制器每次进行读写操作之前,都必须进行 读写检测。1602 液晶的接口说明如表 2.2 所示。 2.72.7 单片机单片机 I/OI/O 口的分配口的分配 P0 口 : P0.0PO.7 接液晶的 D0D7; P1 口: P1.0P1.3 接遥控发射的四个端口; P1.6,P1.7 接防跌落,碰撞电路; P2 口: P2.7,P2.6,P2.5 分别接液晶的 RS,RW,E; P2.1,P2.2,P2.3,P2.4 四个口控制电机驱动电路; P3 口: P3.1,P3.2 接下载串口电路; P3.2,P3.3 接速度检测电路; 2.82.8 电源设计电源设计 用 12V 的直流电压给直流电机的驱动电路模块单独供电,使电机驱动电路与单片 机小系统之间不会通过电源而相互影响,而且可以保证电机的驱动电流足够大。用 6V 电池给单片机系统以及检测电路供电,由于单片机的电源电压范围为 5V 左右,所以可 以在单片机与 6V 电源之间串接一个 IN4007 二极管,利用二极管的正向压降,降低 0.7V 的电源电压。 2.92.9 小车车体设计小车车体设计 可以采用左右两轮分别驱动,后万向轮转向的方案。即左右轮分别用两个转速和 力矩基本完全相同的直流电机进行驱动,车体尾部装一个万向轮。这样,当两个直流 电机转向相反,同时转速相同时就可以实现电动车的原地旋转,由此可以轻松的实现 小车原地 90 度和 180 度的转弯。在安装时我们保证两个驱动电机同轴。当小车前进时, 左右两驱动轮与后万向轮形成了三点结构。这种结构使得小车在前进时比较平稳,可 以避免出现后轮过低而使左右两驱动轮驱动力不够的情况。为了防止小车重心的偏移, 后万向轮起支撑作用。对于车架材料的选择,我们经过比较选择了有机玻璃。用有机 玻璃做的车架比塑料车架更加牢固,比铁制小车更轻便,美观。 小车的结构图:如图 2.14 所示 - 18 - 万向轮 电机电机 左轮右轮 图 2.14 小车的结构图 3 3 软件设计软件设计 提高遥控小车智能控制的可靠性,仅靠硬件抗是不够的,需要借助于软件来实现。 在单片机控制系统中,如能运用好的程序思路,将大大提高控制系统的可靠性,灵活 性。而且可以减少硬件电路的设计,节约成本。在进行微机控制系统设计时,除了系 统硬件设计外,大量的工作就是如何根据每个对象的实际需要设计应用程序。因此, 软件设计在微机控制系统设计中占重要地位。对于本系统,软件也很重要。 在单片机控制系统中,大体上可分为数据处理、过程控制两个基本类型。数据处 理包括:数据的采集、数字滤波、标度变换等。过程控制程序主要是使单片机按一定 的方法进行计算,然后再输出控制对象。 为了完成上述任务,在进行软件设计时,通常把整个过程分成若干个部分,每一 部分叫做一个模块。所谓“模块” ,实质上就是能完成一个单独的功能,相对独立的程 序段,这种程序设计方法叫模块程序设计法。 模块程序设计法的主要优点是: (1)单个模块比起一个完整的程序易编写及调试; (2)模块可以共存,一个模块可以被多个任务在不同条件下调用; (3)模块程序允许设计者分割任务和利用已有程序,为设计者提供方便; (4)利用模块化程序看上去比较清晰,便于读懂; 本系统软件采用模块化结构,由主程序PWM 子程序、检测子程序避障子程序、 显示子程序组成。 3.13.1 主程序设计主程序设计 主程序编写的时候,清楚各个子程序调用的顺序。 - 19 - 程序初始化 遇到障碍,低洼处 小车运行控制 小车转弯,倒退, 绕过障碍物 N Y 脉冲计数 图 3.1 小车程序流程图 PWMH1 DATA30H ;电机 1 高电平脉冲的个数 PWMH2 DATA31H ;电机 2 高电平脉冲的个数 PWM DATA 32H ;PWM 周期 COUNTER DATA 33H ;中断计数器 S1 BIT P2.3 ;电机 1 的输出 S2 BIT P2.2 ;电机 2 的输出 EN1 BIT P2.0 ;电机 1 的使能(左) EN2 BIT P2.1 ;电机 2 的使能(右) ORG 0000H AJMP MAIN ORG 000BH AJMP INTT0 ORG 001BH AJMP INT1 - 20 - ORG 0030H MAIN: MOV R0,#00 MOV COUNTER, #00 MOV PWM, #150 MOV TMOD,#02H ;定时器 0 在模式 2 下工作 MOV TL0, #38H ;定时器每 200us 产生一次溢出 MOV TH0, #38H ;自动重装的值 SETBET0 ;使能定时器 0 中断 SETBEA ;使能总中断 SETBS2 ;电机 1 正转 CLRS1 ;电机 2 正转 SETBTR0 ;开始计时 START: SJMP YAOKONG ;遥控子程序 SJMP BIZHANG ;避障子程序 SJMP XIANSHI ;显示子程序 SJMP START ;返回主程序 END 3.23.2 PWMPWM 子程序设计子程序设计 脉冲 T 保持不变。改变 T0 的脉冲宽度就可以输出占空比可变的 PWM 脉冲。 PWM T0 T1 T 图 3.2 PWM 示意图 COUNTER:MOV COUNTER,#00 MOVPWM, #150 MOVTMOD, #02H ;定时器 0 在模式 2 下工作 MOVTL0, #38H ;定时器每 200us 产生一次溢出 MOVTH0, #38H ;自动重装的值 SETB ET0 ;使能定时器 0 中断 - 21 - SETB EA ;使能总中断 SETB S2 ;电机 1 正转 CLR S1 ;电机 2 正转 SETB TR0 ;开始计时 INTT0: PUSH PSW ;现场保护 PUSH ACC INC COUNTER ;计数器加 1 MOV A ,COUNTER CJNE A, PWMH1, INTT00 ;如果等于高电平脉冲数 CLR EN1 ;P3.2 变为低电平 INTT00:CJNE A,PWMH2, INTT01 CLR EN2 ;P3.3 变为低电平 INTT01:CJNE A,PWM,INTT02 ;如果等于周期数 MOV COUNTER,#01H ;计数器复位 SETBEN1 ;置 P3.0 为高电平 SETBEN2 INTT02:POP ACC ;出栈 POP PSW RETI 3.33.3 遥控子程序遥控子程序 遥控器能遥控小车具有前进,后退,左转,右转的功能。遥控状态对应的单片机 口的数值表如表 3.1 所示。 表 3.1 对应单片机口数值 按键按键 P1.0P1.0P1.1P1.1P1.2P1.2P1.3P1.3P1P1 小车状态小车状态 前 100008H 小车前进 左 010004H 小车左转弯 右 001002H 小车右转弯 后 000101H 小车倒退 不按 000000H 小车停 - 22 - YAOKONG:MOV A,P1 CJNE A,#00H,K1 ;没有按键按下时小车慢慢停止 STOP1: CLR P2.0 CLR P2.1 SJMP RETUN K1: CJNE A,#08H,K2 ;遥控小车前进 SETB S1 ;电机 1 正转 SETB S2 ;电机 2 正转 INC PWMH1 ;直行 JC LP1 INC PWMH2 ;加速 JC LP2 LCALL DELAY SJMP RETUN K2: CJNE A,#04H,K3 ;遥控小车左转 INC PWMH1 JC LP1 DEC PWMH2 JC LP4 LCALL DELAY SJMP RETUN K3: CJNE A,#02H,K4 ;遥控小车右转 INC PWMH2 JC LP2 DEC PWMH1 JC LP3 LCALL DELAY SJMP RETUN K4: CJNE A,#01H,RETUN ;遥控小车倒退 - 23 - CLR S1 ;电机 1 反转 CLR S2 ;电机 2 反转 INC PWMH1 JC LP1 INC PWMH2 JC LP2 LCALL DELAY SJMP RETUN LP1: MOV PWMH1,#255 CLR C RET LP2: MOV PWMH2,#255 CLR C RET LP3: MOV PWMH1,#00H CLR C RET LP4: MOV PWMH2,#00H CLR C RET RETUN : RET 3.43.4 防跌落,碰撞子程序设计防跌落,碰撞子程序设计 本设计的红外传感器有 2 个,分别安装在小车的前面。每个传感器所能检测的高 度距离是 3cm。真值表中, “0”代表没有落差, “1”代表有低处落差,当小车检测到落 差后,单片机会改变 PWM 值,控制小车做相应的动作,防止小车跌落。两个微动开关 一样,也分别装在小车的左前方和右前方,真值表中, “0”代表没有检测到障碍物, “1”代表检测到障碍物,当小车检测到障碍物的时候,单片机会改变 PWM 值,用来驱 动电机做相应的动作,避开障碍物。 - 24 - 表 3.2 单片机执行的动作 左边左边(P1.6)(P1.6)右边右边(P1.7)(P1.7)小车小车 01 90 度左转 10 90 度右转 11 倒退 00 遥控 避障程序 是否倒退 小车倒退 是否左转 小车右转小车左转 子程序返回 N Y N 图 3.3 避障程序流程图 3.53.5 速度显示程序速度显示程序 设定定时的值 计算速度值 送液晶显示 返回 图 3.4 速度显示流程图 XIANSHI: LCALL CALCULATE ;计算速度 LCALL DISPLAY ;显示 RET - 25 - 结果分析及结论结果分析及结论 在硬件的设计和焊接过程中,本着严谨、细心、逐块调试的原则。我采取了先逐 个模块单独测试成功再集中焊接的原则。 在硬件分块调试的过程中,我发现了如下几个问题: 问题一:驱动电路焊接完成后直接给予信号输入端高低电平时,电机并无动作。 起始时我还以为是焊点存在问题,用万用表逐点测试后发现并无异常,而且再次焊接 检查后电机依旧没有动作。 原因及解决办法:仔细研究了 L298N 的电路原理图,发现原以为不需要对电机运 行参数进行测量,于是将相关的 SENA 与 SENB 悬空,而实际中,无论需要测量与否, 这两个端口都需要直接或间接接地。我们将其接地后,电机即可按照给定信号完成预 定动作。 在所有的硬件检测完毕后,便开始了软件部分的调试与检测。在程序的检测中, 程序基本的非逻辑性错误可以在用 MedWin 编译时由编译软件直接发现。 问题二:程序在理论上是行的,并且利用 MedWin 的单步指令执行行时是对的,但 是下载到单片机程序就乱了,或者有时候根本就没反应,检查程序并不能发现错误。 原因及解决办法:编程的实际经验不足,有些时候并没考虑单片机的内部结构原 理以及没很好的考虑实际的问题,理论与实际没结合好。这个问题需要我们多多编程, 并把程序下载到单片机上试一下,一点点的改进不足,增长经验。 - 26 - 附件附件 1 1 程序清单程序清单 PWMH1 DATA 30H ;电机 1 高电平脉冲的个数 PWMH2 DATA 31H ;电机 2 高电平脉冲的个数 PWM DATA 32H ;PWM 周期 COUNTER DATA 33H ;中断计数器 S1 BIT P2.3 ;电机 1 的输出 S2 BIT P2.2 ;电机 2 的输出 EN1 BIT P2.1 ;电机 1 的使能(左) EN2 BIT P2.0 ;电机 2 的使能(右) ORG 0000H AJMP MAIN0 ORG 000BH AJMP INTT0 ORG 0030H MAIN0: MOV R0, #0 MOV R6, #200 ;计数 1s MOV R7, #25 MAIN: MOV P1, #00H MOV COUNTER, #00 MOV PWM, #250 MOV TMOD,#02H ;定时器 0 在模式 2 下工作 MOV TL0, #38H ;定时器每 200us 产生一次溢出 MOV TH0, #38H ;自动重装的值 SETB ET0 ;使能定时器 0 中断 SETB EA ;使能总中断 SETB TR0 ;开始计时 START: ACALL YAOKONG ;遥控子程序 ACALL BIZHANG ;避障子程序 ACALL XIANSHI ;显示子程序 - 27 - SJMP START ;返回主程序 ;* YAOKONG: CJNE A,#00H,K1 ;没有按键按下时小车慢慢停止 STOP1: CLR P2.0 CLR P2.1 SJMP RETUN ;* K1: ANL A,#0FH CJNE A,#08H,K2 ;小车前进 SETB S1 ;电机 1 正转 SETB S2 ;电机 2 正转 IN

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论