コメント
 
 
 
Unknown (ノンノ)
2008-12-11 16:20:29
nekosannこんにちは
マイクロステッピングはほぼ解析できているのですが、ソフトウエアが進みません。
 
 
 
Unknown (nekosan)
2008-12-11 19:23:40
ノンノさんこんにちは。

ソフトウェアが進まないというと、コンパイルでエラーになるとかというお話でしょうか?
 
 
 
Unknown (ノンノ)
2008-12-18 23:29:13
>そのアナログ値をモーターに掛かる電圧に変換
実はこれがPWMなんですが、インダクタンスがあるので時定数に噛んできます。
問題は電流を測ることですが、SWイングがあるので、虚と実に別れ実だけを測れば虚はそれに倣うと言うことが判ってきました。
 
 
 
Unknown (nekosan)
2008-12-19 00:00:16
インダクタンスの成分計算はとっても苦手なので放棄しちゃったんですが…、今回はPWMの周波数が結構遅いし、今回の回路なら逆起電流はフライバックダイオードで吸収されるだろうからと思って、あまり考えないことにしちゃいました。

本当は、パルスの立ち上がり部分についてもインダクタにエネルギーが溜められるので、その間の電圧の立ち上がりは鈍くなるとかそこらへんも考えると本当は細かい計算が要るんでしょうけどもねぇ…。

ただ、ステッピングモーターの角度制御の場合、電圧やパルス幅を厳密に比例させても、実際のコイルや鉄芯は理想状態の寸法にはなってないはずなので、厳密さを追求しだすと、コイルの型番毎に補正をかける必要があるんだろうなという気がします。
 
 
 
Unknown (ノンノ)
2008-12-21 15:28:43
モーター側の対処はほとんど検討尽くしたんですが、そのうちの一方法でプログラムを組み始めています。
「ラウンドリミットスクエア方式(造語)」

Cは中で何をしているのか判らないので
ASMで組むつもりですが内部機能と使い方の認識が進まず、なかなか進みません。

いまはコンパレーターを見ています。
これで定電流にしますが、トッグルを使うと
何度も割り込みが入るし
アップサイドで電流超過を検出して出力をシャットダウン、
ダウンサイドで電流の復帰をさせますが
方向を限定した場合ミスッたら次がないのではと心配になっています。

出来ればこの動作とPWMは同期をとりたいので
アナログ割り込みを使わずPWMのTOV割り込みの時、ACOを見て決めればいんじゃないかとも思っています。

カウント入力が最重要ですから、INT0、INT1を計数に当てて、
PWMの出力オートシャットダウンは自動でやってくれるPICも魅力です。
 
 
 
Unknown (nekosan)
2008-12-21 20:33:58
名称だけでは処理内容がよく理解できません…

ステッピングモーターの駆動にコンパレーターとか、定電流とか、カウント入力とか…

どんなモノを作ろうとしているのでしょうか?
 
 
 
Unknown (ノンノ)
2008-12-22 23:50:13
結局アセンブラは組み方が判らず、
Cの例文をkumanさんとこで見つけました。
テーブルの使い方が少し判ったので32データテーブルでマイクロステッピング風が出来ました。
周波数は15kHz近辺ですが、後は定電流回路の組み込みです。(コンパレーターの使い道)
例えば24Vなどの電源で直接駆動します。
 
 
 
Unknown (nekosan)
2008-12-24 01:09:03
ムービーのLEDの点滅を拝見すると、なんとなくユニポーラのステッピングモーターをマイクロステップで動かそうというイメージが見えてきましたが、「定電流」っていうのがイマイチ解りません。

PWMでコイルをドライブするのであればパルス信号なので0か1だから電流は流れたり途切れたり…。あと、コンパレーターで判別するのは電流じゃなくて電圧でしょうし…。

まぁ、そもそも私はインダクタの計算が良く解ってないんですが…。

コイルに磁界として溜めるエネルギーを32ステップで上手いこと制御するっていう意味なのでしょうかねぇ?

ただそうにしても、ステップとステップの間はCPU内の計算値と実際のモーターの角度とを完全に一致することは難しいような気が…

物理学の公式で表される理想状態と実際のモーター内部のジオメトリにはズレがありますので…

X極とY極をそれぞれ1:2の強さで磁力を発生させても、正確に1:2の角度に按分されるわけではないはずという意味です。
 
 
 
Unknown (ノンノ)
2008-12-24 23:41:06
おっしゃるとおり1/4にしたからと言って
1/4には成りません。
(1/2は少し正確です)
JRCにマイクロに関する解析がありました。
本来は定電流だけでフルステッピングやハーフステッピングで良かったんですが、ハードのコストは変わらないのでマイクロもと欲張ったんです。
1/32(フルは1/4)はあの画像ですが
更にテーブルを解決して1/128にもできました。(此方は相当滑らかな感じです)
2の倍数系列ですと64とかになるんですが
基底を60にすると2、3、4、5、6、10、12、15、30で割り切れます。

ベクトル誤差はテーブル値を調整すればほとんど正確になりますが、これはモータによっても変わってくるので置いておいて、間隔を滑らかに繋げたら振動とかも無くなるんではないか、特に天体関係の赤道儀の駆動に良さそうと思った次第です。
(この場合は定電圧の方が電池が長持ちします)
 
 
 
Unknown (nekosan)
2008-12-24 23:46:09
少しだけ解ってきました。
http://www.ftech-net.co.jp/robot/howto/motor02.html

こんな感じに、高電圧で一気に電流を流しておいて、一定電流に達したら電圧をオンオフして一定電流を保つと。

で、これを使いつつマイクロステップ制御のために電流をhigh/lowではなく、多段階で上昇/下降させようということですかね?

ノンノさんの話はかなり飛び飛びで断片的なので正直理解しづらいのですが、幾つかキーワードを検索してなんとなくそんな理解に至りました。

当サイトは一応公に公開しているので、見に来られる方々に伝わるように、話と話の間を補完しておいて頂けるとうれしいのですが…


上手く行けば振動は1-2相励磁(1周8ステップ)に対して1/4近くに抑えられるかも知れませんが、それでも少なくとも2つの理由から厳密な角度の制御は厳しそう…。

一つは、定電流制御では立ち上がりこそ俊敏だとしても、立下り電流は結局コイルの特性に従うので、高速動作時はリニアリティーやトルクに悪影響を及ぼすであろう点。磁気が相殺しあってトルク減りますし。(いっそバイポーラにして、コイルに磁界が残っている状態の時には逆方向に電流を流すことで急速にキャンセルできれば良さそうにも思いますが、制御は超面倒ですね)

もう一つは、モーター内部のジオメトリのこと。磁界を発するコイルは大きさゼロの点として存在しているのではなく空間的広がりをもった構造物なので、物理学の公式どおりには制御できないということ。

物理のお勉強レベルのような理想状態のモーターならいいのですが、実際はそのような理想的な動作はしてくれませんので…。

また、一口にユニポーラモーターと言ってもPM型、HB型といった形式でも特性が変わってくるでしょうし、そもそも製造元メーカー自体も中間角度の制御については一切保証していないと思われます。

ステッピングモーターの利用は(脱調しない限り)フィードバック系を組み込まなくてももよいという大きなメリットはありますが、一つの制御方法でどんなモーターでも厳密に中間角を制御するということは多分無理で、現実には角度の許容誤差、必要な角速度、必要トルク、消費電力、大きさ、重さ…といったもろもろの要件に合わせてある程度妥協しながら設計していく以外に無いのではないでしょうかね?
 
 
 
Unknown (nekosan)
2008-12-25 00:04:38
赤道儀なら確かにマイクロステップで振動を抑えられるのがいいですよね。
以前私もPICで作ったことがあるんですが、CCS-Cにいろいろクセがあって、マイクロステップまで踏み込めず、振動が気になってました。(TへT)
 
 
 
Unknown (ノンノ)
2008-12-25 20:29:43
見つけました。
ここにトポロジーなどの資料があります
 
 
 
Unknown (nekosan)
2008-12-25 22:57:41
情報ありがとうございます。
この日本語資料、面白いですね。

>立ち下がりも電源電圧分のバイアスを掛けて
>減衰させると立ち上がりと同じ様なレートで
>下げられます。

その点が今ひとつピンと来ないんですよね…。
インダクタにたまったエネルギーをすばやく抜き取るには、逆方向に電圧かけて一気に相殺するとかしないといけないんじゃないかなぁ…と。(PWMのサイクルに関わらず)

なので、ユニポーラのステッピングモーターでは立下りの制御は難しいような気がしてました。

まぁ、マイクロステップであればよほど高速回転させない限りあまり大きな問題にはならないのかもしれませんけど。
 
 
 
Unknown (ノンノ)
2008-12-26 16:51:19
>インダクタにたまったエネルギーをすばやく抜き取るには、逆方向に電圧かけて一気に相殺するとかしないといけないんじゃないかなぁ…と。

ここの表現が難しいんですが、
ややこしい方のユニポーラを書きますと、

最初に電源からコイル、パワーSWを通って加速された電流は、切られた瞬間そのまま流れようとします。
ここでコイルに電圧(プラス)が発生するんですが
その電圧は1個のコイルの中点からの電圧ですのでコイルの逆側は逆の(マイナス)電圧が発生して電源-GND間の電圧より高いと、
逆並列に繋がったダイオードを通してGNDから電流を吸い出して中点を通って電源に戻って行きます。
(この時プラス側の端子には電源電圧の二倍が発生します)
この時最初に掛かっていた電圧と同じ所に戻すんですから同じレートで減衰することになります。

バイポーラ-はパワー素子に逆配列に入ったダイオードを通して同じように吸い上げます。
中点がないので倍電圧が発生することは有りません。
 
 
 
Unknown (nekosan)
2008-12-26 20:25:21
ノンノさん、解説ありがとうございます。

>バイポーラ-はパワー素子に逆配列に入ったダイオードを通して同じように吸い上げます。

これはフライバックダイオードで吸収するっていう理解でよいでしょうか?

その辺りは、以前から解ったような解らないような…という個所があるんですよね。

逆方向の過電圧はフライバックダイオードで吸収されてしまうという理解をしていたんですが、インダクタって電圧と電流の位相がずれるので、パルスが切れると同時に電流も一瞬でゼロになるのかどうか(フライバックダイオードを通って消費されてしまうのか)…その辺りがよく理解できていないんですよね…。

まぁ、きちんと理解するならやっぱりインダクタの計算を基礎からしっかり勉強しないといけないんですが、今はちょっと時間が…

>中点がないので倍電圧が発生することは有りません。

中点というのが良く解らないのですが、ユニポーラであってもバイポーラであっても、コイル1箇所だけ抜き出せば構造は全く変わらないと思うのですが…
ユニポーラのコモン端子のことを中点と呼んでいるとしても、その中点をバイポーラでも反対側の端子と解釈すれば、同じことになるような気がするんですが…


いずれにしても、私はインダクタの計算や虚数が出てくる計算は考えるのが嫌で、ずーーーーと避けてきたので、ちょっと勉強したくらいではすぐに理解できるようにはなりそうに無いなぁ…。
 
 
 
Unknown (ノンノ)
2008-12-27 13:16:59
ユニポーラーの場合は中点が大事で
オートトランス、プッシュプルトランスのように動作するので、回生電流は短絡にならないという点が重要です。

またインダクタンスはモーターによって全部違うので、計算してもしようが有りません。
(一応無関係、しいて言うなら、漏洩インダクタンスが関係します)
 
 
 
Unknown (ノンノ)
2008-12-27 13:21:04
>これはフライバックダイオードで吸収するっていう理解でよいでしょうか?

普通、フライバックダイオードはコイルを短絡する形で付けますが、違って電源に送り返すことで、減衰と逆相駆動を同時にします。
 
 
 
Unknown (nekosan)
2008-12-28 01:57:19
>オートトランス、プッシュプルトランスのように動作するので、回生電流は短絡にならないという点が重要です。

オートトランス、プッシュプルトランス以前にインダクタのことが良く理解できていないので、私の頭の中ではイメージが出来ません(TへT)

>電源に送り返すことで、減衰と逆相駆動を同時にします。

減衰が一瞬で終るということなんでしょうかね?しかもユニポーラだけは…と。うーん。その辺りがイマイチよく解ってません。

 
 
 
Unknown (ノンノ)
2008-12-28 12:05:01
電源電圧分でコイルに流そうとする力が有って、時定数で電流が増えて行きますが、
回生時はクランプダイオードを通して
それと同じ電圧に送り返すので
同じ様な時定数で減衰します。

>減衰が一瞬で終る
コイルに逆並列に繋いだフライバックダイオードの時は電圧差がないので減衰時間が長くなります。
高速回転時に、逆方向の励磁の時、
この電流が残っていると、トルクが減少したり
駆動回路に無理が掛かったりします。
 
 
 
Unknown (ノンノ)
2008-12-28 12:40:34
SWの状態と電圧傾向を図視化しました。
 
 
 
Unknown (nekosan)
2008-12-29 18:54:20
いまひとつ読み取れないんですが、結局ユニポーラでは減衰は瞬時に終わるんでしょうか?

なんとなく話が枝葉に逸れていってしまって、「ユニポーラのステッピングモーターでは立下りの制御は難しいような気が」の件の結論が良くわからないのですが…
 
 
 
Unknown (ノンノ)
2008-12-29 20:41:40
ユニポーラーとバイポーラーは電流の立ち下がりは(高周波的にはユニポーラが吸収仕切れない部分があります)ほとんど同じです。
コイルの電流容量が違います。
電圧のあるところに押し返す事によって時間が短縮されます。
もしウンと高い電圧に戻すとそれだけ早く減衰しますが、その電圧にパワー素子が耐えられないので、(リンギングが減衰しない場合もあります)
普通は電源電圧と同じ(ユニポーラーは積み重なるので2倍です)にします。
(あまりは約減衰しすぎると電流の維持に苦労します)
 
 
 
Unknown (ノンノ)
2008-12-29 22:37:48
>インダクタって電圧と電流の位相がずれるので、パルスが切れると同時に電流も一瞬でゼロになるのかどうか(フライバックダイオードを通って消費されてしまうのか)

これですね。
けれた瞬間の蓄積エネルギーは電圧X電流・積
に比例しますので電圧が高ければ少しの電流
電圧が低ければ大きな電流が放出されます。

これは電圧が低く電流が多い時長い時間流れ、電圧が高いとき短い時間流れることを意味します。
ですから電源電圧に近い電圧に電流を汲み上げる、ポンプダイオード(無理な名付け)
ともうしましょうかそのような形態で消費(回生)させれば同じ様な傾向で電流が減衰します。
 
 
 
Unknown (ノンノ)
2008-12-29 22:40:28
切れた→けれたに間違いました。
 
 
 
Unknown (nekosan)
2008-12-30 01:49:20
やはり読み取れないのですが、ユニポーラでは減衰は瞬時に終わるんでしょうか?

と言うのは、以前私が疑問点として挙げていた
「定電流制御では立ち上がりこそ俊敏だとしても、立下り電流は結局コイルの特性に従うので、高速動作時はリニアリティーやトルクに悪影響を及ぼすであろう点。」

について、ユニポーラを定電流制御した時に減衰が一瞬で終らなければ、立ち上がりが俊敏であっても、その後の定電流制御が正確でも、立下りのところで結局誤差を生じるのでは?と思っているからなのですが…
 
 
 
Unknown (ノンノ)
2008-12-30 13:04:38
電圧が掛かっても良いなら一瞬で終わりますが、
もう一つは吸引力=トルクは電流に比例しますから、切れてしまってはダメです。
目標の電流値でウロウロしていれば良くて
極-駆動の変化はPWM周期に比べてゆっくりで有れば、問題なく次ぎに繋がって行きます。
ここで大事な点は、コイルに逆並列にダイオードを繋いだだけですと電流は長く流れますが、
電圧に逆らって送り返すと比較的早く減衰します。
 
 
 
Unknown (nekosan)
2008-12-31 13:59:45
>電圧が掛かっても良いなら一瞬で終わりますが、
>もう一つは吸引力=トルクは電流に比例しますから、切れてしまってはダメです。

このお話と「リニアリティーやトルク」との関係がやっぱり良く見えません…結論としてはリニアリティーやトルクへの影響は完全にゼロなのでしょうか?

>ゆっくりで有れば、問題なく次ぎに繋がって行きます。

「問題があるかどうか」は用途によって評価基準が変わってくるはずなので、懸念が完全にゼロでないのであれば、ユーザーに成り代わって決めてしまうことはできないと思います。

なので、使う人が「問題の有無」を自分で評価できるように、速度、正確さ、トルク、消費電力、大きさ重さ…などの点について評価するための情報が纏められていればいいと思うのですが、目下その情報は十分に開示されていないような気がします。

ノンノさんが今想定しているモノと、ステッピングモーター全般の用途の間には多かれ少なかれ差異があるはずなので、その点について言及していただければその辺りももっと見えてくる気がします。

ノンノさんがどんな用途でどの程度のスペックを想定してるのかが見えないので、なんとなく曇りガラスの向こうを眺めているようなモヤモヤ感を感じてしまうのですが…
 
 
 
Unknown (ノンノ)
2008-12-31 22:33:41
「リニアリティーやトルク」以前に直ぐに減衰しないか?
と言う問題であったようですが、
直ぐに減衰するかどうかは電圧負荷に汲み上げるその電圧に掛かってくると申し上げたいのです。

トルクは駆動角度との差がゼロになったら
発生しません。(負荷がないと取り出せない)
また磁極スロットの引き合いで落ち着く角度をリニアリティーとしますとモーターの作り方(メーカー用途により違う)で決まり要素があり、ディティントトルクが大きな種類ではリニアリティーがないといえます。
(ディティントトルクにうち勝つ電流を流したところで発生するトルクはやっと+に成るのですから)
万能的には電流比と駆動角が同じと仮定するしかないわけです。

 
 
 
Unknown (nekosan)
2009-01-03 17:16:13
>「リニアリティーやトルク」以前に直ぐに減衰しないか?
>と言う問題であったようですが、

それは順番が逆ですね。リニアリティーやトルクへの影響が完全にゼロなら別に電流の減衰のことなど気にならない、という意味です。

>万能的には電流比と駆動角が同じと仮定するしかないわけです。

「万能的」という言葉は「汎用的」と読みかえられますか?万能なモーターというものは存在しないと思うので。

で、それを踏まえて「電流比と駆動角が同じと仮定」して良いかどうかは、それを使う人(ユーザー)が個別の事情に照らして判断するものであって、その判断に足る情報の開示が必要条件と思っています。

なんとなく「万能」とか「完全」などの聞こえのいい言葉にはつい違和感を感じてしまうんですよね…

ノンノさんは今回先進的なことを考えている、これまでの方式より向上しているのだと思いますが、それゆえ十分な情報開示が大切なのではないでしょうか?
 
コメントを投稿する
 
名前
タイトル
URL
コメント
コメント利用規約に同意の上コメント投稿を行ってください。

数字4桁を入力し、投稿ボタンを押してください。