witchの日記: (ROBO)(作業メモ) ICS-PWM converter
日記 by
witch
今日はPCとPICでの115.2kbps通信のテスト。
の前に、作るべきものの整理。
要求仕様
- シリアル通信は半二重, 115.2Kbps, data 8bit, stop 1bit, even parity
- 送受信線共用なのでTXは送信時以外はハイインピーダンス状態にする。
- ICSコマンドは各サーボあたり15msec間隔で届く
- 1サーボ分の位置指定コマンド(3byte)受信後、RX無効化&TX有効化して、同じデータを送信。送信終了後は即座にTXを無効にし、RXを有効にする。
- 一周期分受信後(判定方法要検討)、RCサーボにPWMによる位置指定信号を出力。
実装方法(現行サーボ制御基板からの変更点)
- 受信面切り替えは使わない。
- 二つのバッファを「受信用」、「サーボ信号生成用」として利用する。
- 「受信バッファ」から各サーボの位置指定コマンドを読み出して「サーボ信号 生成用バッファ」に転記する際、PWMパルス幅順に並べなおす。(単純ソート)
- PWM生成時にはICSデータ受信がない(はず)なので受信データチェックを省略し、パルス解像度を上げる。
要調査項目
- ICS制御周期ごとに必ず全サーボのICS位置指定コマンドが流れるのかどうか
- ICS制御周期における全サーボ分のコマンドの送信開始から終了までの時間
- ICS位置指定コマンドに必ず返信する必要があるかどうか
PIC側の回路は5年前(!)に調べた「PIC用のRS485風なマルチドロップバス」でいいように思うのだけど…。
近藤科学のテクニカルガイドにあるマイコン側回路と違うのは、ガイドに載ってるのはバスのドライバ側だから…だと思うのだけど…うーん…
(ROBO)(作業メモ) ICS-PWM converter More ログイン