Мазмуну:
- 1 -кадам: LiPo Батареясын колдонуу менен камсыздоо чыңалуусун азайтуу
- 2 -кадам: CPU саатын азайтыңыз
- 3 -кадам: Борттогу Power LED жана Power Regulator'ду алып салыңыз
- 4-кадам: USB D- Pullup Resistor (152 менен белгиленген) 5 Вольттон (VCC) ажыратуу жана аны USB V+ га туташтыруу
- 5 -кадам: Кечигүүнүн ордуна Уйкуну колдонуңуз ()
- 6 -кадам: Сактандыргычтарды өзгөртүү
- 7 -кадам: Кошумча маалымат
Video: Digispark ATtiny85 үчүн Батарея кубатын керектөөнү азайтуу: 7 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:36
же: 2032 тыйын уячасы бар Arduino 2 жыл иштейт.
Digispark Arduino тактаңызды Arduino программасы менен кутудан 20 мА 5 вольтто тартат.
2000 мАч 5 вольттуу электр банкы менен 4 күн гана иштейт.
1 -кадам: 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+ га туташтыруу
Бул өзгөртүү 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 тактасынын учурдагы чиймеси.
Бул көрсөтмөлөрдү колдонуу менен долбоор.
Сунушталууда:
DIY Arduino Solar Tracker (Глобалдык жылуулукту азайтуу үчүн): 3 кадам
DIY Arduino Solar Tracker (Глобалдык жылуулукту азайтуу үчүн): Салам баарына, бул окуу куралында мен балдарга arduino микроконтроллеринин жардамы менен күн трекерин кантип жасоону көрсөтөм. Азыркы дүйнөдө бизди кызыктырган бир катар көйгөйлөр бар. Алардын бири климаттын өзгөрүшү жана глобалдык жылуулук. Зарылдыгы
Релени керектөөнү азайтуу - Учурдагы пикапты кармоо: 3 кадам
Реленин энергия керектөөсүн кыскартуу - Токтотуу Токтоосун кармоо: Көпчүлүк реле контакттар жабылгандан кийин релени кармап турууга караганда, биринчи кезекте көбүрөөк токту талап кылат. Релени кармоо үчүн керектүү ток (Токту кармап туруу) иштетүү үчүн керектүү баштапкы токтон кыйла аз болушу мүмкүн
Керектөөнү көзөмөлдөө үчүн автоматтык суу бөлүштүргүч: 6 кадам
Керектөөнү көзөмөлдөө үчүн автоматтык суу бөлүштүргүч: Саламатсызбы! Бир нече ай мурун мен бөлмөмдө мектептин тапшырмасы үчүн кандай долбоор жасагым келип жаткандыгы жөнүндө ойлонуп жаткам. Мен өзүмө ылайыктуу жана келечекте мага пайдалуу боло турган нерсени жасагым келди. Бир маалда бөлмөгө апам кирип
DIY Батарея Деңгээлинин Көрсөткүчү/Автоматтык түрдө 12v Батарея үчүн: 5 кадам (Сүрөттөр менен)
12v Батарея үчүн DIY Батарея Деңгээлинин Көрсөткүчү/Автоматтык түрдө Которуу: DIYers … Биздин жогорку деңгээлдеги заряддагычтарыбыз литий -полимердик батарейкаларды кубаттоо менен алек болгон учурда, биз дагы 12в коргошун кислотасы бар батарейканы жана жалгыз заряддагычты заряддашыбыз керек. алган сокур адам …. Ооба, сокур
Сиздин ноутбук минималдуу өндүрүмдүүлүк жоготуу менен батареянын кубатын кантип үнөмдөө үчүн: 4 кадам
Кантип ноутбук минималдуу өндүрүмдүүлүктү жоготуу менен батареянын кубатын үнөмдөйт: Ким сиздин ноутбугуңуз бир аз энергияны үнөмдөө үчүн жай иштеши керек деп ким айтат? Сиздин иштөөңүз же батареянын иштөө мөөнөтү ноутбуктун жашына, батареянын жашына жана башка программаларга жана орнотууларга жараша болот. Бул жерде көбөйтүүгө жардам берүү үчүн бир нече жөнөкөй кадамдар бар