• ベストアンサー

ステッピングモーターがピクリとも動かなかった者です

PIC16F84Aを使用して、本に書いてある回路とプログラムをそのまま書き写しましたが、ピクリとも動きません。と質問させていただいたものです。 回答をいただき、よく回路を見直してみてどうしても分からないことが出てきましたのでアドバイスいただけたらと思います。 PICの出力ピンに3KΩの抵抗、2SD2012のトランジスタ、それからモーターの線、という順でつながっています。 この抵抗の意味がよく分かりません。 PICから5Vの電圧がかかって、トランジスタは0.7V消費するとすると、 抵抗では4.3V消費される。 つまり抵抗を流れる電流は 4.3÷3000=0.00143=1.4mA つまり、ベース電流は1.4mAということになるのでしょうか? 東芝のトランジスタの表を見ても、ベース電流が10mAより大きいのときのコレクタ電流は載っているのですが、それ以下のベース電流のときのデータはありません。 仮にベース電流は1.4mAだとすると、hfeが100~320だから コレクタ電流は140mA~448mAとなるのでしょうか? モーターは電圧4.9V、電流1.0Aでトルク422mN・mのものを使用しています。電流が少ないために動かないなら、この抵抗値を3KΩよりもっと小さくしてみようかと考えています。 回路図もない場所で数字をいろいろ書いてすみません。 アドバイスいただけたら大変ありがたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • nrb
  • ベストアンサー率31% (2227/7020)
回答No.2

ステッピングモーターは 常時電源を供給しておいて パスル信号を送ると 1ステップ分だけモータが動きます PIC16F84Aの15ピンは入出力ですから ステッピングモーターへのパスル信号を送るんですよ PICの出力ピンに3KΩの抵抗、2SD2012のトランジスタ の抵抗は5Vを維持するためにあります 直接ステッピングモータに繋ぐと・・電圧がおちて起動できないので・・2SD2012を介して5Vを送るですよ このパスル信号が出てない可能性がありますね オシロスコープを繋いで・・パルス波形が出ているか確認しましょう またステッピングモーターの接続間違いが無いか確認しましょう どうも・・間違ってる気がするぞ・・・・・・ モータ←電源 直接5Vを繋ぐ  ↑ 動かす為のパルス信号(PICの出力ピンに3KΩの抵抗、2SD2012のトランジスタ) まさかステッピングモーターの電源供給につなでそうな・・・感じに思える

zi_zi_zi
質問者

お礼

ご丁寧な回答でだいぶ分かってきました。 本に載ってたままの回路をつかったので、ステッピングモーターの電源用の配線には、PICを通さずにつなげていました。 モーターの規格が電圧4.9V、1Aでトルク422mN・mというのは、 電源用の配線に与える電圧と電流がこれだけ与えるとトルクはこれだけですという意味なんですね・・。 パルス信号用の配線には同じ電圧、電流を与える必要はないのですね。 勘違いしていました。ありがとうございます。 そこで続けて質問で申し訳ないのですが、 >直接ステッピングモータに繋ぐと・・電圧がおちて起動できないので・・2SD2012を介して5Vを送るんですよ どうして電圧が落ちてしまうのでしょうか?アドバイスいただけたらありがたいです。 オシロスコープ、高いですけどやはりこれからPIC工作をしていこうとしたら必需品でしょうか・・。安いのを探してみます。 >またステッピングモーターの接続間違いが無いか確認しましょう どうも・・間違ってる気がするぞ・・・・・・ 再度、動くまで何度も確認してみます。 ありがとうございました。

その他の回答 (3)

  • richardo
  • ベストアンサー率20% (11/53)
回答No.4

 考え方はOKです。  ドライバの能力不足じゃないかなと思います。  負荷にLEDをつなぎ、変化が分かる程の低速回転でプログラムしてみましょう。LEDの点灯が予定通りなら、プログラムの考え方はOK。 LEDの直列抵抗を忘れないように。  次にモータを取り付け、電圧変化を見ましょう。LOW電圧に引っ張れなかったら、ドライバの問題です。

zi_zi_zi
質問者

お礼

ありがとうございます。早速やってみたいと思います。 全くモーターが動かないので、回路が悪いのか、基板も自作したものなのでこれが悪いのか、プログラムが悪いのか、何が悪いのか、どう手をつけていいか困っていました。 これでだいぶスッキリできると思います。ありがとうございました。

zi_zi_zi
質問者

補足

皆様、本当にありがとうございました。 無事解決しました。 ステッピングモーターがピクリとも動かなかった原因は、プログラムに下記の一行を記入する事で解決しました。 __CONFIG _HS_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF ずっと参考にしていた本にはこの一行はなく、別の本にはこの行があったので、挿入してみたらなんと、あっさり動きました。 喜びと、??マークの嵐でしたが、なんとか自分で調べて謎を解こうと思います。 この度は本当にありがとうございました!ご回答いただいた内容は、今後の私自身のスキル向上のためにしっかりと勉強させていただきたいと思います。richardo様、補足欄をお借りしました。ありがとうございます。

回答No.3

#1です。失礼、質問をちゃんと読んでませんでした。 hfeまでは達してたんですね。 Icを増やしたいのならRbを小さくするのは考え方としてOKです。 但し、PICの最大出力電流を超えないようにしないとPICが死にます。 その他として、データシートを見たら2SD2012は2MHzまでですので、あまり早い信号は反応しません。ステップパルスの幅は大丈夫ですか? オシロ無しで、仮に試すなら、PICの水晶発振器等の変わりに、オシレータなどを突っ込むか、発振器の周波数を落として試す方法もあります。 では、頑張ってください。 (参考)一般的なモータの繋ぎ方 電源 ↓ モータ ↓ (C) トランジスタ(B)←抵抗←PIC (E) ↓ GND ですが、トランジスタの(E)にアノード、(C)にカソードになるようにダイオードを追加することをお勧めします。

zi_zi_zi
質問者

お礼

ありがとうございます。 だんだんと本を丸写ししただけの回路を分かってきたような気になってきました。ステップパルスの幅には全く頭がいっていませんでした。 オシレータ、恥ずかしながら知らなかったので、検索で調べてみました。 アドバイスを参考に頑張ります!ありがとうございます!

回答No.1

>つまり、ベース電流は1.4mAということになるのでしょうか? yes >東芝のトランジスタの表を見ても、ベース電流が10mAより大きいのときのコレクタ電流は載っているのですが、それ以下のベース電流のときのデータはありません。 データシートにhfeと言う数字が載ってませんか? Ic=Ib*hfe です。

zi_zi_zi
質問者

お礼

さっそくのご回答ありがとうございます。 hfeが100~320だから コレクタ電流は140mA~448mAとなるのかと考えていたのですが、 ご回答いただき、謎がどんどん解けてきました。ありがとうございます

関連するQ&A

専門家に質問してみよう