看了許多用廢棄光驅里面的步進電機滑臺制作激光雕刻機帖子,一直想自己做一個來的,就搜集了一下材料,改用圓珠筆芯和電磁鐵做個繪圖筆,參考激光雕刻機做個繪圖儀了。以下是制作過程的幾大步驟,算是個總結吧!
◆步進電機基本使用,電機極性識別,這個論壇里面找到的。簡單說來就是用電池接線,注意轉動方向,然后記錄下來此時電機接線的正負極。
◆電機驅動代碼,論壇里面有的。先能使正轉、反轉;然后再用獨立按鍵控制其正轉、反轉。注意不要越界,那個對滑塊部分有損害的。
◆行程控制
加入液晶顯示模塊部分代碼,以便顯示執(zhí)行了多少個拍子。
零點識別,也就是為了保證滑塊部分不會移動出界。
這個光驅架子很早前拆的也不記得當時的行程碰撞開關放哪里去了,后來就找個了 紅外對射模塊 裝上,用卡片擋光的方式來判斷是否到零點位。
再用獨立按鍵控制其轉動,到達最大行程時,記錄下液晶上顯示的最大數(shù)字,把這個數(shù)字寫到單片機程序代碼里,這樣就可以通過代碼來控制節(jié)拍總數(shù),從而保證滑塊不會超限。
◆拆了另一個光驅步進電機驅動,這個有限位開關,是銅彈簧片實現(xiàn)的。
也做了行程控制,這里發(fā)現(xiàn)了前面那個光驅架子質(zhì)量低哦。就是圖片里面那個架子上的,黑色塑料底盤的。
黑色光驅架子行程控制在31mm,節(jié)拍總數(shù)是282;后拆的那個光驅架子,鐵架子那個,行程在35mm,節(jié)拍總數(shù)控制在502。很明顯鐵架子的比黑色塑料的質(zhì)量好。
這里就出問題了,兩個“分辨率”不一致了。后期影響還挺大了。看看后面的圖就知道了。
IMG_20180408_065001.jpg (3.8 MB, 下載次數(shù): 112)
下載附件
2018-4-21 14:08 上傳
◆機架
用后拆的那個光驅盒子做的底盤,找了別人家裝修剩余的木條,作為垂直支架,用M3螺絲塑料柱固定光驅滑塊等等。
壇里有的人用的塑料、電路板等做的架子,我用的還是木頭,好寒酸吶:(
不要螺絲擰死了,預留點活動空間,后期要反復多次調(diào)試,以便多次調(diào)整的。
找了個電磁鐵和圓珠筆芯,筆筒,還有廢舊的LED燈條的鋁板,做了繪圖筆的之間。此處需要多試幾次,保證筆芯盡可能垂直、電磁鐵的行程適當,保證筆尖剛好能夠接觸到底盤上的紙面上。
IMG_20180420_093206.jpg (4.67 MB, 下載次數(shù): 98)
下載附件
2018-4-21 14:09 上傳
繪圖板,是用鐵片粘到滑臺上的,就是小學校門口賣的那些卡通鐵牌,也有磁貼。剪開了兩條磁貼,以便壓住紙片。這個都是小孩玩具里找出來的。
每次開機后,步進電機都轉動,滑臺移動到零點位。就是通過 紅外對射模塊 和 銅質(zhì)彈簧片 檢測到的。
改寫程序,在定時器中斷中調(diào)用步進電機的驅動代碼,先賦值后使能。
IMG_20180420_093233.jpg (4.86 MB, 下載次數(shù): 108)
下載附件
2018-4-21 14:09 上傳
◆繪圖命令
前面行程測試了,就用節(jié)拍數(shù)代替將來設定的位圖像素數(shù)。即繪圖的位圖尺寸是寬282個像素、高502個像素。
繪制命令,其實就是抬筆、落筆了,在落筆的時候保持住,再移動滑塊,就相當于圓珠筆在劃線了。
這個就是控制電磁鐵了。單片機IO口一個控制繼電器,繼電器再連接電磁鐵的電源電路。我的電磁鐵使用的是7.2v直流電。
代碼部分還需要增加移位命令。如X移動到120像素點、Y移動到354像素點。定位到指定點后,落筆,然后再移動筆和底面滑臺。
八鄰域說明。位圖就是點陣圖了。
◆串口通信
基本通信模式,能接收、發(fā)送,參考教程里面的,稍微改動了一下。9600
繪制命令約定,例如Draw1203540122;120是X坐標值,354是Y坐標值,01是指在當前位置,X方向減一Y方向不變;22在當前位置X方向加一,Y方向加一,以此類推。
◆上位機程序 分位圖轉換程序和串口程序兩部分的。
位圖轉換繪圖命令。約定,位圖只能是24位的,且只是黑白圖。
轉換成繪圖命令,這個有點啰嗦,簡單說,就是把所有像素掃描一遍,發(fā)現(xiàn)有黑色的像素就生成命令字符串DrawXXXYYY,XXXYYY就是坐標值把此像素改成紅色;然后以此像素為中心搜索其周圍的8個相鄰像素,如發(fā)現(xiàn)有黑色的,那么就在前面命令字符串后追加偏移量(我給XY偏移量都加上了一,這樣就不需要有負號了,參考前文示例。
位圖轉換程序.JPG (180.04 KB, 下載次數(shù): 99)
下載附件
2018-4-21 14:13 上傳
單片機程序繪圖是再各自減一就能得到正確的偏移量了)。重復上述過程,這樣把生成的繪圖命令全部寫到文本文件中。一個位圖文件對應一個文本文件。
然后再用串口程序讀取此文本命令,每次讀取一行發(fā)送給單片機,單片機接收到后就返回長度,執(zhí)行完繪圖命令后發(fā)送Ok回來,串口程序收到Ok后再發(fā)送下一行繪圖命令給單片機。
如此反復,直至所有行都已經(jīng)發(fā)送完畢。約定每行繪圖命令字符串不超過252個字符。
串口.JPG (143.3 KB, 下載次數(shù): 93)
下載附件
2018-4-21 14:13 上傳
IMG_20180420_102403.jpg (4.72 MB, 下載次數(shù): 87)
下載附件
2018-4-21 14:09 上傳
IMG_20180420_120604.jpg (5.75 MB, 下載次數(shù): 100)
下載附件
2018-4-21 14:09 上傳
IMG_20180420_120711.jpg (5.73 MB, 下載次數(shù): 98)
下載附件
2018-4-21 14:09 上傳
圖上效果看,落筆定位誤差較大,圓珠筆筆尖抖動的較大,畫圖有點類似木版畫的效果。
估計是材料和做工粗糙,無法保證精度和準確度的。
|