Sisukord:

Aku kontrollija temperatuuri ja aku valikuga: 23 sammu (piltidega)
Aku kontrollija temperatuuri ja aku valikuga: 23 sammu (piltidega)

Video: Aku kontrollija temperatuuri ja aku valikuga: 23 sammu (piltidega)

Video: Aku kontrollija temperatuuri ja aku valikuga: 23 sammu (piltidega)
Video: Вентиляция в хрущевке. Как сделать? Переделка хрущевки от А до Я. #31 2024, Detsember
Anonim
Image
Image
Muuda baasprojektist
Muuda baasprojektist

Aku mahtuvuse tester.

Selle seadmega saate kontrollida 18650 aku, happe ja muu mahutavust (suurim aku, mida testisin, see on 6 V happeaku 4, 2A). Testi tulemus on milliamper/tund.

Loon selle seadme, kuna vajan seda võltsitud Hiina aku mahtuvuse kontrollimiseks.

Turvalisuse huvides lisasin termistori abil toite takistuse ja aku temperatuuri, et vältida liiga kuumaks minemist, selle nipiga saan kontrollida 6v happeakut ilma plaati põlemata (tühjendustsükli ajal minge kuuma võimsustakisti juurde) ja seade ootab temperatuuri alandamiseks 20 sekundit).

Valin väikese mikrokontrolleri atmega328 ühilduva nano (eBay).

Kogu kood on siin.

Samm: muutke baasprojektist

Varastasin selle idee OpenGreenEnergy projektist ja teen funktsioonide lisamiseks tahvli ümber, nii et muutuge nüüd üldisemaks.

v0.1

  • Arduino VCC arvutatakse nüüd automaatselt;
  • Lisati muutuja, et seadet mugavamalt muuta.
  • Lisatud tühjendusprotsent
  • Lisatud aku ja võimsustakisti temperatuur

v0.2

  • Lisavõimalus aku valimiseks
  • Loodud prototüüpplaat (vaadake skemaatiliselt), kus ekraan, nupp ja kõlar on väljaspool tahvlit, sest tulevikus tahaksin luua paketi.
  • Lisatud on võimsustakisti temperatuuri piirangute haldamine, et saaksin protsessi blokeerida, kui temperatuur tõuseb üle 70 ° (selle temperatuuri võimsustakisti vähendamine).

v0.3

Varsti on selle teenuse pardal

2. samm: juhatuse V0.2

Juhatuse V0.2
Juhatuse V0.2

V0.2 -s, et toetada erinevat tüüpi patareisid, lõin struktuuri, mis tuleb täita aku nime, minimaalse pinge ja maksimaalse pingega (selle täitmiseks vajan abi: P).

// Aku tüübistruktuuri struktuur BatteryType {char name [10]; ujuk maxVolt; ujuk minVolt; }; #define BATTERY_TYPE_NUMBER 4 BatteryType batteryTypes [BATTERY_TYPE_NUMBER] = {{"18650", 4.3, 2.9}, {"17550", 4.3, 2.9}, {"14500", 4.3, 2.75}, {"6v Acid", 6.50, 5.91 }};

Nüüd kasutan pingejaguri jaoks 10k takistite komplekti, et lugeda analoogsisendi topelttemperatuuri. Kui soovite pingetuge muuta, peate seda väärtust muutma (selgitage parem järgmisena):

// Aku pingetakistus

#define BAT_RES_VALUE_GND 10.0 #define BAT_RES_VALUE_VCC 10.0 // Võimsustakisti pingetakistus #defineerimine RES_RES_VALUE_GND 10.0 #defineerimine RES_RES_VALUE_VCC 10.0

Kui te ei kasuta termistorit, määrake see väärtusele vale:

#define USING_BATTERY_TERMISTOR tõsi

#define USING_RESISTO_TERMISTOR true

Kui kasutate erinevat i2c ekraani, peate selle meetodi ümber kirjutama:

tühine viik (tühine)

Projektist leiate fritseerivaid skeeme, fotosid ja palju muud.

3. etapp: leivalaud: I2c märgi kuvamise kontroller on laiendatud

Paneel: I2c tähemärkide kuvamise kontroller on laiendatud
Paneel: I2c tähemärkide kuvamise kontroller on laiendatud

Kasutasin üldist tähemärkide kuvamist ja ehitasin i2c kontrolleri ning kasutasin seda oma kohandatud koguga.

Aga kui soovite, võite võtta tavalise raamatukoguga tavalise i2c -kontrolleri (alla 1 €), kood jääb samaks. Kogu ekraanikood on joonistusfunktsioonis, nii et saate seda muuta ilma muid asju muutmata.

Siin on parem seletatud.

Samm 4: Leibalaud: tähemärkide kuvamine integreeritud I2c -ga

Leibalaud: tähemärkide kuvamine koos integreeritud I2c -ga
Leibalaud: tähemärkide kuvamine koos integreeritud I2c -ga

Sama skeem ilma i2c kontrollita laiendatud.

5. samm: realiseerimine

Pinge mõõtmiseks kasutame pingejaguri põhimõtet (rohkem teavet Vikipeediast).

Lihtsamalt öeldes on see kood aku pinge mõõtmise kordaja.

batResValueGnd / (batResValueVolt + batResValueGnd)

Sisestasin batResValueVolt ja batResValueGnd väärtuse 2 takistust pärast ja enne analooglugemisjuhet.

batVolt = (proov1 / (1023.0 - ((BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)) * 1023,0))) * vcc;

sample1 on keskmine analoognäidud;

vcc viide Arduino pinge;

1023.0 on analooglugemise maksimaalne võrdlusväärtus (Arduino analooglugemine on vahemikus 0 kuni 1023).

Voolutugevuse saamiseks vajate pinget pärast ja enne võimsustakistit.

Kui olete mõõtnud pinge pärast ja enne võimsustakistit, saate arvutada aku tarbiva milliamperi.

MOSFET -i kasutatakse aku takistuse tühjenemise käivitamiseks ja peatamiseks.

Ohutuse tagamiseks sisestasin aku ja toite takistite temperatuuri jälgimiseks 2 termistorit.

6. samm: laiendatavus

Laiendatavus
Laiendatavus
Laiendatavus
Laiendatavus

Proovin luua laiendatava prototüüpplaadi, kuid praegu kasutan ainult minimaalset tihvtide komplekti (tulevikus lisan ledid ja muud nupud).

Kui soovite tugipinget üle 10 V, peate muutma aku takisti väärtust ja takistust vastavalt valemile

(BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)

skeemil Takisti toitepinge

Takisti toitepinge GND 1/2/(takisti toitepinge 2/2 + takisti toitepinge GND 1/2)

Roosa jootma

Samm: osade loend

Kogus Osatüübi omadused

  • 2 5mm kruviterminali
  • 1 Arduino Pro Mini kloon (ühilduv Nano) (eBay)
  • 1 põhiline FET P-kanal IRF744N või IRLZ44N (eBay)
  • 11 10 kΩ takisti takisti 10 kΩ (eBay)
  • 2 temperatuuriandur (termistor) 10 kΩ; (eBay)
  • * Üldine isase päise vorm ♂ (mees); (eBay)
  • * Üldine emase päise vorm ♀ (emane); (eBay)
  • 1 PerfBoard -plaadi prototüüpplaat 24x18 (eBay)
  • 10R, 10W

    võimsustakisti (eBay) Leian oma vana crt -telerist.

8. samm: juhatus: lähtestamine, Gnd E nupp aku valimiseks

Tahvel: lähtestamine, Gnd E nupp aku valimiseks
Tahvel: lähtestamine, Gnd E nupp aku valimiseks

Nööpnõelte vasakus osas leiate nupu ja helisignaali.

Kasutan 3 nuppu:

  1. üks aku tüübi muutmiseks;
  2. üks valitud aku tühjenemise alustamiseks;
  3. siis kasutan kõigi taaskäivitamiseks lähtestusnõela ja aktiveerin uue toimingu.

Kogu tihvt on juba alla tõmmatud, nii et peate aktiveerima VCC abil

Lähtestamine aktiveeritakse GND abil

Roosa jootma

9. samm: tahvel: I2c ja toiteplokid

Tahvel: I2c ja toiteplokid
Tahvel: I2c ja toiteplokid

Alusele näete kuvamiseks VCC, GND ja SDA, SCL (ja muud tulevikus).

Roosa jootma

10. samm: tahvel: termistor ja pinge mõõtmine

Tahvel: termistor ja pinge mõõtmine
Tahvel: termistor ja pinge mõõtmine

Paremal on nööpnõelad termistori väärtuse lugemiseks, üks toiteresistori termistori ja teine (isas-/naastriku tihvtide kinnitamiseks) aku termistori jaoks.

Siis on olemas analoogtihvtid, mis mõõdavad diferentsiaalpinget pärast ja enne võimsustakistit.

Roosa jootma

11. samm: tahvel: pinge mõõtmise takisti

Tahvel: pinge mõõtmise takisti
Tahvel: pinge mõõtmise takisti
Tahvel: pinge mõõtmise takisti
Tahvel: pinge mõõtmise takisti

Siin näete takistit, mis võimaldab toita pinget kahekordselt kui arduino pin (10v), peate seda muutma, et toetada rohkem pinget.

Roosa jootma

12. samm: jootmine: kõik tihvtid

Jootmise samm: kõik tihvtid
Jootmise samm: kõik tihvtid
Jootmise samm: kõik tihvtid
Jootmise samm: kõik tihvtid

Esiteks lisan kõik tihvtid ja jootan selle.

Samm 13: jootmise sammud: eemaldatav takisti ja termistor

Jootmise sammud: väljatõmmatav takisti ja termistor
Jootmise sammud: väljatõmmatav takisti ja termistor
Jootmise sammud: väljatõmmatav takisti ja termistor
Jootmise sammud: väljatõmmatav takisti ja termistor

Seejärel lisan kõik rippmenüü (nuppude jaoks) ja i2c -pistiku (ekraan).

Siis võimsustakisti termistor See on väga oluline, kuna happeaku läheb liiga kuumaks.

14. samm: jootmise sammud: MOSFET, vastupidavus pinge kontrollimisele

Jootmise sammud: MOSFET, vastupidavus pinge kontrollimisele
Jootmise sammud: MOSFET, vastupidavus pinge kontrollimisele
Jootmise sammud: MOSFET, vastupidavus pinge kontrollimisele
Jootmise sammud: MOSFET, vastupidavus pinge kontrollimisele

Nüüd peame sisestama mosfeti, et aktiveerida tühjendus ja pinge kontrollimiseks takistus.

2 takistus pingele enne võimsustakisti 2 takistus pingele pärast võimsustakistit, kui teil on see pinge, saate arvutada milliamperi tarbiva.

15. samm: kood

Mikrokontroller ühildub nanoga, seega peate seadistama oma IDE Arduino Nano üleslaadimiseks.

Töötamiseks peate koodi alla laadima minu githubi hoidlast.

Peate lisama 3 kogu:

  1. Traat: standard arduino raamatukogu i2c protokolli jaoks;
  2. Termistori raamatukogu siit mitte raamatukogu, mille leiate arduino IDE -st, vaid minu versioon;
  3. LiquidCrystal_i2c: kui kasutate i2c adapteri laiendatud/kohandatud versiooni (minu versioon), peate teeki siit alla laadima, kui kasutate standardkomponenti, saate teeki võtta arduino IDE -st, kuid siin on kõike paremini selgitatud.

Ma ei testi LCD -d tavalise raamatukoguga, mulle tundub, et need on omavahel asendatavad, kuid mõne probleemi korral võis minuga ühendust võtta.

16. samm: tulemus pärast kokkupanekut

Image
Image
Tulemus pärast kokkupanekut
Tulemus pärast kokkupanekut
Tulemus pärast kokkupanekut
Tulemus pärast kokkupanekut

Põhiplaat on fotol, siis saame seda testida.

Samm 17: Kõigepealt valige aku tüüp

Kõigepealt valige aku tüüp
Kõigepealt valige aku tüüp

Nagu kirjeldatud, on meil väärtuste kaart koos aku konfiguratsiooniga.

// Aku tüübistruktuuri struktuur BatteryType {char name [10]; ujuk maxVolt; ujuk minVolt; }; #define BATTERY_TYPE_NUMBER 4 BatteryType batteryTypes [BATTERY_TYPE_NUMBER] = {{"18650", 4.3, 2.9}, {"17550", 4.3, 2.9}, {"14500", 4.3, 2.75}, {"6v Acid", 6.50, 5.91 }};

Samm: alustage tühjendamist

Alustage tühjendamist
Alustage tühjendamist
Alustage tühjendamist
Alustage tühjendamist

Teise nupu klõpsamine hakkab tühjendama.

Ekraanil näete praegust milliamperit, milliamperit/tundi, tühjenemise protsenti, aku pinget ning võimsustakisti ja aku temperatuuri.

Samm 19: Erandid: aku on eemaldatud

Image
Image
Erandid: temperatuuri hoiatus
Erandid: temperatuuri hoiatus

Kui eemaldate aku tühjenemisprotsessi, mis peatub, taaskäivitades selle taaskäivitatakse viimase väärtusega.

20. samm: Erandid: temperatuuri hoiatus

Erandid: temperatuuri hoiatus
Erandid: temperatuuri hoiatus
Erandid: temperatuuri hoiatus
Erandid: temperatuuri hoiatus
Erandid: temperatuuri hoiatus
Erandid: temperatuuri hoiatus

Kui temperatuur (aku või võimsustakisti) läheb kuumaks, läheb tühjendusprotsess pausile.

#define BATTERY_MAX_TEMP 50

#define RESISTANCE_MAX_TEMP 69 // 70 ° andmelehel (vähendavad takistid) #define TEMP_TO_REMOVE_ON_MAX_TEMP 20

Maksimaalse temperatuuri vaikeväärtus on aku puhul 50 ° ja võimsustakisti 69.

Nagu kommentaarist näete, mõjutab võimsustakisti vähendamine üle 70 °.

Kui hoiatust tõstetakse, alustage madala temperatuuri seadmiseks TEMP_TO_REMOVE_ON_MAX_TEMP sekundit pausi.

21. samm: testige voolutugevust

Testi voolutugevust
Testi voolutugevust

Voolutugevuse testi tulemus on hea.

22. etapp: pakett

Eraldatud komponendiga on paketi tulemust lihtne realiseerida.

Karbis peab LCD jaoks olema ristkülik, nuppude augud ja välimine tünnitoru toitepinge toiteks.

Surunupp ei vaja tõmbetakistust, sest lisan selle juba pardale.

Kui mul on aega, loon ja postitan selle.

Soovitan: