專注電子技術(shù)學(xué)習與研究
當前位置:單片機教程網(wǎng) >> MCU設(shè)計實例 >> 瀏覽文章

機械手之旅(一)

作者:佚名   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2010年05月14日   【字體:

1日:

   自從拿到一快單片機的用戶板后并對它有一些了解后,就有用它做機械手的念頭。對它控制繼電器、步進電機、LED、LCD、數(shù)碼管稍做研究之后,便著手開始了。

第一步,驅(qū)動步進電機

   驅(qū)動步進電機并不是一件難事,板上有現(xiàn)成的電路。但我要做續(xù)步驅(qū)動,對我這個菜鳥來說似乎有些棘手,但還好先前研究過C以外的高級語言,并編了些貌似很實用的工具。經(jīng)過幾輪的試驗后,用函數(shù)的參數(shù)及返回值搞定了這個問題。

第二步 數(shù)碼管同步顯示經(jīng)過步數(shù)

  開始在正轉(zhuǎn)頭文件中加入數(shù)碼管掃描,轉(zhuǎn)速快時一切正常,但轉(zhuǎn)速稍慢,要了親命了,簡直可以用眼花繚亂來形容。將數(shù)碼管掃描放入延時中,只用這些語句來做延時,成功!但有重影。只好又另外加了個延時函數(shù)來消除重影。但只掃描了3只數(shù)碼管,今天要加入掃描8只數(shù)碼管,不知道步進電機會不會卡步。

  好了,這就是前幾天的成果,似乎有點慢。沒辦法,英文太差,倒霉的芯片資料幾乎全是英文的。讓我好不煩惱,只能*翻譯軟件,但效果不佳。被迫學(xué)英語,哎!這幾天背的單詞比初、高中背的的都多。好了,工作!

(本來這這是一篇數(shù)碼管逐個點亮的視頻,結(jié)果視頻始終不能正常顯示,無奈只好改做其他)


6日:

   今天把數(shù)碼管從3個增加到5個,掃面仍然正常,并發(fā)現(xiàn)有足夠的延時來容納另外三個數(shù)碼管的掃面,于是在0位管上又加了一個速度擋,并用KEY3來調(diào)節(jié),開始沒有加按鍵放開判斷,所以出現(xiàn)按下按鍵后無反應(yīng)現(xiàn)象,后來加循環(huán)來判斷按鍵跳起。可正常的改變轉(zhuǎn)速。又加入無操作時判斷,使數(shù)碼管在無動作時也可顯示狀態(tài)。

下一步就要開始怎樣用按鍵調(diào)節(jié)后五位的數(shù)值,并傳遞到forward/reverse函數(shù)中,確定設(shè)置完畢后自動根據(jù)設(shè)置的速度旋轉(zhuǎn)指定角度、旋轉(zhuǎn)步數(shù)斷電的存儲、返回原點等操作。

然后就是加入編程模式,在鍵盤上編輯后,逐步運行,不過還要想想編程的程序格式,以便源程序的編輯和以后的編程。

另外,hex文件現(xiàn)在已經(jīng)達到5K,要想辦法壓縮一些。

7日:

   今天初步編了一下調(diào)整數(shù)字并用數(shù)碼管顯示,發(fā)現(xiàn)它需要在延時掃描里面再嵌入一段獨控程序,這樣可能會使程序變的臃腫。為了節(jié)省空間,所以放棄這個功能,把回原點先編出來,這段到最后如果空間足夠的話再放進去。

回原點已經(jīng)有了初步功能,但unsigned int只能容納到65536,這肯定遠遠不夠,所以還要加一個變量來記錄共走過幾個周期,這樣就有65536^2可以容納經(jīng)過步。還要判斷現(xiàn)位置的+/-以免在回原點時方向錯誤。這是明天的事了。

 下一篇地址:http://www.torrancerestoration.com/mcu/832.html

關(guān)閉窗口