Мазмуну:

Дагы бир Батарея кубаттуулугун текшерүүчү: 6 кадам
Дагы бир Батарея кубаттуулугун текшерүүчү: 6 кадам

Video: Дагы бир Батарея кубаттуулугун текшерүүчү: 6 кадам

Video: Дагы бир Батарея кубаттуулугун текшерүүчү: 6 кадам
Video: 🔔 Димаш Құдайберген отвечает на вопросы. Прямой эфир в день рождения Димаша 24.05.2020 (SUB) 2024, Ноябрь
Anonim
Батарея кубаттуулугун текшерүүчү дагы бир аппарат
Батарея кубаттуулугун текшерүүчү дагы бир аппарат
Батарея кубаттуулугун текшерүүчү дагы бир аппарат
Батарея кубаттуулугун текшерүүчү дагы бир аппарат

Эмне үчүн дагы бир кубаттуулукту текшерүүчү

Мен тестирлөөнү куруу боюнча көптөгөн көрсөтмөлөрдү окуп чыктым, бирок алардын бири да менин муктаждыктарыма жооп бербейт окшойт. Мен NiCd/NiMH же Lion клеткаларын эле эмес, дагы сынап көргүм келди. Мен электр шаймандарынын батареясын биринчи бөлүккө чыгарбай сынап көргүм келди. Ошентип, мен бул маселени жакшылап карап чыгып, өзүмдүн дизайнымды түзүүнү чечтим. Бир нерсе экинчисине алып келет, мен акыры өзүм үйрөткүч жазууну чечтим. Мен ошондой эле тестирлөөнү кантип куруу керектигине байланыштуу майда -чүйдөсүнө чейин барбоону чечтим, анткени ар бир адам резистордун өлчөмүн же PCB керекпи же Veroboard жетиштүүбү же тигил же бул вариантты чече алат, ошондой эле көрсөтмөлөр боюнча бир тонна бар. бүркүттү орнотуу же ПКБны кантип жасоо керек. Башкача айтканда, мен схемаларга жана кодго жана тестирлөөнү кантип калибрлөөгө көңүл бурам.

1 -кадам: Тарых - 1 -версия

Тарых - 1 -версия
Тарых - 1 -версия

Жогоруда 10В киргизүү колдоосу бар жогоруда көрсөтүлгөн биринчи версия (R12 & R17 & Q11 & Q12).

Биринчи версия аздыр -көптүр deba168 тарабынан көрсөтмө берүүдөн алынган (тилекке каршы, мен анын көрсөтмөсүн шилтеме менен камсыздай алган жокмун). Кичине гана өзгөртүүлөр киргизилген. Бул версияда менде мосфет башкарган 10 омдук бир жүктөө каршылыгы бар болчу. Бул кээ бир кыйынчылыктарды алып келди. Бир NiCd же NiMH клеткасын сыноодо керектүү убакыт, эгерде күн болбосо, саат менен оңой өлчөнөт. 1500 мАч батарейка 12 сааттан ашык убакытты талап кылды (ток 120мА эле). Башка жагынан алганда, биринчи версия 10В астындагы батареяларды гана сынай алган. Жана толук заряддалган 9.6V батарея чындыгында 10.2 чегинен улам текшерилбей турган 11.2В чейин болушу мүмкүн. Бир нерсе кылыш керек болчу. Биринчиден, мен чыңалуу бөлүштүргүчтөрүн 10Вдан ашык өткөрүүгө мүмкүнчүлүк берүү үчүн жөн эле бир нече мосфетти жана резисторду коштум. Бирок бул экинчи жагынан дагы бир көйгөйдү алып келди. 14.4V батарейка толугу менен жүктөлгөн tp 16.8V чейин болушу мүмкүн, бул 10 омдук резистор 1.68A токту жана албетте дээрлик 30 Вт жүк каршылыгынан энергияны бөлүүнү билдирет. Ошентип, аз чыңалуу менен өтө көп сыноо убактысы жана жогорку чыңалуу менен өтө жогорку ток. Албетте, бул адекваттуу чечим эмес жана андан ары өнүктүрүү керек болчу.

2 -кадам: 2 -версия

Мен батареянын чыңалуусуна карабастан, ток белгилүү бир чектерде кала турган чечимди кааладым. Бир чечим PWMди жана бир эле резисторду колдонуу болмок, бирок мен токту пульсация кылбастан же мосфет жылуулугун таркатуу керек болгон чечимди артык көрчүмүн. Ошентип, мен 10 3.3ohm резисторлорун жана ар бир резисторго мосфетти колдонуп, ар бири 2В болгон 10 чыңалуу уячалары бар чечим чыгардым.

3 -кадам: Мына ушундай болуп чыкты

Мына ушундай болуп чыкты
Мына ушундай болуп чыкты

Мосфеттин каршылыгы өтө төмөн болгондуктан, мосфеттин чыңалуусун жоготуу анча деле маанилүү эмес деп айтууга болот, бирок мен окурманга мосфеттин тандоосун таштап койгом, демек каршылык 1 Омдон ашып кетиши мүмкүн маселе Бир версияда туура мосфетти тандоо төмөнкү чекитти өлчөөнүн зарылчылыгын жок кылат, бирок 2 -версияда мен чыңалууну бир резистордун үстүнөн өлчөөнү чечтим, бул чындыгында эки өлчөө чекитине ээ болууну маанилүү кылат. Жана тандоонун себеби Veroboardдун зымдарын жөнөкөйлүгү болгон. Бул кандайдыр бир тактык катасын кошот, анткени бир резистордун ченелген чыңалуусу бардык резисторлорго караганда бир кыйла кичине. Компоненттерди тандоодо мен буга чейин колдо болгон нерсени же оңой ала турган нерсени колдонууну чечтим. Бул төмөнкү БОМго алып келди:

  • Arduino Pro Mini 5V! МААНИЛҮҮ! Мен 5V версиясын колдондум жана бардыгы ошонун негизинде
  • 128x64 I2C OLED дисплейи
  • 10 x 5W 3.3 Ом каршылыгы
  • 3 x 2n7000 төшөмөлөр
  • 10 x IRFZ34N төшөмөлөрү
  • 6 x 10 kOhm резисторлор
  • 2 x 5 кОм резисторлор
  • 16V 680uF конденсатор
  • 1 эски CPU күйөрманы

Мен схемага төмөнкүлөрдү кошкон жокмун

  • I2C линияларында тартылуучу резисторлор, мен байкадым, алар дисплейди туруктуу кылды
  • электр линиялары
  • 5V линиясындагы конденсатор дисплейди турукташтырды

Сыноо учурунда мен жүктөө резисторлору абдан ысык болорун байкадым, айрыкча, эгер алар бардыгы колдонулса. Температура Цельсий боюнча 100 градустан жогору көтөрүлдү (бул Фаренгейт боюнча 212 градустан жогору) жана эгерде тутумдун баары кутуга жабылса, анда кандайдыр бир муздатуу болушу керек. Мен колдонгон резисторлор 3.3 ом / 5 Вт жана максималдуу ток 2 В / 3.3 = 0.61А берген резисторго болжол менен 2 В менен келип чыгышы керек, бул 1.21 Вт алып келет. Мен кутуга жөнөкөй күйөрманы кошуу менен аяктадым. Көбүнчө менде эски CPU күйөрманы болгон.

Схемалык функционалдык

Бул абдан ачык жана түшүнүктүү. Текшериле турган батарея резисторлорго жана жерге туташкан. Чыңалуу өлчөө чекиттери - бул батарейканын туташуусу жана биринчи резистор. Чыңалуу бөлүштүргүчтөрү чыңалууну Arduino үчүн эң жакшы деңгээлге түшүрүү үчүн колдонулат. Бир санарип чыгаруу 10В же 20В диапазондорду тандоо үчүн колдонулат. Жүктөгү ар бир резистор өзүнчө түздөн -түз Arduino тарабынан башкарылуучу мосфеттерди колдонуп негизделиши мүмкүн. Акырында, дисплей Arduino I2C казыктарына туташкан. Схемалык J жөнүндө айтууга көп нерсе жок

4 -кадам: Код

Кодекс
Кодекс

Жогоруда коддун орой функциясын көрүүгө болот. Кел анда, кодду жакшылап карап көрөлү (arduino ino файлдары тиркелет). Бир катар функциялар жана андан кийин негизги цикл бар.

Негизги цикл

Өлчөө даяр болгондо жыйынтыктар көрсөтүлөт жана аткаруу ошол жерде аяктайт. Эгерде өлчөө али бүтө элек болсо, анда адегенде батарейканын кайсы түрү тандалып алынгандыгы текшерилет, андан кийин киргизүү боюнча чыңалуу. Эгерде чыңалуу 0,1В ашса, анда жок дегенде кандайдыр бир батарейканы туташтыруу керек. Бул учурда, кантип текшерүүнү чечүү үчүн, батарейканын ичинде канча клетка бар экенин аныктоого аракет кылуу үчүн чакан программа чакырылат. Уячалардын саны аздыр -көптүр жакшы маалымат, бирок бул версияда ал сериялык интерфейс аркылуу гана билдирилет. Эгерде баары жакшы болсо, разряд процесси башталат жана негизги циклдин ар бир турунда батареянын кубаттуулугу эсептелет. Негизги циклдин аягында дисплей белгилүү баалуулуктар менен толтурулат.

Жыйынтыктарды көрсөтүү тартиби

ShowResults функциясы жөн гана дисплейде көрсөтүлө турган саптарды жана сериялык интерфейске жөнөтүлө турган сапты белгилейт.

Чыңалууну өлчөө тартиби

Функциянын башында VD Arduino өлчөнөт. Бул аналогдук кирүүлөрдүн жардамы менен өлчөнүүчү чыңалуусун эсептей билүү үчүн керек. Андан кийин батарея чыңалуусу 20В диапазонун колдонуу менен өлчөнөт, кайсы диапазонду колдонууну чече алат. Андан кийин батареянын чыңалуусу да, резистордун чыңалуусу да эсептелет. Батареянын чыңалуусун өлчөө DividerInput классынын артыкчылыгын колдонот, анда чийки окууну же аналогдук кирүүнүн эсептелген чыңалуусун берүү үчүн окуу ыкмалары жана чыңалуу бар.

Колдонулган баалуулуктарды тандоо тартиби

SelectUsedValues функциясында клеткалардын саны божомолдонот жана аккумулятордун жогорку жана төмөнкү чектери разряд процедурасы менен колдонулат. Ошондой эле өлчөө башталды деп белгиленген, бул процедуранын чектери глобалдык өзгөрмөлөрдүн башында белгиленген. Алар туруктуу болушу мүмкүн жана алар глобалдык түрдө колдонулбагандыктан процедуранын ичинде да аныкталышы мүмкүн. Бирок, ар дайым жакшыртуу үчүн бир нерсе бар:)

Батарея кубаттуулугун эсептөө тартиби

Бошотуу функциясы батарейканын кубаттуулугун эсептөө менен алектенет. Бул параметр катары сыналып жаткан батарея үчүн чыңалуунун төмөнкү жана жогорку чектерин алат. Жогорку версия бул версияда колдонулбайт, бирок төмөн баа тестирлөөнү качан токтотууну чечүү үчүн колдонулат. Функциянын башында ушул максат үчүн түзүлгөн функция аркылуу резисторлордун саны аныкталат. Функция резистордун санын кайтарат жана ошол эле учурда разрядды баштайт жана эсептегичти баштапкы абалга келтирет. Андан кийин чыңалуу өлчөнөт жана токту эсептөө үчүн резистордун белгилүү мааниси менен бирге колдонулат. Эми биз чыңалуу менен токту жана акыркы өлчөө убактысын билгенден кийин, кубаттуулукту эсептей алабыз. Бошотуу процессинин аягында батареянын чыңалуусу төмөнкү чегине салыштырылат жана эгерде ал чектен ашса, разряд фазасы токтойт, мосфеттер жабылат жана өлчөө даяр деп белгиленет.

Колдонула турган резисторлордун санын табуунун тартиби

SelectNumOfResistors функциясында чыңалууну алдын ала коюлган баалуулуктарга жөнөкөй салыштыруу жүргүзүлөт жана жыйынтыгында колдонулуучу резисторлордун саны чечилет. Тийиштүү mosfet кээ бир резисторлорду өткөрүп жиберүү үчүн ачылат. Чыңалуу слоттору, разряд учурунда каалаган убакта максималдуу ток 600мАдан (2V/3.3Ohm = 606mA) бир аз кала тургандай тандалат. Функция колдонулган резисторлордун санын кайтарат. Вентилятор биринчи мосфет менен бир сызыктан айдалат, анткени ал агып жатканда дайыма ачылышы керек.

5 -кадам: Метрди калибрлөө

Метрди калибрлөө
Метрди калибрлөө

Метрди калибрлөө үчүн мен башка тиркеме түздүм (тиркелет). Бул ошол эле жабдыкты колдонот. Башында түзөтүүчү бөлүүчү маанилердин бардыгы 1000ге коюлган.

const int divCorrectionB10V = 1000; // 10V const int divCorrectionR10V = 1000 диапазонунда бөлүүчү коррекция мультипликатору; // 10V const int divCorrectionB20V = 1000 диапазонунда оңдоочу мультипликатор; // 20V const int divCorrectionR20V = 1000 диапазонунда оңдоочу мультипликатор; // 20V диапазонунда бөлүүчү коррекция мультипликатору

readVcc () функциясында натыйжада Vcc чыңалуусу функциянын акыркы сапына кайтып келүүдөн мурун көз каранды. Адатта интернетте эсептөөдө колдонула турган 1126400L маанисин таба аласыз. Мен жыйынтык туура эмес экенин байкадым.

Калибрлөө процесси:

  1. Өлчөө колдонмосун Arduinoго жүктөңүз.
  2. Жүктөө күйүп турган болсо, сиз Arduino'до (жана сериялык чыгарууда жана желдеткич айланып турганда) көрө аласыз. Эгер бул болсо, батарейканын түрүн тандоо которгучун буруңуз.
  3. Туура натыйжага жетиш үчүн readuVCC () маанисин тууралаңыз. Функциянын берген маанисин алыңыз (милливольтто) жана аны менен узун маанини бөлүңүз. Сиз ички шилтеменин чийки баасын аласыз. Эми мультиметр менен чыныгы вольтту милливольт менен өлчөп, аны мурда эсептелген чоңдукка көбөйтүңүз жана сиз жаңы оңдолгон узун маанини аласыз. Чыныгы Vcc 5.14V болгондо, менин ишимде 5288mV кайтарылды. Сыноо менен аяктаган 1126400/5288*5140 = 1094874 эсептөө. Жаңы маанини кодго салып, кайра Arduinoго жүктөңүз.
  4. Аналогдук кирүү каршылыгынын бөлүштүргүчтүн оңдоо баалуулуктарын эсептегичтин кирүүсүн камсыздоо үчүн колдонулуучу жөнгө салынуучу энергия булагы аркылуу болот. Эң жөнөкөй - 1Вдан 20Вга чейинки чыңалууларды 1В кадамдар менен колдонуу жана жыйынтыктарды электрондук жадыбалга жазуу. Электрондук таблицада орточо алынат. Түзөтүлгөн баалуулуктар төмөнкү формула менен эсептелет: "raw_value*диапазону*Vcc/Vin" Бул жерде raw_value 10VdivB, 10VdivR, 20VdivB же 20VdivR мааниси, кайсы түзөтүүнүн эсептелишине жараша болот.

Электрондук таблицанын мага кандай караганын караңыз. Орточо көрсөткүчтөр диапазондо боло турган маанилерден гана эсептелет жана ал баалуулуктар чыныгы метр колдонмосунда орнотулат.

Бул сыяктуу

const int divCorrectionB10V = 998; // диапазондогу оңдоочу бөлүүчү 10V const int divCorrectionR10V = 1022; // диапазондогу оңдоочу бөлүүчү 10V const int divCorrectionB20V = 1044; // диапазондогу оңдоочу бөлүүчү 20V const int divCorrectionR20V = 1045; // диапазондогу коррекциялоочу 20V диапазонунда

Резистордун маанисин жөндөө киришке бир аз чыңалуу берүү менен (б.а. 2В), жарганаттын түрүн которуштуруу (жүктөө үчүн) жана кирип жаткан токту жана биринчи резистордун чыңалуусун өлчөө жана чыңалууну токко бөлүү аркылуу жасалышы мүмкүн.. Мен үчүн 2V 607mA берди, ал 2/0.607 = 3.2948 Ом берет, мен аны 3.295 Омго чейин тегеректедим. Ошентип, азыр калибрлөө жүргүзүлөт.

6 -кадам: Акыркы ЭСКЕРТҮҮ

Бул жерде бир маанилүү эскертүү. Батареядан резисторго чейинки бардык туташуулардын эң жакшы абалда болушу өтө зарыл. Менде бир жаман байланыш бар болчу жана эмне үчүн мен батареяга караганда резистордук тордо 0.3В аз вольт алдым деп ойлонуп жаттым. Бул өлчөө процесси 1.2V NiCd клеткалары менен дээрлик дароо аяктады, анткени 0.95V астыңкы чекке тез жетти.

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