2014年12月23日 星期二

2014年12月22日 星期一

CNC DIY! 自製土砲 CNC 雕刻機

本實驗室為了製作一些較堅固的客製化製品因此開了這個計畫
3D 印表機固然不錯, 但是所選用的材料仍無法適應某些應用
尤其需要鑽孔攻牙的, 需要小體積但高強度的
3D 列印的多層結構若沒有良好的黏合, 將會從各層間解體
尤其列印面積大時, 溫度差更容易產生這種現象
而 CNC 雕刻機總是從一開始就結構完整的物體去切削
結構設計妥當的話是相當堅固的, 可用的材質也非常多樣化
低溫強固的 HDPE, 化學特性優良又耐高溫的鐵氟龍 (貴!)
機體結構夠穩的話還可以切金屬, 應用範圍更廣
不過這機器可不好搞, 切割時是靠快速轉動銑刀來進行切削
這會產生極大的噪音以及振動, 機體結構需要能應付這些衝擊
可是預算不是無上限, 我們沒法無止盡的強化結構來解決問題
因此一些妥協是必須的, 我的機器會在加工時因為振動而產生誤差
故稱作 "土砲 CNC 雕刻機", 它還是能用, 只是有點不準XD
如果你期望自己做的機器可以超越商業產品, 那我會建議你忽略這篇文章
或許有人可以做到, 但我做不到XD

2014年12月12日 星期五

用 AVR 控制 Mini 12864 LCD 模組

進了一款 LCD 來測試



這是一片 128x64 點的 LCD, 體積接近前篇 用 AVR 控制 OLED (LY096YB-128064 黃藍雙色) 的 OLED
OLED 很薄, 顯示效果也不錯, 但是那是在室內, 室外有強光的環境就常常看不清楚
所以找這片來看是否能補足 OLED 的弱點
它也是個 SPI 裝置, 或許可以做 Co-layout, 視需求選擇上 OLED 或 LCD
這片 LCD 面板厚度和 OLED 幾乎相同, 但是加上背光就是兩倍厚

2014年11月16日 星期日

實作 Bresenham 直線演算法

這次要玩的是比較軟體一點的東西:Bresenham's line algorithm
Wiki 上的中文翻譯是 "布雷森漢姆直線演算法"
這原本是圖學在用的, 在研究 3D 印表機的韌體時注意到註解裡有寫這
才發現原來它也可以拿去用在機械控制上
對於 3D 印表機來說這是非常重要的核心程式
準確的一邊走一邊擠出適量的料, 這機器絕大多數的工作時間都是在做這
而實現這動作的程式就是布雷森漢姆直線演算法
我所拿到的印表機韌體在這裡寫了非常多的程式, 就為了能讓它安分的走直線
所以我把它研究了一下, 然後重新寫成自己的版本給新玩具使用
這演算法的精神在 wiki 上已經寫得很詳細了, 都是中文字
我不認為有必要再重複, 所以只紀錄應用時的小修正

2014年10月2日 星期四

在 ubuntu 14.04 上開發 Mediatek LinkIt ONE 應用 (純文字無 Arduino)

最近搞新玩具搞到焦頭爛額, 換個輕鬆的(?)玩一下
這是今年 Computex 時就展出的聯發科 LinkIt ONE  穿戴銷魂方案XD

裡面裝了 MCU + GSM + GPRS + WIFI + BT + GPS + MicroSD + Audio
一堆, 只收 79 鎂含運, 十分給力, 所以就買來研究研究

2014年8月8日 星期五

用 A4988 控制步進馬達

為了做一些工具所以研究了一下 3D 印表機的步進馬達部份
以前寫過一篇 透過 L297 / L298 控制四線式步進馬達
這兩顆 IC 一顆是產生時序, 另一顆則是 H 橋
兩個合起來就可以讓 MCU 可以只用 clock 便可讓步進馬達依照 clock 速度旋轉
而現在 3D 印表機上的步進馬達控制 IC 則是把上面兩顆的功能全都做進一顆小小的 IC 裡

上圖兩黑色散熱片下面的 IC 是 A4988, 3D 印表機常用的步進馬達控制 IC, 晶片面積非常小
控制方式一樣是只要把 clock 信號送進 step 接腳, Enable 腳拉低, 馬達就會轉
而且還加了一個厲害的功能:Microstepping
這些技術的介紹在英文版的 wiki 上有, 中文版的 wiki 沒有完全翻譯

2014年7月9日 星期三

用 AVR 控制 Wii Remote Camera

新玩具入手


這是 Wii Remote 前端的紅外線攝影頭
幾年前寫過一篇 在 Linux 下控制 Wii Remote 有描述過透過藍牙來聯繫 Wii Remote
接著再透過函式庫取得 Wii Remote 看到的紅外線點來搞些應用
這東西在當年可是領先的科技, 當年用攝影機做的紅外線點識別都是用 USB 攝影機
加上一台至少 P4 等級的電腦拼命運算, 攝影機解析度也只有 640x480
結果 Wii Remote  這顆攝影頭居然可以辨識 1024x768
而且最多四個點, 還只要兩顆電池就能驅動, 根本外星科技XD
據說是老任委託台灣廠商開晶片客製化的, 花了不少銀兩
不過這都是聽來的謠言就是了, 而且這也不是重點XD

2014年6月19日 星期四

自製退伍計時器

這個計畫早在去年就已經開始
不過做了半成品後就放著了, 直到今年...


抽中了!XD
我又可以進去算日子了 (雖然只有 5 天XD)
所以馬上又把計畫重啟並完成

讀取 GY-80 模組:加速度計(ADXL345) 陀螺儀(L3G4200) 電子羅盤(HMC5883) 氣壓計(BMP085)

這是一個很久以前買的模組

一直沒空搞它, 由於它上了四顆感測器, 這要翻不少文件
還要找一堆轉換公式, 麻煩極了, 所以就先丟著, 直到我又收到單子(?)才重啟
這貨是飛行玩具在用的, 像是四槳直升機, 用來感測機體的位置與方向
如上圖標示, 它的四顆感測器分別為:

加速度計 ADXL345
陀螺儀 L3G4200
電子羅盤 HMC5883
氣壓計 BMP085

搜尋 datasheet 時建議搜尋模組型號 GY-80, 這樣可以找到網頁一次給足所有資料
一個一個貼下去找反而麻煩, 而且還不會有範例程式

2014年4月30日 星期三

用 PN532 讀取 Mifare 卡

NFC, 近場通信, 一種短距離無線通信, 最早用於門禁卡, 現在則多了購物卡, 以及數位裝置通信
其原理是讀卡機發出小範圍 (即小功率) 的電磁波, 頻率為 13.56 MHz
當卡片靠近時, 卡片藉由線圈電磁感應產生工作用電流, 因此卡片可以不用裝電池
卡片上 IC 會收一部份電磁波當電源, 一部分當 clock, 一部份是資料
數位 IC 大多依賴 clock 來做事情, 連 clock 都從線圈來, 所以也不用振盪器
這些資料和能量都被調變到無線電後從讀卡機天線發出
然後卡片 IC 上各區電路各自解調出自己要的資料使用
這種無線有個規範叫 ISO/IEC 14443/RFID 標準, Atmel 有寫份文件簡單介紹, 可搜尋這 :

Understanding the Requirements of ISO/IEC 14443 for Type B Proximity Contactless Identification Cards

這些資料之所以可以混在一起送出, 又分別被解開, 印象中是各信號都是互相正交的
怎麼個正交法我早忘光了, 以前學通信系統都用背的, 一堆工程數學的頻率域轉換
複數空間積來積去, 念到最後我都不知道在積什麼小朋友了XD
所以很抱歉這部份我沒法做介紹, 我也只看個大概懂, 只能說想出這辦法的人真是天才