Stepping Motor Driver PCBの製作
自作工程のメモとして
Mar.2015
続編:Stepping Motor Driver で可変ラジアルの製作 を掲載しました。(2016/06/25)
Edit by bluegriffon
1.目標と仕様 |
秋月をはじめとしてステッピングモーターのドライバ(コントローラ付)基板やドライバーボードは沢山ありますが、 コントローラにしても回転動作だけの機能実現では物足りないと感じていました。
そこでホーム位置を検出するリミットSW系の接続や、モーターと 一緒に売られているドライバ素子のPCB採用も配慮した設計としました。
PCB名は、採用するPIC名と主要な機能を取り入れて、「PIC18F2423_CIV」としました。(2月に発注しましたが、2箇所ほどミスがあり、 Ver.2の意味で以下は「PIC18F2423_CIV2」としています)
■ 目標
基板単体での動作と、外部からコントロールできる機能をもち、汎用性を持った基板とする。
■ 仕様
1.外部コントロールは、CI-Vを使用する。
2.リミットSWの検出ポートを割り込みで処理できるようにする。
3.ドライバ基板を外付けPCBでも使用できるよう、コネクター類を2種類用意する。
4.外部へのコネクターは、基板取り付けタイプを採用する。(基板用DIN-8aソケットが見つかり採用)
5.LCDディスプレーを搭載し、回転位置やモータ電圧・周波数(CI-V経由)を表示できる。
6.モータ電圧は可変できる。
7.外部からCI-Vを使って電源OFFできる。
8.サイズは10cm×10以内とする。
9.実際のPICは、プログラムエリアが倍の18F2523を使用する予定です。
2.回路設計 |
KiCADを使っての回路設計は2作目となります。
一般的な回路ならびに今までの自作で採用してきた回路を流用するため、いきなり基板設計まで実施してしまいましたが、前項にあり ますように修正を必要としました。
その他、細かな修正はソフトで処理する予定です。
■ PIC18F2423_CIV2回路(PDFファイル表示有り)
1.一般的な回路ですが、+5V電源はリレー(駆動は12V)を使いON/SWで通電後保持し、PICの命令でOFFにします。■ PIC18F2423_CIV2の基板イメージ
2.プログラムツールは、PICKIT3を使用しますが、4回路2接点のスライドスイッチを付けて、切り換えています。(RUN/PRG と表記)
3.LCDの電源は、16桁x2行タイプと、20桁x4行タイプの2種類を使えるようにショートピンで切り換えられるようにしました。
4.CI-Vは、別掲載(SDコントローラ)の回路をそのまま持ってきました。
5.基板上の押しボタンSWと、外部のSWの両方を使えるようにコネクタの配線を付けています。
6.回路上はPIC18F2423となっていますが、プログラム容量が倍の18F2523を使う予定にしています。
7.LEDの駆動は省電流のため、5V系でも4.7Kオームを通じて点灯しています。(LED電流は0.71mA)
DIN8コネクターのフットプリントミス(Bottom View)により、実番号を上書きした図(jpg)に張り替え。20160617
主な修正箇所(Ver1での失敗点)
下図の赤枠のように+5Vの記号を回路上においたのですが、ジャンクション(緑の●) を付けなかったため未接続となりました。
これはERCの実行でもチェックにかからなかったところです。
そのため、上記回路上では、不要と 思われるところにも念のためジャンクションを打っています。
その他、5V系は、12Vからレギュレータ(LP2950)で5Vまで落としている関係で、レギュレータに若干の発熱がありますが、 LEDの電流を最小付近まで落とし(直列抵抗を、1.0Kから4.7Kオームに変更)約二割近い消費電流カットを行っています。 (改善前:5V系電流値 36mAが、30mAに低減された)
前作は、基板外形をインチで作成しましたが、今回はmm単位で作成し、穴加工位置もmm単位としました。
また、ほとんど自動配線に頼る関係で、デフォルトの細い線幅のまま見落とす心配から、デフォルト0.015"・ボールド0.020"に設 定し ています。
しかし、自動配線では思った位置にパターンができないため、その自動配線の跡を参考に何度も引きなおしやパーツの位置変更を繰り返しまし た。
なお、フットプリントは既存のものを変更したり、新規に作っているものもあります。
今回、初めてLCDを基板上に載せましたが下図にありますように、両端の端子穴の間隔をVer1の基板では81.0mmにして発注しまし た。
これでも挿せないことはありませんが、若干のズレがありましたので修正し、今回のVer2では81.2mmにしてちょうどの位置になって います。
■ PIC18F2423_CIV2の3Dビュー3D用のパーツが無いものがありますが、特に追加で作っていません。
ただし、Web上で公開されていたものを取り入れたものはあります。
3.基板発注データ生成 |
1ドルが120円前後になっていますが、今回もFusionPCBに発注しました。
KiCAD(BZR 4022)にバージョンアップした関係で、発注データの設定画面も少し変わっていたため、記録しながら発注処理をしました。
■ 製造ファイル出力
以下、赤枠で囲った部分を指定して出力■ ドリルファイル生成
ドリルファイルも赤枠の部分を指定■ 出力直後のファイル
赤枠の PIC18F2423_CIV-Edge_Cuts.gbr は、PIC18F2423_CIV.gml へ変更■ 名前変更後のファイル
PIC18F2423_CIV.dri は、PIC18F2423_CIV.txt に変更する。
その他は、形式はそのままにファイル名をそろえる(次画像に反映)
■ 出来上がってきた基板
以上のファイルをzipに圧縮してFusionPCBに発注しました。(輸送はUPSを選択しました)
以前は、長穴(Long hole)はできなかったと思いますが、基板直付けコネクタ等が長穴の端子のため採寸した長穴でフットプリントをつくり、FusionPCBにそのまま発 注しました。
長穴もOKとなったようです。(2015年3月)
表面
裏面
4.部品実装画像・パーツリスト |
■ 部品実装画像
部品フル実装表面
LCDを外した実装表面
■ パーツリスト
パーツリスト_PIC18F2423_CIV (エクセル2003形式)
5.組み立て後の動作確認プログラム |
各スイッチの機能を以下のように定義して、動作確認用のプログラムを MikroCで記述しました。
1.SW3は、プログラム時はPRG側へ倒して、通常時はRUN側となります。
2.LCDの一行目にVR2=????とVR2の位置を0〜4095までの値で表示するようにしています。プログラムでは、この値を100で割って5を足して、ステッピングモーターの1ステップ時間(ミリ秒)に使っています。(古い画像では、P=????と表示されています)
3.プログラム直後のモーター回転範囲の初期設定は、回転位置をゼロから2047までとしています。SW_Escでそのリミットを飛ばすことができますので、最初にスタート(0)を決定し、次にエンド(初期値:2047)位置を合わせて上限値を設定してください。
4.SW_P.OFFを押すと、その時のステップ位置と設定した上限値が記憶されます。
5.CI-Vは、接続すればトランシーバーの周波数を表示するようにしています。(速度は、9600BPSのみ)
■ SWの機能
6.ケースに収納 (2016/06/21) |
99.追記用(予備) |