跳到主要內容

發表文章

雷射切割 雕刻機 二 架構

整個雷射切割機是一個完整個的系統,功能是[將電腦上的圖形,刻在目標物上]  分成如下三個動作流程 1.圖形轉換成G Code 2.將G Code 傳送到Arduino上 3.Arduino 將G Code轉換成步進馬達訊號與雷射開關的訊號。 我們先著墨在2與3 Gcode到馬達過程         你一定很好奇 1.什麼是G Code   2.為什麼是G Code。      什麼是G Code ,這裡簡單說明,詳細可以在GOOGLE上關鍵字G Code,G Code是玩機器人的入門必備知識可以不用完全懂內容,但最少要知道他的意涵。         G-code是一行一行的文字簡單指令碼 ,虛擬指令碼用中文說類似如下 移動到座標X01 , Y03 ,Z05 啟動雷射 移動到座標X05 , Y03 ,Z05 關閉雷射 在GCode的文件中我們會看到類似如下碼,(單存範例非正確碼) G00 X01,Y03,Z05 G99 G01 X05 , Y03 ,Z05 G98 以上我們看到四行,代表四個指令,過程中電腦需要傳送四次指令,Arduino也需要解譯四次指令: 例如動作流程如下 1.由電腦(手機平板)透過 串列傳輸 傳送一行指令 傳送至Arduino,並等待Arduino 完成動作。 2.Arduino 接收到命令時,開始計算需要讓步進馬達如何轉動,開始打出訊號讓馬達轉動,或啟動\關閉雷射。 3.電腦判斷指令完成再度回到 第一步驟 直到所有指令都執行完成 電腦端這裡的動作還蠻單存,只要將G Code一行一行傳送即可,Arduino端解譯Gcdoe則需要比較多的學問        步進馬達的轉動需要考慮到慣性的問題,例如急轉,急回,若超過步進馬達的扭力就會產生掉步的狀況。        在圓弧動作上若兩個馬達配合的好 真圓 度會非常好,改善鋸齒,這些物理狀況都需要考慮實在不是一門簡單的學問。...

雷射切割 雕刻機 先前預備知識

步進馬達的認識       通常步進馬達分成四線或是五線 四條線或是五條出線,在規格上需知,馬達的輸出扭力還有轉一圈的步數,通常一般四線的為200步較常見價格也較便宜,五線的約為500步,但並不是所有步進馬達都如此,例如等一下我們會使用的DVD光碟機就不是此規格,我們用的DVD光碟機是47步,四線,先介紹四線和五線,基本上原理差不多。 步進馬達我們只需要給予一個CLOCK(脈衝)訊號,他就會往前或往後一步,而且非常的精準,但是如果選用的馬達力量太小或是負載太大的時候就會出現掉步的現象,而失去精準度這一點在選擇規格的時候就要注意, 步進馬達更多詳細概念可以查訊關鍵字[步進馬達] 可以找到更多相關知識 黃兄知識庫(這篇不錯) 圖片轉自 http://ming-shian.blogspot.tw/ Shield的概念         Arduino,通常需要插在麵包版上面或只是弄出電路板焊接其他的外接電路才能夠形成一個系統,然而很多玩家他們針對特方面的連接做出對應一塊板子,只要將arduino 插上這塊板子就可以不需要使用麵包版或是在外接電路就可以直接形成一套系統,可以減少自己在電路上的錯誤或是接線上的錯誤,,而且該電路通常經過許多玩家們的調適與修改可以優化或是去除錯誤的能力,因為他們通常都是Open source,shield的概念已經橫跨很多個領域,所以當你的arduino需要某些特定功能的時候不妨先搜尋看看是否有相關的,shield可以減少很多電路上的開發時間,例如我們即將使用的CNC shield,就是使用在cnc方面的硬體,他幫助我們把結痂會引出三個步進馬達驅動,還有一個電子開關,可以讓我們選擇是否啟動雷射或鑽頭。

開發 fly shield 過程記錄

        暫時命名為fly shield,我才慢慢理解sdield,因為一開始我的目的是希望 能夠創照出一塊面包版的概念,上面只要插上模組就可以讓ARDUINO可以飛行 這塊面包板已經將各模組之間的拉線拉好,省去重量與一堆飛線,這樣使用者就可以一目了然的知道每個區塊分工是什麼,如果有錯誤也可以很快地查到問題與解決問題,並且可以改進。這與寫軟體的感覺很像,所以這大概就是人家說的軟體IC的概念吧。        在設計的時候腳位的定義宗是讓我頭痛,因為沒有一份正式的文件來說明,哪隻腳是什麼,最後必須去看程式碼才能知道,後來看到一些有趣的關鍵字,原來一開始我的設定是錯的我設定我的機器為MicroWii可以在四軸正常動作,但是我的電池怎麼樣就是無法偵測,後來看到一些程式碼有恍然大悟 看到如下 #if defined(PROMICRO)   #if defined(MICROWII)     #define A32U4ALLPINS       如果我是MICROWII的選項,那我就會把A32U4ALLPINS給打開, A32U4ALLPINS代表使用32U4上所有的接腳,但是PRO MICRO 並沒有把所有腳位都拉出來 所以就會變成一些功能無法執行。 所以不可以選MICROWII,要選擇PROMICRO,但是並沒有PROMICRO的選項可以選擇 在def.h中看到 #if defined(__AVR_ATmega32U4__) || defined(TEENSY20)   #define PROMICRO #endif __AVR_ATmega32U4__這關鍵字我怎麼也找不到,我猜會不會當我在IDE界面選定燒錄是arduino micro時候這個就被定義了。 所以又找到這個,猜測不用定義,它會自動由我的CPU來決定他自己是PROMICR   #define THROTTLEPIN                  3   #if defined(A32U4...
介紹你一款好用的IC WII 攝像頭 她是一個攝影機 但是他的輸出接腳 確是i2c 他會分析 畫面中紅外線的位置,最高追蹤四個訊號,解析度1024 * 768 且電路也很簡單 只需要給與 20M的震盪訊號  和3.3V的電壓 就可以運作 陶寶上這樣的鏡頭只賣15 rmb 畫面更頻率 可以高達400Hz 很適合做校正與 電子畫比 視覺觸控 搭配 水平線紅外線射出 可以偵測 多點觸控 http://tw.taobao.com/item/42638464390.htm?fromSite=main&ali_trackid=2:mm_33231734_8628548_43180153,twsearchai:1453424445_2k3_1563235302&spm=a231o.7712113.1004.29.OiCMqt&pvid=200_10.103.34.55_509_1453424433430 http://tw.taobao.com/item/39065737580.htm?spm=a1z3o.7406521.101.405.VLKayN&abtest=_AB-LR492-LR501-LR517-LR895-PR492-PR501-PV517_2374-PV895_2351 詳細介紹電路如下 http://wukcsoft.blogspot.tw/2014/07/avr-wiimote-camera.html 這裡有電路PCB LAYOUT http://williametter.com/portfolio/projects/wii-ir-camera-system/ 抓第三個圖去洗就可以弄了 哈 我好想弄阿 可是它讓我日思夜想 睡不著 吃不下 弄出了6dof( 六軸定位 ) 發現更多問題,要越挖越深 越挖越深 就越~~~~~ 所以我決定 挖到這裡就好 應用在MCU上 實現觸控與 3d空間定位

小四軸飛行器:飛控板十軸陀螺儀動起來了。

     十軸陀螺儀來了,Arduino Micro也來了,開心的立刻焊接,這次的焊接可能經過了前幾天的歷練已經比較不害怕,老婆來了一句焊接有什麼怕的。[我手抖得厲害啊><....],立刻焊了四條線,那一天請教了朋友板子上有一條INT要不要焊接阿,那一條是幹屁的?      友人解釋那是一條資料備妥的意思,I2C內有很學問,這是其中一個學問,大致是說當INT高電壓的時候我這裡資料齊全了,你可以來要了,可以減少詢問的浪費時間,但是如果我的Arduino端用[固定時間輪循]的方式,而不是偵測INT腳位,那就不用焊接。      那我怎麼知道multiwii是哪種方式?      友人說到:你就先不要接看資料會不會動囉。 一語驚醒夢中人。 快速焊上SCL SDA VCC GND 四條線,回來接上電腦一側,挖幹,我又買到瑕疵版的陀螺儀,我的ACC ROLL一樣停在-1000, 不可能, 後來發現原來瑕疵的不是IC,瑕疵的是 我 的 無知 ,按下 CALIB_ACC ,喔 一切都正常了,我真他媽的無知阿。        於是拿起了之前的版本,Arduino Nano+Mpu6050 喔也正常了,我錯怪他,我錯怪他了 我掉入無底的深淵了,原來我自己就是豬一樣的隊友。好吧不經一事不長一智。      來看看動起來的樣子吧,挖真迷人阿,可以這樣看看看看一整天,這就是當MAKER的快樂啊,什麼你不懂快樂在哪裡,經歷了一個多禮拜的折磨,想說自己怎麼那麼衰,又花了錢又買了新板子,然後.....反正....哈......動手就是種樂趣。

小四軸飛行器:驅動馬達

等待陀螺儀 的這段時間馬達先來了,所以我們開始測試馬達驅動系統飛行器的馬達是透過 Arduino 發出 PWM 訊號,傳送給驅動器 ( 小型為 MOS FET ,大型為電調 ) 控制馬達的轉速,達到控制飛行器。為了測試我們的驅動電路,我們先寫一個簡單的 PWM 控制,讓 PWM 輸出值越來越大,到大極限的時候,又慢慢地變小,如果我們的驅動電路可以正常運作時我們應該可以聽到馬達的聲音漸漸地變大,然後漸漸地變小。 測試馬達之前我們先學習 Arduino 的 PWM ,學習的過程當中我參考了下面的網站 http://coopermaa2nd.blogspot.tw/2011/07/6-pwm.html http://coopermaa2nd.blogspot.tw/2011/07/61-pwm-modes-part1.html 感謝 Cooper Maa 。       一開始我們先使用一個 LED 正腳接再 PWM Nano 的 D3 ,然後負腳接到 GND ,接著寫讓 PWM 變大變小的程式 然後又找到如下網站 葉難 :Arduino 練習 : 呼吸燈 http://yehnan.blogspot.tw/2012/02/arduino_16.html 使用網站上的程式碼,我們可以看到燈慢慢亮起來,又慢慢的暗下去, 如果看到這樣的結果代表我們的 PWM 範例程是可以動作。 當呼吸燈完成了,代表我們的程式碼是沒有問題的 ( 如果有問題就是電路的問題 ) ,接下來只要把 LED 腳換成馬達控制腳,就可以測試我們的驅動。 查詢了一下 SI2302 ,由下表可以知道為什麼選用這個 IC ,這張表是在某個賣場抓到的 http://taiwan.tmall.com/item/20689248199.htm? 型號 電流 電壓 標示 極性 封裝 2SK3018 100MA 30V KN N 通道 SOT23 ...