2012-02-08
完成するとこうなります。
・組み立ては、部品表の部品番号と基板のシルク印刷の部品番号を合わせるように半田付けして下さい。
順番を間違えると取り付けられなくなってしまう部品はありません、好きな順番で半田付けして下さい。
背の低い部品から取り付けるのが定石です。
・取付向きのある部品に注意して下さい。足の数が多い部品は間違えると取れなくなります。
間違えた場合は足を切断して取り除いて下さい。
・半田付けはフラックスを使用しないで下さい。
基板は半田メッキしてあるのでフラックスを付けても半田付けは容易になりません。
・使用可能なセンサー
遮光式センサー基板EE-SX1131
遮光式センサー基板SG206
反射式センサー基板 3mm砲弾型センサー
反射式センサー基板 薄型
組み立て時はこれも参考にして下さい
・JP1,JP2,JP3には何も取り付けません。
・▼マークのある6ピンコネクターはPICKit2等でプログラムを書き込むための物です。USB経由でプログラムを書き込む通常の使い方では端子を半田付けしなくてもかまいません。
・DC3に取り付ける部品はキットに含まれていません。この端子はモーター電源端子です。DC2を使用しないときに使います。
・DC1は制御回路用電源ジャックですUSBケーブルでPCと接続しているときには使用しないで下さい。
液晶表示裏側の配線。赤黒の電線は液晶のバックライト用です。この液晶はバックライトが無いと文字が見えません。液晶のコントラストは水色のVRを回して調整して下さい。調整はUSB経由でプログラムを書き込んだ後になります。プログラムを書き込まないと文字が表示されないためです。
液晶基板とモーター制御基板を電線で繋がない方法もあります。液晶表示装置を使い慣れている人はこの方法でバックライトを点灯させることも出来ます。部品表には入っていませんが100Ωの抵抗はキットに付属しています。
モーターの配線です。赤線がプラス、黒線がマイナスです。モーターの極性が解らないときは好きなように配線して下さい。モーターの回転方向はプログラムの設定で簡単に変更出来ます。
センサーの配線です。
赤線-センサープラス
黒線-マイナス
オレンジ-信号線
緑-信号線(これは未使用 今後の拡張性のためにある)
回路は2出力のセンサーに対応していますがソフトが現時点対応していません。そのため緑線が繋がっている「B」端子は未使用になります。シールド線を使用しなくても大丈夫です。シールド線を使用できるようにマイナス側の穴が大きくなっています。
売店で販売されているセンサーの使い方解説は回転計用のシールド線が使用されていますが、赤線がプラス、シールドがマイナス、白線が信号線です。
ミニ四駆用のモーターを使うときはこれを購入して下さい。タミヤからギヤプーラーも販売されています。
モーターにはノイズキラーコンデンサを取り付けて下さい。モーターの両端子間に1個もしくはモーターカンを経由して2個取り付けます。モーターカンに半田付けするときは熱が逃げるので60W程度の半田ごてが必要です。
半田付けが完了したらプログラムを書き込みます
*******************************************************************************
プログラムの書き込み方
*******************************************************************************
このページの一番下のほうに添付してある HIDbootloader.zip を解凍し、HIDbootloader.exe を実行します。プログラムはこんな画面です。このプログラムの実行には.netフレームワークとC++のランタイムが必要です。.netフレームワークはすでにインストールされている可能性が高いのでHIDbootloader.exeが動かなかったらC++のランタイムをインストールしそれでもダメなら.netフレームワークをインストールするという順番が良い。
Microsoft .NET Framework
Microsoft Visual C++ 2008 SP1 再頒布可能パッケージ
スイッチ2「SW2」を押したままUSBケーブルを差し込みます。LED3が点滅してプログラムの書き込み準備が出来たことを知らせてきます。センサーやモータは繋がった状態でも書き込めます。モーターの電源はOFFにしておいて下さい。
起動した HIDbootloader.exe がそれを検知してボタンが押せるようになります。
このページの一番下に添付してあるプログラムをダウンロードし、その中に含まれる拡張子がhexのファイルを読み込みます。「Open Hex File」というボタンがhexファイルの読み込みボタンです。
こんなふうに読み込むHEXファイルを選択します
「Program/Verify」ボタンを押してプログラムを書き込みます。書き込みは2~3秒で完了します。書き込み中はLEDの点滅が止まります。書き込みが終わるとまた点滅状態に戻ります。書き込み終わったらUSBケーブルを抜きます。電源を入れると書き込んだプログラムが動き出します。プログラムは何度でも上書きできます。
モーターを回してみる前に設定が必要です
************************************
設定方法
************************************
1.スライドスイッチをUSBコネクタ側にスライドさせる
2.制御回路の電源を入れる(DC1ジャックに5V電源投入)
3.ロータリーエンコーダを回して設定項目を選ぶ
4.SW1(赤ボタン)を押して変更モードに入る。
変更モードになるとLED3(赤LED)が点灯する。
5.ロータリーエンコーダを回して設定値を変更する。
桁数の大きな項目はカーソルが表示される。
SW2(白ボタン)を押してカーソルの移動が出来る
6.SW1を押すと設定値が保存される
************
設定項目
************
項目名 意味
-------- ------------------------------
Dengen モーター電源の電圧
ハードの仕様上5V~12Vで無ければなりません
Motor モーターの定格電圧
通常は電源電圧と同じですが5Vより定格電圧の低いモーターは
ここで電圧を設定します
定格電圧以上を指定するとモーターが焼き切れやすくなります
MAX 最大回転数です
モーターの回転数はエンコーダーを回すことにより増減できますが
ここで設定した値以上にはなりません
MIN 最低回転数です
模型用モーターは低速回転が苦手です
低速回転させるときはギヤ比を大きくする必要があります
多くのも形容モーターでは800rpm以下で制御不安定になります
Initial 初期回転数
電源を入れ白ボタンを押すとモーターが回り出します
そのときの初期回転数です
STEP エンコーダーを回したときの回転数の増減値です
初期値は100rpmになっています
Mode FREEとBRAKEがあります
通常はFREEにして下さい
BRAKEにすると短い周期で モータ回転->ブレーキ(モーター両端子をショート) を
繰り返します。
BRAKEモードの方が低速時の回転制御がうまくいきます
KAITEN CWとCCWがあります
モーターの回転方向です
回してみて回転方向が逆だった場合、この項目を変更すれば回転方向が変わります
Kp PID係数
Ki PID係数
Kd PID係数
PID係数は変更しながら最適値を求める必要があります
最初は以下の値に設定し、回転の状態を見ながら調整します
モーター種類 PID係数の値
------- -------------------------------
RS-380 Kp=0.0400 Ki=0.0100 Kd=0.0300
RE-280 Kp=0.0080 Ki=0.0100 Kd=0.0030
ミニ四駆 Kp=0.0080 Ki=0.0015 Kd=0.0030
Kp:変更しても余り変化が現れません
回転数を維持しようとする力を強くします
Ki:基本的にこの値だけを変更します
これを大きくすると回転数が目標値からずれたときに目標値に戻そうとする力が強くなります
強くしすぎると(=大きくしすぎると)回転数が振動してしまいます
Kd:回転数の変動を2回転前と1回転前の回転数の情報を使って、ほんのちょっとだけ未来予測します
これもKp同様変更しても余り効いてきません
PID制御を知っている人へ
Kpは比例、微分、積分全ての項にかかっていますが手動での調整がやりにくくなるので、
このプログラムでは比例項にしかかからないようにしてあります。
PIDの計算は全て割り込み関数 void High_priority_interrupt() で実行しているので詳しくはプログラムを参照して下さい
設定をするときはスイッチをこの位置にしてから電源を入れる
設定値は液晶ディスプレイに表示される。エンコーダーを回して値を設定。
*************
使い方
*************
・センサーに遮光式のフォトインタラプタを使うときはモーターにこんなスリット付き円盤を取り付けます
=============
スイッチ
=============
・SW2(白ボタン)を押すとモーターが回り出します
・SW2を再度押すと止まります
・エンコーダーを回すと回転数を変更出来ます
モーター開店中でも停止中でも回転数は変更可能です
・スライドスイッチを奥(USBコネクタ側)にスライドさせるとプログラムの設定モードになります
手前にするとモーターを回すモードになります
=============
LED
=============
・LED1(緑) 割り込み処理中だけ点灯します
モーターが回っているときはうっすらと点滅しているのが解ります
・LED2(橙) 設定した回転数より60rpm下回ると点灯します
・LED3(赤) 設定した回転数より60rpm上回ると点灯します
=============
液晶
=============
・上段は 現在回転数を表します
ロータリエンコーダーを回した直後数秒だけは目標回転数が表示されます
・下段は PWMのデューティーです
回転数が大きいほど大きくなります最大値は1023最小値は0です
・右下 FREEモードの時「F」、BRAKEモードの時「B」と表示されます
=============
機能
=============
・モーターが過負荷で5秒間停止すると焼き付き防止のためモータを回すのを止めます。
=================================================
プログラムを自力で修正できる人への情報
=================================================
PICKIT2等の書き込み機を持っている場合はブートローダーがかえって邪魔になります
以下の3カ所を修正して再コンパイルすればブートローダー無しで動くようになります
プログラム本体と
割り込みベクタなどの設定をするCのスタートアップルーチンと
リンカの入力ファイル