当前位置:首页 > 作文大全 >

基于8位单片机的小型机器人系统的设计与实现

发布时间: 2022-04-16 08:38:45 浏览:

摘要:设计并制作了以AVR单片机ATmega16L为控制器的小型机器人、以AT89S52为MCU的51单片机实验板和UART串行通信接口等部分构成的硬件系统。根据具体硬件系统的特性,用C和C++语言开发了机器人串口调试软件与综合控制软件。实现了无线遥控或远程网络控制机器人完成前后行走、翻跟斗、跳舞,并由机器人变形成小车,以及小车的前后左右行驶,再由小车变形成机器人等功能。

关键词:机器人;串口通信;无线通信;网络通信

中图分类号:TP368.12 文献标识码:A 文章编号:1007-9599 (2013) 03-0000-02

1 概述

机器人技术是当今科学研究的热点之一,本课题设计并实现了一个以8位单片机为核心控制器的集口串口控制、网络控制、无线通信控制于一体的机器人系统。完成了基本电路板的设计、机器人实体机构所涉及及制作、相应控制程序的开发设计及调试等工作。

本设计的小型机器人系统包含以ATmega16L为控制器的小型机器人、以AT89S52为MCU的51单片机实验板、nRF2401半双工无线通信模块、以PT2262/PT2272编码解码芯片的发送模块(遥控)接受模块、UART串行通信接口等部分构成的硬件系统。软件系统包括:机器人串口调试上、下位机软件和机器人独立运行软件,51单片机下位机软件,本地服务器串口控制上位机软件与远程客户端控制软件。

根据本系统要具备的功能进行系统的总体设计,可以将本系统分成三大部分来实现,包括:机械实体部分、硬件电路部分、软件程序部分。其中硬件电路又可分为机器人电路和51单片机电路。

2 硬件电路设计

本机器人系统各部分的电路原理图设计是在ProtelDXP中完成的。需要设计完成的电路有机器人控制电路、串行通信接口、直流电机驱动电路、51单片机实验板电路。机器人控制电路板主要由单片机最小系统、电源、JTAG接口等部分构成。51单片机实验板电路包括微控制器最小系统、串口模块、显示模块、数字温度传感器DS18B20、时钟芯片DS1302等模块。串行通信接口和直流电机驱动电路也是独立设计的。

3 系统软件设计

本系统需设计完成的软件包括:机器人串口调试上、下位机软件和机器人独立运行软件,51单片机下位机软件,本地服务器串口控制上位机软件与远程客户端控制软件。

AVR单片机在基于WinAvr的GCC下运行的AVRStudio4集成 环境下编程、调试、下载程序;51单片机在KeiluVision3环境下编程调试,用电子在线ISP编程器v2.0下载程序;机器人串口调试上位机软件使用VS2005环境开发,C/S模式网络串口软件采用VC6.0集成开发环境编程、调试。

串口编程可以利用VC++自带的MSComm控件或者是多线程串口编程工具CSerialPort类来完成。网络编程用基于TCP/IP的WinSockets类来编写客户端/服务器软件。

机器人完成各种动作的动力源采用的是舵机。变形成小车后,车轮的动力源使用的是直流电机 。舵机的控制信号为周期20ms的脉宽调制(PWM)信号,其中脉冲宽度从0.5~2.5ms,相对应舵盘的位置为0°~180°,呈线性变化。要实现机器人所完成各种动作需用到分舵机分时控制原理。

具体的,给每个分舵机定义一个角度所对应的脉宽变量,并赋予初始值为舵机的中间角度,还要给定时器设定初值既是舵机的PWM波脉宽初值。当每次定时器时间到产生溢出中断,进入终端服务子程序后,首先把所有的舵机控制输出口拉低清零,再给某一位置为高,并给赋予PWM脉宽的定时时间。最后移位使下次进入中断时给下一位置高,相当于将时间片传递给下一个舵机驱动。当每一位舵机控制输出口都被循环置高定时一次后,再补上20ms周期锁剩下的时间把所有的控制口拉低定时,其原理如图所示。通过这种方式模拟输出20ms为周期的PWM波,来控制舵机转动。

本系统中的机器人动作调试和本地服务器控制软件与51实验板的通信采用的是“上位机+串口+下位机”的控制系统解决方案

无线遥控的实现,使用的是PT2262/PT2272编码解码芯片的发送模块和接受模块。一般采用8位地址码和4位数据码。

无线通信使用的是无线数据收发模块NewMsg-RF2401,其基本特性有:

(1)2.4Ghz全球开放ISM频段免许可证使用;(2)最高工作速率为1Mbps,高效GFSK调制,抗干扰能力强,适合工业控制场合;(3)125频道,满足多点网络通信需要;(4)内置硬件8/16位CRC校验和点对多点通信地址控制,结合TDMA-CDMA-FDMA原理,可实现无线网络通信。(5)低耗能1.9~3.6V工作,待机模式状态下仅为1A;(6)模块可软件设地址,只有收到本机地址时才会输出数据,可直接接各种单片机使用,软件编程非常方便;(7)收发完成中断标志,每次最多可发28字节;(8)内置专门稳压电路,使用各种电源,包括DC/DC开关电源均有很好的通信效果;(9)CLK,DATA,DR三线接口,软件编程简单。(10)双通道数据接收,内置环形天线,开阔无干扰条件通信距离在100m左右。

4 系统测试

本系统的调试也分硬件部分和软件部分来调试,调试过程仿照软件测试中组装测试的方法。首先测试一个基本模块,测试完成后把下一个要测试的模块组装到已测试好的模块中进行测试,逐步把所有模块组合在一起,并完成测试。

系统分为最小系统、串口通信控制、无线遥控、半双工无线通信、网络通信等功能分别进行调试,最后集成调试,最终使系统较稳定运行。本系统最终实现一个串口控制、网络控制、无线通信控制的机器人系统。其中每一个小的模块均需要一一调试通过后才进行组合调试,在此过程中出现不少问题,如:直流电机驱动电路模块调试时,有的模块电机控制工作异常;两种单片机的指令速度不一样,给51单片机与AVR单片机间的无线通信带了一些问题。其中串口通信和网络通信可以实现实时通信,互传数据。无线遥控可较好的遥控控制机器人运行,而无线通信存在一定的丢包不稳定性。测试表明,系统实现了预定要求,能完成远程无线控制机器人运行。

5 结论

本系统最终实现如下功能:

(1)机器人串口调试上位机实时控制机器人舵机的转动角度和速度,完成各种动作。(2)无线遥控机器人前后行走、翻跟斗、跳舞,并由机器人变形成小车,再由小车便形成机器人,以及变形后的小车前后左右行驶。(3)51单片机实验板可实现检测温度并显示温度、时间、日前,接收并显示串口信息和无线回传信息。(4)本地服务器上位机软件可以通过串口与51单片机实验板通信,并可通过无线通信控制机器人运行。(5)远程客户端可以通过TCP/IP网络登陆本地服务器并向服务器发送数据,并通过串口将数据发送给51单片机,51单片机再通过无线通信来实现对机器人的控制。

在设计时,由于受到时间和个人能力的限制,系统的功能还不是很完善。例如:串口通信和无线通信没有设定更合理的通信协议来保障可靠的通信工作,因此,导致无线通信时出现丢包等不稳定现象。

在今后的工作中,将继续完善机器人系统功能,如:增加串口回传温度信息并在上位机中绘出温度曲线图的功能;增加客户端可接收服务器传来的温度信息并绘出温度曲线的功能;在机器人上增加传感器,并通过半双工无线通信传输采集的数据;改进串口和无线的通信协议,保障通信的稳定,力求实现无线实时通信。

[作者简介]

郝佳晶(1983.12-),女,汉,山西省大同市左云县,本科,助教,计算机科学技术,教师。

相关热词搜索: 单片机 机器人 设计 系统

版权所有:无忧范文网 2010-2024 未经授权禁止复制或建立镜像[无忧范文网]所有资源完全免费共享

Powered by 无忧范文网 © All Rights Reserved.。冀ICP备19022856号