基于单片机的遥控小车的设计毕业论文(编辑修改稿)内容摘要:

引脚图如图 7 所示。 如2262一样, 2272的 1到 8号与 10到 13号为地址管脚,其中 1到 8号宽口如上文所提及的需要与 2262的 1到 8号端口相对应,当然一但不对应 2272便无法对 2262的编码进行解码处理。 在 2272的地址管脚 中的 7,8,10,11,12,13这 5个端口在作为数据端口的时候,只有在地址端口与 2262 完全对应的时候,管脚才能输出与 2262 的数据端相对应的高低电平。 14 管脚作为2272的输入端,其作用为接收发射模块所发出的信号。 而第 17号管脚的作用为对解码是否有效做出确认,因为输出端在无信号输出的时候是保持低电平的状态,所以当其确认解码有效之后,其电平就会变成高电平状态,但是只瞬时状态,之后又会恢复低电平。 图 7 2272 解码器 由于 2272的工作电压最小值为 2V最大值为 15V,且又因为与 2272在同一电路上的 52单片机的工作电流为 5V,所以便将单片机, 2272使用同一电源供电。 因为真个小车需要通过单片机来控制,而 2272又属于主控本分,其作用在于将接收到的指令传递给单片机进行进一步的处理,所以将 2272的数据管脚接至单片机的出入端中,从而完成 2272编码器的工作。 315M超再生接收电路 本次设计选用的接收模块为 315M超再生接收模块,是 315M射频发射模块的配套模块。 它是根据超再生原理而研发的而一种无线接收的集成芯片。 这次设计所使用的 315M接收电路是一个集成电路,在这个元件的集成 电路中包括了为了保 证能准确接收信号,降低误差的 前置 14 低噪放大器 ;可以对所接受信号进行转换的 超再生振荡器,熄灭信号发生器 以及 包络检波解调器等电路。 芯片工作在 315MHz/433MHz的 ISM(Industrial, Scientific and Medical)频段,采用OOK(On Off Keying) 调制方式。 芯片 根据所采用的输入数据再直接输出数据的设计思路,从而 将接收到的 RF信号 经过 解调 处理之后 ,输出 CMOS电平数据信号。 此 芯片 在理论上的 工作电压 应 为 , 当 5V时 芯片将 消耗 的 电流 预计为 4mA, 显而易见其 典型灵敏度优于90dBm。 最大数据速率为 10Kbit/s,工作温度范围 40176。 C至 +85176。 C,提供 SOP8封装。 由于此模块为直接购买的现成接收模块,对并不能完整阐述此模块内各个元器件的链接用处与意义所在二深感惭愧,所以在这里展示其提供的电路图,其电路图如图 8所示。 同时也因为此模块的工作电压与所使用的单片的工作电压相一致 ,所以此模块与单片机一道使用同一个的供电电源,以做到在使用少量的电源来保证更多电子元件的使用,这样不但可以减少成本也能降低设计的难度,减少不必要的多余导线的链接。 315M超再生接收电路在整 个电路之中的作用为将射频发射模块所发射的正弦波信号接收之后,转化成与正弦波相对应的不同宽度的脉冲,随后再将其发送给 2272解码器进行解码。 至此此模块所需要承担的工作已完成。 IN G N D F IL T 2 F IL T 1O U T P U TO S C 2O S C 1V D DV D DS C S R 1 1 8C v d dC o s cL o s cC 1C 2C inL inC a n tV D DR 1 图 8 接收模块电路原理图 主控模块整体由单片机, 2272译码器, 315M超再生接受模块以及电机和舵机组成,其整体电路如 [图 8]所示。 在这部分将对 2272译码器,单片机以及其他部件进行简单的介绍。 首先, 2272作为与 2262编码器 所配对的译码器而言,与上文介绍的一样二者的 1到 8号脚必须相配对,且状态保持一致,才能发挥其作用。 如前文所诉,接收模块接收到的正弦波信号转化为不同宽度的脉冲后,将其传至译码器,译码器则将所收到的信号状态转化成电位输出给单片机,经过单片机依据程序设定将命令分别传送给电机与舵机,从而确实实现对其控制的操作。 15 将 2272 译码器的 17 号端口接一个发光二极管,由于此端口的状态为电平常低,只有在解码确认有效之后才会出现瞬态的高电平状态,于是在这里接一个二极管可以很直观的体现出有无接收到信号并且将其解码,也有助于后期的调试 与故障排除。 将接收模块的输出端接入 2272的 14号引脚,也就是其输入端。 其 10到 13号地址管脚与 2262相对应,但是其作用是将恢复成高低电平的信号向单片机输送的输出端口,并且接在单片机的。 而单片机就会通过不断的扫描。 首先,单片机的本质其实就是一个计存器,然而它的计存方式又分为三种,方式 0:高 8位低 5位有效,其最大值为 8192。 方式 1:全位有效,其最大值为 65536。 方式 2:低 8位有效,其最大值为 256。 本次设计中所使用的是方式 1,其原因是操作较为简单,且相应的存储量大。 在经过对程序的处理之后通过 与 端口分别将指令发送给控制电机与舵机的驱动芯片。 从而完成其在整个设计中的最核心的控制作用。 将接受到的简单的电平信号经过程序的执行,将信号转换成不同的脉冲发送给驱动芯片。 在主控电路中驱动芯片采用的是 ULN2020,其特性是高耐压,大电压负荷晶体管驱动列阵。 舵机与电机的转向与速度变化皆用占空比来控制( T高tp )。 其中电机的占空比比值越高速度越快。 同理舵 机由于考虑速度的变化,其转弯角度也存在一定的角度更变,理论上比值越大角度越大,但是舵机的占空比需控制在 20%到 40%之间。 接下来将大体的对稳压芯片,晶振和两个电源做笼统的介绍。 首先稳压芯片虽然不是和电路的控制有关,但是其作用确实缺一不可的,作为稳压芯片,它的作用顾名思义就是起到稳压,当输入电压在 5到 35V之间的时候通过稳压芯片可以将电压保持在 5V,从在持续供电的同时保护了单片的以防其被烧坏。 而晶振简单的来说就是为单片机提供了一个工作的频率,控制了单片的处理速度与访问速度,也是不可缺少的元件。 最后就是上文 所提到的两个电源,首先因为考虑电机舵机与单片机, 2272 这些元器件所需要的工作电压并不一样,所以才使用了两个电源。 作为单片机的供电电源,它需要一个持续的 5V 的供电环境,但是考虑到可以使用稳压芯片来保证 5V 电压的输入而且将电池串联成5V又过于麻烦所以直接使用了一个 9V电池作为电源,且因为单片机的工作耗电不大,所以将其固定在了小车之上,并没有考虑它的拆卸更换。 而另外一个单独供电的则向前文所提到的使用电池串联的方式将其达到舵机与电机的工作电压的要求,尽可能的保证其工作的性能不因为供电不足而受到影响,其电路虽然经过 单片机所在的洞洞板,但直接接在电机和舵机与驱动芯片的输出端之间,从某个方面说使得驱动芯片成为电源的开关,直接控制着电机的运转。 整个主控电路的运作流程为接收的正弦波信号通过接收模块转为脉冲信号,随后发送给2272 译码器并通过译码将信号转变成电平的方式发送给单片机,单片机在不断扫描输入端的 16 电平之后同过程序的执行将脉冲信号传送给驱动芯片,驱动芯片通过脉冲宽度调制的方式将脉冲转变为占空比,从而直接改变电机的速度与舵机的转向。 至此小车主控电路的工作完成。 其主控电路图如图 9所示。 图 9 主控电路及 315M 超再生接 收模块 本次设计使用了一个舵机与两个电机。 在实际电路中,将两个工作电压在 4V到 10V之间的电机与舵机采用并联的方式连接,因此在对于电池电流的要求较高。 所以使用了 , 800MA可充电电池,在满足工作电压的要求的同时也可以满足在并联电路中的电流的分流所导致的供电不足的影响。 经过试验,为了保证舵机的正常转向,串联的 6 节电池,减为 4 节之后虽然电压降低了但是依旧在工作电压之内,且电流不变保证了舵机与电机的正常运转。 而考虑到电池可能的替换,换成 4节普通的 , 但是电流明显下降,虽然能使电机工作,但是其性能却由于供电不足而下降。 而本次电机使用两个的原因是车体宽度较宽,而电机本身较小所以对两个后轮分别驱动,又因为两个电机并联在电路之中,所以本身并不会对驱动造成影响。 总体电路图 按照上述各个模块的原理进行绘制的电路原理图,并且是实际电路焊接的依据。 总电路图如图 10所示,其中包括独立电源,接收与主控模块,发射模块三个部分。 17 图 10 整体电路 在本节中将详细介绍遥控小车的软件部分,包括程序,以及编写工具 keil。 而程序则会分为对电机与舵机的控制 程序的介绍和遥控部分的介绍。 从而对程序进行分解分析。 keil简介 在本次对单片机进行编程使用的为 C 语言,并且通过 Keil开发系统进行编程。 在本次设计中为了完成编程所使用的 Keil是由美国知名 Keil Software 公司 推出 的 一款 51系列兼容单片机 的 C 语言软件开发系统。 相对于其他的编程语言, C 语言在功能上 , 结构性 ,拥有更大的 优势。 Keil 不单单是一款编程软件它还通过一个集成环境为 C 语言的编写 提供了将 库管理 , 宏汇编 , 连接器 C, 编译器 以及 仿真调试器等 集于一身的 开发方案,通过 uVision把 这些部分组 合在一起。 在实际操作上 Keil 适合任何 Windows 界面。 而且通过 Keil 的 工具包 整体结构 就可以完成对单片机程序的编辑,编译,链接,调试,仿真等整个过程。 所以在本次设计中使用 keil 作为编程工具认为是一个不错的选择。 18 在本设计中,因为要实现三档变速和转向,所以对于电机和舵机的程序设计不能仅仅达到通电可运 行的状态。 变速和转向皆可通过改变占空比来控制,作为电机与舵机部分,它的程序主要就是对接收到的占空比的变化指令做出反应,可以理解为是个执行部分。 而若使此程序达到上诉功能,则需要用到 PWM 脉冲宽度调制和中断系统。 电机与舵机的程序流程图如图 11所示: 图 11 电机与舵机程序流程图 PWM脉冲宽度调制与中断系统介绍 PWM是 Pulse Width Modulation 的缩写,中文译名为脉冲宽度调制,可以理解为利用数电控制模电的典范,详细说来就是 利 用 微处理器 的数字输出来对 模拟电路 进行控制 ,而数字输出也就是使用了占空比不同的方波来模拟输出的一种方式,比如总所周知电脑只会输出 0和 1,而当想输出 的时候,通过脉冲宽度调制则可以用输入 01010101„„的方式来模拟。 其模拟方式如图 12所示: 图 12 PWM 的模拟方式 开始 定时器初始化 有无键值 改变占空 比 N Y 19 脉冲宽度调制的控制方式其实就是通过控制 逆变电路开关器件的通断,从而在输出端得到可以用来代替正弦波或者其他需要的波形的幅值相同的脉冲。 换句话说就是在波形输出后的半个周期之内产生一定量的脉冲,并使这些脉冲的等值电压转化为正弦波形。 从而,只要按照需要对脉冲的宽度进行相应的调制就可以改变电路输出的电压,同理,也能如此改变输出的频率。 因为在 PWM的波形中输出的各个脉冲的幅值都是相同的,所以当我们按照需要的系数改变这些脉冲的宽度时,就能改变所输出的正弦波的幅值。 所以在看似是不断转化的过程当中,变得只有信号的形式,而直流侧压的幅值的本质就是 PWM所输出的脉 冲电压。 通常来说, PWM的生成方式都是通过单片机中包含的脉冲宽度调制控制器,也就是在使用时只需要对控制器进行设置即可,但是对于脉冲宽度调制来说它拥有一个有点,就是在对于没有包含控制器的单片机来说,可以使用定时器计数的方式来实现脉冲宽度调制的输出。 当然,本设计中就是通过对定时器的设置来产生 PWM波。 脉冲宽度调制本身在各个行业当中都有着很多的应用也很有潜力, PWM因为它的信号都是以数字的形式,所以减少了不必要的数模转换,又进而体现出它的抗噪能力和更小空间体积,从某种程度上来说也能促进节能减排。 但是在这次设计 中,虽然使用到了脉冲宽度调制,但是只是仅仅使用了它的皮毛,并未真正的深度探究。 除了脉冲宽度调制之外,在电机与舵机的程序中,另一个用到的相对重要的就是中断系统,下面将对中断系统做出简单的介绍。 其实中断系统很好理解,就是系统在执行某一个程序的时候,突然接到了更加优先的指令,就会暂停原程序的执行,转而开始执行指令所对应的程序,等到该程序执行完成之后再返回开始执行原程序。 在单片机的管脚中,低四位控制着外部中断,单片机的 1号与 3号管脚 IE0/IE1为外部中断申请标志位,在判断单片机是否有收到外部中断请求的时候, 通常会利用这两个管脚的值来判。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。