基于PIC单片机无线遥控小车设计
遥控小车在军事侦查、污染及恶劣环境作业等领域有着广阔的应用价值。我们以PIC单片机为控制核心,采用遥控编码解码集成电路(PT2262/PT2272)及专用的电机驱动芯片L298N,通过PWM脉宽调速,设计了一个价廉的无线遥控智能小车。小车的结构体为三轮,后轮为驱动轮,采用两个直流电机分别拖动,前轮为万向导轮。系统整体性能较高。
系统总体构成
系统主要由单片机、无线遥控模块及电机驱动与控制模
块组成,如图1所示。总体设计思想为:遥控器上的遥控编
码器PT2262将按键命令进行编码,并通过无线发射头F05V
发送出去,车载平台的解码芯片PT2272对遥控器发来的操
作指令进行解码,然后由PIC16F877A单片机对指令进行分
析,利用单片机自身的CCP(输入捕捉/输出比较/脉宽调制:
Capture/Compare/PWM)模块产生精确的PWM脉冲波,
通过专用电机驱动芯片L298N精确控制电机的转速、转向,从而对小车当前的运行状态进行调节。硬件电路设计
1主控芯片PIC16F877A
本系统的一大特点是采用了Microchip公司的
PIC16F877A单片机。PIC系列单片机采用精简指令集、哈佛总线结构,抗干扰能力强,非常适合遥控系统设计。PIC16F877A仅有35条单字节指令,运行速度快,内部集成有数据存储器和程序存储器。特别是PIC16F877A单片机自带了两个PWM模块,使得本系统PWM调速程序的编写非常简单与方便。
PIC16F877A单片机工作于最小系统方式,如图2所示。
单片机只需外接晶振和复位电路即可工作。其中,RB口接收PT2272解码得到的按键信号;RC4~ RC7根据按键情况
输出高低电平给电机驱动模块L298N,控制小车左轮和右轮
电机的正反转,从而控制电机的前进、后退与左转、右转,
CCP1和CCP2输出PWM信号进行电机的调速控制。
2无线遥控模块电路
无线遥控模块以编码解码芯片PT2262/PT2272为核心
器件,实现按键指令的无线发送/接收操作。注意,PT2272
解码芯片有不同的后缀,表示不同的功能,本系统采用6位
地址码和6位数据码的方式工作,应该选择PT2272-L6芯片O
无线遥控发射电路如图3所示,由无线发射头F05V和
编码芯片PT2262组
电机驱动控制电路如图5所示。PIC16F877A单片机的
PC1.PC2作为PWM脉冲波的输出口,输出的信号作为
L298N驱动芯片的使能控制信号,控制电机的转停;单片机
的RC4~RC7作为L298N的输入控制电平,控制电机的正反转。根据L298N控制逻辑,当ENA为低电平时,输入电平对电机控制不起作用,当ENA为高电平,输入电平为一高一低,电机正转或反转;同为低电平时或高电平时,电机快速停车。ENB功能与ENA相同。利用L298N可以驱动两个直流电机,分别控制小车的左右轮,实现小车的前进、后退、左转、右转、刹车及多级速度的控制。
软件系统设计
软件系统主要包括主程序、外部中断解码子程序、按键扫描子程序等几个部分。在MPLABIDEV8.53环境下,采用MPLABC18编译器,用C语言编写。软件系统的最大特点
是利用PIC16F877A单片机内置的两个PWM模块,产生小
车调速所需的PWM信号,可以实现小车的精确调速,而且程序的编写非常方便。
系统通电后,先初始化PWM模块,输出相应的PWM信号,然后不断循环扫描PORTB是否有信号输入(即遥控器是否有按键按下)o无信号输入时保持原状,当有信号输入的时候,转到按键扫描子函数KEYSERVER进行判断。若有符合条件的电平输入则输出相应的控制信号,然后继续扫描是否有新的信号输入;若没有符合条件的电平,则继续扫描新信号的输入。软件系统的主要流程如图6所示。由于篇幅所限,不再给出具体程序的编写。及驱动电路是否正常。
正常情况下,解码芯片PT2272的14脚电压,在按下遥控器时应该在一个稳定的电压值上,而没有按下遥控器时,电压则应无规律变化;PT2272第17脚,正常时按下遥控器若能正确解码,此脚电压变为高电平,若电压不正常,而14脚电压又符前述规律变化,应仔细查看解码芯片的地址端是否有搭锡等现象。
再进行电机驱动电路与外围电路的检查。用一根导线,一端与地相连,另一端去碰单片机插座上的RC4-RC7引脚,正常可看到四个脚分别对应两个电机向不同方向转动。以上电路功能测试正常后,说明外围电路工作都正常。利用PIC16-MCD2编程器将编译好的程序写入单片机,并将单片
机插到电路板上,装上电池,用遥控器控制其转速及转向,
小车工作一切正常。
设计完成的小车经测试,遥控距离在开阔地大于150m,
有障碍物情况下可达100m ,小车前进、 速度的改变均非常灵活,电机运行平稳、 | 后退、左转右转及 遥控操控方便,达 |
到了预期的设计效果。
本系统的创新点是采用内嵌 PWM发生器的
PIC16F877A单片机作为电路设计的核心,使软件编程极大
简化,采用集成化的无线遥控编解码模块及电机驱动控制模块,使系统结构简单,功耗极低,且具有良好的抗干扰性能,小车系统整体性价比高。