16f1933 のPIN割り当て [ステッピング駆動]
基板はPICとアイソレータやフィルターなどが付いていず、50%くらいしかできていません。
3Aのパワー素子が4個入ったモジュールを2個載せています。
ユニポーラ型で4Aのコイルが4個付いています。
これを抵抗制御で駆動するとものすごい力です。
電流ベクトル値をVRで設定しADCで読み込み内部テーブルのベクトル値に掛けて、
PWMに出しますA,/Aで1ch B../Bで1chの合計2chでベクトルを表します。
一方パワー素子電流は3AX8個有り6Ax4chです。
パワーはMOSFETですが IR2113(2chと遮断) 機能を持つゲートドライバで、
1chで2個のMOSFETを並列駆動に宛て A,のパワー素子 B,のパワー素子の4個を駆動します。
2個でA、/A、B、/B1と4個のコイルを駆動し1個のモーターを駆動できます。
モーターの電源、ゲートドライバ電源、PIC電源がモーター側に必要です。
操作元からは5Vぼ信号でフォトカプラを通してPICに動作指令を送り、Z位置信号を送り返します。
改題 ユニポーラチョッパステッピング [ステッピング駆動]
追記
ステッピングモータのドライブについて、随分誤解があるようです。
小生も始めは PWMで駆動すればマイクロステッピングも含めチョッピング定電流駆動が可能である
と誤解をしていました。
もしバイポーラならコイルに接続されるスイッチ側のインピーダンスが低く、PWM信号に倣って電流が流れ
目的を達することが出来ます。
しかし比較的入手しやすいユニポーラタイプですと巻き線数が実効的に少なく高速が出しやすい、
また片側ずつしか電流を流さないので約0.7倍の電流しか流せないので全トルクはその分減少する。
それらを解説したページを見つけましたのでご覧下さい。
semicon.njr.co.jp/njr/hp/fileDownloadMedia.do?_mediaId=4096
図10 一定電流チョッパ調整の原理を示す概略図
さてこれを実現するため今までに色々間違った実験なども繰り返してきて、
電力駆動回路の条件、までは達することが出来ました。
後は駆動電流の検出(回生逆電流を含むため、それを検出しない工夫が要ります)
設定電流を越えたことを検出後一定時間電力素子を停止逆相側からのダイオードによりGND側から
VDDに向かって電流の吸い上げ回生動作を行い、一定時間後検出値が設定を下回っていたら、
コンパレータで判定後電力素子を駆動再開します。
ユニポーラの場合2相モータとは言いながら4個のコイルが有り、A,/AとB/Bの2相に分かれます。
この2相を角度電流にマッピングしますとマイクロステッピングにすることが出来ます。
電流マッピングは円弧状√A^+B ^ではトルク安定角が円弧状には成らなくて、
糸巻き状の電流配分にするとステップ角が円弧直線性が向上することが判りました。
さらに工夫をして5A越えの大きなモータをいくつか持っており、
同じ制御回路(マイコン)を使い、電力素子を増設することで可能になります。
これらの電力素子を駆動するには12VくらいのゲートドライバとNch パワーFETを使用するのが最良のようです。
(ゲートドライバを使用しないとパワーFETが十分ONに成らず損失が増えてトラブルになることがあります)
おんぶに抱っこというか、手元に大きなステッピングモータがありまして、
それ用のドライバが無くて困っていました。
動作原理は分かっているものの、マイコンプログラミング能力が無くて、
黙って膝を抱え込むしか有りませんでした。
Web上にもマイクロステッピングの実験などは沢山有るも、
すべてPWMで片づく様に書いてあります。
小生も最初はPWMだなとタカをくくっていたんですが、
実際には設定値を超えたら一定時間眠り込み再稼働するという方式で
(offステートは一定時間掛けるしかしようがない)
急激に電流が下がるも、逆相からのGND電流吸い上げで実質トルクを保つという方式です。
PWMでやってみると判るんですが50%付近からしか電流が立ち上がらずこれを数値化するのは困難です。
今回ふと思いついて専用ICから信号が取れないかLTspiceで考えつく回路を試してみました。
(実際のパワー素子はMOS-FETモジュール MP4401なんかをダブルにします)
始めは内部のMOSFETと外部のMOSFETを足して5A容量にする方式でしたが、
モータコイルの逆起電圧で反対方向にドライブしてしまい、
元のFETの電流とは逆の電圧が発せするので電圧を捉えそれで駆動した別のFETはせいはんたいの動作をしてしまうのです。
次ぎに電流検出をそれぞれに設けその電圧が同じになるようにするとその比較をするコンパレータが、
正しく動作をせず電流バランスを取ることが出来ませんでした。
しかし、内部のMOSFETは単なるドライバと考えてトランジスタで受け
(このトランジスタを高速で動作させるのも困難です)
2回路のMOSFETモジュールを駆動するように設計しますと
バランス良く電流を流すことが出来ました。
(LTspice上での話です)
今度はこれを元に実際に回路を組もうかと思ったんですが、TRでの遅れが目立って
しかもMOSFETをGND側まで振り切れていません。
使える条件としてはモータコイルに対して電圧的に近く、回生電圧(逆方向に流れる)を拾わず
スパットMOSFETを駆動できる素子を探してみます。
あるいはゲートドライブ用の素子、専用フォトカプラ(Spiceモデルがない)やハイサイド検出型の
ゲートドライバが有れば良いんですが・・
電流検出抵抗は共有、信号取り出し点はモーター側MOSFET端子、逆起電力で電流が反転した場合は
検出せず・・となるとゲートドライバ用フォトカプラ、東芝やアバゴ、シャープなどにもありました。
動作速度が結構遅いのですが、コントロールICの検出後通電禁止時間が数マイクロ 有りますので、
次はこれで試してみます。
最近どこかで話題のMステッパー [ステッピング駆動]
なんか不思議な会話が展開しています。 ねえSさん
基本はDACで出力して アナログコンパレータでチョッピング・・なんですが、
バイポーラならフルブリッジでPWM制御できます。
フルブリッジはパンチスルーが起こるのでデッドタイムが必要でややこしくなります。
(IR2155ハーフブリッジドライバ 4個を使えばデッドタイムも作ってくれます)
・無駄ですね
なんなら、出力テーブルもあります・・1/60分割と 1/64分割。
1/64の方は普通にありますが、(1,2,4,8,16,32,64 の分割があります)
1/60は無いでしょう。(1,2,3,4,5,6,10,12,15,20,30,60 と選択肢がふえます)
アップ、ダウンとステップ、方向の切り替え、0点に成ったらパルスを出す、
モータに最適な電流値の選択、手動モードでパルスを発生させて回転させる、なんてのも良いですよ。
DACの代わりにPICタッチセンス(秋ではMCUが売っていない)に抵抗を付けて代用できます。
TI430シリーズにDAC付もあります・・80p
やっぱりPICでPWMでしょうか 0~252?
AVR 4~256? なんで違うんでしょうか
100KHz越えは難しいですね。
以前から追求し挫折した件を繰り返し検討した [ステッピング駆動]
これで、ステッピングモータの駆動回路に1つ指標が出来た。
いきさつは、
MPS430のツールがなんぼ待っても入荷しない、3度目の問い合わせでは12月頃、クリスマスプレゼントみたい。
仕方がないので EZ430-F2103 を注文した。
これのIDEを動作させながら 、何が出来るか調べてみるとステッピングには向かないみたい・
気を取り直して、PSoCで始める、これだとCY821XXで出来た 。
これはBLDCモータードライブや水槽用高圧モーターのエマジェンシー回路を検討しているとき気づいた、
今までの考えの全くの盲点だった。なんでもっと早く気づかなかったのだろう。
構成要素として2点ずつ3種類が必要になる、これは1種類を除き以前とほとんど同じ。
PICとAVRでも検討してみた。今まで選択してきたPIC16F648Aで早く不足、
attiny2313も同じ、ATmega48とPIC16F886(3)なら出来る。
この辺をもっと整理してどれが使いやすいか検討することにする 。