くっしーの徒然日記

ジャンクなモータードライブ その後

このGW中は天気が悪そうなので、実家に帰らず、なんとかGW中に
前回入手の壊れているモータドライブの制御部を修理したいと
思っていたが、何故かなかなか腰が重い。
分野違いのソフトがらみの作業だからか、、、

先ずは、CPUを取り外し、インバータが正しく動いているか
電源を掛けてチェックしたが、案の定インバータも壊れている様で
さっぱり入力変化に応答しない。諦めてインバーターも外す。
CPUのソケットも黒い塗装がべったりなので、これも外した。
ついでに、水晶も外してみたら、こちらもご丁寧に周波数表示を
削ってある。そんなにしなくてもたいした回路じゃないし、
周波数なんて動いてる奴を計れば一発で判るのに、、、


でもって、次に、PICのプログラマーを作った。しばらく前回
作った、8pinのEEPROMライター元ネタの記事を見比べながら
追加部分を洗い出して、基板を追加して18pinのPIC対応に
改造した。


取りあえずこちらはチャンと読み書きが出来る様だ。

次に制御部の回路だが、当初計画通り、CPUはPICに置き換え、
インバータは新品に交換。その他の入出力ポートはだいぶ迷ったが
なるべく大幅にソフトもハードも改造しないで済むように
考えながら、こんな回路図に改造。(2011.6.6修正)


前回の記事でaitomoさんからのアドバイスも取り入れた。
電源回りは、逆接保護回路と定電圧化も取り入れているが
こちらはまだ、スペースの関係で未追加。うまく動くように
なったら後から追加しようと思っているところ。

そんな訳で、取りあえず書き込み環境とハードの改造は
概ね終わった。
後は、使ってるステッピングモータの仕様と、MKの赤道儀の
仕様に合わせて、出力パターンとタイマー関連をソフトで
見直せばOKな所まで来た。(つもり)
【↓改造後の部品面】


【↓改造後の半田面】


GW中は結局ここまでしかできなかった。後は、またぼちぼち
と言った感じだろうか、、、、あ~、ソフトちゃんと動いているか
とか、タイマーの時間を正確にする補正データを作るために、
デバックボードを作った方が良いかな、、、、、?
出力制御間違えると、TR破損しそうな回路になってるし、、、、
と、まあ、弱気なくっしーでした、、、、
2011.05.01~05(5/15)

「ジャンクなモータドライブを買った」
「ジャンクなモータドライブ その後」
「ジャンクなモータドライブ その後2」
1N4148データシート
RD2.0データシート

コメント一覧

くっしー
えーっと、私もあんまり自信が有りませんが、1N4148とRD2.0のデータシート(ツェナーでは2Vが最低電圧)を見比べると、RD2.0のVz-Iz特性のグラフを800%位に拡大して見ますと、2Vのツェナー電圧を得るのに5mA流す必要があります。Vcc6V時にVz=2Vなので残り電圧は4Vで5mAを流す為に必要な抵抗は0.8kとなります。この時Vccが3Vまでドロップすると、電流は1.2~1.6mA程度まで落ちます。そうするとVzは1.7V位まで下がってしまい、基準電圧が15%下がってしまいます。
これに対して1N4148データーシートのVf-If特性を同じく拡大して見ると、たとえば1k付けたとすると5.2mAでVf0.8Vですが、Vcc3V時は約2.3mA程度流れて、Vfは0.75V程度になるとデータシートから読み取れますので、電圧低下時の基準圧の狂いは6%の低下で済みます。
6V~3Vという低い電圧範囲での変化を検出する為に、この電圧範囲で基準電圧の狂いが少なくなる様に、ツェナーでなく、通常の高速スイッチングダイオードのVf特性を利用したのでは無いかと思われます。あくまで私の勝手な推測ですが、、、、

データシートは上の記事の最後に貼っておきました。
貧スタ
くっしー様

なぜD3にツェーナ(HZ2A1-Eなど)を使用しなかったのでしょうか?
くっしーさんが、もし設計者だったら、どうされますか?
何か意味があると思いますか?

マイコンがAT89シリーズですので、89年ごろの製品とは思いますが、まだツェーナが無かった時代なのかなあ?

思い当たるところがあればご意見お願いできませんでしょうか?
くっしー
あ、ちなみに、4'の所で、V1、V5はすぐオフになりますが、小さいながら電源にC1が入ってますので、多少オフになるのは遅れると思います。
それと、4'の時にⅠでは電流が流れないと書きましたが、正確には、わずかですが、D10(V5)→A'→A→D5(V1)→SW→電池のルートで流れます。但し、この時SWの部分はオフなので、たぶん、空中もしくは基板の上を放電或いはリークという形で流れます。
くっしー
すこし気になったので調べてみたら、先のコメントで、
私の理解が間違っていた所が有るので修正しますね。

私の理解が違っていた所

誤:逆起電力をインピーダンスの低い電源に流す。
正:逆起電力をコイルに流す。

説明文を修正すると、以下の通りです。

モータやリレー等のコイルの電流を切る時に逆起電力を防ぐ為に、通常は
コイルにパラレルにダイオードを入れます。このダイオードにより、コイルの
逆起電力をコイル自身に流して、ジュール熱に変換して、高い逆起電圧を0.7Vで
クリップします。

Meadの回路の場合、例えば、A-A'間のモータのコイルに対して、
D4,5,10,11がつながっていますが、それらは、電源を通じて初めて
電流のループを構成します。

従って、モータの回転中(電流がコイルに流れている状態)で、いきなり
SWを切られた時、ダイオードがSWを経由しないで電源につながっていないと
(SWでダイオードの電源接続も切ってしまうと)逆起電力を流すループが
閉ざされてしまう為、電流が流れず、高い逆起電圧が発生してしまい、
V1にダメージを与えます。

この理由でMeadの回路は、VCCに直接ダイオードがつながっていると
考えられます。

自分で考えを整理する為に、等価回路とA点の電圧の時系列シュミレーションを
手書きで書いてみましたので、参考にして下さい(汚くて参考にならないか)
http://air.ap.teacup.com/kussy/img/1307350436.jpg

但し、言い換えると、回転中にSWではなく、電源コネクタからケーブルを
引っこ抜く(例えばケーブルにつまずいて抜けてしまう)とダイオードへの
ループが切れますので、この場合は、V1へのダメージが発生します。

但し、V1~V4で特にV1が壊れやすい条件は見つけられないので、
ほぼV1~V4でほぼ同等に起こりうると思います。
しいて言えば、一番最初に動作するので、他より多少確率が高くなる程度だと
思います。

また、電源ケーブルが抜けた場合の高い逆起電圧は、SWがonの為、
Vccライン上にある、CPUを含むIC類にも加わり、破壊する可能性もあります。
うちのICが二つとも壊れていたのは、こちらの理由かなぁ?
トラより先にICが逝ったのではと予想されます。

参考HP
http://panasonic-denko.co.jp/ac/j/control/relay/common/caugeneral.jsp
くっしー
失礼しました。今しがた再確認したら、D5,7,9,11のKは、SWの中点ではなく、両サイドの端子につながってました。V1,2,3,4のEは図面どおりSWの中点につながっています。したがってD5,7,9,11のKは常時Vccで、V1,2,3,4のEはSWon時にVcc接続でした。
ちなみにダイオードのKがVccに直接入ってる理由は、回転中に、STOPボタンを押さないで、モーターが回っているときにSWoffされたりした時にも、モーターから逆起電力が発生するのでそれを電池側のローインピーダンスで吸収させるためだと思います。offで切ってしまうと、逆起電力をダイオードで流し込む先がなくなってしまうので、SWoff時も電池につないでいるのだと思います。
ただ、Diodeに常時Vccがかかっていても、on時や回転の起動時にV1にダメージを与える動作は起こらないと思もわれます。
貧スタ
DK-Vのロット間の違いかもしれませんが、やはり手元のD11のアノード側はVCCレベルです。
私がこの回路の設計技術者だったら、この様な設計はしないと思います。
くっしーさんの書かれた回路図どおりの設計であれば問題は発生しないと思います。
貧スタ
信じられませんが、例えばR11のアノード側はスライドスイッチの中点(オフ)でもVCCレベルのままなのです。
回路設計が根本的に誤っているのではと考えた次第です。
>回路図を見ていただければ判ると思いますが、電源スイッチが中点の時には、電源供給はされていません。スイッチが右または左に動いて初めて電源供給されます。
くっしー
え~っと、まず、アセンブラが読めてないので、どう制御しているかが私の頭の中にないのですが、以前の話の流れからすると、電源投入後に、16~19のポートをHに設定して、それから最初に16だけをLにすると言う事で良いですか?

まず、D5のK側=V1のEは、回路図を見ていただければ判ると思いますが、電源スイッチが中点の時には、電源供給はされていません。スイッチが右または左に動いて初めて電源供給されます。

ただ、先ほどの制御順からすると、ポートを全部Hにした時点では、供給されています。次に16をLにした時に、V5のEB間にB電流が流れてonします。この時にインバータ経由で引かれるV5は、言われる通り、わずかながらのタイムラグは有るでしょう。従って、V1on、V5offの状態が一瞬起きます。しかし、V5offですから、V1がonしていてもV1のEC間→モータのA~A'間→V5CE間の電流ルートはV5CE間がoffですので特にどこに行くわけでなく、単に流れないだけなので、この状態(V1on、V5offでV1EにVCCが掛かっている状態)でV1は特にダメージを受けません。

貧スタさんの書かれた内容を私が正しく把握できているか自信がありませんが、書かれている文面通り間違いなければ、上述の通り、この動作では、V1にダメージは受けません。文面に見えない部分で、貧スタさんが、『ここはこうだから』てのが有れば又別ですが。
貧スタ
部品のばらつきも考えられますが、V1と他のトランジスタの違いは、電源投入後に最初に反応するトランジスタで、インバータで反転後のV5はわずかながら遅れて反応しますよね!また、D5側はスライドスイッチを中点にしても(電源を切っても)VCCが供給されています。ということは回路図上トランジスタにも電源供給されていることになります。
これが原因ではないでしょうか?

オリジナルの回路には設計ミスがあるのではと考えますが、如何でしょうか?

この様な専門的な話をできる方はくっしーさんしかいないのでご意見願えますか?
くっしー
う~ん、なんでしょうね?ベースに付いている1kを流れる電流は4つとも同じですか?回路的に見る限りは、4個とも同じで、変わる所がないですから、可能性としては、何かのばらつきで、元々マージンのない所に変化が出たとか?回路を無理して使ってる所が有るとか?具体的には、ポートの流し込み電流、hfeなんかですけど、データシート見る限り、ベース側は3~4mAは問題なく流せそうですからね。後は、コイルの電流を切った時の逆起電力が大きくて、ダイオードで吸収しきれない(ダイオードのバラツキにより、吸収の度合いが異なる)とか?
貧スタ
くっしー様

こんにちは、ステッピングがなめらかではなかったので、ステッピングの状態を超低速回転で目視で調べようとして、モーターを繋げて、ABA'B'にLEDで正・負の反転を見ております。
するとAの正の電圧が低いことに気付きました。
トランジスタ(V1 S8550)が死んではいないもののかなり痛んでいる様です。
とりあえず、手持ちの2SA950に交換し、なめらかに回る様になりましたが、なぜV1だけが傷んでいるのかという大きな疑問が生じました。
V1だけが傷むメカニズムとか思いつきませんか?

くっしー
でも、単純に電池の電圧が下がって、コンパレータが動作したのと、過電流で電圧が下がって、動作したのをどうやって見分けましょうかね?電池の電圧低下なら、当然電池交換したら、復活しないと行けませんし。
貧スタ
>冬眠は『Power-down Mode』を指しますか?
ですがあいまいな抽象的な表現でした。
EEPROMへ電源トラブルがあったことを示すフラグを書き込む。電源再投入後もその値を参照して二度とスッテピングのルーチンを実行せず、緊急停止の状態を続ける。一見故障した様に見えるが、プログラマはその解除方法を組み込んでいるが、未公開情報となっている。

製造物責任法もあるので、私なら、その様なプログラムにするかもしれません。
くっしー
貧スタさんの言うとおり、電池の消耗以外に、過電流による電源電圧低下の場合も
コンパレータからのインタラプトは掛かりますね。
被害の大きい過電流を想定して、16~19をHにした後、HLTで停止するって感じで
softを組むのが妥当でしょう。
冬眠は『Power-down Mode』を指しますか?設計者によって、その可能性も
有りますね。ただ、PDモードだと、不具合の原因が無くなった時に再び起こす
為のインタラプトをかける工夫が必要になります。コンパレータ出力がH→L、
及びL→Hの両方でインタラプトが掛かる様なら有りかも知れません

いずれにしろ、電源再投入では、リセットスタートなので、PDモードも解除される
ので、通常ルーチンで走り出すと思います。この時に、まだ不具合の原因が残って
いたら(COMP電圧が低く成っていたら)走り出して直ぐまた停止してしまい、
見かけ上動いてないように見えると思います。

後、停止する前に内部メモリに、前の状態を書き込んでいて、リセットスタートで
先ずそれを確認してから通常ルーチンが走り出すような設計なら、コンパレータの
状況を確認して、治っていれば、通常ルーチン、治ってなければ、ポートHのまま
HLTで停止って感じでしょうか?

初期化の時には、必ずポートをHに一旦設定する方が良さそうですね。その後
通常ルーチンなら、ポートテーブルを設定、不具合が治ってなければ、停止
って感じでしょうか?
くっしー
私も、最初、接続が変だよなぁ?ピンアサ違うのかな?と思って、基板を良く見ると
シルクで方向性の印刷があったので、『ああ、特殊なんだ』って思いながら
図面起こしました。

ちなみに、対になる組み合わせ(AとAバー、BとBバー)で、信号が同時に
Lに成ると燃える回路に成っていて、何の保護も入ってないので、『ちょっと?』
と思ってました。でもPFC-42Hのカタログにも、そのままの回路で基本回路として
掲載されているので、これはみんなこういう物なの?と言う疑問も持っています。
まあ、同時にONしないようにとは、書かれていますが、、、、
しかし制御間違えると燃えるから、実機で動かす前にデバックボードで確認した
方が無難だなと思っています。

で、質問のCPU無しの状態ですが、V1~V4は、BE間に順方向電圧が掛かって
いるので、ベースには、5.3~5.9V位(電流が殆ど流れないので、0.7Vも下がら
無いと思いますが)が現れるはずです。従ってインバータの入力はHとなり
V5~V8は、オフのままなので壊れる事は無いと思います。実機では確認して
いませんが、接続図の起こし間違いがなければ、図面を見る限り上記の動作に
なるはずです。

ちなみに、もしインバータの入力が本当に何もつながらずopenだとした時には
出力は、規格上は不定でどっちが出ても文句が言えないのですが、職場の
ソフト&ロジック屋さんに聞いたら、彼の経験上は、『CMOSだとだいたいHが
出てたよ』との事でした。
貧スタ
くっしー様
それと、マイコンの12番と13番ピンのコンパレーターですが、単なる電池電圧低下を監視する機能だけではなさそうですね。

何らかの原因で、対になっているトランジスタに大電流が流れた場合を想定しているかもしれません。
大電流が流れた際、電圧降下を監視しているかもしれません。
この様な事態を感知した場合、くっしーさんが回路設計者かプログラマーだったとしたら、マイコンにどの様な動作をさせますか?
私なら、16番ピンから19番ピンの出力を全てハイ(VCC)レベルにして、緊急停止させ、マイコン自体の機能も停止、電源を切って入れた場合においても可能な限り、16番ピンから19番ピンの出力を全てハイ(VCC)レベルに維持して回路を保護する様に考えませんか?
マイコンを冬眠させる仕掛けです。
故障してそうに見えても、実はマイコンが回路保護のために休眠してしまい、二度と起き上がれない状況に陥る様になっているのかもしれません。

くっしーさんのご意見は如何でしょうか?
貧スタ
くっしー様
おはようございます。
いや驚きました。
S8550とS8050は真ん中の足がベースの設定なのですね!

それと、マイコンの16番から19番が全部グランドに落ちたら、すべてのトランジスタが燃えますよねえ!
これってマイコンを引き抜いて電源を入れても同じと思いますか?
そのあたりでご意見ないでしょうか?
くっしー
了解です。でも、今日はなんかサーバーの緊急メンテナンスだったみたいで、その間見えませんでしたね。
貧スタ
くっしー様、回路図を私のブログで引用させて頂きました。
ありがとうございます。

それと例の方は、ログを見て正確には同定は不可能ですが、たぶん見ておられる様です。
くっしー
まぁ、本当に困っているなら、何とかしてあげたいとは思いますが、本当に困ってる人は、貧スタさんの申し出に有り難く飛びつく筈だし、何の音沙汰もないと言うことは、既に代わりを買っちゃたとかで、たいして困ってないのかもしれませんね。
あるいは、ただのあおりだっただけかも知れませんし。(目的は判りませんが)
貧スタ
メルアド等公開しておりませんので、コメント欄への書き込みしか私への連絡手段はありません。
その後のコンタクトはありません。
例の方の発言をあおる様な投稿をしてひっぱりだそうかと思います。
くっしー
貧スタ様

いや~、人騒がせな事で全く持って申し訳有りませんでした。
ちなみ、出来たら、貧スタ様のブログのコメントはお恥ずかしいので、2つとも消しておいていただくと助かります。

あれ以降、何かコンタクト有りましたか>貧2さん
貧スタ
くっしー様

再度調査下さったのですね!
ご面倒をおかけしてしまった様で申し訳ありませんでした。
でも回路の機能が明確になったのでよかったです。
ありがとうございます。

貧スタ
くっしー
貧スタ様

お恥ずかしい。やっぱり回路、おこし間違っていました。V7,V8のエミッタをそのまま、GNDにつないでください。そうすると、RVは電源電圧を分圧してコンパレータに加える形になりますので、たぶん電圧低下を監視しているのだと思います。電源を1Kと400Ωで分圧すると、1.7Vですから、電源電圧が2.5V以下だと動くことになりますね。

どう考えても納得のいかない回路だったので、今日もう一度ルーペで良く確認してみたら、RVの端子から1本でてエミッタに行ってたんですが、よく見ると、すぐ隣を通るGNDラインにもつながっていました。全く失礼しました。う~ん、老眼の影響でしょうか、、、、
でもこれで、理解できなかった謎(謎でも何でもない)が解けてすっきりしました。
くっしー
あぁ、やっぱりそうですか。腕ならしと言った感じですね。
見難いですが、D3は図面にも1N4148と記載していますが、普通の1S1588同等のダイオードです。私の予想は、ダイオードのVf(0.6~0.7V)を基準電圧として
流れる電流と比較しているのだと思います。
ATtinyの等価ブロックダイアを見るとコンパレータの先は、インタラプトにつながってるので、たぶん電流が増えて、Vfを超えたらインタラプトがかかって、動作を止める様な動きになってるのでは?と思っています。
V7,V8のエミッタ側はちょっと理解しづらい回路なので、本当にこれで有ってるの?と、何回か(今し方も)見直したのですが間違っていない様に見えます。
つながるVRは390Ω位に成っていましたので、エミッタからGNDに対して、1.4kで落とす事になり直流だと6Vでも4.3mAしか流せないので、これでステッピングモータをドライブできるのかが少し疑問です。(私もステッピングモータを使った事がないので、この辺が良く判りません)
貧スタ
http://plaza.rakuten.co.jp/startwaching/
こんにちは!くっしー様
PCのソフトウェアは何度も書いたことがありますが、AVRのプログラムは初めてなのでモータードライバプログラムは私にとっては格好の練習材料となります。
確かにPin12とPin13が面白しろいですね。
D3はツェーナダイオードではないでしょうか?
もしツェーナなら電池電圧が低下してきた場合の検出を行って、LEDを制御しているのではないでしょうか?
またV7とV8のエミッタはアースに落としていないのですか?
理解しずらい回路ですね?

貧スタ
くっしー
貧スタ様
いや~寛大ですねぇ。感服いたしましたよ。
もちろん、私の書き起こした汚い回路図で良ければご自由にお使い下さい。
実は自分では手書きなのでみっともないとは思っていたので、これを元に
CADSOFTに入れて直して公開されても結構ですし、手間を掛けずに、このまま
お使いになっても結構ですよ。

後、ATTINYにしていないのは、初め型番が判らなかったので、他のHPで
掲載されていたPICに、置き換えて改造をしてしまいました。
改造した後に、前記事のコメントでATTINIYとピン互換のICだと教わった訳です。
時既におそしでしょうか。それに、その参考HPでは、その方の作られた
回路図以外にも、フローチャート、アセンブラソース、駆動の仕方、
タイマの計算の仕方等詳しく出ていましたので、それを参考に、Meadの
使える部分と組み合わせました。後は、そのソースを参考に、ステッピング
モータのデータシートを見比べて駆動シーケンスと、ギア比の違いを
うちの仕様に合わせ書き直してあげれば出来るかなと考えた訳です。
ちなみに参考にしたHPは、この前の記事にリンクを張っていますので
見に行くと参考になるかと思います。
貧スタ
http://plaza.rakuten.co.jp/startwaching/
くっしー様
お願いがあります。
ちょっとした成り行きでMeadeの1軸コントローラーの互換マイコンを作成することを宣言してしまいました。
そこで、たいへん恐れ入りますが、私のブログで、くっしー様の手書きの回路図とかを引用リンクさせて頂きたいのですがご許可頂けますでしょうか?
プログラムを書きますがATTINY2313を候補としています。
何かご意見ありますでしょうか?また不思議に思うのですが、くっしーさんはここまでご自身で解析されながら、なぜATTINY2313を利用されなかったのですか?何か理由をお持ちでしょうか?
くっしー
貧スタ様

いや~大人な対応ですね~、、、、
くっしー
こんにちは、貧スタ様

AVRライタが利用出来ないとの情報有り難うございます。
今、気づきましたが、うちのCPUが壊れていても、コードを
貧スタ様から教えていただくと言う手が有ったんですね。
下の書き込みの意味を理解できていませんで、大変失礼しました。
ちなみに、これだけ接着剤で固めてある位なので何か読み出しプロテクション
されていたりするかもですね。
貧スタ
http://plaza.rakuten.co.jp/startwaching/
ごめんなさい。
AVRではない様です。
AVRのライタは利用できないみたいです。
くっしー
貧スタ様、ようこそ、いらっしゃいませ。

アドバイス有り難うございます。AT89C2051ですか。
前回の入手時の記事にもコメント頂きまして、その方からは
ATtiny2313ではとの事でした。データシートを見ると、ピンアサは
どちらも同じ感じですね。細かくデータシートを読んでないので
何が違うのかぱっと見良く判りませんが。同じATMELなので、ピンコンパチ
なんですね。きっと。
入手した時点で、AVR自体壊れているようでしたので、ピンアサが判っても
コードは読み出せたかどうか微妙な所ですね。実は型名が判る前に
(と言うか、判らないだろうと思って)さっさと外しちゃったので、
細かい所までは、確認しませんでしたが(汗)
確かに早い段階で型名が判っていれば、外す前にもう少し悪あがきを
してみたい所ですが、残念ながら後の祭り状態でした。

これからも何かお気づきの点が有りましたら、よろしくお願いします。
貧スタ
http://plaza.rakuten.co.jp/startwaching/
くっしーさん

はじめまして!

興味があるジャンルが私と似ている様な。。。(失礼)
この記事気になります。
PICに変更ですか?
使われているのはおそらくAT89C2051-12PIのAVRでしょう!

もう少し、早く気付けば。復旧のお手伝いができたかもしれません。

AT89C2051-12PIは生産中止でAT89C2051-24PIで代用して、コードを入れ替えればよかったかも。。。

名前:
コメント:

※文字化け等の原因になりますので顔文字の投稿はお控えください。

コメント利用規約に同意の上コメント投稿を行ってください。

 

  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最新の画像もっと見る

最近の「望遠鏡・撮影機材(改造・修理)」カテゴリーもっと見る

最近の記事
バックナンバー
人気記事