Мазмуну:

Digispark ATtiny85 үчүн Батарея кубатын керектөөнү азайтуу: 7 кадам
Digispark ATtiny85 үчүн Батарея кубатын керектөөнү азайтуу: 7 кадам

Video: Digispark ATtiny85 үчүн Батарея кубатын керектөөнү азайтуу: 7 кадам

Video: Digispark ATtiny85 үчүн Батарея кубатын керектөөнү азайтуу: 7 кадам
Video: Как установить программатор USBasp 2024, Ноябрь
Anonim
Digispark ATtiny85 үчүн Батарея кубатын керектөөнү азайтуу
Digispark ATtiny85 үчүн Батарея кубатын керектөөнү азайтуу
Digispark ATtiny85 үчүн Батарея кубатын керектөөнү азайтуу
Digispark ATtiny85 үчүн Батарея кубатын керектөөнү азайтуу

же: 2032 тыйын уячасы бар Arduino 2 жыл иштейт.

Digispark Arduino тактаңызды Arduino программасы менен кутудан 20 мА 5 вольтто тартат.

2000 мАч 5 вольттуу электр банкы менен 4 күн гана иштейт.

1 -кадам: LiPo Батареясын колдонуу менен камсыздоо чыңалуусун азайтуу

LiPo батарейкасын колдонуу менен камсыздоо чыңалуусун азайтуу
LiPo батарейкасын колдонуу менен камсыздоо чыңалуусун азайтуу

LiPo батареясын 3.7 вольтто колдонуу Digispark тактаңызды 13 мА гана тартат.

2000 мАч батареясы менен 6 күн иштейт.

2 -кадам: CPU саатын азайтыңыз

Эгерде сиз программаңызда USB туташуусун, оор математиканы же тез сурамжылоону колдонбосоңуз, сааттын ылдамдыгын азайтыңыз. Мисалы IRMP инфракызыл китепканасы 8 МГцте жакшы иштейт.

1 МГцте Digispark 6 мА тартат. 2000 мАч батареясы менен 14 күн иштейт.

3 -кадам: Борттогу Power LED жана Power Regulator'ду алып салыңыз

Электр диодун диодго бычак менен туташтырган жез зымын үзүп же 102 каршылыгын алып салуу / өчүрүү.

Сиз азыр LiPo батареясын колдонуп жаткандыктан, борттогу электр регуляторун IC алып салсаңыз болот. Биринчиден, сырткы казыктарды ширетүүчү жана темирдин жардамы менен көтөрүңүз. Андан кийин чоң туташтыргычты ширетип, жөндөгүчтү алып салыңыз. Кичинекей жөнгө салуучулар үчүн, көп ширетүүнү колдонуңуз жана бардык 3 төөнөгүчтү чогуу ысытыңыз, андан кийин аны алып салыңыз.

1 МГц жана 3,8 вольтто сиздин Digispark азыр 4,3 мА тартат. 2000 мАч батареясы менен 19 күн иштейт.

4-кадам: USB D- Pullup Resistor (152 менен белгиленген) 5 Вольттон (VCC) ажыратуу жана аны USB V+ га туташтыруу

USB D- Pullup Resistor (152 деп белгиленген) 5 Вольттон (VCC) ажыратуу жана аны USB V+ га туташтыруу
USB D- Pullup Resistor (152 деп белгиленген) 5 Вольттон (VCC) ажыратуу жана аны USB V+ га туташтыруу

Бул өзгөртүү micronucleus жүктөгүчтүн all1.x версиялары менен шайкеш келет. Эгерде сизде тактада жаңы 2.x жүктөгүч бар болсо, анын атын "activePullup" менен 2.5 версиясына жаңыртууңуз керек. Мунун эң оңой жолу - бул digispark тактасынын жаңы пакетин орнотуу жана жүктөгүчтү сунушталган (!!! демейки же агрессивдүү эмес !!!) версиясы менен өрттөө.

ATtiny. This көрсөткөн резистордун капталындагы жез зымын үзгүлтүккө учуратуу USB интерфейсин өчүрөт жана өз кезегинде Digispark тактасын USB аркылуу программалоо мүмкүнчүлүгүн өчүрөт. Кайра иштетүү үчүн, бирок дагы эле энергияны үнөмдөө үчүн, резисторду (152 менен белгиленген) USB V+ түз байланыштырыңыз, ал shottky диодунун сырт жагында оңой жеткиликтүү. Диодду жана анын туура жактарын үзгүлтүксүздүк сыноочу аркылуу табууга болот. Бул диоддун бир тарабы ATtiny (VCC) 8 жана Digispark 5V пин 8ине туташкан. Башка жагы USB V+менен туташкан. Эми USB тартуу каршылыгы Digispark тактасы USBге туташканда гана иштетилет. программалоо учурунда.

Акыркы 2 кадам да бул жерде документтештирилген.

1 МГц жана 3.8 вольтто Digispark азыр 3 мА тартат. 2000 мАч батареясы менен 28 күн иштейт.

5 -кадам: Кечигүүнүн ордуна Уйкуну колдонуңуз ()

Кечигүүнүн ордуна Уйкуну колдонуңуз ()
Кечигүүнүн ордуна Уйкуну колдонуңуз ()

Узакка созулган кечиктирүүнүн ордуна, кубатты үнөмдөөчү CPU уктоосун колдонсоңуз болот. Уйку 15 миллисекунддан 8 секундага чейин 15, 30, 60, 120, 250, 500 миллисекунд жана 1, 2, 4, 8 секундага созулушу мүмкүн.

Уйкудан баштоо убакыты 65 миллисекунд болгондуктан, фабриканын дигиспарктык орнотуулары менен, 80 мсден ашкан кечигүүлөр гана уйкуга алмаштырылышы мүмкүн.

Уйку учурунда Digispark 27 мкА тартат. 200 мАч кнопкасы бар клетка 2032 менен 10 ай уктайт.

Туура айтуу үчүн, Digispark жок дегенде 65 миллисекундка чуркап жана 2 мА токтун тегерегинде чуркап, жок дегенде 8 секунд сайын ойгонушу керек. Бул 42 мкА жана 6 айлык орточо токко алып келет. Бул сценарийде сиздин программаңыз 10 миллисекундка (ар 8 секундда) иштесе, дээрлик эч кандай айырмасы жок.

Уйкунун коду:

#include #include volatile uint16_t sNumberOfSleeps = 0; extern volatile unsigned long millis_timer_millis; void setup () {sleep_enable (); set_sleep_mode (SLEEP_MODE_PWR_DOWN); // эң терең уйку режими…} void loop () {… sleepWithWatchdog (WDTO_250MS, true); // 250 мс уктоо… sleepWithWatchdog (WDTO_2S, чыныгы); // 2 с уктоо…}/ * * aWatchdogPrescaler 0 (15 мс) дан 3 (120 мс), 4 (250 мс) чейин 9 (8000 мс) */ uint16_t computeSleepMillis (uint8_t aWatchdogPrescaler) болушу мүмкүн {uint16_t tResultMillis = 8000; for (uint8_t i = 0; i 200 uA сактайт // wdt_enable () колдонот, анткени WDP3 бит WDTCR реестринин 5 -битинде экенин көзөмөлдөйт wdt_enable (aWatchdogPrescaler); WDTCR | = _BV (WDIE) | _BV (WDIF); // Watchdog interrupt иштетүү + үзгүлтүккө кайтаруу желегин -> ISRге муктаж (WDT_vect) sei (); // Enrupt interrupts sleep_cpu (); // Күзөтчүнүн үзгүлтүгү бизди уйкудан ойготот wdt_disable (); // Анткени кийинки үзгүлтүк башкача болот баштапкы абалга келтирүүгө алып келет, анткени wdt_enable () WDE / Watchdog System Reset Encable ADCSRA | = ADEN; / * * таймер сааты өчүрүлүшү мүмкүн болгондуктан, IDLE режиминде уктабаганда гана миллисти тууралаңыз (SM2… 0 биттери 000) * / эгер (aAdjustMillis && (MCUCR & ((_BV (SM1) | _BV (SM0))))))! = 0) {millis_timer_millis += computeSleepMillis (aWatchdogPrescaler);}} / * * Бул үзгүлтүк CPUны уйкудан ойготот * / ISR (WDT_vect) {sNumberOfSleeps ++;}

6 -кадам: Сактандыргычтарды өзгөртүү

27 мАнын 22 мАсы BOD тарабынан тартылган (BrownOutDetection/undervoltage аныктоо). BOD бир гана провайдердин программисти менен жасала турган сактандыргычтарды кайра программалоо аркылуу өчүрүлүшү мүмкүн. Бул скрипттин жардамы менен сиз токту 5,5 мкА чейин төмөндөтө аласыз, ошондой эле уйку убактысынан 4 миллисекундка чейин кыскартасыз.

Калган 5,5 мкАнын 5и активдүү көзөмөлдөөчү эсептегич тарабынан тартылган. Эгерде сиз ойготуу үчүн тышкы кайра орнотууларды колдоно алсаңыз, анда маалыматтык таблицада айтылгандай, учурдагы керектөө 0.3 мкА чейин түшүшү мүмкүн.

Эгерде сиз бул баалуулукка жете албасаңыз, анда себеп VCC менен тартуунун ортосундагы schottky диодунун тескери агымы өтө жогору болушу мүмкүн. 12 MOhm каршылыгы 3.7 вольтто 0.3 мкА тартаарын унутпаңыз.

Бул орточо учурдагы керектөөнүн 9 мкА (200 мАч баскыч клеткасы 2032 менен 2,5 жыл) алып келет, эгер сиз, мис. маалыматтарды бул жердегидей 3 миллисекунд сайын ар бир 8 секундда иштетүү.

7 -кадам: Кошумча маалымат

Digispark тактасынын учурдагы чиймеси.

Бул көрсөтмөлөрдү колдонуу менен долбоор.

Сунушталууда: