• 締切済み

アトメルマイコンATtiny2313のパワーダウンモードに設定しても200uAも電流消費する。

現在、アキバで買ってきたアトメルのマイコンATtiny2313で、割り込みが入った場合、一定時間を測って、それが終了したら自ら電源消費を抑えるためにマイコンの機能の”パワーダウンモード”に入って、次の割り込みが入るまで待つといったようなプログラミングをしています。 ATtiny2313には内部RC発振器があるので、水晶発振子部品を付けて動作させるのではなく、内部RC発振器で128kHzに設定して動作させています。 http://reef.path.ne.jp/~hero/pdf/tiny2313.pdf ATtiny2313のデータシートの122ページ目にはRC発振器を128kHzで使った場合は供給電圧が3Vの時には、だいたい20uAくらいというグラフになっているのですが、実際動作させてみると200uAくらい食っています。また、パワーダウンモードに移行させてみても、マイコンは200uAを常に食っている感じになってしまいました。 パワーダウンモードになれば電流消費が10uA以下になると考えていた私としてはちょっと電流の取りすぎと思っているのですが、やはりこれくらいの電流消費量になってしまうのでしょうか。 ご存知の方いらっしゃいましたら是非ご教授よろしくお願い致します。

みんなの回答

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

測定方法を記載しないいけませんね ・測定器 ・測定回路 ・周辺回路とのからみ など

maeken0012
質問者

お礼

投稿いただきありがとうございます。 現在の回路図を記載します。 ちょっと動作させてみてわかったことがあるのですが、先ほどPB0,PB1,PB2,PB3端子につながる入力スイッチのうち1つだけONになっているスイッチをOFFにしてすべて内部のプルアップでHに設定したところ電流値が200uAから120uAになりました。ただ、プログラムでパワーダウンモードになっている時間帯でも120uA消費している状態です。スイッチが1つONして、LOWになるたびに100uA上がって行きます。 現在PB0,PB1,PB2,PB3端子はマイコンの内部のプルアップ機能でHにつっています。 RESET端子は10kオームでつっています。 電流計はMETEX社製のM-4650CRを使用しています。 パワーダウンモード期間ではLEDは点灯させていません。

maeken0012
質問者

補足

すみません。回路図を付けていませんでした。

関連するQ&A

  • アトメルマイコンでパワーダウンしても400uA消費

    現在、アトメル社製のマイコン ATxmega64a3uでプログラミングを行っています。特にパワーダウンモードに移行させて消費電流を削減したいと思っています。 前回、消費電流が思うように削減できなかったため質問させて頂きました。 ATxmega パワーダウンしても消費電流1mA @okwave https://okwave.jp/qa/q9930101.html 上記の質問サイトにて記述しておりますが、マイコンがパワーダウンさせても400uA程度消費している可能性があるとのことで、実際にマイコン以外の部品を外して、消費電流を計測してみたところ、やはり400uA程度消費していることを確認しました。 前回の質問で教えてもらった power_all_enable(); こちらの関数を利用して可能な限り消費電流を抑えたつもりなのですが、それでもパワーダウンモード中に400uA程度消費していました。 この場合なんですが、他に確認すべき箇所などはありますでしょうか? 一部基板担当の方から、 ”漏れ電流があるかもしれないから仕方ない・・・” みたいな声も聞こえてくるのですが、何か確認方法等ご教示頂きますようお願い致します。 なお、パワーダウンモードへのプログラムの一部ですが、 #include <avr/power.h> //------(中略)----------- main(void) { //------(中略)----------- wdt_disable(); power_all_disable(); sleep(); wdt_enable(0x26); //wdt timeout 4sec enable power_all_enable(); //------(中略)----------- }

  • AVRマイコンのパワーセーブモード時の消費電流

    AVRマイコンのパワーセーブモード時の消費電流について質問させて頂きます。 パワーセーブモード、パワーダウンモー時の消費電流を測定すると、 ・パワーセーブモード時消費電流:92.5μA(電源電圧:3V、動作クロック:31.25kHz、WDT無効) ・パワーダウンモード時消費電流:0.2μA(電源電圧:3V、動作クロック:31.25kHz、WDT無効) になりました。 AVRマイコンのマニュアルを見ると、 ・パワーセーブモード時消費電流:7μA(WDT無効) ・パワーダウンモード時消費電流:0.2μA(WDT無効) との記載があり、パワーセーブモード時消費電流においてマニュアル値と実測値で大幅な相違があります。 何らかのミスを犯していると思われますが、原因を推測できる方がいらっしゃいましたら、ご教示下さい。 AVRマイコンの型番は、『ATMEGA48V』になります。 よろしくお願い致します。

  • ATxmega パワーダウンしても消費電流1mA

    現在ATMELのマイコン(現在はmicrochip)ATxmega64A3Uでプログラミングを行っています。 https://avr.jp/user/DS/PDF/xmegaA4U.pdf このマイコンの機能で、パワーダウンモードというモードに移行すると、消費電流を1uA程度まで下げられるというので試してみました。 しかし、テスターで計測してみると、約1mA程度まで消費してしまっています。 ポートE、ポートFにディップスイッチを接続していて、ONにすると消費が上がり、OFFにすると消費が下がります。 なので、ポートE、ポートFにプルアップ抵抗が設定されてしまっているように感じます。 ただ、パワーダウンモードに設定すると自動的に各ポート端子は入インピーダンス状態にはならないのでしょうか? どうぞ、ご教示の程よろしくお願い致します。

  • ATtiny2313でsleep_mode()関数でパワーダウンモード機能はステートマシンでは使えない?

    C言語プログラミングでアトメル社製ATtiny2313マイコンでプログラミングをやってます。 ATtiny2313のパワーダウンモード機能を使って割り込み入力端子、INT0、INT1端子を使って、入力の組み合わせでLEDを数パターンの点滅させるステートを作り、入力がない場合は、パワーダウンモードのステートで消費電流を節約するようにし、次の割り込みを待つようなプログラムを作っています。 ただ、パワーダウンモードのステートに入って、きっかけである”sleep_mode();”関数を使うと、割り込み入力でウェイクアップさせようとしてもLEDの点灯ステートに行っていないようで、完全にマイコンが動作停止してしまいます。 この時の状態をyoutubeに動画投稿しましたので参照をお願いします。 現在このプログラムは https://sourceforge.jp/projects/midicv/svn/view/trunk/LED_FLASHER/?root=midicv このサイトで”Download GNU tarball”をクリックでダウンロードできるようになっております。 この問題の原因がわかるかたいらっしゃいましたら是非ご教授よろしくお願い致します。 ちなみに、このプログラムファイル”LED_FLASHER.c”の224行目のsleep_mode();関数をコメントアウトすると、このステートマシンはちゃんと動作できていることを確認しております。こちらも動画で掲載しております。

  • アトメル社製ATtiny2313マイコンのINT0端子、INT1端子の割り込みに優先順位は設定できる?

    ATtiny2313で割り込み端子入力2つを使用してINT0が入力されたら赤LEDを点灯させて、INT1端子が入力されたら黄LEDを点灯させて、どちらの入力もなかったらパワーダウンモードでマイコンの消費電流を最小限まで落とすというプログラムを作って動作させています。 だいたい割り込みのプログラムはできたのですが、INT0とINT1端子がどちらとも入力されていた場合INT0を優先して、割り込み1ベクタルーチンに飛ぶようにしたいのですが、今のプログラムは先に入った方の入力が優先されるようで、後から入ってきた割り込み端子入力は全く無視するようなプログラムになっているようです。 ATtiny2313のデータシートでINT0端子に優先的な割り込み許可を与えるレジスタ設定などがあるのかなと探しているのですが、よくわからない状態です。 現在のプログラムの動きを試験しているテスト基板の画像をyoutubeで動画にして投稿しました。 どなたかご存知のかたいらっしゃいましたらご教授よろしくお願い致します。

  • ATxmega AD変換を停止して消費電流を削減

    現在、ATxmega64a3uマイコンで、パワーダウンモードに移行させた場合に、消費電流が1mA程度というのを測定しました。 パワーダウンモードに移行する前にA0ポートピンで行っているAD変換機能を停止するため、 // adc disnable ADCA.CTRLA = 0 ; // Disnable the ADC PORTA.PIN0CTRL = (PORT_OPC_TOTEM_gc); // high-impedance このように、プログラムしてみたのですが、消費電流は1mA程度とそれほど変化がありません。 AD変換を停止できているかどうか確認する方法などはありませんでしょうか? AD変換が停止できているなら、どの程度電流消費を下げることができますでしょうか? どうぞ、ご教示の程よろしくお願い致します。

  • ATxmegaマイコンのヒューズビットのコード設定

    現在ATxmega64A3Uでプログラミングを行なっています。 このマイコンのパワーダウンモード機能を利用して、バッテリーの消費電流を可能な限り抑える必要があり、400uA程度だった消費電流を300uA程度まで低下させることができました。 原因がヒューズビットのBODPD機能で、このビット設定をATmega専用ライターでdisableに設定することで消費電流の軽減ができるようになりました。 同じファームウェアを搭載している基板にも同様のヒューズビット設定の変更を実施すれば良いのですが、プログラムで、電源起動時に同様の設定を実行することも可能ですか? どうぞ、ご教示の程宜しくお願い致します。

  • パワートランジスタのベース電流。

    2SC2625というパワートランジスタを使ってスイッチング電源を 作ろうかと思っています。 発振回路はPICを使って作っています。 しかしどうもドライブしきれていないような感じです。 一応2SC1815を使ってのダーリントン接続をしています。 たぶん2SC1815の容量不足によるベース電流の不足では無いかと 思っているのですが、確信が有りません。 どのような回路を組むのが良いのか、回答をお願い致します。 参考データシート http://www.alldatasheet.com/datasheet-pdf/pdf/94883/FUJI/2SC2625.html

  • ATmega88でマイコン動作がフリーズする。

    現在ATmega88マイコンを使っているのですが、パワーダウンモード機能で消費電流をおさえて、和入り込みINT1の入力の時だけウェークアップさせるようなプログラムを組んでいるのですが、この割り込みINT1を発生させても全く受け付けなくなる現象が発生しました(INT1のISRルーチンでLEDを点灯でウェークアップ動作を確認) 電源は3Vのリチウム電池を使用しています。 このような現象の対策として考えられることはありませんでしょうか? ご存じの方いらっしゃいましたら、ご教授の程よろしくお願い致します。

  • 過電圧保護回路について

    アルカリ乾電池4本(新品で約6.6V位)でマイコンを動作させようと思っています。このままでは電圧が高すぎる(マイコンは最大5.5Vまで)ので電圧制限をしなくてはなりません。同じ回路内に4.5V以上で動作する定電流IC回路(降圧)が有るので電池本数は減らせません。電池が新品のときにマイコンを過電圧から保護する事が最大の目的ですが、電池駆動なので省エネも考慮したくなかなか良い方法が浮かばず困っています。 自分で考えた案は以下のとおりです。 条件: ・電源電圧 アルカリ乾電池4本 (新品で)6.6V~       エネループ 4本 6~4V位(充電直後~放電完了まで) ・マイコン ATtiny13A http://www.atmel.com/dyn/resources/prod_documents/doc8126.pdf(上限5.5V) ・定電流IC LM3407×3個 http://www.national.com/profile/snip.cgi/openDS=LM3407(下限4.5V) ・ツェナーダイオード ルネサステクノロジ HZ4B-3-E http://documentation.renesas.com/jpn/products/diode/rjj03g0568_hz.pdf  ・3端子レギュレーター TA48M033F  質問したい事は、 1:ツェナーダイオードを使ったときの抵抗値(マイコンの正確な消費電力が判らず決めかねています。(参考190 μA at 1.8 V and 1 MHz=342mW) 入力電圧と出力電圧の差(2.5V~)÷ツェナー電流と負荷電流(10mA程度+マイコンの電流?) 入力電圧:6.6V~ツェナー電圧まで(4.1V) 出力電圧:4.1V ツェナー電流:10mA 負荷電流:?mA 抵抗250Ω以下程度という事で良いでしょうか? 2:上で抵抗値を求めたとして電源電圧が徐々に下がってくると、抵抗値が大きすぎ電流値が減りマイコンが動作しなくなる恐れがあります。そもそもツェナーダイオードでの電圧制限は間違っているのでしょうか? 3:3端子を使った場合、マイコンの消費電力に対して損失が大きすぎるように思いますが、ほかに省エネで良い方法があればご教授願います。