SH2/7144Fで230400bps通信を行いたい



タイトルにあるようにSH2/7144Fで230400bps通信を行いたいと考え、外部からクロックを入力してみようと思います。
参考にしたのはもちろんみすみロボット研究所です。

> SH2の場合、行いたいシリアル通信の32倍の基準クロックが必要

とのことなので、
230400x32=7372800Hz=7.3728MHz
が必要なクロック数ということになる筈です。

が、

そのようなクロック数の水晶発振子はなかったので、2倍の14.7456MHz(HC49U-S)と、1.5倍の11.0592MHz(HC49U)をとりあえず買ってみました。

それでSCK0端子に、230400Hzの64倍の14.7456MHz、又は48倍の11.0592MHzを入力して外部クロックモードで動かせばいいのかなーと考えています。

が、

1.HC49Uの電圧は3.3vなのだろうか?
2.発振子に取り付ける抵抗、コンデンサの値はどのように求めるのか?

という疑問がありまして、マイコン壊さないか不安です(T_T)
そこでネットで見つけたこの図を参考に、抵抗1MΩとセラミックコンデンサ22pFを介して取り付けてみようと思います。

さてうまく行くのでしょうか?

7144FでVstoneサーボを動かす No.2



動きました!
動きましたよ!

パピリィィィ

と機械的な動作音をさせながらVstone製SV1150サーボが動いてくれました!
一人でガッツポーズしてしまいました。

サーボの動作onにするコマンド「PWM_EN」と、
サーボに目標位置を指示するコマンド「FB_TPOS」の2つだけしか確認取れてませんが動いてしまえばこっちのもの!
後はデータの受信処理を作れればとりあえずOKかなと思います。

今回はまったのは
 115200bps
 リトルエンディアン
の2つです。

VS-SV1150は初期設定の通信速度が115200bpsなので、それにあわせて動作させようとSH2/7144Fを115200bpsに設定してコマンド送っても、ウンともスンとも言いいません。
それでネットで調べていたらみすみロボット研究所で驚愕の事実が!
SH2/7144Fってそのままじゃ115200bps通信できないのね・・・。

そこで仕方なくケチっていたV-SERVOプログラマを買って、通信速度を57600bpsに設定することにしました。
Vstone様素早い対応ありがとうございます!

しかしながら通信速度を変えてもサーボはウンともスンとも言わない。。
これは正しいデータが送れていないことは明白。
確かに心当たりはある。
AX-12と異なる点はデータビット長。
Vstoneのデータビット長の説明は以下の通り。

 データビット長はコマンドによって7bit、14bit、28bitの3種類ある。
 7bit毎に区切られ、それぞれ先頭にゼロが付く。
 データの順番はリトルエンディアン。

結論を言うと、これはパケット全てに当てはまるのではなく、パケットのデータ部分だけに当てはまる(コマンド部分は普通の8bit)ということがV-SERVOプログラマのデータを監視して分かりました。
でも上の説明ではデータビット長ってパケットデータ全てに当てはまると勘違いするんじゃないのかしら?

まぁとりあえず動いてよかった!
やる気アーップ!

あ、写真はマイコンの起動が不安定で開発にストレスが溜まるので、ココを参考に配線した様子です。
結果10回の内3回しか起動成功しなかったのが、10回中10回起動するようになりました!
ラッキー☆

7144FでVstoneサーボを動かす No.1



昨年からDynamixel製AX-12をインターフェース付録のSH2/7144Fで動かしているので、
Vstone製のシリアルサーボも行けるだろうと高をくくっているのですが、、
物理的に壊さないかどうかちょっと最初が恐いです。

AX-12は5vTTLレベル
Vstoneは3.3vTTLレベル

そして7144Fは3.3v駆動でSCIを0から3までの4個持ってます。
その内、多分、SCI0、SCI1の2つが232C変換ICに繋がっていて12v電圧になっているに違いない。
写真の回路図を見る限りそうに違いない!

だってSCI2を使用してAX-12が動いているのだからSCI2、SCI3の2つは3.3vTTLレベルの信号のはずだー。

という理由からSCI3をVstoneに繋いでも3.3vTTLレベル同士だから通信できるはず!
壊れないはず!

恐いけど繋いでみよう!
でも本当にコエー!!

CQ出版社SH2/7144Fマイコンボードの回路図(PDFファイル)