Përmbajtje:

Kontrolluesi i baterisë me temperaturën dhe përzgjedhjen e baterisë: 23 hapa (me fotografi)
Kontrolluesi i baterisë me temperaturën dhe përzgjedhjen e baterisë: 23 hapa (me fotografi)

Video: Kontrolluesi i baterisë me temperaturën dhe përzgjedhjen e baterisë: 23 hapa (me fotografi)

Video: Kontrolluesi i baterisë me temperaturën dhe përzgjedhjen e baterisë: 23 hapa (me fotografi)
Video: TRAXXAS WIDE MAXX Rishikimi ITA-ÇFARË SHOW !!! 2024, Nëntor
Anonim
Image
Image
Ndryshimi Nga Projekti Bazë
Ndryshimi Nga Projekti Bazë

Testues i kapacitetit të baterisë.

Me këtë pajisje mund të kontrolloni kapacitetin e baterisë 18650, acidit dhe të tjerave (bateria më e madhe që kam testuar It'sshtë 6v Acid bateri 4, 2A). Rezultati i testit është në miliamper/orë.

Unë e krijoj këtë pajisje sepse kam nevojë për të kontrolluar kapacitetin e baterisë së rreme të Kinës.

Për siguri, shtova, duke përdorur një termistor, temperaturën e rezistencës së fuqisë dhe baterisë për të parandaluar që të nxehet shumë, me këtë truk unë mund të kontrolloj 6v Bateri Acid pa zjarr bordin (në ciklin e shkarkimit disa kohë shkoni te rezistenca e nxehtësisë së nxehtë dhe pajisja të presë 20 sekonda për të ulur temperaturën).

Zgjedh pak mikro kontrollues atmega328 nano të pajtueshëm (eBay).

I gjithë kodi është këtu.

Hapi 1: Ndryshimi nga Projekti Bazë

Unë vodha idenë nga projekti i OpenGreenEnergy, dhe e ribëj bordin për të shtuar veçori, kështu që tani bëhuni më i përgjithshëm.

v0.1

  • VCC e Arduino tani llogaritet automatikisht;
  • Ndryshore e shtuar për të ndryshuar cilësimin në një mënyrë më të rehatshme.
  • Përqindja e shtuar e shkarkimit
  • Temperatura e shtuar e baterisë dhe rezistencës së fuqisë

v0.2

  • Shtohet mundësia e zgjedhjes së baterisë
  • U krijua bordi prototip (shikoni skematikisht), me ekran, buton dhe altoparlant jashtë bordit sepse në të ardhmen do të doja të krijoja një paketë.
  • Menaxhimi i shtuar i kufirit të temperaturës në rezistencën e fuqisë kështu që unë mund të bllokoj procesin kur temperatura rritet përtej 70 ° (mbi këtë temperaturë duke u zvogëluar rezistenca e fuqisë).

v0.3

Së shpejti një tabelë nga ky shërbim

Hapi 2: V0.2 i Bordit

V0.2 të Bordit
V0.2 të Bordit

Në v0.2 për të mbështetur lloje të ndryshme të baterive, krijova një strukturë që duhet të mbushet me emrin e baterisë, tensionin minimal dhe tensionin maksimal (më duhet ndihmë për ta mbushur atë: P).

// Struktura e baterisë tipestruct BatteryType {char name [10]; noton maxVolt; noton 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 }};

Tani unë përdor një grup rezistencash 10k për ndarësin e tensionit për të lexuar temperaturën e dyfishtë të hyrjes analoge. Nëse dëshironi të ndryshoni mbështetjen e tensionit, duhet ta ndryshoni këtë vlerë (shpjegoni më mirë më tej):

// Rezistenca e tensionit të baterisë

#përcakto BAT_RES_VALUE_GND 10.0 #përcakto BAT_RES_VALUE_VCC 10.0 // Rezistenca e tensionit të rezistencës së fuqisë #përcakto RES_RES_VALUE_GND 10.0 #përcakto RES_RES_VALUE_VCC 10.0

Nëse nuk përdorni termistor, vendoseni këtë në false:

#përcakto USING_BATTERY_TERMISTOR të vërtetë

#përcakto USING_RESISTO_TERMISTOR e vërtetë

Nëse përdorni një ekran të ndryshëm i2c, duhet ta rishkruani këtë metodë:

tërheqje e zbrazët (e pavlefshme)

Në projekt, mund të gjeni skema mahnitëse, fotografi dhe më shumë.

Hapi 3: Tabela e gatimit: Kontrolluesi i ekranit të karaktereve I2c i zgjeruar

Breadboard: Kontrolluesi i ekranit të karaktereve I2c i zgjeruar
Breadboard: Kontrolluesi i ekranit të karaktereve I2c i zgjeruar

Kam përdorur një ekran të karakterit të përgjithshëm dhe kam ndërtuar kontrolluesin i2c dhe e kam përdorur me bibliotekën time të personalizuar.

Por nëse dëshironi, mund të merrni një kontrollues normal i2c (më pak se 1 €) me një bibliotekë standarde, kodi mbetet i njëjtë. I gjithë kodi i ekranit është në funksion të tërheqjes, kështu që ju mund ta ndryshoni atë pa ndryshuar gjëra të tjera.

Më mirë të shpjegohet këtu.

Hapi 4: Breadboard: Shfaqja e Karaktereve me I2c të Integruar

Breadboard: Shfaqja e Karaktereve me I2c të Integruar
Breadboard: Shfaqja e Karaktereve me I2c të Integruar

E njëjta skemë pa kontrolluar i2c u zgjerua.

Hapi 5: Realizimi

Për matjen e tensionit ne përdorim parimin e një ndarësi të tensionit (më shumë informacion në Wikipedia).

Me fjalë të thjeshta, ky kod është faktori shumëzues për matjen e tensionit të baterisë.

batResValueGnd / (batResValueVolt + batResValueGnd)

Kam futur 2 rezistencat e vlerës batResValueVolt dhe batResValueGnd pas dhe para telave të leximit analog.

batVolt = (mostra1 / (1023.0 - ((BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)) * 1023.0))) * vcc;

mostra 1 është leximet mesatare analoge;

referenca vcc Tensioni Arduino;

1023.0 është vlera maksimale e referencës e leximit analog (leximi analog Arduino shkon nga 0 në 1023).

Për të marrë amperazh ju nevojitet tension pas dhe para rezistencës së fuqisë.

Kur keni matur tensionin para dhe para rezistencës së fuqisë, mund të llogaritni miliamper që konsumon baterinë.

MOSFET përdoret për të filluar dhe ndaluar shkarkimin e baterisë nga rezistenca e energjisë.

Për siguri futa 2 termistorë për të monitoruar temperaturën e baterisë dhe rezistencës së fuqisë.

Hapi 6: Zgjerueshmëria

Zgjerueshmëria
Zgjerueshmëria
Zgjerueshmëria
Zgjerueshmëria

Unë përpiqem të krijoj një bord prototip që është i zgjerueshëm, por tani për tani unë përdor vetëm një grup minimal të kunjave (në të ardhmen do të shtoj led dhe butona të tjerë).

Nëse dëshironi tension mbështetës më të madh se 10v ju duhet të ndryshoni vlerën e rezistencës së baterisë dhe rezistencën sipas formulës

(BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)

në skemën Tensioni i fuqisë së rezistencës

Tensioni i fuqisë së rezistencës GND 1/2/(Tensioni i fuqisë së rezistencës 2/2 + Tensioni i fuqisë së rezistencës GND 1/2)

Pink është duke u bashkuar

Hapi 7: Lista e Pjesëve

Shuma Lloji i Pjesës Prona

  • 2 5mm Vidë TermiBlloku i Terminalit të Vidhosjes së PCB -së 8A 250V LW SZUS (eBay)
  • 1 klon Arduino Pro Mini (Nano i pajtueshëm) (eBay)
  • 1 FET P-Channel IRF744N ose IRLZ44N (eBay)
  • 11 Rezistencë rezistente 10kΩ 10kΩ (eBay)
  • 2 Sensori i Temperaturës (Termistor) 10kΩ; (eBay)
  • * Forma e përgjithshme e titullit mashkullor male (mashkull); (eBay)
  • * Forma e përgjithshme e titullit të femrës female (femër); (eBay)
  • 1 bord PerfBoard Prototip bordi 24x18 (eBay)
  • 10R, 10W

    rezistencë e energjisë (eBay) Unë gjej timen në një TV të vjetër crt.

Hapi 8: Bordi: Rivendosni, Gnd E Button për të zgjedhur baterinë

Bordi: Rivendosni, butoni Gnd E për të zgjedhur baterinë
Bordi: Rivendosni, butoni Gnd E për të zgjedhur baterinë

Në pjesën e majtë të kunjave mund të gjeni butonin dhe zilen.

Unë përdor 3 butona:

  1. një për të ndryshuar llojin e baterisë;
  2. një për të filluar shkarkimin e baterisë së zgjedhur;
  3. atëherë unë përdor pinin e rivendosjes për të rinisur të gjitha dhe për të aktivizuar operacionin e ri.

E gjithë pin është tërhequr tashmë, kështu që duhet të aktivizoni me VCC

Rivendosja aktivizohet me GND

Pink është duke u bashkuar

Hapi 9: Bordi: I2c dhe kunjat e furnizimit me energji elektrike

Bordi: I2c dhe kunjat e furnizimit me energji elektrike
Bordi: I2c dhe kunjat e furnizimit me energji elektrike

Në bazë mund të shihni VCC, GND dhe SDA, SCL për shfaqje (dhe të tjera në të ardhmen).

Pink është duke u bashkuar

Hapi 10: Bordi: Termistor dhe Matja e Tensionit

Bordi: Thermistor dhe Matja e Tensionit
Bordi: Thermistor dhe Matja e Tensionit

Në të djathtë ka kunja për të lexuar vlerën e termistorit, njëra për termistorin e resitsorit të energjisë dhe tjetra për termistorin e baterisë (kunjat meshkuj/femra për t'u bashkuar).

Pastaj ka kunja analoge që matin tensionin diferencial pas dhe para rezistencës së fuqisë.

Pink është duke u bashkuar

Hapi 11: Bordi: Rezistencë ndaj Matjes së Tensionit

Bordi: Rezistencë ndaj Matjes së Tensionit
Bordi: Rezistencë ndaj Matjes së Tensionit
Bordi: Rezistencë ndaj Matjes së Tensionit
Bordi: Rezistencë ndaj Matjes së Tensionit

Këtu mund të shihni rezistencën që ju lejon të mbani tensionin dyfish se arduino pin (10v), duhet ta ndryshoni këtë për të mbështetur më shumë tension.

Pink është duke u bashkuar

Hapi 12: Hapi i bashkimit: Të gjitha kunjat

Hapi i bashkimit: Të gjitha kunjat
Hapi i bashkimit: Të gjitha kunjat
Hapi i bashkimit: Të gjitha kunjat
Hapi i bashkimit: Të gjitha kunjat

Së pari shtoj të gjitha kunjat dhe e bashkoj.

Hapi 13: Hapat e bashkimit: Rezistori dhe Termistori Pulldown

Hapat e bashkimit: Rezistori Pulldown dhe Thermistor
Hapat e bashkimit: Rezistori Pulldown dhe Thermistor
Hapat e bashkimit: Rezistori Pulldown dhe Thermistor
Hapat e bashkimit: Rezistori Pulldown dhe Thermistor

Pastaj shtoj të gjithë rezolutën tërheqëse (për butonat) dhe lidhësin i2c (ekranin).

Pastaj termistori i rezistencës së fuqisë veryshtë shumë e rëndësishme, me baterinë acid që nxehet shumë.

Hapi 14: Hapat e bashkimit: MOSFET, Rezistenca ndaj Kontrollit të Tensionit

Hapat e bashkimit: MOSFET, Rezistenca ndaj Kontrollit të Tensionit
Hapat e bashkimit: MOSFET, Rezistenca ndaj Kontrollit të Tensionit
Hapat e bashkimit: MOSFET, Rezistenca ndaj Kontrollit të Tensionit
Hapat e bashkimit: MOSFET, Rezistenca ndaj Kontrollit të Tensionit

Tani duhet të fusim mosfet për të aktivizuar shkarkimin dhe rezistencën për të kontrolluar tensionin.

2 rezistencë për tensionin para rezistencës së fuqisë 2 rezistencë për tensionin pas rezistencës së fuqisë, kur e keni këtë tension mund të llogaritni konsumimin e miliamamit.

Hapi 15: Kodi

Mikrokontrolluesi është nano i pajtueshëm, kështu që duhet të vendosni IDE -në tuaj për të ngarkuar një Arduino Nano.

Për të punuar duhet të shkarkoni kodin nga depoja ime e github.

Atëherë duhet të shtoni 3 biblioteka:

  1. Wire: biblioteka standarde arduino për protokollin i2c;
  2. Biblioteka Termistore nga këtu jo bibliotekën që mund ta gjeni në arduino IDE, por versionin tim;
  3. LiquidCrystal_i2c: nëse përdorni version të zgjeruar/me porosi të përshtatësit i2c (versioni im) ju duhet të shkarkoni bibliotekën nga këtu, nëse përdorni komponentin standard mund të merrni bibliotekën nga arduino IDE, por gjithçka shpjegohet më mirë këtu.

Unë nuk e provoj LCD -në me bibliotekën standarde, më duket se ato janë të këmbyeshme, por nëse ka ndonjë problem, më lër të lirë të më kontaktosh.

Hapi 16: Rezultati Pas Montimit

Image
Image
Rezultati pas montimit
Rezultati pas montimit
Rezultati pas montimit
Rezultati pas montimit

Tabela bazë është në foto, atëherë mund ta provojmë.

Hapi 17: Së pari zgjidhni llojin e baterisë

Së pari zgjidhni llojin e baterisë
Së pari zgjidhni llojin e baterisë

Siç është përshkruar ne kemi një hartë të vlerës me konfigurimin e baterisë.

// Struktura e baterisë tipestruct BatteryType {char name [10]; noton maxVolt; noton 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 }};

Hapi 18: Filloni shkarkimin

Filloni shkarkimin
Filloni shkarkimin
Filloni shkarkimin
Filloni shkarkimin

Klikoni butonin e dytë filloni të shkarkoni.

Në ekran mund të shihni miliamperin aktual, miliamper/orë, përqindjen e shkarkimit, tensionin e baterisë dhe temperaturën e rezistencës së fuqisë dhe baterisë.

Hapi 19: Përjashtimet: Bateria u Hoq

Image
Image
Përjashtimet: Paralajmërimi i temperaturës
Përjashtimet: Paralajmërimi i temperaturës

Nëse e hiqni procesin e shkarkimit të baterisë do të ndalet, kur ta rifilloni Rinisni në vlerën e fundit.

Hapi 20: Përjashtimet: Paralajmërimi i temperaturës

Përjashtimet: Paralajmërimi i temperaturës
Përjashtimet: Paralajmërimi i temperaturës
Përjashtimet: Paralajmërimi i temperaturës
Përjashtimet: Paralajmërimi i temperaturës
Përjashtimet: Paralajmërimi i temperaturës
Përjashtimet: Paralajmërimi i temperaturës

Nëse temperatura (bateria ose rezistenca e energjisë) është e nxehtë, procesi i shkarkimit shkon në pauzë.

#përcakto BATTERY_MAX_TEMP 50

#përcakto RESISTANCE_MAX_TEMP 69 // 70 ° në fletën e të dhënave (Rezistentët e dëmtuar) #përcakto TEMP_TO_REMOVE_ON_MAX_TEMP 20

Vlera e paracaktuar për temperaturën maksimale është 50 ° për baterinë dhe 69 për rezistencën e energjisë.

Siç mund ta shihni në koment, rezistenca e fuqisë ndikohet nga deratimi kur kalon mbi 70 °.

Nëse alarmi është ngritur filloni TEMP_TO_REMOVE_ON_MAX_TEMP sekonda pauzë për të vendosur temperaturë të ulët.

Hapi 21: Testoni fuqinë

Testimi i Amperazhit
Testimi i Amperazhit

Rezultati i testit të amperazhit është i mirë.

Hapi 22: Paketa

Me përbërës të ndarë rezultati i paketës është i thjeshtë për tu realizuar.

Në një kuti duhet të ketë një drejtkëndësh për LCD, vrimat për butonat shtytës dhe një fuçi të jashtme femërore për të furnizuar tensionin nga furnizimi me energji elektrike.

Butoni i shtypjes nuk ka nevojë për rezistencë tërheqëse sepse e shtoj tashmë në bord.

Kur kam pak kohë e krijoj dhe e postoj.

Recommended: