PSoCでラジコンサーボ22軸をエクセルから操作
何時もの様に取合えず動いたと言う事で画像の報告です。
テスト風景です。
左側の黒いのがサーボ用電源5V20Aです。最初は5V3Aの電源でテストしていたのですがサーボが増えてくると電源が瞬断してPSoCがリセットしてしまう為に
きゅうきょ購入しました。サーボはオークションでかき集めたサーボが12個です。空いて要る所に差し替えて22軸動作確認はしています。
サーボを後12個購入計画中(中古で1個1000円以下目標)です。

画像

シリアルのコネクタの付いた基板がシリアル変換用基板です。MAX233が載っています。コンデンサの要らないタイプ(880円)PSoCよりかなり高い。
サーボコントロール用のPSoCの基板は仮に上に置いて有るだけです。サーボの上に載っている赤、黄、緑のボックスは動作確認用です。

画像2

基板の上の抵抗は2KΩでジャンパー兼保護用です。要らないかも知れないのですが何か心配なので付けて有ります。(サーボの入力回路が不明なので)
PSoCのポートの設定はシリアル入力がハイインピーダンス設定で残り23はストロング設定です。PSoCは内部はかなり複雑で面白い(難しい)のですが
外部I/Oは非常に解り易く、電源2本、モード制御用2本、後は入出力が全て選択できます。今回は入力1出力23です。クロックも内臓されていて24MHz
で動作してます。シリアルのボーレートは19200bpsで通信してます。

画像3

アップです。

画像4

ハンダ面です。年寄りの指が写ってますが勘弁下さい。
サーボを22軸同時に動作させると電源ラインが弱いような気がします。配線はシリアルのRxD,TxDとPSoCの書き込み用の配線です。
プログラムを書き込む時は該当する2本のサーボを抜き後はそのまま挿したままプログラム可能です。

画像5

リモートコントロール用のエクセルの画面です。
サーボ操作パネルを開いて操作します。手動のテキストボックスにコマンドを入力して操作ボタンで送ります。
自動の時はスタートボタンのクリックでエクセルのB2の位置から下へコマンドを送って行きます。空白行で停止します。
繰返しをチェックするとストップボタンをクリックするまで繰り返します。
送信遅延時間はサーボの移動完了信号が無い為サーボ動作時間を設定します。
コマンドの説明
n:全軸サーボニュウートラル位置へ(1.5mSのパルス幅相当の数値現在120)
r:全軸右端の位置へ(0.5mSのパルス幅相当の数値現在40)
l:全軸左端の位置へ(2.5mSのパルス幅相当の数値現在220)
 D1000:は待機時間(休止)で1000で1000mSです。
j:は軸移動コマンド、a-vは軸番号(1-22軸相当)、40-220はサーボ軸の位置データです。実際は50−250の数値サーボのパルス幅0.5mS-2.5mSを
200等分して1度ぐらいの分解能になればと思っているのですがメカもサーボ自体も無理みたいです。ギアの遊びも大きいです。
表の切れてる下側は各軸ごとj*220のコマンドです。

画像6

これからの改良点
コマンドを5〜6軸まとめて送る為にセルの中にコマンドを複数入れれる様にする、カンマで区切って入れる(CSV)
コマンドをブロックにして一連の動作をサブルーチン化して呼び出し可能にする。
上から下では無く下から上に動作させて動作を戻す事が出来る様にする。
ひとがたロボット(2足歩行)難しそうなのでアイボがたのメカを作ってみる予定です。
その前に4軸〜6軸でゆびがたロボット(ロボットは言わないかもしれない)RT(ロボットの展示会)でゆびがたのサンプルが在ったので少し気落ちしてます。
まあ、メカは皆同じような形になってきそうなので複雑な動きを簡単にプログラム(チーチング)出来るかがこれからの課題です。
自分の為の”まごのて”になるためには
以上です。
 

 

 

まごのてメカトロソフトに戻る