tiny2313と74HC237でサーボ15個動かしてみた



先日のF1開幕戦オーストラリア面白かったですね!
キミ・ライコネンが復帰戦で7位入賞うれしいす。

で、今更ながらPWM制御のボードを作る目処が立ちました。
AVRのtiny2313は秋月で100円、74HC237は大体150円位、レギュレータやRS232ICをいれても合計600円位で16軸制御のボードが出来そうです。
LBC(Little Be-tikku Core)バンザーイ!
tiny2313はFLASHが2kバイト、SRAMが128バイトとチョー貧弱。
このスペックである程度のモーションを再生させるとこまで来たので後は何とかなるでしょう。
mega168なら200円でFLASH16k、SRAM1kとスペック8倍。

作ってて気付いた点など。

①AVRのPWM動作
 比較レジスタの更新はカウンタがボトム(ゼロ)になった時に更新される。
 のでLBCの仕様にあるカウンタ開始から0.6msec以内にDutyを設定というのは出来ない。
 が、次のカウンタ開始にセットされる比較レジスタの値をセットできる。

 16bitタイマ1は2つPWMを出力できる。タイマ周期はICR1で設定可能。

②74HC237のラッチ
 G0がLowになった時にラッチされるので、コンペアマッチ(CM)用のポートで制御するのではなく、入力しているPWMをGLにも入力し制御する。
 →制御ポート1つ削減成功!

 PWMがHiになる時Selectは更新されずLowになった時に更新されるので、Selectも次のPWMがHi(カウンタ開始)になる時の出力値を設定できる。

③以上のことから
 オーバーフロー割り込みで呼び出された処理では、
 ・次のSelectをセットしてから
 ・次の比較レジスタAとBをセットする
 ・これらを1つのPWMの周期(2.4msec~20msec)以内に処理できればOK


コメント

No title

2350全部動きましたかー?
PWMの生成、話題が懐かしいですね!
ベーチック復活期待してます。

Re: No title

2350全部動きました。
送ってくれてありがとう!

開発して思ったのはソフトでジッタフリー実現してる売り物のボードとかSISOさんって改めて凄いなーと。
全処理の時間管理を完璧にするなんてちょっと難しすぎる・・・。

赤ベーチックの再稼働がんばります。

オープンしました

トップクラスの熟女・人妻と楽しみませんか☆-(ゝω・ )ノ★ http://sns.fgn.asia/
非公開コメント