亚库甫江·塔依尔 庾新江 陈平
一、控制系统硬件电路设计
本控制系统硬件设计采用的是AT89C51单片机来控制一个单片机机器人,该机器人主要由车体部分和手臂部分组成,车体部分由两个独立驱动的主动轮、一个从动轮和底盘等机构组成,手臂部分由两个独立的电机控制,可以抓东西,上下抬东西,机器人的运动由两个相同的主动电机来控制。
1.AT89C51 单片机简介
AT89C51 是美国 ATMEL 公司生产的低功耗,高性能 CMOS 8 位单片机,片内含 4Kbytes的可系统变成的 Flash 只读程序存储器。它集 Flash 程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用 8 位微处理器于单片芯片中,AT89C51 单片机可提供许多高性价比的应用场合,也可引用于各种控制领域。
2.AT89C51 主要引脚功能说明
Vcc:电源电压
GND:地
P0口是一组逻辑开路型双向 I/O 口,也即地址/数据总线复用口。作为输出口用时,没位能驱动 8 个 TTL 逻辑门电路,对端口写“1”可作为高阻抗输入端用。
P1口、P2口、P3口都是一个带内部上拉电阻的 8 位双向 I/O 口。P1、P2、P3的输出缓冲级都可驱动(吸收或输出电流)4 个 TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。RST:复位输入。
XTAL1:震荡器反相放大器及内部时钟发生器的输入端。
XTAL2:震荡器反相放大器的输出端。
3.系统时钟电路
内时钟方式:MCS—51单片机内部时钟产生方式是利用芯片内部的单级反相放大器振荡电路。在XTAL1和XTAL2两端子上外接定时元件产生自激振荡来形成系统时钟的。
4.复位电路
同任何微型计算机应用系统一样,MCS—51 单片机的复位功能是不可缺少的,复位的作用是使单片机初始化,即通过复位把单片机内部的各个部分恢复到预先已知的特定状态。
5.电机驱动模块
该直流电机驱动模块采用ST公司的L298N典型双H桥直流电机驱动芯片,可用于驱动直流电机或双极性步进电机,此驱动板体积小,重量轻,具有强大的驱动能力。如图所示SM-L298N-V1.0 模块。
二、控制电路设计
1.总控制流程图
下面的图是主程序的控制流程图。在主控程序循环中扫描是否有按键按下,若有,则做出相应的反应:若按下 K1、K2 、K3、K4键机器人做相应的动作前进、后退、左转、右转;若按K5、K6、K7、K8按钮,我们可以控制机器人的手臂。
2主电路版设计
由于我们的系统对运算速度要求并不高,综合考虑系统的稳定性和经济性,我们采用了串行处理结构。逻辑控制芯片采用性能稳定价格低廉的 AT89C51,既保证了较佳的稳定性又降低了价格便于推广应用。
3.操作手柄设计
该设计中采用了独立式按键。独立式按键是指直接用 I/O 口线构成的单个按键电路。每个独立式按键单独占有一根I/O 口线,每根 I/O 口线的工作状态不会影响其它 I/O 口线的工作状态。独立式按键电路如右图所示。
4.控制电路
单片机机器人控制系统由AT89VC51单片机 、电机驱动模块、按键输入模块组成。
右边的图是单片机机器人的控制系统电路图。
单片机机器人的控制系统电路图的控制原理如下:按下任意 K1、K2、K3、K4,K5,K6,K7,K8按键后,执行相应动作。
三、控制系统的程序设计
1.程序流程图
在控制程序循环中扫描按键 K1、K2、K3、K4、K5、K6、K7、K8、判断是否有按键按下,若有按键按下做出相应的动作。
2.控制程序设计
机器人控制程序用汇编语言C语言来编程的。AT89C51单片机的P0.0~P0.7口作为L298N电机控制模块的控制信号输入口,P0.0~P0.3口控制机器人行驶动作、P2.0~P2.7口作为遥控控制信号的输入端,P2.0~P2.3口连接方向按键,P2.4~P2.7口控制手臂部分的电机。
四、实验与调试
该阶段是一个艰苦而漫长的过程,因为是第一次从事该单片机机器人的制作,因此制作的过程就是一个不断试验探索的过程。
1.利用 Proteus Pro V7.5 SP3 进行电路图的绘制和方针
Proteus Pro V7.5 SP3具有設计灵活,结果,过程的统一特点。可使用设计时间大为缩短,可以降低工程制造的风险。本次设计利用了Proteus Pro V7.5 SP3功能模块之一的电路原理设计,画出了控制系统的原理图。
2.程序的编写调试
Keil 编译软件是由南京伟煌电子开发的一个单片机学习软件,它既提供了一个程序编写的平台,又有相应的软件把编辑好的程序编译成单片机能识别的机器码,然后通过其配套的下载装置(Stc-Isp-V4.79)烧录到芯片上。