1帆板控制系统设计报告(F题)摘要:该系统,以STC12C5A60S2单片机作为主控制器,产生PWM波,经过大功率功管IRF530芯片驱动电机让风叶转动,使帆板发生角度偏移,由角度传感器(型号WDJ22G—A6)将角度的变化转化为电压,然后经OP07放大器传送到单片机的P1.2口(即ADC口),通过单片机的A/D进行AD采样转换,对角度传感器采集到的电压进行分析和处理,转换成代表角度的数字信号,采集的信号最终由LCD12864显示。此外系统还可以通过按键随时控制风力大小,使帆板固定在某一转角上,并有声光、语音提示,以便进行测试。整个测量的分辨力为1度左右,绝对误差为1度。关键字:单片机、机械式角度传感器、PID,PWM2目录1系统方案论证及方案选择2本系统软硬件设计2.1单元硬件电路设计2.1.1MCU系统及外围电路2.1.2角度传感器信号采集电路设计2.1.3直流电机风扇的驱动设计2.1.4语音提示电路设计2.2软件部分设计2.2.1PWM波的产生2.2.2STC12C5A60S2单片机AD转换的设计2.2.3LCD液晶显示部分的设计2.2.4帆板角度控制PID算法设计3.系统连调及测试3.1指标测试和测试结果4.结论参考文献附录1原器件清单附录2电路原理图及印制板图3附录3程序1.系统方案论证及方案选择1.1总体设计方案题目要求设计一个帆板控制系统,通过对风扇转速的控制,调节风力的大小,改变帆板Ø,并能实时显示其转角大小。设计主要由主控单片机STC12C5A60S2驱动直流电机,使风扇工作,带动帆板的转动,由角度传感器将偏移量进行电阻—电压的转换,转换结果通过运算放大器OP07进行传输,单片机的AD口对采集到的数据进行分析与处理,最后将转换的数字信号显示在LCD12864上,APR9600进行语音提示,当帆板角度到达所设定角度后,会进行提示,或者每变化多少度后进行一次提示。图一控制系统键盘数字显示风扇帆板转轴声光报警41.2方案论证与选择1.2.1设计要求及思路题目要求设计一个帆板控制系统,通过对风扇转速的控制,调节风力的大小,改变帆板Ø,并能实时显示其转角大小。我们设计主要有主控单片机STC12C5A60S2控制直流电机(驱动芯片IFR530),使风扇工作,带动帆板的角度转动,由角度传感器将偏移量进行电阻—电压的转换,转换结果通过运算放大器OP07进行传输,单片机的AD口对采集到的数据进行分析与处理,最后将转换的数字信号在LCD液晶显示屏上显示。1.2.2方案论证与选择风扇转速控制系统的方案论证与选择方案一:以普通单片机为核心,配以外围电路。采用AT89C52单片机,单片机模拟产生PWM,通过H桥及专用的驱动芯片。如:L298N驱动直流风扇,角度信号通过专用的数字芯片、光电编码器、旋转变压器、机械式角度传感器等,实现角度测量。再配以LCD屏、数码管、TFT屏、点阵屏等实现控制信息以及数字信息的显示。由于普通单片机功能有限,因此在使用时外围电路较复杂,所以在较短时间实现与完成稳定性、可靠性较差。方案二:以高性能的处理芯片,如ARM、DSP、FPGA等为核心、配以外围驱动电路。高性能的处理芯片,处理速度比较快,片内资源丰富,库函数丰富,软件编写方便。但是价格贵。分析本题,该系统的处理量并不是很大,所以我们不选择此方案。方案三:以中高档单片机为核心,配以外围驱动外围芯片组成的系统。本系统的设计采用STC12C5A60S2单片机,其特点是高速、低功耗、超强抗干扰,指令代码完全兼容8051,速度快8—12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S,即25万次/秒),针对电机控制,强干扰场合。其内部包含中央处理器(CPU)、程序存储器(Flash)、数据存储器(SRAM)、定时/计数器、UART串口、串口2、I/O接口、高速A/D转换、SPI接口、PCA、看门狗及片内R/C5振荡电路等模块。STC12C5A60S2单片机几乎包含了数据采集和控制中所需的所有单元模块,可称得上一个片上系统。同时价格不高,掌握较易。基于这个特点我们选择这个芯片作为我们的控制核心。角度传感器的选择与介绍:数字式倾角(角度)传感器和单片机技术研制而成的现代智能化倾角测量仪器,广泛应用于测量平面和圆柱面对水平方向的倾角度,以及检验各种机床及其它设备工作台及导轨的平面度、直线度和垂直位置的正确度。其特点精度高,使用方便,功能齐全,但不易调节,对调试造成困难。机械式位移传感器,是一种以电压输出与轴旋转角度或直线位移为线性关系的非线绕电位器,其特点是高精度、高寿命、高平滑性、高分辨率。可用作位置反馈、位置检测、电平调节等。该传感器使用简单,稳定。本方案就采用此传感器。接线方式如下图。接线方法图二通过分压获得含有角度信息的电压信号,再通过op07进行3倍放大,输入进STC12C5A60S2单片机的AD输入口。本系统使用了本单片机的10位AD.目前比较流行直流电机驱动及速度控制采用专用驱动芯片及大功率的晶体管组成的H桥实现。分析本系统,只要求风扇旋转0-60度,所以我们采用了通过单管IFR530配以9014来实现直流风扇的驱动电路如下。控制方式采用Pwm。Pwm信号由STC12C5A60S2单片机的产生。6图三显示部分有多种选择,如数码管、Lcd、点阵屏等,根据本题的特点,我们采用LCD12864来实现控制信息及测量数据的显示。根据题目要求我们选择12v12W的不带调速的直流风扇。7二.本系统软硬件设计系统主要由单片机产生PWM信号,通过大功率的场效应管驱动直流风扇,对其的转速进行控制,使帆板偏离原来的方向,采用角度传感器记录偏移量并实现角度—电压的转换,将单片机处理结果在显示在LCD12864。根据题目要求,我们的设计分硬件、软件两部分。2.1单元硬件电路设计2.1.1MCU系统及外围方案设计因此单片机本身就具有AD口和PWM波的产生端口,所以在其外部进行采集数据时采用了它的AD十位数据存储器。电机驱动直接采用单片机自身的PWM来驱动。其原理图如下所示:图四82.1.2角度传感器信号采集电路设计采用机械式角度传感器采集通过分压电路,实现电阻电压转换。用OP07进行信号放大,再通过单片机自带的AD口送入单片机内部,进行采集信号的处理,其电路如下:图五Op07放大电路及传感器信号转换电路图六2.1.3直流电机风扇的驱动设计采用单管(IFR530)配以9013驱动电路如下图。9图七2.1.4语音提示电路设计APR9600进行语音提示,在到达所设定角度时进行相应提示。我们采用的是语音模块。电路如下图。图八102.2系统显示软件设计本系统设计采用C51进行设计,目录结构采用树状结构,操作简单方便。图九开始功能选择主界面是否有按键按下按下转角显示调整风速45度演示设定转角间距转角调整结束NY112.2.1PWM波产生STC12C5A60S2单片机集成了两路可编程计数器阵列,可用于软件定时器、外部脉冲的捕捉、高速输出以及脉宽调制(PWM)输出。根据本题所需,我们采用他的脉宽调制输出,产生相应的PWM波形,用以进行直流电风扇的驱动。其产生过程如下所述:先对与其相关的寄存器和端口进行初始化,然后选择其工作模式和时钟源频率,并对捕获寄存器进行设定,因PWM的输出频率受其占空比影响,而占空比于其捕获寄存器有关。最后将其按照相应的频率变化输出即可。在PWM输出时对应的端口状态如下:图十其在单片机内部进行的相关频率计算为:PWM的频率=PCA时钟输入源频率/256。相关数学计算如下:Ut1t2t电机的电枢绕组两端的电压平均值U为:U=(t1*U)/(t1+t2)=(t1*U)/T=D*U12D=t/TD为占空比。占空比D表示了在一个周期T里开关导通的时间与周期的比值。D变化范围为0≤D≤1。当电源电压U不变的情况下,输出电压的平均值U取决于占空比D的大小,改变D也就改变了输出电压的平均值,从而达到控制电机转速的目的。2.2.2STC12C5A60S2单片机AD转换的设计STC12C5A60S2自带AD转换端口,根据题目所需,我们使用其AD转换的十位寄存器。在进行AD转换口应用时,先将其AD中断开启,再对其进行初始化,然后启动AD转换,在启动后进行相应延时,给以电压相应的缓冲时间。然后才进行AD转换的信号采集。当所采集的角度电压信号进入后,会自动存入AD存储器内,将其从ADC_RES和ADC_RESL中取出后对其进行的相应转换计算如下:θ=(5A/1023-3.75)/0.014。其中θ为所要显示的角度,A为由AD口进入的角度电压数字信号,3.75为其基准电压。在处理完后,将其发送至LCD显示模块显示。2.2.3LCD液晶显示的设计本系统采用LCD12864屏作为本系统的显示器,12864有两种显示模式,串行及并行两种方式,本系统采用串行通信,采用较少的单片机管脚。液晶显示及树状目录分页是本系统设计的一大特色。根据本题目要求,我们设计了人性化的开机及操作界面。我们程序设计采用了C语言进行设计,我们都知道C语言基于过程的,但我们树状目录采用类似C++语言的面向对象的变成思路。操作非常简单直观。我们的显示部分的另一特色是充分发挥了单片机的定时器功能作用,把按键扫描、信息更新、菜单控制等都放到了定时器的中断里,使得控制、数据更新、按键响应及时准确。132.2.4AD转化后信号处理及角度控制的PID算法设计我们采用的是STC12C5A60S2自带AD进行模拟信号的转换处理,处理信号不是单片机擅长的,根据本题设计要求,我们在AD信号处理的过程中采用了信号放大100倍来提高信号精度。对于本题中最后要求能再7-15cm内随意位置,5秒内实现设定角度的要求,我们设计我们的PID算法,算法框图如下:图十一分析此题本题是PID控制中最典型的一种,其算法简单。但题目要求能再在5秒内完成这一过程,这是本题的难点。我们通过分析提出了继电器和PWM控制结合的思路。主要思路是,通过控制继电器使风扇在1-2秒获得比较高的转速,然后通过PID算法控制风扇达到设定角度,实验证明此方法极大缩短了风扇提速时间。并最终能再题目要求的时间内达到设定角度。设定角度Cpu开启AD获取角度信息两者角度做差值运算控制风扇减速或加速最终达到设定角度143.系统测试测试工具是符合国标的普通测角仪器1、角度测量测试有一定的误差,经过分析误差主要来之两个部分,帆船风帆的材料的选择理论角度测量值10度11度15度14.8度20度19度30度32度40度39度50度52度55度56.5度60度59.1度2、调整给定角度PID测试理论角度测量值(单位/s)10度3s15度4s20度4s30度5s40度6s50度8s55度8s60度8s系统性能分析与总结154.系统测试4.1指标测试和测试结果4.1.1风扇转速系统的测试4.1.1.1出现的问题:电机驱动动力不足,帆板不能准确的到达设定的角度。4.1.1.2出现问题的原因及解决方案:原因:经过分析后得出其原因是电机驱动电路的可承受功率有限,且风所吹得角度不是最好角度,当帆板有一定角度是,对帆板的作用力会相对减小。所以很难达到设定角度。解决方案:经过讨论后最后在三个地方一起做修改,最终达到要求。其三个地方是:①在帆板的上方加上一定的配重,使其在到达一定角度,吹力减小的同时通过地球对配重的引力,利用跷跷板原理是帆板向上继续旋转,以此补偿风扇在帆板上所减少的吹力。②把风扇的放置由水平放置改为带有一定倾角的放置,这样在帆板旋转一定角度后,风扇的吹力仍然可以保持不变。③将电机驱动电路由原先的L298N驱动改为了由三极管和半导体功率管以及H桥驱动的电路。这一修改增强了读懂电路的线性,易于调速的控制。4.1.1.3最终结果:在各项修改后将其结合起来,最终能够精确的控制电机的转速和帆板所需角度的稳定。5.结论完成的功能和达到的技术指标16序号具体要求实现情况1用手转动帆板时,能够数字显示帆板的转角Ø。显示范围为0~60°,分辨力为2°,绝对误差≤5°。可测角度为0~