基于ARM的嵌入式TCP/IP协议的实现摘 要:分析嵌入式TCP/IP协议的选取原则,采用ARM芯片和网络接口控制芯片设计以太网接口,介绍ARM芯片对网络接口控制芯片的控制过程和TCP/IP协议栈处理数据包的流程,完成嵌入式TCP/IP系统
摘要:主要介绍以STC12C5A60S2单片机为核心的教育机器人设计,阐述了教育机器人的硬件电路设计、软件模块以及控制算法设计。系统设计的红外光电检测阵列和模糊自整定PID控制器,使教育机器人在行走时更平稳,且控制方法简单、实用。该系统可用于无人驾驶、自动探测等人工智能等领域。
关键词:STC12C5A60S2;红外光电检测阵列;模糊自整定PID控制
0 引言
目前许多高等教育院校采用教育机器人进行课堂教学和培养学生的创新能力。本文设计的教育机器人通过红外光电传感器阵列检测路面信息并利用模糊自整定PID算法将采集的路面信息和电机运行数据进行实时处理,实现教育机器人的智能巡航并将机器人的状态显示输出共模电感。
1 机器人的组成及工作原理
机器人由硬件和软件两部分组成。采用STC12CSA60S2单片机作为系统控制的核心部件,完成路面信息检测、直流电机控制、电机转速检测、数码管显示、蜂鸣器报警以及键盘输入等功能,硬件系统框图如图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所示。
3.3 红外光电传感器寻迹阵列模块
红外光电检测电路工作原理是:红外线射到路面并反射,利用红外线在黑线和白线对光的反射系数不同的特点一白色反光线,黑色吸收光线,电路设计一个发射红外光和一个红外光敏二极管,当检测到黑线时,检测电路向单片机发出一个高电平信号。当检测到白色时,检测电路向单片机发出一个低电平信号。
小型电感器
由7组红外光电检测电路排成一排构成一个红外光电传感器阵列模块,安置在机器人的车头位置。在对黑线循迹的过程中,红外光电传感器阵列模块可以求得机器人对黑线轨迹位移偏移量。单片机检测到红外光电传感器阵列模块的信号与机器人的位移偏移量如表1所示。
当机器人行驶的状态不一样功率电感时,7组传感器输出的值也对应不同,从表中可以得到机器人在巡航过程中机器人所处位置与黑色轨迹的偏移量。
3.4 车速检测模块
教育机器人系统通过车速检测模块来读取当前车速。采用的方法是在后左右轮上分别粘贴一个均匀分布有黑白条纹的编码盘(见图3(a)),利用图3(b)的检测电路来对编码盘上的黑白条纹进行检测。当车轮转动时,红外接收管接收到的反射光强弱高低变化就会产生与车轮转速相对应的脉冲信号,将该脉冲信号进行放大整形后输入单片机的引脚P3.4和P3.5,记录单位时间内所得到的脉冲数,就能够表示出当前车左右轮子的速度,同时通过累加可以计算出小车所行走的路程。