基于单片机的教育机器人的设计

发布者:温雅如风最新更新时间:2013-02-05 来源: dzsc关键字:单片机  教育机器人  STC12CSA60S2 手机看文章 扫描二维码
随时随地手机看文章
    目前许多高等教育院校采用教育机器人进行课堂教学和培养学生的创新能力。本文设计的教育机器人通过红外光电传感器阵列检测路面信息并利用模糊自整定PID算法将采集的路面信息和电机运行数据进行实时处理,实现教育机器人的智能巡航并将机器人的状态显示输出。

  1 机器人的组成及工作原理

  机器人由硬件和软件两部分组成。采用STC12CSA60S2单片机作为系统控制的核心部件,完成路面信息检测、直流电机控制、电机转速检测、数码管显示、蜂鸣器报警以及键盘输入等功能,硬件系统框图如图1所示。

硬件系统框图

图1 硬件系统框图

  软件部分主要完成路况检测、PID电机控制、输入输出人机接口,可实现各种机器人巡航动作、智能循迹等功能。

  2 STC12系列单片机

  本文采用的STC12C5A60S2单片机是是宏晶科技生产的STC12系列单片机。该单片机是单时钟/机器周期(1T),具有高速、低功耗、超强抗干扰和无法解密诸多优点。指令代码完全兼容传统8051,速度快8-12倍。工作电压为3.3 V~5.5 V(5V单片机),有6个16位定时器,兼容普通8051的定时器或4个外部中断,具有看门狗和EEPROM功能,并且内部集成MAX810专用复位电路。

  3 硬件设计

  3.1 系统电源

  由于电机在启动瞬间电流很大,要求电源有足够大的驱动能力,因此系统采用双电源供电方式。利用LM7805将12 V锂电池组电压转换为5 V稳压电源给单片机最小系统电路、路面检测电路、数码管显示电路和电机测速电路供电。而电机驱动电路直接由另外一组锂电池输出的12 V电压直接供电。

  3.2 电机驱动电路

  本系统使用的直流电机额定电压为12 V,额定转速为300 rpm。电机驱动电路采用专用芯片L298N作为电机驱动芯片。用该芯片作为电机驱动,不仅稳定性好,大大地简化驱电路,而且驱动能力大,有利于电机转速的稳定。电机驱动电路如图2所示。

[page]

    3.3 红外光电传感器寻迹阵列模块

  红外光电检测电路工作原理是:红外线射到路面并反射,利用红外线在黑线和白线对光的反射系数不同的特点一白色反光线,黑色吸收光线,电路设计一个发射红外光和一个红外光敏二极管,当检测到黑线时,检测电路向单片机发出一个高电平信号。当检测到白色时,检测电路向单片机发出一个低电平信号。

  由7组红外光电检测电路排成一排构成一个红外光电传感器阵列模块,安置在机器人的车头位置。在对黑线循迹的过程中,红外光电传感器阵列模块可以求得机器人对黑线轨迹位移偏移量。单片机检测到红外光电传感器阵列模块的信号与机器人的位移偏移量如表1所示。

  当机器人行驶的状态不一样时,7组传感器输出的值也对应不同,从表中可以得到机器人在巡航过程中机器人所处位置与黑色轨迹的偏移量。

  3.4 车速检测模块

  教育机器人系统通过车速检测模块来读取当前车速。采用的方法是在后左右轮上分别粘贴一个均匀分布有黑白条纹的编码盘(见图3(a)),利用图3(b)的检测电路来对编码盘上的黑白条纹进行检测。当车轮转动时,红外接收管接收到的反射光强弱高低变化就会产生与车轮转速相对应的脉冲信号,将该脉冲信号进行放大整形后输入单片机的引脚P3.4和P3.5,记录单位时间内所得到的脉冲数,就能够表示出当前车左右轮子的速度,同时通过累加可以计算出小车所行走的路程。

  3.5 其他电路

  数码管显示电路主要是显示当前机器人的行走速度。采用LED数码管动态显示,段码用PNP三极管驱动。系统显示的距离范围在10米之内,选用4位LED共阳数码管,通过单片机编程实现动态扫描显示。显示字符由单片机P0口送出,P1.6、P1.7、P3.0和P3.1分别控制每一位数码管的动态显示。

  报警电路通过单片机P3.7控制蜂鸣器来完成。P3.7输出低电平时,蜂鸣器报警;P3.7输出高电平,蜂鸣器不报警。单片机的外部中断输入口P3.2和P3.3与地之间分别接入轻触按钮作为系统的启动和停止开关,作为按键输入电路。

[page]

    系统软件设计

  系统控制的实现是由软件完成的。软件设计基于keilC51编写的,采用模块化结构设计,各个功能子块独立。在结构上由1个主程序文件main.c和8个子程序文件(key.c、pid.c、detect.c、seg.c、speed.c和motor.c)组成。main.c主程序文件完成一系列任务的初始化工作和处理各个任务工作的协调。key.c文件完成按键中断检测和蜂鸣器报警任务;seg.c文件完成数码管显示;sp∞d.c文件完成电机速度检测;motor.c完成PWM的配置和电机的控制;detect.c文件完成红外光电传感器阵列检测;pid.c文件实现模糊参数自整定PID运算处理。其中定时器TO产生采样周期T秒定时中断,每间隔T秒中断一次,完成一次PID控制计算,同时调用模糊参数自整定PID运算子程序对测试转速和设定转速进行差值计算得到输出值,用于配置PWM的输出,控制电机转速。主程序和定时器TO中断处理流程图如图4所示。

主程序和定时器TO中断处理流程图

图4 主程序和定时器TO中断处理流程图

  4.1 模糊PID参数自整定控制器原理

  PID参数模糊自整定是找出PID中3个参数与e和ec之间的模糊关系,在运行中通过不断检测e和ec,根据模糊控制原理来对3个参数进行在线修改,以满足不同e和ec对控制参数的不同要求,而使被控对象有良好的动稳态性能。从系统的稳定性、响应速度、超调量和稳态精度等方面来考虑,Kp,Ki,Kd的作用如下:Kp的作用是加快系统的响应速度,提高系统的调节精度;Ki用于消除系统的稳态误差;Kd改善系统的动态性能。图5是PID控制器设计结构原理图。

PID控制器设计结构原理图

图5 PID控制器设计结构原理图

  由PID各个参数对系统的影响得到:

  (1)当误差|e|较大时,说明误差的绝对值较大,不论误差的变化趋势如何,都应该考虑控制器的Kp取较大值,以提高响应的快速性;而为防止因为|ec|瞬时过大,kd应该取较小的值;为控制超调,ki也应该取值很小。

  (2)当误差|e|在中等大小时,为保证系统的相应速度并控制超调,应减小Kp,Ki值应增大,Kd应适中。

  (3)当误差|e|较小时,为保证系统具有良好的稳态特性,应加大Kp、Ki的取值,同时为避免产生振荡,Kd的取值应该和|ec|联系起来。

  教育机器人属于典型的非线性、时变、模型不确定复杂系统。在实际中,机器人行驶道路有直道、大弯道、“S”型小弯道。利用教育机器人在相同的路况下其特性基本不变,可分别确定这3种道路参数下的最佳PID参数。其核心思想是把控制周期内的机器人状态视为不变,只要控制周期较短,就可实现很好的控制效果。在机器人实际的行使中,每10ms进行1次控制,可满足要求。

  4.2 PID参数设定

  模糊PID控制根据系统运行的不同状态,考虑Kp、Ki、Kd三者的关联,根据工程经验并依据各参数的作用,通过大量的测试获得本系统对应路况下的PID参数,实验数据如下:

  (1)在直道上系统取kp=3,Ki=5,kd=0,测试环境为一条长度5 m的长直道;

  (2)在大弯道上系统取kp=10,Ki=1,kd=1,测试环境为直道进入一个半径为100 cm的3/4圆;

  (3)在“S”型小弯道上系统取kp=7,Ki=4,kd=3,测试环境为3个90度圆弧构成的"S"型小弯道。

  5 结束语

  用STC12C5A60S2单片机配合红外光电阵列检测模块对直流电机执行参数自整定模糊PID控制器,解决了直流电机在巡航过程中产生抖动前进的控制问题,使得教育机器人在行走的过程中更平稳,且控制方法简单、实用。

参考文献:

[1]. MAX810 datasheet http://www.dzsc.com/datasheet/MAX810_1019165.html.
[2]. LM7805 datasheet http://www.dzsc.com/datasheet/LM7805_843721.html.
[3]. L298N datasheet http://www.dzsc.com/datasheet/L298N_442931.html.

关键字:单片机  教育机器人  STC12CSA60S2 引用地址:基于单片机的教育机器人的设计

上一篇:单片机应用编程基础知识问题
下一篇:MSP430单片机的特点及在接收机中的应用

推荐阅读最新更新时间:2024-03-16 13:17

8051单片机和STM32单片机的编程环境对比
单片机编程是一门实战性的技术,程序要在单片机平台上跑起来才能看到效果、才能积累编程经验。在学校学习单片机课程时,可能会感觉到一直有一种脱节的感觉,因为一直没有用武之地。其实学习单片机很简单,第一步就是搞清楚编程环境。 入门单片机时,我们常用51型8051单片机和STM32单片机。这两种单片机比较典型,因为学校里单片机课程是基于51单片机的,而STM32的单片机则具有较多的学习资料。下面就这两种单片机介绍一下编程环境。 1、单片机常用的编程环境 比较流行的单片机环境有keil和IAR,这两种环境可以覆盖市面上90%的单片机型号,而且都提供了函数库。根据单片机位数不同,这两个编程环境也有不同的版本。 1.1 Keil的常用版本
[单片机]
8051<font color='red'>单片机</font>和STM32<font color='red'>单片机</font>的编程环境对比
基于RS-485总线的PC与多单片机间的串行通信
0 前言 单片机因其优越的性价比和灵活的功能配置而被广泛的应用于测控领域。而PC则因为丰富的软、硬件资源,被广泛应用于网络监控系统中。这就是一台PC与多台单片机所组成的主从式网络测控系统。串行通信是计算机和外部设备进行数据交换的重要渠道,由于其成本低,性能稳定并遵循统一的标准,因而在工程中被广泛应用。本文以华东石油局的一台油田钻井的滚动轴承信号采集系统为例,讨论一种基于串行通信标准的测控系统的通信协议及其具体的软、硬件实现。在本系统中,上位机以PC和Windows操作系统为软、硬件资源;下位机采用ATMEL公司89C51,总线标准采用的是测控系统常用的RS-485。 1 通信系统的硬件设计 尽管RS-232有些缺点,但在
[单片机]
基于RS-485总线的PC与多<font color='red'>单片机</font>间的串行通信
AVR单片机-nRF24L01发送接收程序
#include iom16v.h #include macros.h #include 12864.h //------------------------------------------------------------------------------ //spi标志 #define DDR_SPI DDRB #define DD_MOSI 5 #define DD_MISO 6 #define DD_SCK 7 #define DD_SS 4 #define CE PB3 #define IRQ PB2 //--------------------------------NRF24L01接口定义-------
[单片机]
新一代网络打印机国产主控制器:N32G457系列MCU芯片
网络打印机是指将内置或外置打印服务器作为独立的设备接入局域网或者Internet或者无线网,从而使打印机摆脱一直以来作为电脑外设的附属地位,使之成为物联网终端设备中的独立成员,并可实现多机联网共享打印。 图1:网络热敏打印机 网络打印机的组成 网络打印机广泛应用于餐饮票据、物流标签、零售门店、彩票等行业的网络打印应用场景。主要由热敏打印头及其外围电路,主控制器( MCU )电路,电源供电,通讯接口电路以及人机交互五大部分组成。 图2 网络打印机结构图 2、主流网络打印机的关键特性 打印质量 打印质量是评价网络打印机的一个重要指标,打印质量的优劣主要以打印的清晰度来体现,而决定清晰度的
[物联网]
新一代网络打印机国产主控制器:N32G457系列<font color='red'>MCU</font>芯片
AT89C51单片机在LED显示屏控制电路设计中的应用
LED显示屏又叫电子显示屏,是由LED点阵组成,通过红色或绿色灯珠的亮灭来显示文字、图片、动画、视频,内容可以随时更换,通常由显示模块、控制系统及电源系统组成。显示模块由LED灯组成的点阵构成,负责发光显示;控制系统通过控制相应区域的亮灭,可以让屏幕显示文字、图片、视频等内容,恒舞动卡主要是播放动画的;电源系统负责将输入电压电流转为显示屏需要的电压电流。   LED显示屏广泛应用于信息指示灯,大屏幕显示,液晶显示的背光灯,固体照明等。本文设计一种由4个16×16点阵LED模块组成的显示屏,由单片机作控制器,平滑移动显示任意多个文字或图形符号,本电路可级联扩展实现由任意多个16×16点阵LED模块组成的显示屏。   一、控制
[单片机]
AT89C51<font color='red'>单片机</font>在LED显示屏控制电路设计中的应用
基于TMP04的PIC单片机测温实现
摘要:数字化温度传感器可以直接将温度量以数字脉冲信号形式输出,具有测量精度高、抗干扰能力强、传输距离远、外围接口电路简单等诸多优点。同时数字温度传感器还可直接与微处理器进行接口,大大方便了传感器输出信号的处理。本文以PWM模式输出的TMP04型数字式温度传感器为例,介绍由PCI单片机实现的几种测温方案,并给出软件设计流程。 关键词:数字式温度传感器 PCI单片机 TMP04 PWM 1 引言 在大多数测控系统中,温度都是必不可少的检测量,温度传感器也是测控系统中十分重要的传感器件。随着数字 化传感器技术的不断发展, 出现了各种类型的数字温度传感器。数字温度传感器可以直接将被检测的温度信息以数字化形式输出,与传统的模拟式
[单片机]
基于单片机的电子琴的电路设计
引言 随着计算机在社会各领域的渗透,单片机的应用正在不断地走向深入,同时带动着工业、农业、商业、家电以及玩具的日新月异更新,极大地提高了电子电路及系统设计质量和效率。 本文中所设计的具有存储功能的单片机电子琴是由STC89C51单片机、小键盘、LCD以及音频功放电路和扬声器组成的。利用该电子琴电路,用户可以自由地输入音符,利用单片机产生不同频率来获得我们要求的音阶,使扬声器发出悦耳的音乐,最终可随意弹奏想要表达的音乐。同时详细论述了该系统的设计过程及关键技术。 1 系统硬件组成 电子琴的控制电路分为单片机STC89C51、工作指示LED、LCD显示器、按键输入、喇叭接口等几部分。其硬件电路结构框图如图1
[单片机]
基于<font color='red'>单片机</font>的电子琴的电路设计
基于RISC技术的8位微控制器设计
摘要:介绍基于RISC技术的8位微控制器的设计与实现。主要包括RISC指令集的选取;取指单元、译码单元、执行单元的设计;取指、译码、回写三级流水线技术的实现。该微控制器包含8级硬件堆栈、1个8位计数器、1个计数器溢出中断、2个外部中断源、8位数据输入和输出端口、16个通用寄存器、2K%26;#215;16位的程序存储器、512字节的数据存储器。设计使用可综合的Verilog语言描述, QuartusⅡ软件仿真,FPGA器件验证实现。 关键词:RISC Verilog 8位微控制器 FPGA 引 言 随着微电子技术的不断发展,超大规模集成电路的集成度和工艺水平不断提高,将整个应用电子系统集成在一个芯片中(SoC),已成为
[半导体设计/制造]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved