您的位置 首页 数字

根据MSP430的操控电机并测速度体系规划与调试

基于MSP430的控制电机并测速度系统设计与调试-最近在调一个MSP430单片机控制电机并测速度的电路。整个电路从设计制作到调试成功,花了将近四天时间,中间Bug多多,不过最后都一并解决了。

  前语

  最近在调一个MSP430单片机操控电机并测速度的电路。整个电路从规划制作到调试成功,花了将近四天时刻,中心Bug多多,不过最终都同时处理了。

  废话不多说,直接进入主题,先说说我这个体系。下面Figure 1是MSP430主操控部分,用的芯片是MSP430G2553单片机(11、12号引脚是反过来滴),第一个是Pro Download接口,望文生义,便是程序下载口,我用的MSP430G系列的launchPad 开发板衔接到我规划的板子上的,通过这几个接口运用launchPad 即可下载程序,为了便利布线,我打乱了这几个接口的次序。PWM1和PWM2接口是衔接到H桥的两个接口,这儿运用了G2553的定时器A1发生PWM。CAP_P12是光电对管衔接到比较强后输入到单片机的一个捕获接口,因为这儿能够用定时器A0的捕获接口,运用定时器的捕获功用,能够使得程序规划更为简略。整个体系运用了两个定时器,并结合中止,使得整个体系都处于休眠状况,功耗能够做得比较低(但因为电机和12864的存在,这儿的低功耗程序规划显得毫无意义额。。。)。别的还有一个12864的串行外部接口(SPI)三根线。


  再放一个三线操控13864的图。因为MSP430x2xx系列是3.3V的器材,这儿用到了一个245芯片来转化电平电压(CS和SCLK的次序反了,后来布线的时分改的)。初学者往往会遇到一个问题,便是为什么我的12864的滑动变阻器调了,12864的亮度都不变呢,我在这儿只提一点:留意你的复位引脚的电平。

  H桥电路太常见,百度出来一抓一大把。

  至于H桥原理神马的,我就不在这儿多说了。不明白就百度吧,实践上学过三极管的,略微静下心来剖析一个,都能够看得懂的。下面是一个比较器的电路,用的是光电对管发射信号,经黑线反射今后PHOTO上发生必定的电压值,做电路的时分实测 LM358的输入电压高达0.6V(哈哈,其实也不高…),右边的LM358构成一个比较器,VCC为5V电压,经10K和50欧姆电阻分压今后LM358的2号引脚的电压大致为0.5V0.6V,满意电路规划要求。后加一个1K电阻维护后级单片机(哈哈,这个电阻便利了我后边的滤波)下面说说问题所在吧。


  调试的时分发现了一个十分纠结的问题。数据总是不可思议地显现200转/s乃至是1000转每秒,实践上,我这个电机的滚动速度最大也就110转每秒,这些个数据显着都是过错的。重复检查定时器的捕获程序,检查了好几遍,加上有写了一年的430单片机程序的经历,对这个G2553的内部寄存器适当了解,重复剖析,100%确认程序没有任何问题。那么问题在哪里呢?后来剖析了一段代码。

  这个函数是将捕获到的定时器的脉冲计数值送到12864的一个中心转化函数,temp显现的转速,因为CPU 时钟用的1MHz,电机那里有四个黑带,所以实践的转速应该是250000/tempData,得到这个数据后转化成ASCII码,再送到12864显现。问题呈现在这儿,12864显现数据1000+,阐明temp = 1000+,比实践的数据100+大了10倍。那么也就意味着tempData的数据比实践的实在数据小了10倍,也便是说定时器两次捕获时刻的距离比惯例的要小许多,为什么会小了那么多倍呢。

  思来想去,灵光一闪,哎呀,对了!因为电机的胶布张贴得不均匀,发生了很多的不均衡噪声,使得比较器的输出含有很多的高频重量,因为噪声的存在,使得定时器的捕获时刻距离变小!然后呈现了显现数据偏大的成果。想到问题所在,那么怎样处理掉呢。检查原理图,发现运算放大器的输出端接有一个1K的电阻,哎呀玛雅,创意计划忽然就来了,做个简略的RC低通滤波器不久完了?想到计划今后那么电容的值又该怎样选了?在草稿纸上做个简略的剖析,现将草稿纸上的内容mathtype搬到Word上来。

  电容的阻抗表达式:

  把运放的输出成果当作一个电压源,其输出电压等于RC滤波网络的输入电压假定其值为:


  那么上图所示的Vout的输出表达式为

  为了便利剖析,咱们假定Vi为1V,而且不考虑相位问题,取Vout的模可得

  输出表达式与输入频率的联系找到了,那么咱们的电容值又该怎样规划呢?考虑到咱们的光电管通过比较器输出今后的频率最大为500Hz,那么咱们规划一个‐3dB在500Hz左右的滤波器即可。用MATLAB写个小程序。

  R = 1000;

  f = 0:0.01:1000;

  w = 2*pi*f;

  C1 = 0.001 * 10^-6;%%uF

  C2 = 0.01 * 10^-6;%% uF

  C3 = 0.1 * 10^-6;%% uF

  C4 = 1 * 10^-6;%% uF

  C5 = 0.3 * 10^-6;%% uF

  y1 = sqrt((1./(1+w.*w*R^2*C1^2)).^2 +

  ((w*R*C1)/(1+w.*w*R^2*C1^2)).^2);

  y2 = sqrt((1./(1+w.*w*R^2*C2^2)).^2 +

  ((w*R*C2)/(1+w.*w*R^2*C2^2)).^2);

  y3 = sqrt((1./(1+w.*w*R^2*C3^2)).^2 +

  ((w*R*C3)/(1+w.*w*R^2*C3^2)).^2);

  y4 = sqrt((1./(1+w.*w*R^2*C4^2)).^2 +

  ((w*R*C4)/(1+w.*w*R^2*C4^2)).^2);

  y5 = sqrt((1./(1+w.*w*R^2*C5^2)).^2 +

  ((w*R*C5)/(1+w.*w*R^2*C5^2)).^2);

  plot(f,y1,f,y2,f,y3,f,y4,f,y5);

  title(‘RC滤波器规划’);

  legend(‘0.001uF’,‘0.01uF’,‘0.1uF’,‘1uF’,‘0.3uF’);

  xlabel(‘频率/Hz’);

  ylabel(‘输出幅频/V’);

  在测验C的时分从1nF开端测验,得到下面的输出曲线,从图中咱们能够看到,从0Hz到1000Hz,输出简直都是1,不变,1nF的电容不符合咱们的规划要求。再加大,测验104电容,104电容即0.1uF,得到的输出幅频特性曲线如下,显着不符合咱们的规划要求,500Hz‐3dB处还差一点点,再加大10倍,测验1uF.

  下面这张是1uF的测验图,显着‐3dB小于500Hz了。也不符合规划要求,通过重复测验并结合手头上有额电容容值,选定474电容,得到幅频特性曲线也较为抱负。敲定电容值今后现已刻不容缓把%&&&&&%焊上去了。焊接结束今后,长时刻调查,12864没有再呈现200转/秒或许1000转/秒的显现值,也便是说规划的滤波器现已起到作用了!做成今后振奋了一小下。振奋之余,想到既然是高频噪声的影响,那么何不看看它的频谱图呢,一想到,决断从科协搬来一台数字示波器,测验了装置RC滤波器前的FFT图形和装置RC滤波器后的FFT图形,现贴在这儿。从两个图中,很显着地能够看到装置滤波器前裙子噪声十分显着,装置后,裙子噪声根本没有了!!!,看到这儿,我又不由得振奋了一下。



  处理一切问题今后大松一口气,总算想通了复位电路与简略的RC滤波电路。比较51单片机的高电平复位电路,其实原理也是相同的——高通滤波器。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/shuzi/168870.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部