(完整版)基于单片机的遥控小车的设计毕业设计 下载本文

内容发布更新时间 : 2024/4/28 8:28:17星期一 下面是文章的全部内容请认真阅读。

变,理论上比值越大角度越大,但是舵机的占空比需控制在20%到40%之间。

接下来将大体的对稳压芯片,晶振和两个电源做笼统的介绍。首先稳压芯片虽然不是和电路的控制有关,但是其作用确实缺一不可的,作为稳压芯片,它的作用顾名思义就是起到稳压,当输入电压在5到35V之间的时候通过稳压芯片可以将电压保持在5V,从在持续供电的同时保护了单片的以防其被烧坏。而晶振简单的来说就是为单片机提供了一个工作的频率,控制了单片的处理速度与访问速度,也是不可缺少的元件。

最后就是上文所提到的两个电源,首先因为考虑电机舵机与单片机,2272这些元器件所需要的工作电压并不一样,所以才使用了两个电源。作为单片机的供电电源,它需要一个持续的5V的供电环境,但是考虑到可以使用稳压芯片来保证5V电压的输入而且将电池串联成5V又过于麻烦所以直接使用了一个9V电池作为电源,且因为单片机的工作耗电不大,所以将其固定在了小车之上,并没有考虑它的拆卸更换。而另外一个单独供电的则向前文所提到的使用电池串联的方式将其达到舵机与电机的工作电压的要求,尽可能的保证其工作的性能不因为供电不足而受到影响,其电路虽然经过单片机所在的洞洞板,但直接接在电机和舵机与驱动芯片的输出端之间,从某个方面说使得驱动芯片成为电源的开关,直接控制着电机的运转。

整个主控电路的运作流程为接收的正弦波信号通过接收模块转为脉冲信号,随后发送给2272译码器并通过译码将信号转变成电平的方式发送给单片机,单片机在不断扫描输入端的电平之后同过程序的执行将脉冲信号传送给驱动芯片,驱动芯片通过脉冲宽度调制的方式将脉冲转变为占空比,从而直接改变电机的速度与舵机的转向。至此小车主控电路的工作完成。其主控电路图如图9所示。

图9 主控电路及315M超再生接收模块

3.3.4电机与舵机

本次设计使用了一个舵机与两个电机。在实际电路中,将两个工作电压在4V到10V之间的电机与舵机采用并联的方式连接,因此在对于电池电流的要求较高。所以使用了1.2V,800MA可充电电池,在满足工作电压的要求的同时也可以满足在并联电路中的电流的分流所导致的供电不足的影响。经过试验,为了保证舵机的正常转向,串联的6节电池,减为4节之后虽然电压降低了但是依旧在工作电压之内,且电流不变保证了舵机与电机的正常运转。而考虑到电池可能的替换,换成4节普通的1.5V电池之后虽然电压满足工作电压,但是电流明显下降,虽然能使电机工作,但是其性能却由于供电不足而下降。而本次电机使用两个的原因是车体宽度较宽,而电机本身较小所以对两个后轮分别驱动,又因为两个电机并联在电路之中,所以本身并不会对

驱动造成影响。

3.4总体电路图

按照上述各个模块的原理进行绘制的电路原理图,并且是实际电路焊接的依据。总电路图如图10所示,其中包括独立电源,接收与主控模块,发射模块三个部分。

图10 整体电路

4.软件设计与介绍

在本节中将详细介绍遥控小车的软件部分,包括程序,以及编写工具keil。而程序则会分为对电机与舵机的控制程序的介绍和遥控部分的介绍。从而对程序进行分解

分析。

4.1 keil简介

在本次对单片机进行编程使用的为C语言,并且通过Keil开发系统进行编程。 在本次设计中为了完成编程所使用的Keil是由美国知名Keil Software公司推出的一款51系列兼容单片机的C语言软件开发系统。相对于其他的编程语言,C语言在功能上,结构性,拥有更大的优势。Keil不单单是一款编程软件它还通过一个集成环境为C语言的编写提供了将库管理,宏汇编,连接器C,编译器以及仿真调试器等集于一身的开发方案,通过uVision把这些部分组合在一起。在实际操作上Keil 适合任何Windows界面。而且通过Keil 的工具包整体结构就可以完成对单片机程序的编辑,编译,链接,调试,仿真等整个过程。所以在本次设计中使用keil作为编程工具认为是一个不错的选择。

4.2电机与舵机的程序设计

在本设计中,因为要实现三档变速和转向,所以对于电机和舵机的程序设计不能仅仅达到通电可运行的状态。变速和转向皆可通过改变占空比来控制,作为电机与舵机部分,它的程序主要就是对接收到的占空比的变化指令做出反应,可以理解为是个执行部分。而若使此程序达到上诉功能,则需要用到PWM脉冲宽度调制和中断系统。电机与舵机的程序流程图如图11所示:

图11 电机与舵机程序流程图

4.2.1 PWM脉冲宽度调制与中断系统介绍

PWM是Pulse Width Modulation的缩写,中文译名为脉冲宽度调制,可以理解为

利用数电控制模电的典范,详细说来就是利用微处理器的数字输出来对模拟电路进行控制,而数字输出也就是使用了占空比不同的方波来模拟输出的一种方式,比如总所周知电脑只会输出0和1,其模拟方式如图12所示:

图12 PWM的模拟方式

脉冲宽度调制的控制方式其实就是通过控制逆变电路开关器件的通断,从而在输出端得到可以用来代替正弦波或者其他需要的波形的幅值相同的脉冲。换句话说就是在波形输出后的半个周期之内产生一定量的脉冲,并使这些脉冲的等值电压转化为正弦波形。从而,只要按照需要对脉冲的宽度进行相应的调制就可以改变电路输出的电压,同理,也能如此改变输出的频率。

因为在PWM的波形中输出的各个脉冲的幅值都是相同的,所以当我们按照需要的系数改变这些脉冲的宽度时,就能改变所输出的正弦波的幅值。所以在看似是不断转化的过程当中,变得只有信号的形式,而直流侧压的幅值的本质就是PWM所输出的脉冲电压。

通常来说,PWM的生成方式都是通过单片机中包含的脉冲宽度调制控制器,也就是在使用时只需要对控制器进行设置即可,但是对于脉冲宽度调制来说它拥有一个有点,就是在对于没有包含控制器的单片机来说,可以使用定时器计数的方式来实现脉冲宽度调制的输出。当然,本设计中就是通过对定时器的设置来产生PWM波。