avr atTiny13a 15:16KHz動作


[ 16KHz動作って省エネ! ]

  以前128KHzで動作させたところ、省エネになりました。コンフィグの所には1/8のコマンドがあります、これって「もしかして16KHz動作もあるのかー」と思い試して見ました。
(この実験では[コンフィグ・リセッターが無いとリサイクル出来ないICになるかも!]で実験をされる方は要注意!)

 128KHzより1/8で16KHzです、これでLEDのチカチカぐらいは十分動きそうです。LEDがOFFの時はエネルギーが激減します。でどのぐらい電気を食うのか!気になってとりあえずプログラムを作って見ました。

 普通は「コンパレーターの電源がON状態」です。これって100uAぐらい使っていた感じがしましたのでこれもついでに試して見ました。[ ACD_bit=1; // OFF]

[ 実験 ]
電源	[0=ON]	[1=OFF]	差
5V	504uA	361uA	143uA
4V	310uA	210uA	100uA
3.3V	225uA	104uA	121uA
2.4V	136uA	25uA	111uA
2.0V	112uA	13uA	99uA
1.8V	102uA	11uA	91uA
*2.4Vば充電電池用の電圧です。
*1.8Vはメーカーのカタログ関連電圧です。
*Softは1秒のLED点滅様です。(電流ですが、スムースに変化してないのはプログラムが動いている、それをおよそで決めて測定している為です。)
 実験の結果 

[ これによると ]
 16KHzと電池電圧(2.4V)ぐらいだとすごく「省エネ」です。それどころかわざわざ1.8Vぐらいに落としても面白そうです(但し動けばの話ですが…)。
 昔は5V以外は考えもしなかったなー!

 これって結構面白いかも。

/*  16KHz LED ON-OFF    BY M.K    2014/05/23
    Used ROM  138 byte
    Config    1F 63          */

char   TC_Cunt;
sbit   LED_LP at PORTB4_bit;   // LED

void Timer_Overflow() iv IVT_ADDR_TIM0_OVF
{                              // 100mSec*10=1Sec
     TCNT0 = 231;              // again
     TC_Cunt++;
     if (TC_Cunt==10)
         TC_Cunt=0;
}

void main()
{
       DDRB   =0b00010000;
       PORTB  =0b00100111;     // PULL UP
   //
       ACSR.ACD=1;        // Analog Comparator Disable
       TCNT0  = 256-25;        // 62.5*64*25  100mSec
       TOIE0_bit = 1; // Timer0 Overflow Interrupt Enable
       SREG_I_bit= 1;
       TCCR0B =3;              // 1/64 Timer0 start
   //
       while (1)
       if (TC_Cunt==1)         // 1 = LED ON
          LED_LP=1;
       else
          LED_LP=0;
}

製作 2014/5/26 


 [MAIN MENU へ戻る]

inserted by FC2 system