M51の撮影でそこそこの追尾精度の画像の割合が約30%だったので更なる追尾精度の向上を検討しました。
主な対策のうち
・モーターステップ200から400に変更
・最適なモータードライバの選択
の検討結果をまとめてみます。
a サイズ:42mm x 42mm x 34mm
0.9度ステップ、16マイクロステップでは0.9/16=0.056度の動きを読み取る方法を考えます。
ステッピングモーターに可変抵抗器(ボリウム)を取付、回転角に比例した電圧を取り出します。
これをデジボルで読むと角度が読めます。
ボリウムに6Vかけると回転角300度で6Vの電圧変化が得られます。
20mV/度の感度が得られ0.1mV読めるデジボルなら1/200=0.005度まで読めます。
ボリウムの直線性がどの程度あるのか不明ですが、結果からみると行けているようです。
PC接続できるデジボルを使い、PCで読み取ります。
モータークロックは1秒とし、ゆっくり回して角度電圧を読み取ります。
使ったソフトはTsDMMViewer。 デジボルのデータをCSV形式で取得できます。
PCで取り込んでプロットした例です。
カーブの直線からのずれ(うねり)が角度誤差になります。
回転角5度の区間の角度誤差の測定結果です。
上から200stepモーター ドライバLV8729
200stepモーター ドライバTMC2208
400stepモーター ドライバLV8729/TMC2208
図-中ドライバをTMC2208に変えると角度誤差は0.19度ピーク―ピークと8割に減っています。
不思議なのはTMC2208は16マイクロステップではLV8729の64マイクロステップより改善すること。16マイクロステップで良ければ性能の低い2560MPUでも1000倍速程度が可能でメリットは大きい。
TMC2208の"Smooth Running 256 microsteps”の効果なんだろうか。
LV8729は緩やかな変化に対してTMC2208はリップルが有るのも特徴です。
図-下は400ステップモーター。
アカがLV8729、アオがTMC2208どちらも16マイクロステップ設定。
TMC2208のほうがモータ角度誤差が小さく0.12度ピーク―ピーク。
現状の200stepモーター、ドライバLV8729を400stepモーター、ドライバTMC2208に変更することで角度誤差をちょうど半分にできました。
加えて減速プーリを50歯から80歯(1.6倍)に変更し総合減速比が5x50=250になったので、モータ角度誤差0.12度=432秒角はAz軸出力で+-0.9秒角(ピーク)以下になる。
実効値または平均値は計算していませんが、これよりは小さいです。
これは従来の値より3.2倍以上の改善になります。一般のシーイングは1.5秒角程度らしいのでまずまずかな。
最終評価は撮影で行う予定です。
気になったことなど
・マイクロステッピング精度
0.9度ステップのモーターを16マイクロステップで使えば刻みは0.9/16=0.06度。理想的に制御できたとして誤差は最大で+-0.03度。データの0.12度(+-0.06度)は結構いい値に思える。モータ依存が大きいとはおもうが。
・モーター電流はピークor実効値で設定? ピークで設定した
矩形波で駆動する場合なら実効値とピーク値は同じなので考える必要は無い。マイクロステップ駆動ではほぼ正弦波駆動なので悩む。駆動位相角0度ではcos成分のみだからピーク1A設定と仮定する。駆動位相角90度ではsin成分でピーク1Aになる。45度ではsin、cosとも√2/2Aで合成磁界は1A相当になる。ピークで設定すれば矩形波と同じ値の回転する磁界が発生できるのでこれで良いと思うが。
400ステップモータでは定格1.33Aをちょっと減らして1.2Aピークとしました。このときのVrefは8729で1.4V、2208で1.3Vでした。
・無負荷のデータで良いのか
モータに負荷をかけたら誤差特性(直線性)が変わるのではないかという心配がありますが、ここhttps://onstep.groups.io/g/main/wiki/16270のデータでは、
負荷によるオフセットの変動はあるものの直線性は大差無さそうなので、無負荷でもそれなりに意義は有りそうです。
訂正、追記(6月8日)
・TMC2208のマイクロステップ設定が1/16では無く1/8でした。これはLV8729と同じジャンパ設定で良いと勘違いしたためです。
TMC2208では1/16はM0=H,M1=H,M2=L(Hがジャンパ有り)とする必要がありました。
ということはTMC2208では1/8マイクロステップでもLV8729の1/64や1/16よりモーター位置精度が良いことになります。
電流波形をオシロ+電流プローブで観察してみると、1/8でも1/16でも駆動波形は正弦波なのがTMC2208の最大の特徴です。なので1/16設定にしても角度誤差は変わらないように思います。
モーター電流 上はクロック 右は拡大
また駆動速度に関しては32usまで応答し、恒星追尾の50mSに対し1500倍速まで行ける感じです(無負荷)。
・逆転設定
2208は8729などとモータの回転方向が逆になります。設定ファイルまたは配線で逆にする必要があります。
->これをやったら追尾方向が逆になってしまった。不要か。
・聴診器での聞き取り
モーター音を聴診器で聞いてみました。LV8729ではクロック周期で"コッコッ"音が聞こえますがTMC2208では小さく”ブーン”的な音でずっと静かでした。追尾時の振動も少ないでしょう。
主な対策のうち
・モーターステップ200から400に変更
・最適なモータードライバの選択
の検討結果をまとめてみます。
a サイズ:42mm x 42mm x 34mm
保持トルク:2.2Kg.cm
電気仕様:
モデル番号。 |
ステップアングル |
モータ長さ |
レート |
現在 |
抵抗 |
インダクタンス |
保持トルク |
リード数 |
戻りトルク |
ローター慣性 |
質量 |
|
(°) |
(L)mm |
V |
A |
Ω |
mH |
kg.cm |
いいえ。 |
g.cm |
g.cm |
Kg |
|
|
JK42HM34-1334 |
0.9 |
34 |
2.8 |
1.33 |
2.1 |
4.2 |
2.2 |
4 |
200 |
35 |
0.22 |
|
0.9度ステップ、16マイクロステップでは0.9/16=0.056度の動きを読み取る方法を考えます。
ステッピングモーターに可変抵抗器(ボリウム)を取付、回転角に比例した電圧を取り出します。
これをデジボルで読むと角度が読めます。
ボリウムに6Vかけると回転角300度で6Vの電圧変化が得られます。
20mV/度の感度が得られ0.1mV読めるデジボルなら1/200=0.005度まで読めます。
ボリウムの直線性がどの程度あるのか不明ですが、結果からみると行けているようです。
PC接続できるデジボルを使い、PCで読み取ります。
モータークロックは1秒とし、ゆっくり回して角度電圧を読み取ります。
使ったソフトはTsDMMViewer。 デジボルのデータをCSV形式で取得できます。
PCで取り込んでプロットした例です。
カーブの直線からのずれ(うねり)が角度誤差になります。
回転角5度の区間の角度誤差の測定結果です。
上から200stepモーター ドライバLV8729
200stepモーター ドライバTMC2208
400stepモーター ドライバLV8729/TMC2208
図-上は現状のラインアップ。200stepモーター ドライバLV8729
モーターの軸で0.24度ピーク―ピークの角度誤差があります。
モーターの軸で0.24度ピーク―ピークの角度誤差があります。
図-中ドライバをTMC2208に変えると角度誤差は0.19度ピーク―ピークと8割に減っています。
不思議なのはTMC2208は16マイクロステップではLV8729の64マイクロステップより改善すること。16マイクロステップで良ければ性能の低い2560MPUでも1000倍速程度が可能でメリットは大きい。
TMC2208の"Smooth Running 256 microsteps”の効果なんだろうか。
LV8729は緩やかな変化に対してTMC2208はリップルが有るのも特徴です。
図-下は400ステップモーター。
アカがLV8729、アオがTMC2208どちらも16マイクロステップ設定。
TMC2208のほうがモータ角度誤差が小さく0.12度ピーク―ピーク。
現状の200stepモーター、ドライバLV8729を400stepモーター、ドライバTMC2208に変更することで角度誤差をちょうど半分にできました。
加えて減速プーリを50歯から80歯(1.6倍)に変更し総合減速比が5x50=250になったので、モータ角度誤差0.12度=432秒角はAz軸出力で+-0.9秒角(ピーク)以下になる。
実効値または平均値は計算していませんが、これよりは小さいです。
これは従来の値より3.2倍以上の改善になります。一般のシーイングは1.5秒角程度らしいのでまずまずかな。
最終評価は撮影で行う予定です。
気になったことなど
・マイクロステッピング精度
0.9度ステップのモーターを16マイクロステップで使えば刻みは0.9/16=0.06度。理想的に制御できたとして誤差は最大で+-0.03度。データの0.12度(+-0.06度)は結構いい値に思える。モータ依存が大きいとはおもうが。
・モーター電流はピークor実効値で設定? ピークで設定した
矩形波で駆動する場合なら実効値とピーク値は同じなので考える必要は無い。マイクロステップ駆動ではほぼ正弦波駆動なので悩む。駆動位相角0度ではcos成分のみだからピーク1A設定と仮定する。駆動位相角90度ではsin成分でピーク1Aになる。45度ではsin、cosとも√2/2Aで合成磁界は1A相当になる。ピークで設定すれば矩形波と同じ値の回転する磁界が発生できるのでこれで良いと思うが。
400ステップモータでは定格1.33Aをちょっと減らして1.2Aピークとしました。このときのVrefは8729で1.4V、2208で1.3Vでした。
・無負荷のデータで良いのか
モータに負荷をかけたら誤差特性(直線性)が変わるのではないかという心配がありますが、ここhttps://onstep.groups.io/g/main/wiki/16270のデータでは、
負荷によるオフセットの変動はあるものの直線性は大差無さそうなので、無負荷でもそれなりに意義は有りそうです。
訂正、追記(6月8日)
・TMC2208のマイクロステップ設定が1/16では無く1/8でした。これはLV8729と同じジャンパ設定で良いと勘違いしたためです。
TMC2208では1/16はM0=H,M1=H,M2=L(Hがジャンパ有り)とする必要がありました。
ということはTMC2208では1/8マイクロステップでもLV8729の1/64や1/16よりモーター位置精度が良いことになります。
電流波形をオシロ+電流プローブで観察してみると、1/8でも1/16でも駆動波形は正弦波なのがTMC2208の最大の特徴です。なので1/16設定にしても角度誤差は変わらないように思います。
モーター電流 上はクロック 右は拡大
また駆動速度に関しては32usまで応答し、恒星追尾の50mSに対し1500倍速まで行ける感じです(無負荷)。
・逆転設定
2208は8729などとモータの回転方向が逆になります。設定ファイルまたは配線で逆にする必要があります。
->これをやったら追尾方向が逆になってしまった。不要か。
・聴診器での聞き取り
モーター音を聴診器で聞いてみました。LV8729ではクロック周期で"コッコッ"音が聞こえますがTMC2208では小さく”ブーン”的な音でずっと静かでした。追尾時の振動も少ないでしょう。
コメント
コメント一覧 (2)
回転軸にレーザーポインターを取り付けて、遠くの壁に照射して角度を検出する実験をしたことがあります。鏡を使って、手元で反射光を検出するのが良いと気が付いたのは実験が終了してからでした。
samy9900
がしました