版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 HYPERLINK /king_of_wind/181718/message.aspx# l # 智能车制作全过程(飞思卡尔)如果我写得好,请顶我一下,我将再接再厉!(本人在很久以以前做的一辆辆用来比赛的的智能车-获得华北一一等奖,全国国二等奖,有有许多可改进进地方.)下面我们来立即即开始我们的的智能车之旅旅: 首先,一一个系统中,传感器至关关重要. 不管你你的CPU的的速度如何的的快,通信机机制如何的优优越,系统的的精度永远无无法超越传感感器的精度 .是的,在这个系统统中,传感器器的精度,其其准确性就显显得至关重要要.如果你问问我传感器的的电路,呵呵呵,我早就和和大家分享了了,在我发表表的
2、日志中,有一篇的文章章就详细的说说明了传感器器的硬件电路路以及可以采采取的信号采采样方式. 传感器器安装成一排排,如上面排排列.(就是是个一字排列列,没有什么么特别) 接下来来,看看我们们如何处理传传感器得到的的信息: 大家看到到了.结构很很简单,我们们已经搞定了了传感器通路路.下面我们们来看看多机机的控制方面面的问题: 其实,不不管是便宜还还是比较贵的的舵机,都是是一样的用法法.舵机的特特点就是不同同的占空比方方波就对应着着舵机的不同同转角.当然然不同的舵机机有不同的频频率要求.比比如我用的这这个舵机:方方波频率500HZ.怎么么改变占空比比?这个不就就是PWM模模块的功能嘛嘛.PWM模模块
3、可以输出出任意占空比比的方波.只只要你控制其其中的占空比比寄存器,就就可以直接控控制舵机的转转角.你只要要将传感器的的状态和这个个占空比对应应上,不就OOK了?就这这么简单,做做到这里,你你就可以让你你的车在跑道道上跑了! 接下来,我们的工作作是让智能车车更加完善:速度要稳定定. 在当前的的系统结构中中,要使一个个系统更稳定定更可靠,闭闭环系统是一一个选择.(如果你不知知道什么是闭闭环系统,可可以参照我的的文章里面的的一篇基于于单片机的PPID电机调调速),既既然是一个闭闭环系统,速速度传感器是是必不可少的的,用什么样样的传感器做做为速度反馈馈呢:仔细看,和后轮之间间有一条皮带带的这个貌似似电
4、机的东西西,就是我的的速度传感器器,它的学名名叫旋转编编码器.这这个器件的特特点就是:每每转一圈,就就会从输出端端输出一定的的脉冲,比如如我这个旋转转编码器是5500线的,就是转一圈圈输出5000个脉冲.因因此,我只要要在单位时间间内计数输出出端输出的脉脉冲数,我就就可以计算出出车辆的速度度.显然,这这个速度可以以用来作为PPID速度调调节的反馈. 现在有了了反馈,我们们需要的是调调节智能车驱驱动电机的速速度了,如何何来调速,就就成了必须解解决的问题了了.我用的是是驱动芯片MMC338886. 其实,这个个芯片就是一一个功率放大大的模块.我们知道,单片片机输出的PPWM信号还还是TTL信信号,
5、是不能能直接用来驱驱动电机的.非要通过功功率模块的放放大不可.这这个道理其实实很简单,就就像上次我给给大家画的哪哪个电子琴电电路的放大电电路一样: 看看上面的那个个三极管,就就是将TTLL电路的电流流放大,才能能够来驱动蜂蜂鸣器.其实实这里的这个个MC338886就是这这样的一个作作用.而且我我们自己也完完全可以用三三极管自己搭搭建一个这样样的功率放大大电路,当然然,驱动能力力肯定不如这这里的这个MMC338886(如我们们用三极管就就搭建了超过过MC338886的电路路,摩托罗拉拉就不会卖几几十块钱一个个了.呵呵.)知道了这这个MC333886的工工作原理,就就好说了,一一句话,通过过PWM
6、来调调节电机的速速度.当方波波中高电平占占的比例大,电机的平均均电压肯定高高,转速肯定定快.也就是是说,PWMM的占空比越越大,电机转转速越高. 看,就这么么简单,这个个智能车就做做好了.接下下来,我们就就把我们知道道的PID知知识放到舵机机和直流驱动动电机的控制制中去.就可可以达到一个个比较好的控控制效果. 如如果要达到更更高的水平,肯定机械方方面的改造也也少不了.当当然,这不属属于本文的讨讨论范围.呵呵呵. HYPERLINK /king_of_wind/184358/message.aspx 智能车制作全过过程(飞思卡卡尔-舵舵机篇 发表于 20008/11/28 100:00:555
7、感谢大家的支支持!如果我我写得好,请请顶我一下! 智能车的的制作中,看看经验来说,舵机的控制制是个关键.相比驱动电电机的调速,舵机的控制制对于智能车车的整体速度度来说要重要要的多. PIDD算法是个经经典的算法,一定要将舵舵机的PIDD调好,这样样来说即使不不进行驱动电电机的调速(匀速),也也能跑出一个个很好的成绩绩. 机械方方面: 从我们们的测试上来来看,舵机的的力矩比较大大,完全足以以驱动前轮的的转向.因此此舵机的相应应速度就成了了关键.怎么么增加舵机的的响应速度呢呢?更改舵机机的电路?不不行,组委会会不允许.一一个非常有效效的办法是更更改舵机连接接件的长度.我们来看看看示意图: 从上图我
8、我们能看到,当舵机转动动时,左右轮轮子就发生偏偏转.很明显显,连接件长长度增加,就就会使舵机转转动更小的转转角而达到同同样的效果.舵机的特点点是转动一定定的角度需要要一定的时间间.不如说(只是比喻,没有数据),舵机转动动10度需要要2ms,那那么要使轮子子转动同样的的角度,增长长连接件后就就只需要转动动5度,那么么时间是1mms,就能反反应更快了.据经验,这这个舵机的连连接件还有必必要修改.大大约增长0.5倍2倍倍.在今年中,有人使用了了两个舵机分分别控制两个个轮子.想法法很好.但今今年不允许使使用了. 接下来就就是软件上面面的问题了. 这里的软软件问题不单单单是软件上上的问题,因因为我们要牵
9、牵涉到传感器器的布局问题题.其实,没没有人说自己己的传感器布布局是最好的的,但是肯定定有最适合你你的算法的.比如说,常常规的传感器器布局是如下下图: 这里好像像说到了传感感器,我们只只是略微的一一提.上图只只是个示意图图,意思就是是在中心的地地方传感器比比较的密集,在两边的地地方传感器比比较的稀疏.这样做是有有好处的,大大家看车辆在在行驶到转弯弯处的情况: 相信看到到这里,大家家应该是一目目了然了,在在转弯的时候候,车是偏离离跑道的,所所以两边比较较稀疏还是比比较科学的,关关于这个,我我们将在传感感器中在仔细细讨论。 在说到接接下来的舵机机的控制问题题,方法比较较的多,有人人是根据传感感器的状
10、态,运用查表法法差出舵机应应该的转角,这个做法简简单,而且具具有较好的滤滤波效果,能够将错错误的传感器器状态滤掉;还有人根据据计算出来的的传感器的中中心点(比如如第四个和第第五个传感器器检测到黑线线,中心点就就是4.5),计算出舵舵机需要的转转角,这个做做法也比较的的简单,但是是必须有一个个滤波的过程程,必须要滤滤掉错误的传传感器状态.比如说:现现在传感器第第四个,第五五个和第111个检测到了了黑线,显然然第11个应应该是个传感感器检测错误误.应该把它它滤掉.关于于这个如何滤滤波,我们待待会在后面将将进行讨论.还有人的做做法就是采用用PID算法法,这个方法法比较的好,其实也不是是很难,就是是P
11、ID参数数整定的时候候有些麻烦. 大家可以以自己选择喜喜欢的方法. 关于滤波,有些许的方方法: 1.平均值值排序法. 这个方法法大家肯定一一听就知道是是怎么回事.就是不急于于执行,先多多次检测被测测传感器,累累加,求平均均值.这个方方法不错,特特别在单片机机中.比如:你如果连续续采集8次,累加,最后后你只要右移移三位(vaalue=vvalue3;)就就是valuue=vallue/8的的结果.毕竟竟,在单片机机中,右移比比除法要快嘛嘛. 2.中间值值算法. 这个算法法也简单,顾顾名思义,就就是取不大不不小的中间的的值.这个算算法就需要把把几次采集的的值排序,然然后使用中间间的那个值. 3.递
12、推滤滤波. 这个滤波波方法比较的的受认可,但但是执行起来来也有风险所所在.先说这这个算法,就就是根据当前前值(传感器器的中心点所所在值),推推算接下来的的传感器中心心点的量,如如果发现前后后变化剧烈,就视为干扰扰因素,忽略略.这个算法法看起来比较较的好.但是是风险就在于于:如果出现现了错误,并并且错误的中中心点成为的的当前值,那那么以错误的的中心点为基基准,正确的的中心点就成成了干扰.这这样就会出现现极端情况.为了避免这这个情况,我我们应该有一一个检查的模模块,检查当当前的中心点点是否有效.这个检查,我们也许可可以结合前面面两种方法,在一定时间间对中心点的的有效性进行行检查. 4.限幅幅滤波.
13、 这个在舵舵机的控制中中,特别是使使用计算的方方法获得PWWM信号占空空比的(用来来控制舵机的的转角),更更是尤为重要要.这个滤波波的思路就是是规定一个最最大值和一个个最小值,当当计算出的值值低于最小值值时,令其等等于最小值;大于最大值值时,令其等等于最大值. HYPERLINK /king_of_wind/181718/message.aspx 智能车制作全过过程(飞思卡卡尔) 发表于 20008/11/15 222:28:001 如果我写得好,请顶我一下下,我将再接接再厉!(本人在很久以以前做的一辆辆用来比赛的的智能车-获得华北一一等奖,全国国二等奖,有有许多可改进进地方.)下面我们来立即
14、即开始我们的的智能车之旅旅: 首先,一一个系统中,传感器至关关重要. 不管你你的CPU的的速度如何的的快,通信机机制如何的优优越,系统的的精度永远无无法超越传感感器的精度 .是的,在这个系统统中,传感器器的精度,其其准确性就显显得至关重要要.如果你问问我传感器的的电路,呵呵呵,我早就和和大家分享了了,在我发表表的日志中,有一篇的文章章就详细的说说明了传感器器的硬件电路路以及可以采采取的信号采采样方式. 传感器器安装成一排排,如上面排排列.(就是是个一字排列列,没有什么么特别) 接下来来,看看我们们如何处理传传感器得到的的信息: 大家看到到了.结构很很简单,我们们已经搞定了了传感器通路路.下面我
15、们们来看看多机机的控制方面面的问题: 其实,不不管是便宜还还是比较贵的的舵机,都是是一样的用法法.舵机的特特点就是不同同的占空比方方波就对应着着舵机的不同同转角.当然然不同的舵机机有不同的频频率要求.比比如我用的这这个舵机:方方波频率500HZ.怎么么改变占空比比?这个不就就是PWM模模块的功能嘛嘛.PWM模模块可以输出出任意占空比比的方波.只只要你控制其其中的占空比比寄存器,就就可以直接控控制舵机的转转角.你只要要将传感器的的状态和这个个占空比对应应上,不就OOK了?就这这么简单,做做到这里,你你就可以让你你的车在跑道道上跑了! 接下来,我们的工作作是让智能车车更加完善:速度要稳定定. 在当
16、前的的系统结构中中,要使一个个系统更稳定定更可靠,闭闭环系统是一一个选择.(如果你不知知道什么是闭闭环系统,可可以参照我的的文章里面的的一篇基于于单片机的PPID电机调调速),既既然是一个闭闭环系统,速速度传感器是是必不可少的的,用什么样样的传感器做做为速度反馈馈呢:仔细看,和后轮之间间有一条皮带带的这个貌似似电机的东西西,就是我的的速度传感器器,它的学名名叫旋转编编码器.这这个器件的特特点就是:每每转一圈,就就会从输出端端输出一定的的脉冲,比如如我这个旋转转编码器是5500线的,就是转一圈圈输出5000个脉冲.因因此,我只要要在单位时间间内计数输出出端输出的脉脉冲数,我就就可以计算出出车辆的
17、速度度.显然,这这个速度可以以用来作为PPID速度调调节的反馈. 现在有了了反馈,我们们需要的是调调节智能车驱驱动电机的速速度了,如何何来调速,就就成了必须解解决的问题了了.我用的是是驱动芯片MMC338886.其实,这个芯片片就是一个功功率放大的模模块.我们知知道,单片机机输出的PWWM信号还是是TTL信号号,是不能直直接用来驱动动电机的.非非要通过功率率模块的放大大不可.这个个道理其实很很简单,就像像上次我给大大家画的哪个个电子琴电路路的放大电路路一样: 看看上面的那个个三极管,就就是将TTLL电路的电流流放大,才能能够来驱动蜂蜂鸣器.其实实这里的这个个MC338886就是这这样的一个作作
18、用.而且我我们自己也完完全可以用三三极管自己搭搭建一个这样样的功率放大大电路,当然然,驱动能力力肯定不如这这里的这个MMC338886(如我们们用三极管就就搭建了超过过MC338886的电路路,摩托罗拉拉就不会卖几几十块钱一个个了.呵呵.)知道了这这个MC333886的工工作原理,就就好说了,一一句话,通过过PWM来调调节电机的速速度.当方波波中高电平占占的比例大,电机的平均均电压肯定高高,转速肯定定快.也就是是说,PWMM的占空比越越大,电机转转速越高. 看,就这么么简单,这个个智能车就做做好了.接下下来,我们就就把我们知道道的PID知知识放到舵机机和直流驱动动电机的控制制中去.就可可以达到
19、一个个比较好的控控制效果. 如如果要达到更更高的水平,肯定机械方方面的改造也也少不了.当当然,这不属属于本文的讨讨论范围.呵呵呵. HYPERLINK /king_of_wind/181369/message.aspx 基于单片机的电电子琴设计 发表于 20008/11/14 111:02:111 如果果我写得好,请顶我一下下,我将再接接再厉 很多朋友友喜欢搞一些些声光的东西西,因为能看看到,能听到到,比搞个什什么通信滤波波要好玩多了了.好!我们们就开始做个个电子琴.甚甚至做一个简简单的MPP3,呵呵呵,从简单开开始.我们先先做电子琴,下一节再做做MP3. 首先,因因为是发声装装置,我们得得先
20、了解发声声的原理是什什么,这有助助于我们接下下来的编程: 1.声音音是由于物体体震动产生的的. 2.电流流的变化通过过线圈就可以以使磁场发声声变化. 上图是一一个喇叭的工工作原理.不不知道大家看看明白了没有有.喇叭的电电磁铁的电源源是接到我们们的发声电路路上.当电路路中的电路发发生变化时,电磁铁的吸吸引力也发生生变化.因此此就会吸合铁铁皮.吸合铁铁皮的时候也也带动了薄膜膜的运动.如如果这个吸合合过程非常的的快.那么薄薄膜就会发生生高频的震动动.这个震动动就会发出声声音. 上面只只是一个示意意图.实际上上的喇叭并不不是磁铁吸音音铁框的问题题,铁框往往往也会换成一一个磁铁,不不过是永磁铁铁,这样不
21、但但可以吸引,还可以排斥斥.声音幅度度更大. 好了了,总而言之之一句话,就就是来来回回回的震动就会会产生声音. 接下来来,我们开始始制作吧:电电路相当的简简单: 看到了吧吧,电路非常常的简单.下下面是四个键键盘的按键开开关.上面就就是一个三极极管的放大.有人说,我我直接接到单单片机上就不不行.完全可可以!我为什什么说是个电电流放大呢,就是要发生生的功率大,声音大.如如果你将蜂鸣鸣器直接接到到单片机的IIO口上,当当然是可以的的.但是只是是用来验证用用的,声音太太小,实际中中是没有用处处的.不过,我可得提提醒你:你如果这样接,那就不对了了.为什么?问题就在于于,单片机的的IO口的驱驱动能力是绝绝
22、对有限的,你现在让它它直接驱动一一个功率比较较大(比较LLED而言)蜂鸣器,是是比较吃力的的.但是你却却可以这样设设计: 什么?没没有发现有什什么不同?呵呵呵,看看,蜂鸣器的电电压方向变了了.为什么这这样做,这就就是一个开发发经验问题了了:单片机的的IO口吸收收电流的能力力要远远大于于其提供电流流的能力.所所以不管是驱驱动蜂鸣器还还是驱动LEED发光二极极管,都要做做成低电平有有效的这种形形式,切实有有效!(本人的实验板板,具备上述述模块,其原原理图和上述述完全一致.有实验板的的朋友可以接接着往下做了了) 好了,硬硬件连接OKK了,我们赶赶紧开始我们们的编程吧: 我先说说说算法,要实实现一定频
23、率率的震动,不不就是将IOO端口进行一一定频率的开开和关就是了了.要进行一一定频率的开开和关,就必必须有一个计计数.在这里里,定时计数数器就比较合合适了.自动动重装载模式式显然比较合合适.我们来来看看程序吧吧(鉴于c语语言良好的可可阅读性,我我们先用c语语言来编写):#includde #deffine uuint uunsignned innt#deffine uuchar unsiggned cchar#definee SOUNNDER PP0_BITT2 /用宏定定义端口,直直观.如以后后更改,方便便#defiine S11 P2_BBIT4#ddefinee S2 PP2_BITT5#
24、deffine SS3 P2_BIT6#definne S4 P2_BIIT7#definee YES 0#deffine NNO 1iint YIIN72; /定义一个个音阶数组,存放计数器器的计数初始始值.intt Dir=3,ii;voidd TimeerInitt() /计计数器初始化化函数. TMODD=0 x221; TLL0=0; TTH0=0; TH1=00 xE8; TTL1=0 xxE8; PCCON=0 xx00; TRR0=1; TTR1=1; SCON=0 x50;void main() / 2611 1 /低音音叨 频率率261 YIN00= (655536-110
25、000/261/22*100)%256; YIIN01= (655366-100000/2611/2*1000)/2556; / 2994 22 YIIN10= (655366-100000/2944/2*1000)%2556; YIN111= (655536-100000/2294/2*100)/256; / 330 3 YIN220= (655536-100000/3330/2*100)%256; YINN211= (665536-100000/330/2*1000)/2566; / 3499 4 YIN30= (655536-110000/349/22*100)%256; YIIN31=
26、 (655366-100000/3499/2*1000)/2556; / 3992 5 YINN400= (665536-100000/392/2*1000)%2566; YYIN41= (655336-100000/3992/2*1100)/2256; / 4440 6 YIN50= (655536-110000/440/22*100)%256; YIIN51= (655366-100000/4400/2*1000)/2556;/ 4994 7 YINN600= (665536-100000/492/2*1000)%2566; YYIN61= (655336-100000/4992/2*11
27、00)/2256; EA=1; /开CPPU中断 ETT0=1; /开定时时计数器中断断 TiimerInnit(); /调用用初始化计数数器函数 for(;)/void TTimerOOverFllow () inteerruptt 1 /定时器器中段函数 iif(S1= =YESS) SOUNNDER=!SOUNDDER; TLL0=YINN000; TH00=YIN01;if(S22= = YYES) SOOUNDERR=!SOUUNDER; TL00=YIN10;THH0=YINN111;if(S3= =YES) SOOUNDERR=!SOUUNDER; TL0=YIN220;TH0=
28、YIN221;if(S44= =YEES) SOUNNDER=!SOUNDDER; TTL0=YIIN30;TTH0=YIIN31; / Clearr thee fflagTF0=00; 相信大家家看得明白程程序,很简单单.下载到单单片机上以后后,按S1键键,蜂鸣器发发出低音1(叨)的声音音.按S2发发2(ruaan)的声音音. HYPERLINK /king_of_wind/180618/message.aspx 基于单片机的数数字PID实实现直流电机机调速(智能能车) 发表于 20008/11/12 9:45:333 现在做做很多的智能能车,都需要要对车速进行行控制.或匀匀速或变速,在调速
29、算法法中,PIDD的经典永垂垂不朽. 其实,简简单的51单单片机尚能轻轻易的实现平平滑良好的调调速,更不用用说性能优良良的单片机.然而,要做做到最好,是是需要很高的的专业水平和和动手能力.但是,工程程上能达到我我们的目标即即可. 抱着够够用就好的的思想,我们们来开始我们们的调速旅程程: 所谓的PIID是肯定基基于一个闭环环系统而言的的,什么是闭闭环系统呢,我简单的介介绍一下:看上面的这个系系统,就不是是一个闭环系系统,而是一一个开环系统统.再看下面面的这个就是是闭环系统:上图这个系统就就是典型的闭闭环系统.大大家也许看出出来了,开开环系统,就是系统没没有反馈,是是个打开的的环,而闭闭环系统,是
30、是有反馈的,是一个完整整的环形. 正是这个个反馈,就可可以将当前电电机的转速传传递给系统控控制端,如果果电机转速快快了,控制器器就让它慢点点(比如可以以降低电机两两端的电压),同样,如如果速度传感感器检测到转转速低了,就就应该让电机机两端的电压压提高一点.就是在这样样的不断矫正正中,电机的的速度会保持持恒定.当然然,这个矫正正的周期是非非常短的,矫矫正的速度是是很快的. 有人说,不就是多了了就少点,少少了就多点嘛嘛,干嘛使用用什么玄乎的的PID? 对,你说说对了,多多了就少点,少了就多点点这本身就就是PID里里面的一种:P控制-只使用了PP算法. 接下来我们们就看看到底底什么是PIID,为什么
31、么要使用PIID,怎么样样使用PIDD: P-比例例 I-积分分 DD-微分 我们来一条条一条的讲解解P,I,DD的含义及其其意义: PP-比例部部分这这个很好理解解.比如说,速度传感器器发现,当前前速度是12200(每分分钟).而我我们设定的速速度值为10000,那么么就差别了2200,这时时,如果我设设定P为0.1,如果输输入的电压就就应该是Uoo-0.1xx200.看看到了没有,这里的比例例的意思就是是倍数,就是你要把把这个偏差放放大多少倍.放大本本身就是一个个比例嘛.知知道了这个,你就可以写写一个PIDD控制里面的的P控制了.很多时候,不需要I和和D控制,单单单一个P控控制就足够了了.
32、到了这里里你就可以控控制电机的速速度了. I-积分部分. 这这个积分其实实也很好理解解.它是一一个积分运算算.有的时候候偏差不是很很大,所以继继续运行下去去,会使系统统存在一个偏偏差.但是你你如果使用II运算将这个个偏差累加起起来,到了一一定大小的时时候就进行处处理.这样就就能防止系系统的误差累累计.其实,在程序中,这个过程就就是对一个小小偏差的连续续累加罢了. D-微分部分. 这个个部分也比较较好理解.所所谓的微分就就是对变量求求导呗,意思思就是一个量量的变化率呗呗.所以,微微分部分就是是能够将变量量变化率放入入计算中.这这个量在边城城中其实就是是求上次的偏偏差和这次的的偏差的差罢罢了. 其
33、实,在在温度控制中中PID还是是比较有效的的,但是在于于电机控制这这种速度经常常变化的场合合,一个参数数整定好的PP控制就能完完成任务.为为了便于大家家的理解,我我给大家举一一个例子吧: HYPERLINK /king_of_wind/180591/message.aspx 关于对51单片片机端口上拉拉电阻的讨论论 发表于 20008/11/11 222:28:333 前一段时间,看看到实验室有有个学弟设计计了一个电路路,其中还有有一个键盘电电路,取其原原理是这样子子的: 据这位师师弟的意思是是:在没有按按下按键的时时候,端口上上是低电平,按下按键的的时候端口上上接上了高电电平. 事实上上,电
34、路是不不工作的. 问题比较较多: 首先,将电电源直接接到到端口上是绝绝对不可以的的.当按下按按键的时候,会有很大的的电流进入单单片机.在工工程上,这种种往往应该加加限流电阻的的.一般选择择1K的就可可以.如果选选择太大的电电阻也不好,因为电阻上上面压降太大大,造成输入入比应有的高高电平低,造造成错误. 其其次,就算加加了限流,这这个电路也是是不能工作的的.检查ATT89C511的DataaSheett就会发现.技术手册中中说:P0口口是没有上拉拉电阻的端口口;P1,PP2,P3口口带有上拉电电阻.问题就就出在这里,什么是上拉拉电阻,来看看看图:上面这个图,是是红外线接收收的电路图,看上面的这这
35、个电阻,就就是上拉电阻阻.我们可以以试图理解一一下51单片片机P2口的的这个上拉电电阻为这种形形式:其中的R就是上上拉电阻.如如果像我的那那个师弟那样样设计电路,电路就成了了以下这种形形式了:看,从这个电路路上,我们可可以清晰的看看出,不管你你按键是否按按下,IO端端口上都是高高电平.问题题就在这里,我让我的这这个师弟测测测IO端口的的电平在按下下按键前后的的变化,结果果果然不出所所料:不管他他是否按下按按键,都是高高电平! 从这里我我们可以看出出:DataaSheett还是有用的的,在设计的的时候,有很很多细节,需需要注意,否否则,可能功功亏一篑. HYPERLINK /king_of_wi
36、nd/180372/message.aspx 基于或门的超级级简单的液位位传感器 发表于 20008/11/11 166:29:004 前一阵子子,在实验室室,看到一个个朋友在那里里拿着一个盒盒子钻,敲,打.满满头大汗,嘴嘴里还嘀咕着着. 你在做做什么呢?我在做做一个液位传传感器,这个个杠杆浮漂真真不好弄! 你最最近不是做液液位控制,你你如果用机械械杠杆,你怎怎么采集数字字信号到单片片机? 我我会在杠杆上上安装一个角角度传感器. 看来真真是个麻烦的的事情.回头突突然想起,我我小学的时候候,给我妈妈妈做了一个检检测下雨的东东西.好像是是五年级的时时候,就是那那种平板,下下上雨了以后后,就会触发发
37、相关的电路路(当年我是是接上了一张张生日贺卡里里面的音乐芯芯片). 要说说,当初,我我还记得,书书上好像是叫叫那种电路为为或门,当初我怎么么都不理解,但是现在看看来,原理是是多么的简单单. 看看看电路:当年的电路是这这样子的,就就是在板子上上有水,就会会接通两端的的电路.很好好理解,只有有有一处接通通,整个电路路就是通的,是一个逻辑辑上或的的关系,所以以叫或门.当当然除了或门门,肯定还有有与门. 既然能够够检测到雨水水,那怎么就就不能检测液液位呢(这里里的液体也是是水.),当当然我们需要要的是要将电电路进行些许许的改装.我我就为我这个个朋友设计了了一个:你看,我分开处处理,大不了了我挨着扫描描
38、一次看看11到11的引引脚,哪里检检测到了水位位(检测到电电压),我不不就可以方便便的检测到液液位了.你可能要说:这这个占用IOO口也太多了了吧.不不要紧!来,实用一个1138译码器器不就可以了了,有选择的的读取其中的的某个引脚. 就这么小小的一个小东东西,做出来来,拿到现场场一试-屡试不爽,试验多次次,没有出现现过一次误报报,简单但是是好用. 由这这个问题我们们看出来了:小学教育是是多么的重要要啊. HYPERLINK /king_of_wind/179703/message.aspx 基于反射式红外外线的测距传传感器 发表于 20008/11/9 23:14:133 如如果我写得好好,请顶
39、我一一下,我将再再接再厉! 前阵子做做个小车玩,是走迷宫的的那种.苦于于没有所谓的的距离传感器器,就自己做做个吧.结果果也犯了不少少错误.现和和大家分享. 买了几几个两毛钱一一个的发射管管(注意,不不是发光二极极管,虽然长长得一样,但但是这个是发发射红外线,你可能肉眼眼看不出它再再发光,但是是你若是用手手机或数码相相机的摄像头头看,你就会会看到它的光光). (发射管) (接收收管) 看看来比较简单单,一个发射射,一个接受受.发射管发发射红外线,遇到遮挡就就会反射回来来(遮挡是黑黑色的除外,因为黑色吸吸收了红外线线),接收管管接收到红外外线以后阻值值发生了变化化,因此可以以利用电阻分分压改变输出
40、出电压.看看看电路:发射电路,一开开始我就是这这样,一个限限流电阻直接接发射管(红红外线发光管管).后来发发现一个随之之而来的问题题,就是多个个传感器工作作时电流比较较的大,达到到0.5A左左右.而且传传感器发热严严重.要知道道,发热严重重,性能就会会严重的降低低.于是想到到,是不是可可以在需要的的时候开通,不需要的时时候关闭.形形成这种扫描描式的.结果果衍生出了以以下的电路:这个电路的原理理也是一目了了然的:当单单片机的IOO口输出高电电平时,R11所在的支路路有电流I11,因此R22所在的支路路就有I1*E(E为三三极管的放大大倍数,比如如我用的是330).这样样,三极管就就相当于一个个电
41、子开关.单片机输出出1的时候,发光管接通通,单片机输输出0的时候候,发光管截截止.这样就就起到了用单单片机来控制制发光管关闭闭的效果. 经过实验验,发现该电电路效果非常常的明显.在在大多数情况况下,电流表表几乎检测不不到电流的所所在.用精密密的电流表,发现电流在在5MA左右右.而且整个个电路的检测测距离更远,更准确.具具体分析其原原因是:长时时间处于发光光状态,发热热严重,发光光管效率降低低,电阻增大大,发射功率率降低.而间间歇发射,发发光管发光效效率更高,更更省电. 至于接受受电路,我使使用的就比较较的简单. 其中,Soutt为信号的输输出.其实这这个电路就太太简单了,你你看.红外线线使着接
42、收管管的电阻发生生了很大的变变化,所以两两个电阻的比比值就发生了了变化,根据据分压原理,输出的电压压值也就改变变了. 接下来的的问题就是对对现在的这个个高电压和低低电压进行处处理.有人说说,直接接到到单片机上进进行编程不就就可以了?不不是的!注意意,这里的输输出电压虽然然也有高和低低,但是这里里的电压是个个模拟量,不是标准准的TTL电电平.举个例例子,我测得得有反射(前前方有障碍物物)的时候,电压是4VV,没有发射射(前方没有有障碍物)的的时候,电压压是2.1VV.显然,你你如果直接接接到单片机上上,单片机收收到的都是高高电平. 处处理的办法有有两个:使用用AD转换或或是使用电压压比较器.这这
43、两个方法各各有各自的优优缺点,我们们来分析一下下: 一.AD转换 大大家都知道,就是将输出出的电压值,用AD芯片片进行数字化化,比如5VV转换成了11200.等等等.这这样做的好处处是显而易见见的,我们能能够方便的对对数据进行处处理.比如,我们令数值值小于3000的表示没有有检测到障碍碍物或是障碍碍物比较的远远.数值大于于300的表表示检测到障障碍物.而且且硬件上也比比较的简单,直接将输出出接到AD的的输入引脚即即可(现在的的许多MCUU内部都自带带ADC,所所以根本就不不需要外围电电路,直接接接上即可).这样做的不不足也有,就就是你需要编编写AD检测测的程序,而而且占用CPPU时间. 二二.
44、比较器 所谓谓的比较器,就是电压比比较器,看电电路: 看,就是是这么个简单单的电路,当当UiU时时,Uo一直直是低电平;当UiUU时,Uo就就是高电平.因此,我们们只要调节一一下参考电压压,就可以使使着输出符合合我们的要求求-低于这这个阀值的时时候是高电平平,高于这个个阀值的时候候是低电平.这就实现了了模拟量转换换为数字量.看看电路图图: 这个电路路就很简单了了,可以看出出多了下面的的那块电路,是用来调节节基准电压的的嘛.也是一一个电阻分压压的原理,这这样你设置不不同的阀值,就可以控制制输出了.比比如:我们刚刚才说的低电电压是2.11V,高电压压是4V,我我们要把这个个电平转变成成TTL,因因
45、此我们可以以把基准电压压设置成3VV,因此经过过电压比较器器,2.1VV就输出高-5V,44V就输出低低-1VV.这不就是是TTL嘛. 电路中的比比较器可以使使用便宜的LLM324来来搭建.LMM324是四四运放集成块块. HYPERLINK /king_of_wind/240152/message.aspx PID系统整定定工程实践 发表于 20009/6/228 9:001:53 【如果我写的好好,请顶一下下】 参加比比赛或是做项项目也好,PPID的应用用非常的广,不不但可以用在在运动控制的的电机调速,更更可以用在温温度控制、电电流控制、电电压控制等等等动态变量的的控制。 PIDD其实没有
46、多多么神秘,还还是那句话:被控量比我我们的预期量量(输入量)大大,CPU就就控制其小点点;被控量比比我们的预期期量小,CPPU就控制其其大些。在这这其中在引入入被控量信号号的变化率和和误差累积,就就成了真正的的PID,可可以达到非常常好的控制效效果。 直流伺服系统的的系统结构 图1.1 一一个伺服系统统结构的例子子 由图11.1可以看看出来,一个个基本的伺服服系统由控制制器、功率放放大单元、执执行机构、反反馈传感器组组成。控制器器是按照一定定的控制策略略,综合输入入量和反馈量量,输出控制制信号的逻辑辑装置,一般般情况下使用用工业计算机机或是微型计计算机系统(DDSP、MCCU等)来作作为伺服系
47、统统的逻辑中枢枢;功率放大大单元是将计计算机输出的的控制信号,转转变成一定的的功率信号来来驱动执行机机构;执行机机构(图1.1中是电动动机)是将控控制器的控制制信号转变为为相应的物理理量,可以是是电动机(用用于运动控制制)、加热器器(用于温度度控制)、功功率开关管(用用于电流或电电压控制)等等等;反馈传传感器(图11.1中是位位置检测传感感器)是将执执行机构的状状态转变为相相应的电气信信号,并反馈馈给控制器的的装置,它可可以是位置传传感器(位置置伺服系统)、速速度传感器(速速度伺服系统统)、温度传传感器(温度度伺服系统)、电电流传感器(电电流伺服系统统)、电压传传感器(电压压伺服系统)等等等。
48、直流伺服系统的的工作原理简简述 由伺服服系统的原理理框图1.11就可以看出出,伺服系统统通常是一个个闭环系统。其其工作流程可可以简单的描描述为:控制制器接收外界界的输入,计计算相应的输输出值给功率率放大单元,功功率放大单元元将控制器的的信号放大,驱驱动执行机构构动作。反馈馈传感器采集集执行机构或或被控对象的的状态,将状状态信息反馈馈给控制器,控控制器根据接接收到的输入入值和传感器器反馈回来的的反馈值,根根据一定得控控制策略(本本论文中使用用的是PIDD算法),进进一步调整输输出,使输出出达到目标值值(输入值)。 其中,控控制器-CCPU/MCCU 功率率放大-MMOSFETT/MCS33388
49、6/各种电机驱驱动芯片 反馈馈传感器-角度传感器器(位置伺服服系统)/旋旋转编码器(速速度伺服系统统)/温度传传感器(温度度伺服系统)/电流传感器器(电流伺服服系统) 为了便便于讨论,我我编写了一个个上位机软件件,实时对伺伺服系统的工工作状态进行行采集,而且且还可以绘制制出伺服系统统的工作曲线线。 第3章 直流流伺服系统参参数及其整定定3.1 数字字PID的参参数根据偏差的比例例(P)、积积分(I)、微微分(D)进进行控制(简简称PID控控制),是控控制系统中应应用最为广泛泛的一种控制制规律。实际际运行的经验验和理论分析析都表明,这这种控制规律律对许多工业业过程进行控控制时,都能能得到满意的的
50、效果。不过过,用计算机机实现PIDD控制,不是是简单的将模模拟PID控控制数字化,而而是进一步与与计算机的逻逻辑判断功能能结合,使PPID控制更更加灵活,更更能满足生产产过程提出的的要求。 3.1.1 采样频率率的选择(1)采样周期期应远小于过过程的扰动信信号的周期。根据香农采样定定理:采样频频率应该大于于或是等于信信号最高频率率成分的两倍倍。这个定理理给出了采样样频率选择的的最底线。(2)执行机构构的类型。在执行器的响应应速度比较慢慢时,过小的的采样周期将将失去意义,因因此可适当选选大一点。 在计算机运运算速度允许许的条件下,采采样周期短,则则控制品质好好。当过程的的纯滞后时间间较长时,一一
51、般选取采样样周期为纯滞滞后时间的11/41/8。 (3)给定值的的变化频率。加到被控对象上上的给定值变变化频率越高高,采样频率率也应该越高高,这样给定定值的改变可可以迅速得到到反应。(4)被控对象象的特性若被控对象是慢慢速的热工业业或是化工对对象时,采样样周期一般取取的比较的大大;若被控对对象是较快速速的系统,采采样周期应取取得比较小。(5)控制算法法的类型采用PID控制制算法,积分分(I)和微微分(D)作作用都与采样样周期T的选选择有关系。采采样周期T太太小,将使微微分作用不明明显。3.1.2 比例-PP 一般来来说,增加控控制系统的比比例增益,可可以提高系统统的响应速度度,同时也会会降低稳
52、态误差。尽尽管如此,如如果比例增益益太大,系统统超调就会增增大,如果KKp再进一步增增加,震荡就就会加大,系系统就会变得得不稳定。3.1.3 积分-II 为了消消除稳态误差差,在控制器器中必须引入入“积分项”。积积分项对误差差进行累加,随随着时间的增增加,积分项项会逐渐增大。这这样,即便误误差很小,积积分项也会随随着时间的增增加而加大,它它推动控制器器的输出增大大使稳态误差差进一步减小小,直到等于于零。因此,比比例+积分(PI)控制制器,可以使使系统在进入入稳态后无稳稳态误差。但但积分过强同样样影响系统的的稳定性。3.1.4 微分-DD 自动控控制系统在克克服误差的调调节过程中可可能会出现振振
53、荡甚至失稳稳。其原因是是由于存在有有较大惯性组组件(环节)或或有滞后(ddelay)组件,具有有抑制误差的的作用,其变变化总是落后后于误差的变变化。解决的的办法是使抑抑制误差的作作用的变化“超超前”,即在在误差接近零零时,抑制误误差的作用就就应该是零。这这就是说,在在控制器中仅仅引入“比例例”项往往是是不够的,比比例项的作用用仅是放大误误差的幅值,而而目前需要增增加的是“微微分项”,它它能预测误差差变化的趋势势,这样,具具有比例+微微分的控制器器,就能够提提前使抑制误误差的控制作作用等于零,甚甚至为负值,从从而避免了被被控量的严重重超调。所以以对有较大惯惯性或滞后的的被控对象,比比例+微分(P
54、D)控制制器能改善系系统在调节过过程中的动态态特性。但是是,如果反馈馈回来的过程程变量代表的的噪声,微分分参数就会引引起系统的不不稳定。数字PID的控控制算法3.2.1 位置型PIID控制算法法图3.1 位位置型PIDD控制流程 在控制制系统中,这这种控制量确确定了执行机机构的位置,例例如在阀门控控制中,这种种算法的输出出对应了阀门门的位置(开开度)。所以以,将这种算算法称为“位置算法”。3.2.2 增量型PIID控制算法法图3.2 增增量型PIDD控制流程图图 如上图图, 当执行行机构需要的的不是控制量量的绝对值,而而是控制量的的增量(例如如去驱动步进进电动机)时时,需要用PPID的“增量算
55、法”。数字PID控制制算法实现方方式比较 在控制制系统中,如如果执行机构构采用调节阀阀,则控制量量对应阀门的的开度,表征征了执行机构构的位置,此此时控制器采采用数字PIID位置式控控制算法;如如果执行机构构采用步进电电机,每个采采样周期,控控制器的输出出的控制量是是相对于上次次控制的增量量,此时控制制器应该采用用数字PIDD增量式控制制法。虽然增量式控制制法和位置式式控制法更有有应用领域,但但是增量式控控制法相对于于位置式控制制法,具有诸诸多的优势: (1)增量量式控制法不不需要做累加加,控制量增增量的去定仅仅与近几次误误差采样值有有关,计算误误差或计算精精度等问题对对控制量的影影响比较的小小
56、。相比之下下,位置控制制法要用过去去的误差的累累加值,容易易产生较大的的累加误差。 (2)增量量式算法得到到的是控制量量的增量。例例如在阀门的的控制中,只只输出阀门开开度的变化部部分,误动作作影响小,必必要时通过逻逻辑判断限制制或禁止本次次输出,不会会严重影响系系统的工作。相相比之下,位位置式控制算算法的输出是是控制量的全全量输出,误误动作影响比比较大。 (3)采用用增量算法,容容易实现手动动到自动的无无冲击切换。 数字PIDD控制算法流流程 下图给给出了数字PPID控制算算法的控制流流程图。增量量式的控制流流程和位置式式的控制流程程很相似。图3.3 PPID程序流流程 数字PID参参数整定1
57、 工程法整整定PID参参数的方法在工程上,PIID参数整定定的方法比较较的多,分别别有:凑试法法、扩充曲线线法、优选法法、自整定法法等等。由于于研究采用的的标定系统采采样频率有限限,不能绘制制出非常精确确响应曲线,所所以使用扩充充曲线法误差差较大。下面面的参数整定定使用凑试法法。(1)首先整定定比例环节将比例系数由小小到大的变化化,并观察相相应的系统响响应,直到得得到一个反应应速度快、超超调小的响应应曲线。如果果系统静差已已经达到允许许的范围,并并且响应曲线线已经令人满满意,那么只只是用比例控控制器即可。这这里确定的是是最优比例系系数。(2)再加入积积分环节如果在比例部分分不能有效地地消除静差
58、,需需要加入积分分环节。积分分系数P的整整定应该从大大到小。并且且应该将第一一步整定的比比例环节缩小小(可以缩小小为原来的00.8倍)。然然后慢慢的减减小积分常数数,直到系统统具有良好的的动态性能,并并且静差得以以消除。(3)最后加入入微分环节如果在使用比例例积分控制器器时,动态特特性仍达不到到要求,可以以加入微分环环节。在整定定微分环节时时,微分系数数从小到大变变化,在同时时小范围改变变比例、积分分系数的同时时,多次试凑凑,直到达到到理想的控制制效果。2 数字PIID参数整定定过程 由于机机器人手臂定定位属于绝对对位置式定位位,这里首先先讨论位置式式PID伺服服系统的PIID参数整定定。(1
59、)采样周期期的选择 首先,选选择一个合适适的采样周期期。采样周期期应该综合各各方面考虑,首首先研究的是是一个位置伺伺服系统,要要求响应快,精精度高。因此此采样周期不不能太大。同同时,电机带带有减速机构构,转动惯量量比较的大,因因此采样周期期又不能太小小。关于采样样周期的选择择,虽然有“香农定理”这样的规律律,但是并没没有给出实质质的选择方法法,大多是在在规律的指导导下探索。这这里,本人总总结了一个根根据工程试验验选择采样频频率的方法。图3.4 电机在额定电压下转动,传感器的输出电压曲线 如图33.4,是电电机在额定电电压下,连续续旋转的位置置传感器输出出电压曲线。可可以根据这个个图大体的估估算
60、合适的采采样频率。从从这个图上的的周期可见,电电机(带减速速机构)的额额定转速为11.20转/秒,即约为为430度/秒。假设我我们的伺服系系统要求分辨辨率在0.55度,那么可可以计算出来来,伺服系统统要转过这00.5度最快快需要0.55/430*1000=1.16mms。如果将将0.5度看看成是系统的的一个“标准单位”,那么1.16ms就就是系统控制制的“标准时间”。假设,采采样周期比这这个“标准时间”还要大,就就可能出现伺伺服系统转过过了“目标点”,但是系统统还没有检测测到得现象。当当然,这个假假设中没有考考虑系统的静静摩擦、启动动惯量等。但但无论如何,不不排除极限情情况下,系统统稳定性要求
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年展架租赁合同范本3篇
- 2024年二手车交易合同新规定3篇
- 2024年新能源车辆租赁与运营合同
- 2024年度文具采购标准协议范例版B版
- 2024年度粮食批量采购与销售合作合同版
- 2024年国际物流运输服务协议模板版A版
- 2024年度股权转让合同(优先购买权)
- 2024年度企业员工借款与劳动争议风险评估合同3篇
- 2024年度软件定制开发合同的用户使用权限3篇
- 2024年农产品买卖合同2篇
- 水利水电建设工程蓄水安全鉴定和竣工验收技术鉴定导则
- 曼昆《经济学原理》(微观)第五版测试题库 (17)
- Everybody歌词
- (完整word版)PT100温度传感器三根芯线的接法
- 重力式桥台计算程序表格
- ETDRS视力记录表
- 增值税预缴税款表电子版
- 玻璃幕墙工程技术规范与应用
- 三级医师查房登记本(共3页)
- 全国医疗服务价格项目规范(2012版)
- 乌鲁木齐市律师服务收费指导标准
评论
0/150
提交评论