工欲善其事,必先利其器。
幾天下來,換下了許多SG-90的伺服馬達。帶回家時問題就來了,在寶藏巖我們測試 Servo,有馬爸提供的Servo Tester,但是家裡沒有呀!
控制 Servo 用的是低頻 PWM (Pulse Width Modulation) 脈波,立馬聯想到好用的 555 Timer。想到 555 的第一個反應,就是到我最愛用的電子好站 TalkingElectronics 的555聖經:50 - 555 Circuits 上面去找相關的電路,果真被我找到了。
就在這瞬間,我的桌上蹦出了這些東西
測試完效果正確了以後,就直接上了洞洞板
Tada~~~
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指示燈 ) |
Ver.2 (50Hz) | Ver.2 (背面線路) | 利用一般不敢用的鐵角電阻(左) 來固定臥式的可變電阻 |
最後記得用熱縮管封起來,保佑他不受風雨摧殘 |
於是去找來這顆 HA17555 的 Datasheet ,才知道原來裡面真的沒提到半個 CMOS ,輸出的高電位 VOH 常態也只有 3.5V 。之後又回到了 555 的維基百科頁面 才確定真的不是每個 7555 都是 CMOS 版本。
另外還有觀察了脈波的抖動範圍,值得日後使用555設計電路時參考
MinDuty_Jitter.png 最小脈衝寬度 (0.854ms) 時,最大測得 (250ns) 的誤差值
MaxDuty_Jitter.png 最大脈衝寬度 (2.379ms) 時,最大測得 (1us) 的誤差值
PS. 輸出腳位的LED指示燈可能是波型邊緣非方波的原因
沒有留言:
張貼留言