2014年7月24日 星期四

HDD POV prototype


最近東西買太多,所以回頭看看我手上有什麼沉積已久的東西可以搬出來玩一玩
拿了一個HDD出來,想說好久沒用了拿來跑一跑看看狀況,原本用的是HDD機板上讓硬碟轉起來
但是找到個Ti的三相馬達控制器,這樣我就可以用Arduino控制轉速,就只要給PWM訊號而已

3.5"需要外接12V電源,但是2.5"就不用了

再來就是剛好想到我以前做過一個LED燈條,原本就打算要做成POV的,但是因為那時候是打算用手,麻煩到爆,所以沒做,這時候剛好派上用場
所以把以前做的TLC5940 16 LED PCB拿來,和HDD一起做成POV


整台為了簡化線路(翻譯:Arduino mini pro用完惹,不太想拆新的來用),所以用的是Attiny85控制
但是目前的旋轉燈條還是太大個....大都是因為鋰電池和麵包版的關係,不然Attiny85+TLC5940 LED PCB,其實面積不大,之後打算是將鋰電池換成更小的,麵包版去掉,Attiny85直接接上去,連洞洞板都不要接了

2014年7月13日 星期日

正負電壓產生器

 如同標題,這張電路可以把正電壓轉換成正負電壓
原理就是用一個Charge-pump將正電壓轉換成負電壓,再將正負電壓都送到兩個LDO穩壓+去噪音,
接下來檢討一下....
首先是這那個Charge-pump用的電容,當初就該先找好零件,而不是Layout的時候想著說"阿0805怎麼可能沒有47uF的好電容",然後看著僅剩的Y5R想說到底該不該用....
最後當然還是沒買Y5R...只好回家找有沒有可以用的OS-CON可以用,結果就變上圖那樣...慶幸這位置還好焊接...
在來就是電容放在接頭以外實在是很蠢....
最後是Layout如果想用在麵包版上的話,除了插針的間隔要0.254mm的倍數以外,還得要把板子的長度限制在12*0.254mm....不然超過的話是要怎麼插   = =
這板子大概以後會常出現在我的其他電路中了,不然正負電壓實在是很難找,原本的線性正負電壓得要接室電,現在這個可以直接給5V就好了 = =+

2014年6月29日 星期日

IN-9 音量顯示器 試搭

 這東西很簡單,如題所示,就是個音量顯示器
所以用耳機接頭接進來之後,先用OPA放大,再用一對OPA控制恆流源
電路圖如下:
一個可變電阻控制放大倍率,一個調整恆流源
現在是搭在麵包版上,所以還滿亂的....
過陣子我可能會用一個Quad OPA和一個洞洞板搭起來

2014年6月24日 星期二

Arduino 氣象站 Ver4.2 WIFI

簡單來說,我之前做的WIFI氣象站都遇到了一個問題,那就是傳送時間太太太久了,
最初是直接修改Adafruit的Code,沿用.Json的格式,之後為了改進傳送速度,改成了.Csv的格式
但是之後就一直沒有辦法再壓低時間,啟動時間還是將近25s,算下來再耗電量貢獻了90%以上,
待機耗電量的影響幾乎消失,耗電量的主導權也在啟動時間上面,

之後FB上有人推薦用MQTT這個Protocol,可以顯著的壓低傳送的資料量,於是這次改版的重點就是將Xively的上傳資料方式從Http改成MQTT

首先是把程式先宣告
cc3000_PubSubClient mqttclient(ip, 1883, callback, client, cc3000);
再來就是用Adafruit的CC3000 library連上Xively的Server,他提供給MQTT的Port是1883
client = cc3000.connectTCP(ip,1883);
接下來是用MQTT library連接 Xively的HOST:
mqttclient.connect("隨便一個名子", "API_KEY填到這裡", "");
最後就可以用mqttclient.publish("/v2/feeds/FEED_ID填這裡.csv", buf);
要注意的是,檔案格式也有.JSON,.XML還有.CSV, Buf限定Char array
這樣就可以了

於是這樣一改,啟動時間從25s下降變成3~5s,顯著地降低耗電量,接下來就是另外一個問題了,
我的測試中,CC3000似乎不能直接用IP連結HOST,非得要先DNS Lookup才能上傳資料,這大概是接下來要研究的問題了

(Update這個問題,我發現是因為檢查有沒有連上AP的Flag在斷線後沒有清掉,導致還沒連線成功就開TCP Socket就失敗了