TOPへ戻る


SmileFunctionDecoderのServoデコーダ

数年前に、Smile Function Decderを使用して、サーボモーターの制御を可能としたデコーダを発表しました。
今回もう一度見直して、ファンクッションデコーダとアクセサリデコーダを作りました。

ファンクッションデコーダ

ちょっと待ってね

アクセサリデコーダ



配線
5VをV4 PAD
GNDを−スルーホール
CMDをATtiny3pin
25V100uF程度の電解コンデンサをデコーダーサーボモータ直近に付けます
※HK-5320が動くときにかなり+5V電源が取られるためのバッファ。電解コンデンサを載せても5Vラインが結構落ち込みます。
DM-S0025はそれほど取らないようです。5Vラインの落ち込みはほとんど無し

O1,O2はLEDを付けることで、OFF、ONそれぞれ点灯します。

ブログでも紹介していますが、HobbyKingのHK-5320 Ultra-Micro Digital Servo 1.7g / 0.05sec / 0.075kgを使用しています。

仕様
HK-5320 は4.2V用ですが、実験用として5Vで動かしていますので、自己責任になります。
HK-5320 は0deg〜90degまで。(カタログスペックは0deg〜60deg)
※ややこしいですが、ソース内部は0deg(500usec)〜180deg(2400usec)で動いています。

DM-S0025 は0deg〜180degまで。
※パルス幅を広げていくと、挙動がおかしくなります。

ファンクッションボタンにより、サーボモーターの0deg,180degの制御が可能。
※でも分解能は30step
CV設定で、開始角度、終了角度、開始スピード、終了スピードの設定が可能。
シーケンス運転を作り込むことができ、パンタグラフの昇降ができます。
DCCアドレスは2桁、4桁に対応。

動画



ソースファイル

qiitaに上げてありますが、ソースファイルを眺める用です。

SmileServoDecoderソースファイル

■書き込みの設定



ATtiny85、16MHz(PLL)、B.O.D 1.8V を設定します。

■サーボモータ制御スケッチ
デフォルトのアドレス1
F4:O4 サーボ制御ON/OFF

CV設定
CV01 2桁アドレス(初期設定1)
CV08 リセット

CV60 CV_zeroDeg(初期設定:8) 0deg時のPWMの値
CV61 CV_ninetyDeg(初期設定:36) 180deg時のPWMの値
CV62 CV_onDeg(初期設定:180) on時の角度
CV63 CV_offDeg(初期設定:0) off時の角度
CV64 CV_initDeg(初期設定:0) 起動時の角度
CV65 CV_onSpeed(初期設定:20) off->on時に移行する時間(20で2000msec)
CV66 CV_offSpeed(初期設定:20) on->off時に移行する時間(20で2000msec)


サーボモータは、パルス幅で角度が決まり、500uS,2400usになるようにCV60とCV61で
設定されています。


■既知バグ
・CV65,CV66の設定がうまく反映されない。
・電源投入直後のアクセサリ切り替えでピャっと制御が入ってしまう場合がある
・CV61 CV_ninetyDeg(初期設定:36)の36を38に上げると、DM-S0025の挙動がおかしくなります。

リンク

Ayano部品配布SmileFunctionDecoderはコチラで配布しています。

あやのブログの記事

ついった


2018/11/18 1版