电动车跷跷板论文(国赛题目).doc_第1页
电动车跷跷板论文(国赛题目).doc_第2页
电动车跷跷板论文(国赛题目).doc_第3页
电动车跷跷板论文(国赛题目).doc_第4页
电动车跷跷板论文(国赛题目).doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

江苏大学第六届电子设计竞赛电动车跷跷板作品论文参赛队员:黄余 周杰 刘治岐二零一四年四月摘要本电动车跷跷板是以铁板为车架,msp430单片机为控制核心,加以直流减速电机、LN298驱动电路、mpu6050陀螺仪、红外光电传感器、N5100液晶、NRF24L01无线模块以及稳压电源电路以及其他电路构成。系统由msp430通过IO口控制小车的前进后退停止平衡以及转向,并通过NRF24L01把小车同电脑上位机连接,进行命令控制和数据发送。寻迹由CTRT5000型红外光电对管完成,平衡由mpu6050陀螺仪完成,用L298N驱动直流减速电机,同时本系统用N5100液晶显示,以显示当前电动车的运动状态以及各部分运行时间。关键词:msp430 NRF24L01 L298N 直流减速电机 红外光电传感器 mpu6050陀螺仪 N5100液晶 Abstractthe electric vehicleseesawisan iron plateframe,MSP430 single chip microcomputer as control core,toDC gear motor,LN298drive circuit,mpu6050 gyroscopes,infrared photoelectric sensor,N5100 LCD,NRF24L01 wirelessmodule and apower supplycircuit and other circuit.The systemconsists of MSP430through the IO port tocontrol the carforward and backstopbalance andsteering,and through the NRF24L01car to carwithcomputerPCconnection,commandcontroland data transmission.Tracingby CTRT5000type infrared photoelectrictubefinish,balancedby mpu6050gyroscope,L298N drivendc gear motor,at the same time,the system used N5100liquid crystal display,to showthe motion stateof electric vehiclesand parts ofthe running time.Keywords:MSP430NRF24L01L298NDC motor andinfrared photoelectric sensor mpu6050gyroscopeN5100 LCD19目录一.模块方案比较与设计1.1车架设计1.2控制器模块1.3电源模块1.4寻迹传感器模块1.5电机模块1.6电机驱动模块1.7平衡模块1.8显示台显示模块1.9无线连接模块1.10上位机的制作二硬件实现及单元电路设计2.1电机驱动电路的设计2.2黑白线检测电路的设计2.3电压稳压电路设计2.4液晶显示屏电路的连接2.5MPU6050陀螺仪模块电路设计2.6NRF24L01无线发送接收模块电路设计三、算法实现:3.1循迹部分3.2电机驱动部分3.3液晶显示部分3.4陀螺仪滤波部分3.5小车整体平衡算法部分3.6小车无线启动算法部分3.7 LABVIEW上位机的制作四、软件设计1、小车上电后程序流程2.基础部分程序流程3.发挥部分程序流程4.小车循迹转向程序流程五、系统功能测试1.基础部分2.发挥部分六、总结七、附录1.小车单片机2.从机单片机一 模块方案比较与设计根据题目要求,本系统主要由控制器模块、电源模块、无线模块、寻迹传感器模块、平衡传感器模块、直流减速电机及其驱动模块、液晶显示模块。本系统大概的方框图如下图所示:电压模块单片机主控制器模块循迹模块陀螺仪无线模块驱动电机报警信号液晶显示为较好的实现各模块的功能,我们分别设计了几种方案并分别进行了论证。1.1车架设计方案1:购买玩具电动车。购买的玩具电动车具有组装完整的车架车轮、电机及其驱动电路。但是一般的说来,玩具电动车具有如下缺点:首先,这种玩具电动车由于装配紧凑,使得各种所需传感器的安装十分不方便。其次,玩具电动车的电机多为玩具直流电机,力矩小,空载转速快,负载性能差,不易调速。而且这种电动车一般都价格不扉。因此我们放弃了此方案。方案2:自己制作电动车。经过反复考虑论证,我们制定了三轮电动车,后面两轮分别驱动转向。前面按一个万向轮。即左右轮分别用两个转速和力矩基本完全相同的步进电机进行驱动,前面装一个万向轮。这样,当两个直流减速电机转向相同但转速不同时就可以实现电动车的转弯,由此可以轻松的实现小车的左转和右转。综上所述,最后选择方案二。1.2控制器模块因为这个暑假我们将参加省赛,而这个比赛是由TI公司赞助举办的,需要用TI公司生产的芯片,为了熟练,因此我们这次选用该公司开发的msp430 16位单片机,它是16位控制器,具有体积小、驱动能力高、集成度高、易扩展、可靠性高、功耗低、结构简单、处理速度高、中断处理能力强等特点。1.3电源模块由于本系统需要电池供电,我们考虑了如下集中方案为系统供电。方案1:采用8.4V大容量理电池,经过7805稳压电路把电压稳成5V之后,在经过ams1117稳压成3.3V为单片机以及一些相应的模块供电。选用的锂电池具有价格低,容量大,体积小和输出电流大等特点。方案2:采用2节4.2V可充电式锂电池串联共8.4V给直流电供电,经过7805的电压变换后为单片机和传感器供电。经过实验验证,当电池为直流电机供电时,单片机、传感器的工作电压不够,性能不稳定。因此我们放弃了此方案。综上考虑,我们选择了方案1。1.4寻迹传感器模块 CTRT5000红外光电对管是由一个发光管和一个接收管组成,当被测物是黑线时,红外光电二极管U发射出的光线被反射回来时很弱,光敏三极管无法导通,所以跟随器输出给单片机的信号为低电平。相反的,当被测物是白线时,由于反射回的信号较强,致使三极管导通,然后把该点的电位经过393比较器同电位器上调节后的电压比较,从而达到在遇到黑线和没有遇到黑线时分别输出高低电平。从而使小车可以沿着黑胶带行走。此光电对管调理电路简单,工作性能稳定,体积小,结构紧凑。1.5电机模块方案一:用步进电机。步进电机可以精确地控制角度和距离。步进电机的输出力矩较低,随转速的升高而下降,且在转速较高时会急剧下降,故其转速较低,不适用于小车等有一定速度要求的系统,并且它的体积大,价格高,质量大,另外步进电机的编程复杂,增加了编程的难度。 方案二:采用直流电机。直流电机运转平稳,精度也有一定的保证,虽然没有步进电机那样高,但完全可以满足本题目的要求。通过单片机自带的的PWM输出同样可以控制直流电机的旋转速度,实现电动车的速度控制。并且直流电机相对于步进电机价格经济。综合性价比和功耗等方面的考虑,我们选择方案二,使用直流电机作为电动车的驱动电机。1.6电机驱动模块方案一:采用继电器对电机的开关进行控制,可以完成电机的正转,反转,调速,但继电器响应时间慢,使小车运动灵敏度降低,增加了避障的难度。而且机械结构易磨损,可靠性不高。它适用于大功率电机的驱动,对于中小功率的电机则极不经济。方案二:采用SM6135W电机遥控驱动模块。SM6135W是专为遥控车设计的大规模集成电路。能实现前进、后退、向右、向左、加速五个功能,但是其采用的是编码输入控制,而不是电平控制,这样在程序中实现比较麻烦,而且该电机模块价格比较高。方案三:采用集成的驱动电路芯片L298N。L298N驱动芯片具有体积小,可靠性安全性高,抗干扰能力强等优点,适合控制智能小车的运动。且有较大的电流驱动能力,连接方便简单。我们上学期参加小车比赛的时候用过此驱动芯片,有一定的电路搭建运用经验。 综合以上考虑,我们选择方案三,使用L298驱动直流电机。1.7平衡模块方案一:采用水银开关探测跷跷板平衡度,其原理是跷板左偏水银开关电路导通,右偏水银开关断开电路不通,这样控制电动车在平衡点小角度来回摆动来使跷跷板动态平衡,安装简单而且成本很低。但控制精度很低,不易实现题目要求。方案二:采用MPU6050六轴加速度陀螺仪模块,把陀螺仪的数值传回来,经过单片机的滤波,然后转化成角度来判断跷跷板的倾斜角度。该模块具有体积小、精度高、采集速度快和操作代码简单等特点。综合以上考虑,我们选择方案三,使用MPU6050陀螺仪测量角度。1.8显示台显示模块方案一:用数码管进行显示。数码管显示速度快,使用简单,显示效果简洁明了。但是现实内容单一,但不能显示汉字,显示内容较少,人机关系较差。而且需要单片机实时扫描,占用单片机CPU内存多。方案二:采用N5100 LCD显示。LCD可以用全中文界面显示,显示内容丰富,易于人机交流,且可以串行接口,节省I/O资源,显示简单。考虑到本题的要求,只需要一片LCD就可以实现,故我们选择方案二。1.9无线连接模块因为我们小组想通过电脑上位机无线控制现车的运行,以及实时监视小车左右轮点击的速度和跷跷板的平衡角度。因此我们需要选择一组无线模块,经过综合考虑,我们选择NRF24L01无线模块,它具有价格低、体积小、资料丰富、发送稳定和距离远等特点。1.10上位机的制作我们选用LABVIEW软件制作上位机,LABVIEW是图形化制作上位机的一款软件,具有操作简单、上手快、控件丰富和制作周期短等特点。因此我们就选择该软件制作我们需要的上位机。最终方案经过反复论证,我们最终确定了如下方案:1采用TI公司的MSP430单片机作为主控制器。2电机采用直流减速电机。3采用专用芯片L298N作为电机驱动芯片。4采用CTRT5000红外光电对管制作寻迹模块。5采用MPU6050双轴倾角传感器。6采用8.4V大容量理电池供电。7采用N5110液晶显示行进中的倾角。8采用NRF24L01惊醒无线通信9采用LABVIEW制作上位机二硬件实现及单元电路设计2.1电机驱动电路的设计L298N驱动直流电机,它靠两个引脚控制一个电机的运动。智能寻迹小车采用后轮驱动,左右后轮各用一个直流减速电机驱动,通过调制后面两个轮子的转速或正反转来达到控制小车转向的目的。芯片引脚和功能如图1,驱动电路如图2。EN AP4.6左电机使能端EA BP4.7 右电机使能端IN1P4.1左电机PWM控制输出 IN2 P4.2 左电机PWM控制输出 IN3P4.3右电机PWM控制输出 IN4 P4.4右电机PWM控制输出 图1 L298N的引脚和功能图2 驱动电路图2.2黑白线检测电路的设计:通过光电检测器来实现黑白线的监测,当检测到黑线时输出端为低电平,白线时为高电平。两个TCRT5000来实现小车走直线。输出端要加上拉电阻,才能得到稳定信号,其原理图如图所示。2.3电压稳压电路设计:电池电压8.4V进来,首先然后经过LM7805稳压成5V,然后再经过AMS1117降压成3.3V供单片机个整个系统使用。经过两轮降压的目的是为了使电压更加的稳定,防止过大的压降使稳压管烧毁。 设计电路图如下图所示:2.4液晶显示屏电路的连接:该款液晶显示器为NokiaN5110液晶显示器,它由48x84点矩阵LCD组成。该液晶显示器不同于LCD1602,它本身没有字库,所以需要人为制作字库,但是,在绘制图画方面它与1602相比具有明显的优越性。正因为它没有字库,每一幅图片都由人为取码完成数字图片绘制,这使图片的显示更为简单。在该学习板上采用模拟SPI通信,但它本身可以采用标准SPI协议通信的,因而其显示速度可以满足一般要求。1脚VC为3.3V电源接入2脚为GND3脚CE为片选4脚RS为复位脚5脚DC为命令数据寄存器选择线6脚DN为串行数据线7脚CK为时钟信号线8脚BL为背光灯控制接口2.5MPU6050陀螺仪模块电路设计: MPU-6000为全球首例整合性6轴运动处理组件,相较于多组件方案,免除了组合陀螺仪与加速器时之轴间差的问题,减少了大量的包装空间。MPU-6000整合了3轴陀螺仪、3轴加速器,并含可藉由第二个I2C端口连接其他厂牌之加速器、磁力传感器、或其他传感器的数位运动处理(DMP: Digital Motion Processor)硬件加速引擎,由主要I2C端口以单一数据流的形式,向应用端输出完整的9轴融合演算技术。标准的IIC通信协议,芯片内置16bit AD转换器,16位数据输出。2.6NRF24L01无线发送接收模块电路设计:NRF24L01是一款工作在2.4-2.5GHz世界通用ISM频段的单片收发芯片,无线收发器包括:频率发生器 增强型 SchockBurstTM 模式控制器 功率放大器 晶体放大器 调制器 解调器 输出功率频道选择和协议的设置可以通过SPI接口进行设置极低的电流消耗。(软件设置1Mbps或者2Mbps的空中传输速率)3.CE 芯片的模式控制线。4.CSN为芯片的片选线5.SCK为芯片控制的时钟线(SPI时钟)6.MOSI为芯片控制数据线7.MISO芯片控制数线8.IRQ中断信号引脚。三、算法实现:3.1循迹部分:由于小车是在跷跷板上行走,而又不能保证左右轮电机的转速完全相同,为保证小车能正常在跷跷板上行走,故采用在跷跷板上贴黑胶带引导小车行走的做法,。在运行过程中会有小车反复前进后退的情况,经过多次试验后,采取在小车前后均设置两个光电对管的做法。当小车前进时,打开前面的光电对管为小车循迹,后退时用后面的光电对管循迹。最后试验证明方案可行,在前进和后退的过程中均能稳定地沿着黑线运行。3.2电机驱动部分:小车在运行的过程中需要得到不同的行走速度,而我们采用的是直流减速电机,故采用用单片机输出占空比不同的PWM波来控制电机转速和方向的方式,单片机一共需要输出4路PWM,每两路PWM波控制一个电机。具体做法是,通过设置msp430内部的定时器2 然后在P41P44 这四个引脚上输出4路PWM波。固定电机一段输入低电平,另一端输入电压为8.4的PWM波来控制正转。反之控制电机反转。(相关代码见后面附录)3.3液晶显示部分:由于我们组采用的是N5110这块液晶屏,操作引脚少,显示内容灵活,但不自带字库,所以我们采取字体取模的方式得到不同大小,不同字体的字码,并复制到程序的数组中。并采用模拟SPI总线协议的方式对液晶屏进行控制。实验结果证明显示效果好、内容丰富和反应速度快。3.4陀螺仪滤波部分:我们采用MPU6050陀螺仪测倾角的方法,直接读回来的是各轴的加速度和角加速度,并不是我们想要的倾斜角度,而且不稳地。如果直接用静态的加速度换算得到的角度,在跷跷板转动时,得到的角度很有很大的波动和很多干扰波刺。因此我们需要对采集回来的数据进行滤波以及融合成需要的角度。我们采用的是互补滤波的方法,并通过自己用LABVIEW写的上位机软件对滤波前后的波形进行比对,进而反复对互补滤波参数的调节。通过msp430内部的定时器1 设置对陀螺仪的采样周期T,经过多次试验我们采用的采样周期为5ms,然后对每次得到的陀螺仪角加速度进行积分,再代入互补滤波公式跟静态值进行数据融合,得到对水平面真实的倾斜角度。经过反复多次的实验,最终得到下面比较合适的参数。静态换算的角度值:acc_angle=atan2(acc_x, acc_z)*(180/3.14159265); 陀螺仪的转动角速度计算:gyr_angle=(float)(gyro_data+53)/16.4; 互补融合:angle=(0.97)*(angle+y*dt)+(0.03)*x;/angle为真实的倾角 下面是一张滤波过程中滤波效果的截图:3.5整体小车平衡算法部分:一开始调节小车的时候,我们采用采用PID算法中的PD来闭环(角度环)控制的方式来调节跷跷板平衡,让小车在平衡点附近来回运动寻找平衡点。平衡曲线类似于欠阻尼平衡的曲线(如下图)。采用的控制公式:电机输出 = Kp 角度 + Kd 角速度 经过多次反复的调节,运行发现无法在规定的时间内稳定下来。原因是跷跷板是采用铁板材料做成的,重量很大,转动起来之后有很大的惯性。而小车比较轻,小车运行过平衡位置很长的一段距离之后,跷跷板才开始摆动,所以存在很大的滞后性,因此整个系统的灵活性和响应速度跟不上。无论我们的参数怎么调节,始终没有达到我们需要的效果。最后,我们决定换一套方案。经过上面所述的多次试验失败之后,我们发现采用欠阻尼式的调节方法不可行。所以我们换成了过阻尼式的调解方案。我们先让小车在之前PD调节的基础上快速找到平衡点的位置(即让小车在跷跷板上快速前进,直到跷跷板转到转到另一端着地),接下来改成逐次逼近的方式让跷跷板进入平衡范围。跷跷板的角度平衡曲线如下图所示(图片仅其参考作用): 具体的做法是:因为由前面的失败实验知道,不能让跷跷板摆动起来,所以我们不能让小车保持连续的前进状态。所以,我们得采取措施消除跷跷板转动时的惯性,我们让小车前进一段时间t1,接着停止一段时间t2的做法。这样的话,在跷跷板转动起来之后,小车听停一段时间t2,把跷跷板稳住,消除它的转动惯性。小车的速度每次都按照 speed = speed*2.0/3 的幅度衰减。直到跷跷板的切斜角度板进入题目要求的范围之内。经过多次反复的实验和参数的调节,发现这种方案可行,跷跷板平衡的各项要求均能在小于题目要求的时间内完成。3.6小车无线启动算法部分:由于本次比赛的时间比较充裕,为了提高作品的运行效果和充分发挥我们的创新能力。我们小组决定在完成题目要求的基础部分和发挥部分的基础上,增加电脑上位机无线控制小车运行的功能。具体的做法是增加一块单片机最小系统作为通信的从机。小车和从机板上均连接一块NRF24L01的无线模块,然后写入操作无线模块的程序实现小车和从单片机进行命令和数据交换。由于NRF24L01的传输速度快,加入模块之后基本上不影响小车的运行效果,但是加大了代码的容量和复杂度。经过实际的实验操作调试,发现此想法可行,有不错的运行效果。小车上电复位之后,停止在原地等待从机的启动命令。一旦接收到从机发送的启动命令,马上开始运行。并实时把跷跷板的倾斜角度和小车左右轮的速度发送回来给从机接收。然后通过串口把数据显示在PC机的上位机上。3.7 LABVIEW上位机的制作:我们采用labview软件来制作我们所需要的上位机软件,该上位机是基于串口链接的基础上的。用labview上与串口相关的控件实现PC机与从单片机之间的连接。用COM连接、VISA配置串口、属性节点、VISA读取、VISA写入、VIASA关闭 这六个函数就可以实现PC机与单片机之间的串口连接。用匹配模式函数可以把从单片机传上来的字符串分解成各个部分。加上其他一些函数空间对数据的转化和处理便可在电脑上通过前面板上把数值以指针和量表的形式显示出来。最终制作好的上位机部分底层函数框图如下:最终制作好的上位机前面板如下:四、软件设计1、小车上电后程序流程图如下所示:2.基础部分程序流程图如下图:3.发挥部分程序流程图如下图:4.小车循迹转向部分:五、系统功能测试基础部分:不同状态下电动车行驶和停留时间测量数据A点到达中点第一次第二次第三次时间(秒)656寻找平衡第一次第二次第三次时间(秒)353837中点平衡第一次第二次第三次时间(秒)555中点到B点第一次第二次第三次时间(秒)566退回原地第一次第二次第三次时间(秒)505156电动车从起始端A出发,在6秒钟内行驶到中心点C附近;35秒钟之内,电动车在中心点C附近使跷跷板处于平衡状态,保持平衡5秒钟,并给出明显的平衡指示;电动车从平衡点出发,5秒钟内行驶到跷跷板末端B处(车头距跷跷板末端B不大于50mm);电动车在B点停止5秒后,10秒钟内倒退回起始端A,完成整个行程;在整个行驶过程中,电动车始终在跷跷板上,最终并分阶段实时显示电动车行驶所用的时间。发挥部分:打破平衡后电动车重新平衡所用时间

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论