單片機帶觸摸屏及控制步進電機知識詳解
這段時間在做一個項目,項目的內容不方便多說,這里主要是想跟大家分享一下所用到的技術:觸摸屏+步進電機+單片機+SD卡存儲,簡單的說就是用單片機控制觸摸屏及通過觸摸屏來控制步進電機的相關動作,動作完后相關參數用SD卡存儲成EXCEL格式,方便在電腦上做數據分析!
首先申明一下,本屌第一次用步進電機,所以對步進電機的操作不是很熟悉,如有說的不對的地方請大家指正!
首先請大家看下這個手動的界面吧:

觸摸屏用的是迪文的4.3寸的DGUS屏,該界面主要是用來調試用的,也就是來調試一下輸入輸出。其實這個程序以及界面已經改過好幾次了,最開始只寫了一個電機回原點及到終點的動作,后來又改成了點動,即按一次按鍵電機動一下,一直按著不放,電機一直動。對于剛接觸步進電機的我來說,之前的動作還是勉強能寫順的,剛開始因為考慮到速度不是很快,也就沒寫電機加減速了,后來在實際應用中發現,不寫加減速的話,電機速度過快的時候會堵住不動,并且有報警的聲音,無奈,第二個版本中又只好寫進加減速了哈,只是水平有限,寫的不是很好,如果有高手正在看我這篇文章,還請指點一二!小弟在此感激不盡啊!

說到步進電機,順便說下本屌這次用到的步進電機及驅動器吧。這個步進電機不是什么大品牌的,是別人貼牌的一款,型號更加就不用說了,第一次用步進電機,就遇到了這樣的情況,品牌、型號什么的沒有就算了,資料什么的都沒有,真心蛋疼!但是選這個步進電機不是我能決定的,也只有認命了哈,硬著頭皮上,找賣家要資料,要了半天,也就給了我這么個玩意:

第一次用步進電機,也不知道這個玩意有沒有用,只得再去網上找各種資料了,折騰了大半天,總算讓電機轉起來了,頓時各種興奮啊!然后就發現電機抖的厲害,然后就看資料,找原因啊,然后就是設置不同細分,各種設置,程序里面修改脈沖頻率,總之,各種折騰,電機總算能順利的正反轉了,而且可以設置不同的速度!順便說下,本次電機用的是帶1:20減速比的電機!做完后發現,原來要讓步進電機動起來的話其實還是挺簡單的,只要控制好PUL-跟DIR-這兩個信號就好了!要控制速度的話,就是控制PUL-的頻率,DIR-自然就是控制方向了咯,需要注意的是,PUL-、DIR-跟單片機之間的連線需要串電阻,具體多大,得看輸出端的電壓,我這里輸出端用的是24V,所以串了個2.2K的電阻。

然后就說說這個項目的核心部分吧—那就是我的單片機控制板拉!先上圖吧:

本次板子設計是帶了兩路模擬量輸入的,然后就是8路輸入,8路輸出:

圖中的AD0/AD1是用一個20K的可調電阻做模擬電壓輸入,后面的ADC0/ADC1是外部壓力傳感器0-5V信號的輸入。實踐證明,這個電路還是比較穩定的……順便說下,控制板上的芯片用的是STC12C5A60S2,帶8路10位ADC,相對來說精度還是比較高的。本控制板跟觸摸屏通信采用的是232電平,與之前做的一款產品有點區別,之前用的一款迪文7寸的DGUS屏通信用的是TTL電平,當時沒注意,沒留TTL電平的接口,只得焊線出來了!這次本屌吸取了血的教訓啊,把232跟TTL的電平都用一個3PIN的連接器引出來了!輸出部分用的是IRF540!

由于一開始沒用過步進電機,所以在設計控制板的時候負載考慮的過大了,輸出部分用IRF540使得電路變得復雜了,后來問了一些高手,才發現,用ULN2803就可以了,成本少了不說,電路也簡單多了!可見,經驗是多么寶貴啊!這就當做是一次學習吧,付出一點點代價也是應該的,呵呵……

最后再說說SD卡存儲數據吧,這個項目中運行過程中的很多參數是要保存起來導出到電腦上進行數據分析的,這個功能的話其實迪文的DGUS屏就自帶了,我們只需要按照指定的格式發命令就好了,當然還涉及到數據轉換的問題,還有文件格式轉換,我記得我前面有一篇帖子有詳細說過這個操作,具體可以看下這個帖子:http://bbs.ickey.cn/group-topic-id-40429.html,在此就不再多說了!想要學習相關知識的可以自行到迪文的官網下載相關資料!
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















