1、长春工业大学人文信息学院毕业设计(论文) 信息工程系 摘 要双轮自平衡车是一个高度不稳定两轮机器人,是一种多变量、非线性、绝对不稳定的系统,需要在完成平衡控制的同时实现直立行走等任务因其既有理论意义又有实用价值,双轮自平衡小车的研究在最近十年引起了大量机器人技术实验室的广泛关注。本文主要介绍了双轮平衡车的控制系统硬件设计方案。此方案采用ATmega328 作为核心控制器,在此基础上增加了各种接口电路板组成整个硬件系统,包括单片机最小系统,姿态检测模块,直流驱动电机控制模块,电源管理模块,测速编码模块,串口调试等模块。对于姿态检测系统而言,单独使用陀螺仪或者加速度计,都不能提供有效而可靠的信息来
2、保证车体的平衡。所以采用一种简易互补滤波方法来融合陀螺仪和加速度计的输出信号,补偿陀螺仪的漂移误差和加速度计的动态误差,得到一个更优的倾角近似值。本文先阐述了系统方案原理,再分别就各模块工作原理进行详细的介绍与分析,最终完成车模的制作和电路原理图以及 1PCB 板的绘制。最后根据调试情况对整个系统做了修改,基本达到设计要求。关键词 双轮自平衡车 模块设计 传感器 AbstractTwo-wheeled self-balanced car is a highly unstable robots, it is a system with Multivariable, nonlinear and a
3、bsolute instability, it needs to complete the balance control tasks such as walking upright because of both theoretical significance and practical value. Two-wheeled self-balanced car in the last decade has aroused widespread concern in the robotics laboratory.This paper describes the control system
4、 hardware design of the wheel balanced car. This program uses ATmega328 as the core controller,base on this increase of various interface circuit board to building the hardware system. Peripheral circuits including the smallest single-chip system, the gesture detection module, the DC drive motor con
5、trol module, power management module, velocity encoding module and serial debugging module. For the posture monitoring system,the information solely depends on the gyroscope or the accelerometer couldnt make sure the balance of vehideSo the signals from the gyroscope and accelerometer were integrate
6、d by a simple method of complementary filtering for an optimal angle to compensate the gyroscope drift error and the accelerometer dynamic error.This article first describes the principle of the system program,then described in detail each module how to working out, the final completion of car model
7、s produced and circuit schematics and the PCB drawing.In the end, according to debug the situation on the whole system changes, the hardware system basically reached the design requirements.Keywords two-wheeled self-balanced car modular design sensor30长春工业大学人文信息学院毕业设计(论文) 信息工程系 目 录前言1第1章 绪论21.1 设计的依
8、据与意义21.2 国内外同类设计的概况综述31.3 设计要求与内容3第2章 总体硬件方案设计52.1 总体分析52.2 总体方案设计52.3 方案框图7第3章 单元模块设计83.1 姿态检测模块83.2 单片机控制单元模块电路143.3 电机驱动模块193.4 串行通信模块213.5 电源管理模块24结论26参考文献27致谢28附录29长春工业大学人文信息学院毕业设计(论文) 信息工程系 前 言自平衡车自动平衡运作原理主要是建立在一种被称为“动态稳定”(DynamicStabilization)的基本原理上,也就是车辆本身的自动平衡能力。以内置的精密固态陀螺仪(Solid-State Gyro
9、scopes)来判断车身所处的姿势状态。透过精密且高速的中央微处理器计算出适当的指令后,驱动马达来做到平衡的效果。正确打开电源且能保持足够运作的电力,车上的人就不用担心有倾倒跌落的可能,这与一般需要靠驾驶人自己进行平衡的滑板车等交通工具大大不同,双轮单轴自平衡小车就是其中的一种模型。双轮自平衡小车是一个高度不稳定两轮机器人,是一种多变量、非线性、绝对不稳定的系统,且因其运动环境复杂、运动学方程中的非完整约束,所以其控制任务也具有复杂性,需要在完成平衡控制的同时实现直立行走等任务因其既有理论意义又有实用价值,双轮自平衡小车的研究在最近十年引起了大量机器人技术实验室的广泛关注。双轮自平衡小车作为倒
10、置系统的一种形式,是动力学理论和自动控制理论与技术相结合的研究项目,为科学理论的发展起到了指导作用,且由于结构简单、运动灵活以及适合在更小的空间里工作,有着一定的应用前景。为使我们对几年大学学习有个全面而深刻的了解,为了让我们对所学书本知识从抽象化到具体化的质的飞跃,为使我们能更快的适应将来的工作,在毕业之际进行了此次设计,以此来为我们的大学生涯画上圆满的句号。本设计利用 ATmega328P 单片机,和加速度以及陀螺仪传感器实时检测物体在空间中的姿态,并将物体姿态数据进行处理,发出控制信号,驱动两个电机转动,使小车保持动态平衡。本设计完成了如下要求:(1)单片机控制系统电路原理图的设计;(2
11、)控制系统电路印制版的绘制;(3)硬件模块的连接。 第1章 绪论1.1 设计的依据与意义双轮自平衡小车属于一种简单的轮式机器人。由于结构简单、运动灵活以及适合在更小的空间里工作,有着一定的应用前景。其原理来自于倒立摆的控制,双轮小车从力学角度来说本身是不稳定的,因此设计的重点是如何控制实现小车的平衡,以及在平衡下实现指定运动。采用的方法就是不断地调整小车的姿态使其达到动态平衡。原理如图 1-1 所示: 图1-1 动态平衡原理示意图因此在运动中需要利用传感器检测当前的姿态(使用加速度传感器和陀螺仪进行信号收集,并对两个传感器的数据有效融合和估计,用加速度传感器长时间稳定的特性弥补陀螺仪的零点漂移
12、及 A/D 采样值单调性误差积累增长),将当前的姿态信息反馈到单片机,然后由单片机给出控制信号来控制电机转动以此实现平衡。控制采用 PID 控制,核心内容是 PID 控制参数的整定,这部分内容需要不断的调试和更改,根据实际的情况可以设置出最稳定的参数。 1.2 国内外同类设计的概况综述在两轮自平衡小车的研究上,国外的专家和爱好者们取得了一系列的成果,以下介绍国外几个比较先进的两轮自平衡小车:由瑞士联邦技术学院工业电子实验室的研究人员研制的名为 JOE 的基于倒立摆的小型自平衡两轮车模型,是由 DSP 芯片进行控制的。它由车架上方所附的重物模拟实际车中的驾驶者。研究人员通过陀螺仪和光电编码器测量
13、的数据,用线性状态反馈控制器来控制整个系统的平衡稳定。由美国发明家 DeanKamen 开发的SEGWAYliT两轮个人交通工具则是一个更为实用、成熟以及商业化的两轮运载车的版本。它使用了五个陀螺仪和一个收集其他角度传感器数据的集成器来保持自身的直立状态。小车只需其中的三个陀螺仪就可以控制整个系统的平衡,而另外的两个则是为安全可靠作为备用。我国在此方面的研究也取得了很大的成就:中国科学技术大学研究出了自平衡两轮代步电动车,它是一种两轮式左右并行布置结构的具有自平衡系统的电动车。在车体内嵌入式 CPU 的控制下,采集平衡传感器以及速度、加速度传感器的数据,通过一定的控制算法,计算输出 PWM 信
14、号控制两个伺服电机的转矩,使车体保持平衡并能够根据人体重心的偏移,自动前进、后退及转弯。哈尔滨工程大学也有类似的双轮直立自平衡机器人,该系统采用两块 Cygnal公司推出的单片机和人机交互的上位机作为控制核心。车体倾斜角度检测采用 AD 公司推出的双轴加速度传感器 ADXL202 及反射式红外线距离传感器。利用 PWM 技术动态控制两台直流电机的转速。上位机与机器人间的数据通信采用迅通生产的 PTR2000 超小型超低功耗高速无线收发 MODEM。人机交互界面采用 240*128 图形液晶点阵、方向摇杆及按键。基于这些完备而可靠的硬件设计,使用了一套独特的软件算法,实现了该系统的平衡控制。1.
15、3 设计要求与内容开发一种两轮自平衡机器人实验平台的控制软件。使用 AVR ATMEGA 328P 单片机作为控制器,使用加速度、角速度传感器估计车体姿态,设计控制算法对两轮电机进行实时控制,使机器人在保持平衡的基础上按照指令进行运动。机器人在运动的同时,通过无线通讯模块与 PC 机通讯,发送自身状态、接受轨迹指令。并能达到以下要求:1.保持自身平衡,倾角范围 5之间;2.能够通过电机编码器检测自身的位移和运动速度;3.能够保持平衡的同时前后运动;4.能通过无线串口和上位机进行通讯。 第2章 总体硬件方案设计2.1 总体分析自平衡车系统的功能模块主要包括:控制核心(MCU)模块、电源管理模块、
16、电机驱动模块、速度检测模块及调试辅助模块。每个模块都包括硬件和软件两部分。硬件为系统工作提供硬件实体,软件为系统提供各种算法。设计系统包括:第一是双轮平衡车的机械结构设计,由两轮自平衡小车的机械结构搭建工作平台、承载硬件电路。其中包括车身上支架、下平台等;第二是硬件电路设计,涵盖包括电源、嵌入式微控制器、传感器、电机和控制电路、数据通信的综合系统;第三是平衡控制器模块,要求自平衡、数据采集、手动控制装置等;第四是双轮平衡车的软件设计及调试控制,按既定要求写出控制程序,解决运动状态下如何保持车体系统平衡的问题。该系统主要实现 3 个部分:第一是小车的硬件设计,一个好的硬件构架可以减少不必要的调试
17、麻烦;第二是平衡信号检测处理,要求传感器检测系统要能快速检测到倾斜信号,保证小车静止平衡和倾斜情况之后的调节能力;第三是单片机通过对检测到的信号进行分析处理,通过相应的 C 语言程序来实现。功能模块包括:传感器部分,三轴加速度传感器和陀螺仪等。为电机控制提供准确的速度方向反馈。电源部分,可靠的电源管理模块。控制 MCU 部分,最小系统模块和 PWM 电机驱动模块。使用单片机 AVR ATMEGA 328P,完成采集信号的处理和控制信号的输出。调试部分,方便进行速度方向数据修正。根据预设要求,设计车模控制系统的电路时,首先需要分析系统的输入、输出信号,然后由事先选定的核心控制嵌入式计算机(单片机
18、)AVR ATMEGA 328P,逐步设计各个电路子模块,最后形成完整的控制电路。2.2 总体方案设计经过以上的分析,系统的输入输出包括:(1)AD 转换接口(至少 4 路)陀螺仪:一路,测量陀螺仪输出电压。加速度计:一路,测量加速度 Z 轴输出电压。辅助调试:(备用)1 到 3 路,用于车模调试、设置作用。(2) PWM 接口(4 路),控制左右两个电极双方向运行,需要四路 PWM 接口。(3) 定时器接口(2 路),测量两个电机转速,需要两个定时器脉冲输入端口。(4) 通讯接口(备用)SCI (UART):一路,用于程序下载和调试接口;I2C :(备用)如果选择飞思卡尔公司的数字加速度计,
19、可以通过 I2C 接口直接读取加速度值。(5) IO 接口(备用),4 到 8 路输入输出,应用车模运行状态显示,功能设置等。由 I/O 接口分布可将控制电路分为以下子模块:(1) 单片机最小系统:包括单片机,程序下载调试接口等;(2) 陀螺仪与加速度计:包括两个姿态传感器信号放大滤波电路;(3) 电机驱动:驱动两个电机运行电路;(4) 电源:电源电压转换、稳压、滤波电路;(5) 设置与调试:显示系统运行状态、速度设定、程序下载与监控。根据实验室的资源以及查询资料确定本次设计的方案为:姿态检测模块:采用 BMA180 加速度传感器,ITG3205 三轴数字陀螺仪来获取小车的姿态。控制核心模块:
20、arduino 单片机最小系统,采用 8 位 AVR 单片机 ATMEGA 328P。电机驱动模块:两片 Freescale MC33886 电机驱动芯片,分别驱动两个电机。2342 编码器两个。电源管理模块:采用 9V 锂电池直接驱动电机,两片 GM1117 电平转换芯片输出一路 3.3V 电压,一路 5.0V 电压驱动单片机和姿态检测芯片。 2.3 方案框图根据分析,绘制出总体方案框图如图 2-1:图 2-1 总体方案框图 第3章 单元模块设计 3.1 姿态检测模块姿态检测模块负责将车体的姿态信息反馈至单片机,是整个硬件设计的核心内容。为了能够准确获取小车当前的姿态信息,姿态检测模块采用了
21、陀螺(ITG3205)+加速度传感器(BMA180)相结合的方式。3.1.1 模块工作原理1.陀螺工作站的原理高速旋转的物体的旋转轴,对于改变其方向的外力作用有趋向于铅直方向的倾向。而且,旋转物体在横向倾斜时,重力会向增加倾斜的方向作用,而轴则向垂直方向运动,就产生了摇头的运动也就是岁差运动。当陀螺经纬仪的陀螺旋转轴以水平轴旋转时,由于地球的旋转而受到铅直方向旋转力,陀螺的旋转体向水平面内的子午线方向产生岁差运动。当轴平行于子午线而静止时可加以应用。2.加速度传感器工作原理目前的加速度传感器有多种实现方式,主要可分为压电式、电容式及热感应式三种,这三种技术各有其优缺点。以电容式 3 轴加速度计
22、的技术原理为例。电容式加速度计能够感测不同方向的加速度或振动等运动状况。其主要为利用硅的机械性质设计出的可移动机构,机构中主要包括两组硅梳齿(Silicon Fingers),组固定,另一组随即运动物体移动;前者相当于固定的电极,后者的功能则是可移动电极。当可移动的梳齿产生了位移,就会随之产生与位移成比例电容值的改变。当运动物体出现变速运动而产生加速度时,其内部的电极位置发生变化,就会反映到电容值的变化(C),该电容差值会传送给一颗接口芯片(InteRFaceChip)并由其输出电压值。因此 3 轴加速度传感器必然包含一个单纯的机械性 MEMS 传感器和一枚 ASIC 接口芯片两部分,前者内部
23、有成群移动的电子,主要测量 XY 及 Z 轴的区域,后者则将电容值的变化转换为电压输出。加速度计测量线性运动,输出加速度,速度变化越快输出量越大,通过三角函数计算可得到加速度计与重力方向的夹角。陀螺仪测量旋转运动,输出角速度,旋转越快,输出量越大,有了角速度数据可通过积分获得角度数据。对比两者优缺点如表 3-1 所示:表 3-1 加速度传感器和陀螺仪优缺点比较加速度计陀螺仪优点无累积误差,长时间稳定数据噪声小,短时间内误差小 缺点1. 加速度计对震动非常敏感,电机转动以及路面崎岖等因素所产生的震动会有很大的噪声。2. 档加速度及运动时,其输出量是运动加速度与重力加速度混合的数据,这会严重影响角
24、度计算的准确性。1. 陀螺仪以及放电电路有温漂。2. 积分会产生累积误差,这种误差会随着事件退役而越来越严重,导致数据失效。因此,对两者的采样的数据进行数据融合,取长补短,用加速度传感器长时间稳定的特性,弥补陀螺仪的零点漂移及 A/D 采样值单调性误差积累增长。3.1.2 芯片 BMA180 应用介绍BMA180 是一种数字输出的高精度三轴加速度传感器,它可以精确的测量静态或动态加速度,因为它有三条相互垂直的轴线,在重力场中,它可以通过重力在这三条轴上的分量来测量自身在重力场中所处的方位。BMA180 与博世公司的其他惯性传感器一样,它也是双芯片布置的。当 x,y,z 轴上受到不同的加速度时,
25、加速度传感器会在各个方向上产生对应不同的电容特性。BMA180 将测量的结果转换成 14 位的数字输出,通过 I2C 或 SPI 总线将 14位数据表示的测量结果发送出去。同过给芯片发送控制字可以改变加速度传感器的量程从 1G 到 16G 之间变化。用一个频率在 10HZ 到 600HZ 之间可调的巴特沃斯滤波器来保证加速度的测量过程。 图 3-1 BMA180模块图1、微型重力加速度传感器(检测 x,y,z 轴上的加速度分量)2、前后端电路,包括前端放大器和模拟预分频电路3、Multipoxer,多路转接器4、14 位 A/D 转换器5、数字电路部分(负责补偿控制,校准,数字滤波,功率调节)
26、6、中断信号产生7、信号传输电路(I2c /SPI)另外还有电源复位模块,时钟发生器等其他模块。3.1.3 芯片 ITG3205 应用介绍ITG3205 是世界第一个单芯片数字输出 3 轴陀螺仪,广泛应用在游戏,3D 鼠标,3D 遥控等领域。该器件具有更小的偏差和灵敏的温度稳定性,降低了用户的校准要求,比上一代产品具有更低的噪音,并简化了应用程序,可更好的进行远程控制。ITG3205 具有 3 个 16 位 ADC 输出,用户可选择内部低通滤波器的带宽,快速 I2C 接口(400KHz)。图 3-2 ITG3205模块图1、三轴陀螺仪传感器,每轴具有独立的 16 位 ADC 和信号处理单元2、
27、I2C 接口和串行通信3、时钟4、传感器数据寄存器5、中断6、数字输出温度传感器7、偏置电压调整和低压差线性稳压器8、电荷泵3.1.4 I2C 总线应用介绍BMA180 和 ITG3205 需要通过 I2C 总线连接至单片机。I2C(InterIntegrated Circuit)总线是由 PHILIPS 公司开发的两线式串行总线,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。I2C 总线支持任何 IC 生产过程 (NMOS CMOS、双极性)。两线串行数据(SDA)和串行时
28、钟(SCL)线在连接到总线的器件间传递信息。每个器件都有一个唯一的地址识别(无论是微控制器、LCD 驱动器、存储器或键盘接口),而且都可以作为一个发送器或接收器(由器件的功能决定)。很明显,LCD 驱动器只是一个接收器,而存储器则既可以接收又可以发送数据。除了发送器和接收器外器件在执行数据传输时也可以被看作是主机或从机。主机是初始化总线的数据传输并产生允许传输的时钟信号的器件。此时,任何被寻址的器件都被认为是从机。I2C 总线特征:1、只要求两条总线线路:一条串行数据线 SDA,一条串行时钟线 SCL;2、每个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主机/从机关系软件设定地址,主
29、机可以作为主机发送器或主机接收器;3、它是一个真正的多主机总线,如果两个或更多主机同时初始化,数据传输可以通过冲突检测和仲裁防止数据被破坏;4、串行的 8 位双向数据传输位速率在标准模式下可达 100kbit/s,快速模式下可达 400kbit/s,高速模式下可达 3.4Mbit/s;5、连接到相同总线的 IC 数量只受到总线的最大电容 400pF 限制。由于连接到 I2C 总线的器件有不同种类的工艺(CMOS、NMOS、PMOS、双极性),逻辑 0(低)和逻辑 1(高)的电平不是固定的,它由电源 VCC 的相关电平决定,每传输一个数据位就产生一个时钟脉冲。在传输数据的时候,SDA 必须在时钟
30、的高电平周期保持稳定,SDA 的高或低电平状态只有在 SCL 线的时钟信号是低电平时才能改变 。 图 3-3 I2C为传输数据有效性SCL 线是高电平时,SDA 线从高电平向低电平切换,这个情况表示起始条件;SCL 线是高电平时,SDA 线由低电平向高电平切换,这个情况表示停止条件。起始和停止条件一般由主机产生,总线在起始条件后被认为处于忙的状态,在停止条件的某段时间后总线被认为再次处于空闲状态。如果产生重复起始条件而不产生停止条件,总线会一直处于忙的状态,此时的起始条件(S)和重复起始条件(Sr)在功能上是一样的。 图 3-4 起始和停止条件 3.1.5 姿态检测模块图将 BMA180 和
31、ITG3205 通过 I2C 总线连接至单片机,模块完整原理如图 3-5:图 3-5 姿态检测模块原理图3.2 单片机控制单元模块电路3.2.1 控制原理本次设计是以单片机为核心进行设计的。在整个单片机姿态检测系统中,CPU既是运算处理中心,又是控制中心,是姿态检测系统中的关键器件。本系统中选用 avr 单片机 ATMEGA328,ATMEGA 可构成真正的单片机最小应用系统,缩小系统体积,提高系统可靠性,降低系统成本,原理如图 3-6。图 3-6 控制模块原理图3.2.2 ATmega 328P 应用介绍AVR 单片机是 1997 年由 ATMEL 公司研发出增强型内置 Flash 的 RI
32、SC (Reduced Instruction Set CPU) 精简指令集高速 8 位单片机。AVR 的单片机可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家用电器等各个领域。AVR 单片机的推出,彻底打破这种旧设计格局,废除了机器周期,抛弃复杂指令计算机(CISC)追求指令完备的做法;采用精简指令集,以字作为指令长度单位,将内容丰富的操作数与操作码安排在一字之中(指令集中占大多数的单周期指令都是如此),取指周期短,又可预取指令,实现流水作业,故可高速执行指令。当然这种速度上的升跃,是以高可靠性为其后盾的。 ATmega328P 就是 ATMEL 公司推出的低功耗 CMOS
33、 8 位微处理器,拥有增强的 AVR RISC 架构。通过在一个时钟周期执行功能强大的指令,具备 1MIPS / MHz 的高速运行处理能力;图 3-7 ATMEL328P模块图特点:(一)高性能,低功耗 Atmel 的 AVR8 位微控制器(二)先进的 RISC 结构1、131 条指令 - 大多数为单时钟周期执行 2、328 通用工作寄存器 3、全静态工作 4、工作在 20MHz 时高达 20 MIPS 的吞吐量(三)高耐久的非易失性内存1、32Kbytes 可编程 Flash 程序存储器2、1Kbytes 内部 SRAM3、可写/擦除次数:Flash 10000 次,EEPROM 1000
34、00 次4、数据保存:在 85C 可保存 20 年,在 25C 可保存 100 年5、具有独立锁定为的可选 Boot 代码段6、真正的同时读-写操作(四)外设特点1、两个 8 位定时器/计数器具有独立预分频器和比较模式 2、一个 16 位定时器/计数器具有独立预分频器,比较模式,捕捉模式 3、具有独立振荡器的实时计数器 4、6 个 PWM 通道 - 8 通道 10 位 ADC 5、6 通道 10 位 ADC 6、可编程串行 USART 7、主/从 SPI 串行接口 8、面向字节的 2 线串行接口(飞利浦 I2C 兼容) 9、具有独立片内振荡器的可编程看门狗定时器 10、片内模拟比较器 11、中
35、断和唤醒引脚电平变化 (五)单片机的特殊功能1、上电复位和可编程欠压检测 2、内部校准振荡器 3、外部和内部中断源 4、5 种睡眠模式:空闲模式,ADC 降噪,省电,待机,并延长待机。 3.2.3 Arduino 应用介绍本系统软件开发是在 Arduino 开发板上进行。Arduino,是一块基于开放源代码的 USB 接口 Simple i/o 接口板(包括 12 通道数字 GPIO(pin2pin13),4 通道 PWM 输出(pin3、pin5、pin6、pin9、pin10、pin11),6-8 通道 10bit ADC 输入通道(A0-A5),并且具有使用类似 Java,C 语言的 I
36、DE 集成开发环境。让您可以快速使用 Arduino 语言与 Flash 或 Processing 等软件,做出互动作品。Arduino 可以使用开发完成的电子元件例如 Switch 或 sensors 或其他控制器、LED、步进马达或其他输出装置。Arduino 也可以独立运作成为一个可以跟软件沟通的接口,例如说:flash、processing、Max/MSP、VVVV 或其他互动软件。Arduino 开发 IDE 接口基于开放源代码,可以让您免费下载使用开发出更多令人惊艳的互动作品。特色:1、开放源代码的电路图设计,程序开发接口免费下载,也可依需求自己修改。2、使用低价格的微处理控制器(
37、ATMEGA128 或 ATmega328)。可以采用 USB 接口供电,不需外接电源。也可以使用外部 9VDC 输入。3、Arduino 支持 ISP 在线烧,可以将新的“bootloader”固件烧入 ATmega128 或 ATmega328 芯片。有了 bootloader 之后,可以通过串口或者 USB to Rs232 线更新固件。4、可依据官方提供的 Eagle 格式 PCB 和 SCH 电路图,简化 Arduino 模组,完成独立运作的微处理控制。可简单地与传感器,各式各样的电子元件连接(EX:红外线,超音波,热敏电阻,光敏电阻,伺服马达等)。5、支持多种互动程序,如:Flas
38、h、Max/Msp、VVVV、PD、C、Processing等。6、应用方面,利用 Arduino,突破以往只能使用鼠标,键盘,CCD 等输入的装置的互动内容,可以更简单地达成单人或多人游戏互动。 3.3 电机驱动模块电机驱动模块主要负责驱动电机的转动,另外还需加入测速模块帮助单片机进行调速控制。3.3.1 电机驱动电路由于小车具有两个驱动电机,因此需要两组电机驱动桥电路。需要两片电机驱动专用芯片组成电机驱动电路。同时为了提高电源的应用效率,驱动电机的 PWM 波形采用了单极性的驱动方式。也就是在一个 PWM 周期内,施加在电机上的电压为一种电压,如图 3-8,3-9 所示。 图 3-8 单极
39、性PWM 图 3-9 双极性PWM因此每一路电机为了能够实现正反转,都需要两个 PWM 信号。两个电机总共需要 4 路 PWM 信号。结合实际应用,选择了 Freescale 的 MC33886 电机驱动芯片,作为一个单片电路 H 桥,是理想的功率分流直流马达和双向推力电磁铁控制器。他的集成电路内部逻辑控制,电荷泵,门控驱动,及低读选通金属-氧化物半导体场效应晶体管输出电路。MC33886 能够控制连续感应直流负载上升到 5.0A 输出负载脉宽调制的频率可达 10KHz,一个故障状态输出可以报告欠压,短路,过热的情况。两路独立输入控制两个半桥的推拉输出电路的输出。两个无效输入使 H 桥产生三态
40、输出(呈现高阻态)。具体的驱动电路如图 3-10 所示。图 3-10 电机驱动模块图3.3.2 电机测速电路为了使单片机进行调速控制,需要对电机进行测速,需要使用编码器。编码器是一种将旋转位移转换成一串数字脉冲信号的旋转式传感器,先将位移转换成周期性的电信号,编码器产生电信号后由数控制置、控制系统等来处理,转变成计数脉冲,这些脉冲能用来控制角位移。编码器以转动时输出脉冲,通过计数设备来知道其位置,当编码器不动或停电时,依靠计数设备的内部记忆来记住位置。这样,当不供电时,编码器不能有任何的移动,当来电工作时,编码器输出脉冲过程中,也不能有干扰而丢失脉冲,会造成零点偏移。解决的方法是增加参考点,编
41、码器每经过参考点,将参考位置修正进计数设备的记忆位置。这样的编码器是由码盘的机械位置决定的,它不受停电、干扰的影响。通过筛选选择电机配套的 2342 型编码器,模块接线图如图 3-11 所示。 图 3-11 电机测速模块图3.4 串行通信模块串行通信模块主要负责在调试的过程中连接 PC 下载程序以及实时监测数据进行参数调节。串行通信有很多种,目前较常用的有 RS232、RS422 和 RS485,根据本设计的实际情况,RS232 串行通信可以满足要求,232 电平与 TTL 电平的转换使用已广泛使用且效果良好的 MAX232 芯片。3.4.1 RS232 通信协议(1)RS-232C 标准介绍
42、串行通信接口标准中,RS-232C 是目前最常用的一种串行通信接口。RS-232C标准的全称是 EIA-RS-232C 标准,该标准对串行通信的连接电缆和机械、电气特性、信号功能以及传输过程都进行了明确的规定,适合于数据传输速率在 0-20kb/s范围内的通信。RS-232C 的推荐最大电缆长度为 15m,实际通信中可以以降低通信速率为代价适当延长通信距离。如果要实现长距离的传输(数百米),需要使用专门的长线驱动器来延长 RS-232C 的通信距离。(2)RS232C 中的引脚定义和电气特性RS-232C 中定义了 20 根信号线,使用 25 芯 D 型连接器 DB25 实现,后来简化串口的线
43、路连接,出现了 9 芯 D 型连接器 DB9,DB9 引脚的分布和信号说明分别如图 3-12 和表 3-2 所示。图 3-12 DB9连接器引脚定义表 3-2 DB9连接器信号说明 引脚号符号缩写方向说明1DCD输入数据载波检出2RXD输入接受数据3TXD输出发送数据4DTR输出数据终端准备好5GND信号地6DSR输入数据准备就绪7RTS输出请求发送8CTS输入允许发送9RI输入振铃提示 RS-232C 标准的电气特性参数有带 3-7K 时驱动器的输出电平、输出开路时接受器的输出逻辑、输入经 300 接地时接收器的输出逻辑和驱动器转换速率等。不同于传统的 TTL 等数字电路的逻辑电平,RS-2
44、32C 的逻辑电平以公共地为对称,其逻辑“0”电平规定在 +3V- +15V 之间,逻辑“1”电平规定在 -3V- -15V 之间,因此需要使用正负极性的双电源供电。由于其与 TTL 等数字电路的逻辑电平不兼容,因此二者之间的连接必须使用电平转换。一般使用中,只需要连接好 TXD、RXD、DSR、RTS、GND5 根线即可正常通信。如果去掉握手信号,最少使用 3 根线即可实现正常的串口通信。本设计采用 MAX232 芯片实现单片机和上位机之间电平的转换,而且该芯片本身对电流具有一定的泵升的作用,因此广泛应用于串行通信中。3.4.2 串行通信电路RS-232C 接口电路包括 RS-232C 接口电平转换部分和 RS-232C 总线连接部分。RS-232C 标准的逻辑电平与 TTL 电平之间的转换用 MAX232 芯片实现,单片机的 TXD、RXD 分别连到 MAX232 的 T2
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100