首页 文学文摘 时政新闻 科技科普 经济法律 健康生活 管理财经 教育教学 文化艺术 社科历史

基于倾角传感器的自动平衡系统

作者:赵 健 吴顺伟 任志舶 来源:现代电子技术


  摘 要:介绍倾角传感器AMEB002在自动平衡系统中的应用。系统以AT89C52为控制核心,采用PWM技术对电动小车进行调速,根据倾角传感器测量的角度,电动小车沿轨迹自动在跷跷板上行驶,实时显示各项参数并保存,系统平衡时发出声光报警。详细论述系统的硬件组成及各部分电路设计,给出系统的软件流程和测试过程。利用倾角传感器实现高精度的平衡控制是系统设计的主要创新点。
  关键词:倾角传感器;PWM;光电开关;平衡调整
  中图分类号:TP212 文献标识码:B 文章编号:1004373X(2008)1619203
  
  Automatic Balance System Based on Obliquity Sensor
  ZHAO Jian.1,WU Shunwei.1,REN Zhibo.2
  (1.Taishan University,Taian,271021,China;2.Shandong University of Science and Technology,Taian,271000,China)
  Abstract:This paper introduces the application of obliquity sensor AME-B002 in automatic balance system.The system uses AT89C52 as controlling core,adjusts speed of electromotion dolly adopting PWM,with angle measured by obliquity sensor,electromotion dolly runs on the seesaw following the contrail,shows and caves all parameters at times,sends out sounds and lights for alarm at time of balance.And discusses hardware constitutes and circuits design of all parts in detail,gives software flow and testing process of the system.Using obliquity sensor realizes high accuracy balance cortrol is the main innovation spot of system design.
  Keywords:obliquity sensor;PWM;photoelectricity switch;balance adjust
  
  1 系统组成
  
  系统组成框图如图1所示:
  
  1.1 倾角传感器
  采用倾角传感器,测量跷跷板转动的角度,判断其是否平衡。传感器采用非接触式倾角传感器AMEB002。该传感器的主要特点包括:角度范围0°~360°;模拟输出模式,电压范围0.5~+4.5 V;分辨率12位,精度10位;温度范围-40°~+100°;供电电压5 V+10%。倾角传感器输出模拟电压信号,经过A/D转换芯片转换成数字信号,送到控制核心AT89C52。A/D转换芯片采用美国德州仪器公司生产的带串行控制的10位模数转换器TLC1549。该芯片采用CMOS工艺,具有内在的采样和保持,采用差分基准电压高阻输入,抗干扰,可按比例量程校准转换范围,总不可调整误差达到±1LSB Max(4.8 mV)等特点。芯片输出为串行信号,占用控制核心的口资源较少。倾角传感器安装在跷跷板的转动轴上,将跷跷板的倾角信息实时传送给控制核心,作为判断跷跷板平衡的依据。
  1.2 引导轨迹
  为了让电动小车在跷跷板上沿直线运动,在板面上加入引导轨迹。引导轨迹采用黑色胶带,宽度为20 mm,粘贴在跷跷板板面中间,其他部分为白色。电动小车通过传感器可以检测黑线,并沿着轨迹前进。
  1.3 电动小车
  1.3.1 电动机驱动电路
  采用三极管设计的H桥型PWM电路。电路实现了简单的转弯和转速控制。工作时用单片机控制三极管工作在占空比可调的开关状态,可以精确调整电动机转速。由于三极管工作在饱和状态或截止状态,效率非常高,其开关速度快、稳定性强。电路如图2所示。在图2中,当Q1,Q4导通时,VCC正向加在直流电动机上,电动机正转;当Q2,Q3导通时,VCC反向加在直流电动机上,电动机反转。图2中4个二极管可以在控制电压由低变高时,形成电动机电圈感应电压的回路,起到保护电动机的作用。控制系统采用5 V电压供电,因此若三极管基极直接由单片机控制,则控制电压最高5 V,再加上三极管本身的压降,加到电动机两端的电压就只有4 V左右,减弱了电动机的驱动能力。基于上述考虑,采用光电耦合器TLP521,将控制部分和电动机驱动隔离开来,不仅增加了各模块之间的隔离度,也使驱动电流得到了大大的增强。
  
  1.3.2 轨迹检测模块设计
  系统检测轨迹的基本原理:光线照射到路面并反射,由于黑线和白线的反射系数不同,可根据接收到反射光强弱判断是否是黑线。采用反射式红外发射接收传感器,可以准确地检测黑线的位置。在电动小车的前方并排安装3个反射式红外发射接收传感器,中间传感器检测到黑线表明小车沿着轨迹前进;左边传感器检测到黑线,表明小车向右偏离轨迹;右边传感器检测到黑线,表明小车向左偏离轨迹。小车的后方并排安装2个反射式红外发射接收传感器,与前方中间一个配合,确定倒车时小车轨迹。这样,根据传感器提供的小车运行信息,及时对小车的前进或倒车方向做出调整。
  1.3.3 速度测量模块
  采用槽式光电开关,测量车轮的转速。该槽式光电开关采用标准的U字型结构,其发射器和接收器分别位于U型槽的两边,并形成一光轴,当被检测物体经过U型槽且阻断光轴时,光电开关就产生了开关量信号。槽式光电开关适合检测高速运动的物体,并且它能分辨透明与半透明物体,使用安全可靠。小车车轴上固定槽式光电开关,在车轴齿轮上均匀分布8个小孔,车轮转动时,小孔依次通过沟槽,光电开关便得到通断相间的高低电平信号,得到的信号经过整形放大,发送至单片机,用来计算车速。根据测得的车速,算出平均值,乘上小车运动时间便得到小车运动路程。
  1.4 计时模块
  若采用单片机计时,一方面需要采用计数器,占用硬件资源;另一方面需要设置中断、查询等,同样耗费单片机的资源。系统采用专用时钟芯片DS12C887,其特点:在掉电方式下持续工作十年以上,内部包含锂电池,时钟和辅助电路系统,记量秒、分、小时、星期、日期、月、年和润年直到2100年,用二进制或BCD码表示时间,日历和闹钟,地址、数据管脚复用,与单片机接口简单,便于控制。
  1.5 数据存储模块
  系统中要存储的信息包括小车速度、行驶时间、行驶路程、行驶状态(前进、后退、平衡)和调整平衡时间等。要求掉电后数据不丢失,一方面,小车行驶过程中突然断电,上电后可以按照断电前系统存储的状态继续行驶;另一方面,便于分析小车行驶状态参数,特别是小车自动调整平衡过程中小车状态参数。
  
  系统采用AT24C02作为存储芯片。AT24C02 是一个2 k位串行E.2PROM,内部含有256个8 位字节,通过I.2C总线接口进行操作,占用单片机接口少,1.8 ~6.0 V工作电压范围, 1百万次编程/擦除周期,可保存数据100 年。
  1.6 电源模块
  方案1:单一电源供电。控制板和电机驱动板使用电机驱动的单组电源(可充电电池)。这样供电比较简单;但是由于电动机启动瞬间电流很大,而且PWM驱动的电动机电流波动较大,会造成电压不稳、有毛刺等干扰,严重时可能造成单片机系统掉电;
  方案2:双电源供电。6 V可充电池为单片机系统供电,1节9 V电池为电动机供电。将电动机电源与单片机以及其周边电路完全隔离,利用光电偶合器传输信号。这样可以将电动机工作所造成的干扰彻底消除,提高系统的稳定性。因此,系统采用双电源供电。
  1.7 声光提示模块
  系统达到平衡状态时,发出声光提示信息。声音提示由ISD1400芯片提供,它有20 s的录放时间。事先将“系统达到平衡状态”语音信息存储到ISD1400芯片内部,系统平衡时播放。光提示由发光二极管提供,发光二极管闪烁表示系统达到平衡状态。
  
  2 系统软件设计
  
  2.1 软件流程图
  从起始点到平衡状态流程图,如图3所示。
  2.2 关键部分软件调试
  2.2.1 平衡调整
  使跷跷板达到平衡是本设计控制最复杂且要求实时性较高的部分。要达到平衡,需要多次微调小车位置,采用两级减速的方法实现。
  一级减速 在跷跷板中点之前设置黑线作为减速标志,小车检测到黑线立即减速。经过多次试验,减速标志设置在距跷跷板中点50 mm处,其宽度为20 mm,与小车行驶方向垂直。减速后,小车速度v=10 mm/s。
  
  二级减速 根据倾角传感器提供的跷跷板转动角度,微调小车位置。小车在出发点时,跷跷板转动角度值(倾角传感器输出经TLC1549转换得到的数字量)设为m0,经测试此值在全过程中最小;小车在行驶中,跷跷板转动角度值设为m。当m-m0大于等于3时,二级减速,使小车速度v=5 mm/s。循环读取m值,判断m-m0大小,处理如表1。
  
  2.2.2 小车速度计算
  用单片机的定时器T1计算槽式光电开关输出的脉冲个数。T1工作在方式2,初始值TH1=0,TL1=0。产生一次T1溢出中断,变量count加1。定时器T0定时1 s。1 s到达时计算脉冲总数,公式如为N=count*65 536+TH1*256+TL1。车轮上均匀分布8个小孔,则路程计算公式为S=N/8*L,其中L=215 mm为车轮周长。速度v=S=N/8*215,单位为mm/s。
  
  3 系统测试
  
  3.1 测试设备
  跷跷板:总长AB=1 600 mm, 宽度300 mm,C为中点,平衡时距地面70 mm,小车从A点出发,AC之间下方可放配重物体。示意图如图4所示。
  小车:长250 mm,宽150 mm。卷尺:精度1 mm。秒表:精度0.01 s。
  
  3.2 测试过程
  3.2.1 无配重测试
  小车起始速度20 mm/s,无配重,从A点出发,达到平衡时,保持5 s,小车继续前进到B点,停留5 s,倒车,返回到A点。测试数据如表2。
  
  3.2.2 有配重测试
  小车起始速度20 mm/s,无配重,从A点出发,达到平衡时,在AC之间加配重,重量70 g,小车重新找平衡,平衡时保持5 s,小车继续前进到B点。测试数据如表3所示。
  
  4 结 语
  
  本设计在硬件上,使用高精度的倾角传感器,以提高系统的稳定性和精确性;PWM技术的使用则解决了电动机驱动的效率问题。软件上充分利用AT89C52的控制和运算优势,实现了路面检测、速度控制、倾角测量和复杂的速度计算等功能。从测试结果来看,本系统对不同环境具有较强的适应能力。
  
  参 考 文 献
  [1]胡汉才.单片机原理及其接口技术[M].北京:清华大学出版社,2004.
  [2]李朝青.单片机原理及接口技术[M].北京:北京航空航天大学出版社,2001.
  [3]冯建华,赵亮.单片机应用系统设计与产品开发[M].北京:人民邮电出版社,2005.
  
  作者简介 赵 健 男,1982年出生,助教,在读硕士研究生。主要从事计算机及电子应用方面的教学与科研工作