• ベストアンサー

ドライバICのハイインピーダンスとは?

こんばんわ。 モータードライバでのことで質問があります。 出力の状態で、 1.H(ハイ) 2.L(ロー) 3.ハイインピーダンス 4.ドントケアー の4つがあるのですが、 3番目の”ハイインピーダンス” がどういう状態で、いつ使うかよくわかりません。 宜しくお願いします。

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

  • ベストアンサー
  • moto21
  • ベストアンサー率27% (43/159)
回答No.4

モータドライバーの種類がはつきりしないので、はずしている可能性もありますが、知っている範囲でDCモータ(特にブラシレス)かなと仮定して回答します。(No.3の方のご指摘のドントケアは聞かないですね・・) ドライバーの出力は通常コイルにつながっているのでHの端子からLの端子に電流が流れます。そこで出力端子がハイインピーダンスなれば電流は流れません。ブラシ付きのモータのブリッジなら電流が流れないのでSTOPの状態です。ブラシレスの3相全波(120度スイッチングの場合)は、特殊でコイルのトルクの出る中心から電気的角度で前後60度(計120度)分しか電流を流さないのでそれ以外の両端30度は電流を流しません。そこでその区間はハイインピーダンスである必要があります。(電圧駆動なら中間電位ですが電流駆動ならハイインピーダンスだと思います)

mikinori
質問者

お礼

詳しく回答していただいて、ありがとうございます。 よくわかりました。

その他の回答 (3)

  • a-saitoh
  • ベストアンサー率30% (524/1722)
回答No.3

出力というのは、モーターに接続する端子という意味の「出力」ですか? あと、ドントケアという「出力状態」があるというのは解せないのですが、ホントウにマニュアルにそう書いてあるのでしょうか。

mikinori
質問者

お礼

はい。 出力のことです、 マニュアルにはそう書いてあります。

  • angkor_h
  • ベストアンサー率35% (551/1557)
回答No.2

モータードライバとは限らずに、ドライバICでこのモードを持つものがあります。 直訳どおり、「(出力)インピーダンスが(非常に)高い」モードを言います。 使い方はNo.1さんのとおりですが、非制御状態にopenが厳禁ならば、H/Lのいづれかの状態にすることが必要になります(プルアップ/プルダウン)。 >いつ使うかよくわかりません。 単一利用だと、その疑問が出て当然です。

mikinori
質問者

お礼

回答、ありがとうございます。 皆様のおかげで、大分つかめてきました。

  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.1

ハイインピーダンスというのはICを回路から切り離した状態です。 例えばの話ですが(PC内部の)バスでは複数のICが切り替わりながら出力を出します。 このとき他のICの邪魔をしない様に関係のないICを切り離すのです。

mikinori
質問者

お礼

回答、ありがとうございます。 皆様のおかげで、大分つかめてきました。

関連するQ&A

  • Arduinoでランダムにモーターを回したい

    【電子工作関連】Arduinoでボタンを押すたびに、ランダムに3つのモーターのうち一つが回転するというスケッチを書きたいのですが、ランダムになりません。どうすればランダムになるでしょう? 下がそのスケッチです。 今のところ、3つ全てのモーターが回ってしまいます。 なお、モータードライバにはTA7291Pを使用。 信号ピンである5番6番ピンをArduino5~10番ピンに振り分けて、それぞれにモーターを接続、 電源やGNDは共有してます。 なお、ボタンを使わず、単純に3つのモーターのうち一つが回転するというというスケッチは出来ていて、実際にその通り動いています。 ------------------------------ //3つのモーターをランダムに動かす int val = 0; //入力ピンの状態がこの変数に記憶される void setup(){ pinMode(2,INPUT); //ボタンを入力に設定 pinMode(5,OUTPUT); //モーター(1)のドライバー5番ピンを出力に設定 pinMode(6,OUTPUT); //モーター(2)のドライバー5番ピンを出力に設定 pinMode(7,OUTPUT); //モーター(3)のドライバー5番ピンを出力に設定 pinMode(8,OUTPUT); //モーター(1)のドライバー6番ピンを出力に設定 pinMode(9,OUTPUT); //モーター(2)のドライバー6番ピンを出力に設定 pinMode(10,OUTPUT); //モーター(3)のドライバー6番ピンを出力に設定 } void loop(){ val = digitalRead(2); //入力を読み取りvalに格納 if (val == HIGH){ digitalWrite(random(5,8),HIGH);//ランダムにモーターを正回転させる } else { digitalWrite(5,LOW); digitalWrite(6,LOW); digitalWrite(7,LOW);//モータを止める } }

  • Arduinoのスケッチでエラーがでてしまいます。

    【電子工作関連】Arduinoでボタンを押すとランダムに3つのモーターのうち一つが回転するというスケッチを書きたいのですが、エラーが出てしまいます。どこが間違っているのでしょう? Arduinoで、ボタンを押すとランダムに3つのモーターのうち一つが回転するというスケッチを書きたいのですが、コンパイル使用とすると、 「error: expected unqualified-id before numeric constant」 というエラーが出てしまいます。 どこが間違っているのでしょう? 下がそのスケッチです。 なお、モータードライバにはTA7291Pを使用。 信号ピンである5番6番ピンをArduino5~10番ピンに振り分けて、それぞれにモーターを接続、 電源やGNDは共有してます。 なお、ボタンを使わず、単純に3つのモーターのうち一つが回転するというというスケッチは出来ていて、実際にその通り動いています。 ------------------------------ //3つのモーターをランダムに動かす int val = 0 //入力ピンの状態がこの変数に記憶される void setup(){ pinMode(2,INPUT); //ボタンを入力に設定 pinMode(5,OUTPUT); //モーター(1)のドライバー5番ピンを出力に設定 pinMode(6,OUTPUT); //モーター(2)のドライバー5番ピンを出力に設定 pinMode(7,OUTPUT); //モーター(3)のドライバー5番ピンを出力に設定 pinMode(8,OUTPUT); //モーター(1)のドライバー6番ピンを出力に設定 pinMode(9,OUTPUT); //モーター(2)のドライバー6番ピンを出力に設定 pinMode(10,OUTPUT); //モーター(3)のドライバー6番ピンを出力に設定 } void loop(){ val = digitalRead(2); //入力を読み取りvalに格納 if (val == HIGH){ digitalWrite(random(5,8),HIGH);//ランダムにモーターを正回転させる } else { digitalWrite(5,LOW); digitalWrite(6,LOW); digitalWrite(7,LOW);//モータを止める } }

  • ゲートドライバICの発熱

    P型とN型で構成したFETについて、対角のFETのみをONとしてモータを駆動するテストをしております。 マイコンからの5VのPWM出力を制御の元にしております。 使用しているゲートドライバはTC4427で、対角をONにするために、PWM出力をインバータで反転したものと、反転をしないものを用いています。 PWMを周期24KHzで比4%の時にモータが回転し始めることを確認したのですが、 この際、ゲートドライバが発熱し、放っておくと焼けてしまう問題を抱えております。 ゲートドライバを用いることでゲートのON、OFFを高速にすることで可聴域以上の周期でモータを 駆動させることを目的としています。 FETもゲートドライバも電源は共に12Vであり、ゲートドライバとFETの中間にはダンピング抵抗?として20Ωを挟んでいます。また、ゲートドライバのデータシートに記載があったように、電源にはコンデンサを入れております。 手元にオシロスコープ等がないため詳細が確認できないのですが、このような現象は 考えられますでしょうか?対策は何をすれば良いのでしょうか? 予想としては、 ゲートドライバの回路図よりFETのゲートをチャージした電流は、OFF時にはゲートドライバを通ってGNDに流れると思いますが、24KHzでゲートをチャージして開放する際に無駄となる電力が大きいということなのかなと素人考えをしております。。。FETの入力容量は1200pF程度です。

  • モータドライバ回路について

    大電流出力が可能なモータドライバICを探していて、見つけたことには見つけた(TA8429H)のですが、PWM波形を出力させてみると結構歪んでいました。 それで他の方法をと、ドライバ回路に関して検索をかけて下記のページを見つけました。 http://machidapc.maizuru-ct.ac.jp/machida/elec/motor/motorbody.htm#single それで質問なのですが、上記URLのページの(a),(c)の回路でのPWM信号の入力端にある「CMOS POSITIVE」というのは何のために設けてあるのでしょうか? 単にコンパレータで基準電圧とPWMの入力電圧を比較して、パルスがONの時だけ出力してるってことでいいんですかね? (でもそれならOFF時間の間は入力パルスが下がっているので、わざわざコンパレータを介してOFF時間の入力を取り除く必要はないと思うのですが。。。)

  • 東芝のロジックICの真理値表

    真理値表に「H」「L」「X」と記されてますが、 「H」はhigh(+5V)で「L」はlaw(0V)ですが残った「X」とはどこに繋げたらいいのでしょうか?

  • デジタルICについて

    電源電圧5vでIC74LS08に電源をつないだだけで 出力が全てHになってしまいます。 GNDにつながなくてなります。 つないでもなります。 入力をLにすると出力はLになります。 どうしてそうなるのか 分かりません。 正しく作動させる方法を教えてください。

  • マイコンとモータードライバ

    電子工作初心者です まだLチカを経てarduinoでモーターを動かしてみたりしてる段階のレベルです。 そこで質問があります マイコンとモータードライバーの違いってなんですか? 素人考えからするとモータードライバの役目はマイコンでできそうな気がしないでもないのですが、わざわざマイコンとは別に取り付けたり別で部品が売っているということはそうではないのだろうとしか想像できないレベルです。 果たして本当にpicだかavrだかを買ってきてプログラミングしてマイコンに組み込んでも同じ役割をさせることはできないのですか? よろしくおねがいします

  • サーボドライバ

    電圧指令形の速度制御サーボドライバで DCモータを制御しているものです. タコジェネによる速度帰還を外して ドライバに入力するD/A信号と モータへの出力信号を線形に近づけたいのですが, 単に帰還を外して0Vにしただけでは うまくいきません.(発振します) どなたかノウハウを 教えていただけませんでしょうか? よろしくお願い致します.

  • PIC12F683の入出力について

    GPIOレジスタとTRISIOレジスタの関係が理解できません、どなたか教えて頂けませんか。 1.GPIOのレジスタに「0」を設定すると電位は、H(ハイ)となるのですか、L(ロー)となるのですか。  2.TRISIOのレジスタに「0」を設定すると電位は、H(ハイ)となるのですか、L(ロー)となるのです。 3..TRISIOの「0」は、出力モードと説明がありますが、その時のp型FETに加えられる電位は、HですかLですか。 4.P型FETにはGPIO,TRISIOいずれか一方の電位が、Lであれば出力は、H、n型FETにはいずれも電位が、Lのとき出力は、Lと考えていいでしょうか。 5.TRISIOが「1」入力モードになるとなぜ、p型FET、n型FETとも動作しない様な説明がありますが なぜでしょうか。   以上の点が判然としませんのでGP(0.1.2.3.4.5)に、H出力するのか、L出力するのかわかりません。 教えていただけませんか。

  • インバータIC

    インバータICの入力端子が無接続であるとき,インバータICの出力 は‘L’レベル、‘H’レベルのどちらのレベルを出力しますか. また,その理由も教えてください.