<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 基于MSP430的控制電機并測速度系統設計與調試

基于MSP430的控制電機并測速度系統設計與調試

作者: 時(shí)間:2017-10-25 來(lái)源:網(wǎng)絡(luò ) 收藏

  前言

本文引用地址:http://dyxdggzs.com/article/201710/368504.htm

  最近在調一個(gè)MSP430單片機控制電機并測速度的電路。整個(gè)電路從設計制作到調試成功,花了將近四天時(shí)間,中間Bug多多,不過(guò)最后都一并解決了。

  廢話(huà)不多說(shuō),直接進(jìn)入主題,先說(shuō)說(shuō)我這個(gè)系統。下面Figure 1是MSP430主控制部分,用的芯片是單片機(11、12號引腳是反過(guò)來(lái)滴),第一個(gè)是Pro Download接口,顧名思義,就是程序下載口,我用的MSP430G系列的launchPad 開(kāi)發(fā)板連接到我設計的板子上的,通過(guò)這幾個(gè)接口利用launchPad 即可下載程序,為了方便布線(xiàn),我打亂了這幾個(gè)接口的順序。PWM1和PWM2接口是連接到H橋的兩個(gè)接口,這里使用了G2553的定時(shí)器A1產(chǎn)生PWM。CAP_P12是光電對管連接到比較強后輸入到單片機的一個(gè)捕獲接口,因為這里可以用定時(shí)器A0的捕獲接口,使用定時(shí)器的捕獲功能,可以使得程序設計更為簡(jiǎn)單。整個(gè)系統利用了兩個(gè)定時(shí)器,并結合中斷,使得整個(gè)系統都處于休眠狀態(tài),功耗可以做得比較低(但由于電機和12864的存在,這里的低功耗程序設計顯得毫無(wú)意義額。。。)。另外還有一個(gè)12864的串行外部接口(SPI)三根線(xiàn)。


  再放一個(gè)三線(xiàn)控制13864的圖。由于MSP430x2xx系列是3.3V的器件,這里用到了一個(gè)245芯片來(lái)轉換電平電壓(CS和SCLK的順序反了,后來(lái)布線(xiàn)的時(shí)候改的)。初學(xué)者往往會(huì )遇到一個(gè)問(wèn)題,就是為什么我的12864的滑動(dòng)變阻器調了,12864的亮度都不變呢,我在這里只提一點(diǎn):注意你的復位引腳的電平。

  H橋電路太常見(jiàn),百度出來(lái)一抓一大把。

  至于H橋原理神馬的,我就不在這里多說(shuō)了。不懂就百度吧,實(shí)際上學(xué)過(guò)三極管的,稍微靜下心來(lái)分析一個(gè),都可以看得懂的。下面是一個(gè)比較器的電路,用的是光電對管發(fā)射信號,經(jīng)黑線(xiàn)反射以后PHOTO上產(chǎn)生一定的電壓值,做電路的時(shí)候實(shí)測 LM358的輸入電壓高達0.6V(哈哈,其實(shí)也不高…),右邊的LM358構成一個(gè)比較器,VCC為5V電壓,經(jīng)10K和50歐姆電阻分壓以后LM358的2號引腳的電壓大致為0.5V0.6V,滿(mǎn)足電路設計要求。后加一個(gè)1K電阻保護后級單片機(哈哈,這個(gè)電阻方便了我后面的濾波)下面說(shuō)說(shuō)問(wèn)題所在吧。


  調試的時(shí)候發(fā)現了一個(gè)非常糾結的問(wèn)題。數據總是莫名其妙地顯示200轉/s甚至是1000轉每秒,實(shí)際上,我這個(gè)電機的轉動(dòng)速度最大也就110轉每秒,這些個(gè)數據顯然都是錯誤的。反復檢查定時(shí)器的捕獲程序,檢查了好幾遍,加上有寫(xiě)了一年的430單片機程序的經(jīng)驗,對這個(gè)G2553的內部寄存器相當熟悉,反復分析,100%確定程序沒(méi)有任何問(wèn)題。那么問(wèn)題在哪里呢?后來(lái)分析了一段代碼。

  這個(gè)函數是將捕獲到的定時(shí)器的脈沖計數值送到12864的一個(gè)中間轉換函數,temp顯示的轉速,由于CPU 時(shí)鐘用的1MHz,電機那里有四個(gè)黑帶,所以實(shí)際的轉速應該是250000/tempData,得到這個(gè)數據后轉換成ASCII碼,再送到12864顯示。問(wèn)題出現在這里,12864顯示數據1000+,說(shuō)明temp = 1000+,比實(shí)際的數據100+大了10倍。那么也就意味著(zhù)tempData的數據比實(shí)際的真實(shí)數據小了10倍,也就是說(shuō)定時(shí)器兩次捕獲時(shí)間的間隔比常規的要小很多,為什么會(huì )小了那么多倍呢。

  思來(lái)想去,靈光一閃,哎呀,對了!由于電機的膠布粘貼得不均勻,產(chǎn)生了大量的不均衡噪聲,使得比較器的輸出含有大量的高頻分量,由于噪聲的存在,使得定時(shí)器的捕獲時(shí)間間隔變??!從而出現了顯示數據偏大的結果。想到問(wèn)題所在,那么怎么解決掉呢。查看原理圖,發(fā)現運算放大器的輸出端接有一個(gè)1K的電阻,哎呀瑪雅,靈感方案突然就來(lái)了,做個(gè)簡(jiǎn)單的RC低通濾波器不久完了?想到方案以后那么電容的值又該怎么選了?在草稿紙上做個(gè)簡(jiǎn)單的分析,現將草稿紙上的內容mathtype搬到Word上來(lái)。

  電容的阻抗表達式:

  把運放的輸出結果看成一個(gè)電壓源,其輸出電壓等于RC濾波網(wǎng)絡(luò )的輸入電壓假設其值為:


  那么上圖所示的Vout的輸出表達式為

  為了方便分析,我們假設Vi為1V,并且不考慮相位問(wèn)題,取Vout的??傻?/p>

  輸出表達式與輸入頻率的關(guān)系找到了,那么我們的電容值又該怎么設計呢?考慮到我們的光電管經(jīng)過(guò)比較器輸出以后的頻率最大為500Hz,那么我們設計一個(gè)‐3dB在500Hz左右的濾波器即可。用MATLAB寫(xiě)個(gè)小程序。

  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 +

 ?。ǎ╳*R*C1)/(1+w.*w*R^2*C1^2)).^2);

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

 ?。ǎ╳*R*C2)/(1+w.*w*R^2*C2^2)).^2);

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

 ?。ǎ╳*R*C3)/(1+w.*w*R^2*C3^2)).^2);

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

 ?。ǎ╳*R*C4)/(1+w.*w*R^2*C4^2)).^2);

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

 ?。ǎ╳*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的時(shí)候從1nF開(kāi)始測試,得到下面的輸出曲線(xiàn),從圖中我們可以看到,從0Hz到1000Hz,輸出幾乎都是1,不變,1nF的電容不符合我們的設計要求。再加大,測試104電容,104電容即0.1uF,得到的輸出幅頻特性曲線(xiàn)如下,顯然不符合我們的設計要求,500Hz‐3dB處還差一點(diǎn)點(diǎn),再加大10倍,測試1uF.

  下面這張是1uF的測試圖,顯然‐3dB小于500Hz了。也不符合設計要求,經(jīng)過(guò)反復測試并結合手頭上有額電容容值,選定474電容,得到幅頻特性曲線(xiàn)也較為理想。敲定電容值以后已經(jīng)迫不及待把電容焊上去了。焊接完畢以后,長(cháng)時(shí)間觀(guān)察,12864沒(méi)有再出現200轉/秒或者1000轉/秒的顯示值,也就是說(shuō)設計的濾波器已經(jīng)起到效果了!做成以后興奮了一小下。興奮之余,想到既然是高頻噪聲的影響,那么何不看看它的頻譜圖呢,一想到,果斷從科協(xié)搬來(lái)一臺數字示波器,測試了安裝RC濾波器前的FFT圖形和安裝RC濾波器后的FFT圖形,現貼在這里。從兩個(gè)圖中,很明顯地可以看到安裝濾波器前裙子噪聲非常明顯,安裝后,裙子噪聲基本沒(méi)有了?。?!,看到這里,我又忍不住興奮了一下。



  解決所有問(wèn)題以后大松一口氣,終于想通了復位電路與簡(jiǎn)單的RC濾波電路。相比51單片機的高電平復位電路,其實(shí)原理也是一樣的——高通濾波器。



關(guān)鍵詞: MCU MSP430G2553 電機控制

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>