2020年09月17日
XBEE用の基板をアップデート(その3) - サーボ
面倒なので、ずっと後回しにしてきましたが・・・今回サーボモータが動作するかの確認をします。
○準備するもの
一応、用意するものを以下にリストアップしておきます。最後のドクロヘッドは、近所のガチャガチャ で入手しました。送料考えると・・近所のガチャガチャ を探した方が良いかもしれません。
サーボモータ
![](https://www18.a8.net/0.gif?a8mat=25GM83+247I7M+249K+BWGDT)
マウンタ
![](https://www13.a8.net/0.gif?a8mat=25GM83+247I7M+249K+BWGDT)
ドクロヘッド(ガチャガチャ )
![](https://www15.a8.net/0.gif?a8mat=25GM83+2BY52Q+2HOM+BWGDT)
プラリペア(接着剤代わりに)
![](https://www15.a8.net/0.gif?a8mat=25GM83+247I7M+249K+BWGDT)
○PICのプログラム
SG-90のデータシートを見ればわかると思いますが・・・パルスによって-90~90に角度を指定できるようになっています。
![Screen Shot 2020-09-17 at 22.48.17.png](/nikmaniphonelife/file/Screen20Shot202020-09-1720at2022.48.17.png)
ちなみに各パルス幅は、0.5msec : -90、1.45msec : 0、2.4msec : 90となっています。
PICにはPWMという機能が備わっているのですが・・
内部クロック16MHzで動作させるとSG-90に必要な50Hz(20msec)などという遅い周波数は生成できません。
なので・・普通にタイマを使用しますが、それでも一工夫必要になります。
私の場合、前半 4msec 、後半16msecに分けて制御するようにしました。
説明は面倒なので割愛しますが、前半の4msecではタイマの1クロックを細かくしてユーザから0~120の値が設定されると、0.5msec ~ 2.4msec になるように調整し、後半はPost Scalerを使って16msecカウントするようにしています。
ソースコードはここに置いておきます。
一応、以下のような感じでオシロで波形も確認しているので、問題はないかと思います。
![IMG_5391.JPG](/nikmaniphonelife/file/IMG_5391.JPG)
○モータのマウント
マウンタを組み上げます。
付属の部品がマウンタに全く合わないので、ニッパでガシガシ合うように不要な部分を切っていきます。
![IMG_5437.png](/nikmaniphonelife/file/IMG_5437.png)
プラリペアでマウンタとドクロヘッドの下の部分を接着します。
![IMG_5438.png](/nikmaniphonelife/file/IMG_5438.png)
ドクロヘッドを組み上げて出来上がりです。
![IMG_5439.png](/nikmaniphonelife/file/IMG_5439.png)
○デモ動画
乱数を使って、ホスト側からシリアル経由で適当にコマンドを送っています。
こちらは、パルス幅を変えて、ゆっくり動かしています。
参考までに。
○準備するもの
一応、用意するものを以下にリストアップしておきます。最後のドクロヘッドは、近所のガチャガチャ で入手しました。送料考えると・・近所のガチャガチャ を探した方が良いかもしれません。
サーボモータ
![]() | 新品価格 |
![](https://www18.a8.net/0.gif?a8mat=25GM83+247I7M+249K+BWGDT)
マウンタ
![]() | SG90 Servo SG90サーボ用ミニ2軸 オリジナル FPV 特殊なナイロン PTZ(NOサーボ) カメラマウント A838 新品価格 |
![](https://www13.a8.net/0.gif?a8mat=25GM83+247I7M+249K+BWGDT)
ドクロヘッド(ガチャガチャ )
![]() | 誰俺ダークサイド ドクロ型多脚機械 ドクロヘッド2 [2.ドクロヘッド3号機(ラストブラウン)]【 ネコポス不可 】[sale200707] 価格:498円 |
![](https://www15.a8.net/0.gif?a8mat=25GM83+2BY52Q+2HOM+BWGDT)
プラリペア(接着剤代わりに)
![]() | 新品価格 |
![](https://www15.a8.net/0.gif?a8mat=25GM83+247I7M+249K+BWGDT)
○PICのプログラム
SG-90のデータシートを見ればわかると思いますが・・・パルスによって-90~90に角度を指定できるようになっています。
![Screen Shot 2020-09-17 at 22.48.17.png](/nikmaniphonelife/file/Screen20Shot202020-09-1720at2022.48.17.png)
ちなみに各パルス幅は、0.5msec : -90、1.45msec : 0、2.4msec : 90となっています。
PICにはPWMという機能が備わっているのですが・・
内部クロック16MHzで動作させるとSG-90に必要な50Hz(20msec)などという遅い周波数は生成できません。
なので・・普通にタイマを使用しますが、それでも一工夫必要になります。
私の場合、前半 4msec 、後半16msecに分けて制御するようにしました。
説明は面倒なので割愛しますが、前半の4msecではタイマの1クロックを細かくしてユーザから0~120の値が設定されると、0.5msec ~ 2.4msec になるように調整し、後半はPost Scalerを使って16msecカウントするようにしています。
ソースコードはここに置いておきます。
一応、以下のような感じでオシロで波形も確認しているので、問題はないかと思います。
○モータのマウント
マウンタを組み上げます。
付属の部品がマウンタに全く合わないので、ニッパでガシガシ合うように不要な部分を切っていきます。
![IMG_5437.png](/nikmaniphonelife/file/IMG_5437.png)
プラリペアでマウンタとドクロヘッドの下の部分を接着します。
![IMG_5438.png](/nikmaniphonelife/file/IMG_5438.png)
ドクロヘッドを組み上げて出来上がりです。
![IMG_5439.png](/nikmaniphonelife/file/IMG_5439.png)
○デモ動画
乱数を使って、ホスト側からシリアル経由で適当にコマンドを送っています。
こちらは、パルス幅を変えて、ゆっくり動かしています。
参考までに。
【XBeeの最新記事】
この記事へのコメント