2015年5月21日 星期四

簡易伺服馬達測試器555 Timer Servo Tester

工欲善其事,必先利其器。

今年年初,Openlab.Taipei啟動了口丁蛋蛋 (honki's egg) 計畫,展出的場地正好在高雄兒美館。身為一位來自高雄的熱血小志工,就有義務在蛋蛋們有難的時候進行一個即刻救援的任務…



幾天下來,換下了許多SG-90的伺服馬達。帶回家時問題就來了,在寶藏巖我們測試 Servo,有馬爸提供的Servo Tester,但是家裡沒有呀!
控制 Servo 用的是低頻 PWM (Pulse Width Modulation) 脈波,立馬聯想到好用的 555 Timer。想到 555 的第一個反應,就是到我最愛用的電子好站 TalkingElectronics 的555聖經:50 - 555 Circuits 上面去找相關的電路,果真被我找到了。

就在這瞬間,我的桌上蹦出了這些東西


測試完效果正確了以後,就直接上了洞洞板
Tada~~~

Ver.1:藍色電容是0.1uF,作簡單的電源濾波用

根據 SG-90 的Datasheet, SG-90 吃的是50Hz 佔空比(Duty Cycle) 5%~10% 的 PWM
TalkingElectronics上的電路卻是接近 19Hz 佔空比 1.6% ~ 4.5% 的 PWM
而兩者的正相脈波寬度皆為 0.854ms~2.379ms

原電路
(duty cycle = 1.669%~4.514%)>
根據修改後電路
(duty cycle = 4.459%~11.504%)

看起來規格相差許多,但是維基百科上面有寫到:"With many RC servos, as long as the refresh rate is in a range of 40 Hz to 200 Hz, the exact value of the refresh rate is irrelevant."意思是當更新頻率在 40 Hz to 200 Hz內時,在一般的RC伺服馬達是無關緊要的。只要你生的出寬度為 1ms~2ms 的脈波,就能轉到正確的角度,

Fritizing重畫一遍的電路圖 ( 未包含LED指示燈 )

但是當時覺得欲罷不能,所以又為了 SG-90 做了電路修改, R2 換成  1.2M 就能達到Datasheet上的50Hz了。當然第二版的可變電阻也要換好調一點的。

Ver.2
(50Hz)
Ver.2
(背面線路)
利用一般不敢用的鐵角電阻(左)
來固定臥式的可變電阻
最後記得用熱縮管封起來,保佑他不受風雨摧殘
這幾天,為了把這份製作資料整理完整,順便到了學校的實驗室用示波器測量了一下這個PWM產生器的訊號。赫然發現怎麼高電平只有 3.6V ,跟我的 5V ( VCC ) 差這麼多 , 難道 7555 不全是 CMOS 製程的嗎 ?
於是去找來這顆 HA17555 的 Datasheet ,才知道原來裡面真的沒提到半個 CMOS ,輸出的高電位  VOH 常態也只有 3.5V 。之後又回到了 555 的維基百科頁面 才確定真的不是每個 7555 都是 CMOS 版本。

另外還有觀察了脈波的抖動範圍,值得日後使用555設計電路時參考

MinDuty_Jitter.png 最小脈衝寬度 (0.854ms) 時,最大測得 (250ns) 的誤差值
MaxDuty_Jitter.png 最大脈衝寬度 (2.379ms) 時,最大測得 (1us) 的誤差值

PS. 輸出腳位的LED指示燈可能是波型邊緣非方波的原因

沒有留言:

張貼留言