INHOUDSOPGAWE:
- Stap 1: Verander van die basisprojek
- Stap 2: V0.2 van die Raad
- Stap 3: Breadboard: I2c Character Display Controller uitgebrei
- Stap 4: Broodbord: karaktervertoning met geïntegreerde I2c
- Stap 5: Realisering
- Stap 6: Uitbreidbaarheid
- Stap 7: Lys van onderdele
- Stap 8: Bord: herstel, knoppie E om die battery te kies
- Stap 9: Bord: I2c en kragbronne
- Stap 10: Bord: termistor en meetspanning
- Stap 11: Bord: weerstand teen die meting van spanning
- Stap 12: Soldeerstap: Alle penne
- Stap 13: Soldeerstappe: afweerweerstand en termistor
- Stap 14: Soldeerstappe: MOSFET, weerstand teen spanning
- Stap 15: Kode
- Stap 16: Resultaat na montering
- Stap 17: Kies eers batterytipe
- Stap 18: Begin ontslag
- Stap 19: Uitsonderings: battery verwyder
- Stap 20: Uitsonderings: Temperatuurwaarskuwing
- Stap 21: Toets Amperage
- Stap 22: Pakket
Video: Batterykontroleerder met temperatuur en batteryseleksie: 23 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
Batterykapasiteitstoetser.
Met hierdie toestel kan u die kapasiteit van die 18650 battery, suur en ander (die grootste battery wat ek getoets het, nagaan) Dit is 6v Acid battery 4, 2A). Die uitslag van die toets is in milliampere/uur.
Ek skep hierdie toestel, want dit is nodig om die valse porseleinbattery te kontroleer.
Vir die veiligheid het ek bygevoeg, met behulp van 'n termistor, die temperatuur van die kragweerstand en die battery om te verhoed dat dit te warm word; met hierdie truuk kan ek 'n 6V -suurbattery nagaan sonder om die bord te brand (in die siklus van ontlading gaan ek na 'n warm kragweerstand) en die toestel wag 20 sekondes om die temperatuur te verlaag).
Ek kies 'n klein mikrobeheerder atmega328 -versoenbare nano (eBay).
Al die kode is hier.
Stap 1: Verander van die basisprojek
Ek het die idee van die projek van OpenGreenEnergy gesteel, en ek het die bord oorgedra om funksies by te voeg, sodat ek nou meer algemeen word.
v0.1
- VCC van Arduino word nou outomaties bereken;
- Variabele bygevoeg om die instelling op 'n gemakliker manier te verander.
- Bygevoeg persentasie van ontslag
- Bygevoeg temperatuur van battery en kragweerstand
v0.2
- Bykomende moontlikheid vir batterykeuse
- Geskep prototipe bord (kyk die skema), met die skerm, knoppie en luidspreker buite die bord, want in die toekoms wil ek 'n pakket skep.
- Bygevoeg bestuur van die temperatuurgrens by die kragweerstand, sodat ek die proses kan blokkeer wanneer die temperatuur verder as 70 ° styg (oor hierdie temperatuurverlaging).
v0.3
Binnekort 'n bord van hierdie diens
Stap 2: V0.2 van die Raad
In v0.2 om verskillende soorte batterye te ondersteun, het ek 'n struktuur geskep wat gevul moet word met die naam van die battery, min spanning en maksimum spanning (ek het hulp nodig om dit te vul: P).
// Struktuur van batterytipe struktuur BatteryType {naam naam [10]; float maxVolt; dryf 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 }};
Nou gebruik ek 'n stel 10k weerstande vir die spanningsverdeler om die dubbele temperatuur van die analoog insette te lees. As u ondersteuning vir veranderingspanning wil hê, moet u hierdie waarde verander (verduidelik hieronder beter):
// Weerstand teen batteryspanning
#definieer BAT_RES_VALUE_GND 10.0 #definieer BAT_RES_VALUE_VCC 10.0 // Kragweerstand spanningsweerstand #definieer RES_RES_VALUE_GND 10.0 #definieer RES_RES_VALUE_VCC 10.0
As u nie 'n termistor gebruik nie, stel dit as onwaar:
#defineer USING_BATTERY_TERMISTOR waar
#defineer USING_RESISTO_TERMISTOR waar
As u 'n ander i2c -skerm gebruik, moet u hierdie metode herskryf:
leegte trek (leeg)
In die projek vind u skitterende sketse, foto's en meer.
Stap 3: Breadboard: I2c Character Display Controller uitgebrei
Ek het 'n generiese karaktervertoning gebruik, en ek het die i2c -beheerder gebou en dit saam met my persoonlike biblioteek gebruik.
Maar as u wil, kan u 'n normale i2c -beheerder (minder as 1 €) met 'n standaardbiblioteek neem, die kode bly dieselfde. Alle vertoonkode is in tekenfunksie, sodat u dit kan verander sonder om ander dinge te verander.
Beter hier verduidelik.
Stap 4: Broodbord: karaktervertoning met geïntegreerde I2c
Dieselfde skema sonder i2c -beheerde uitgebrei.
Stap 5: Realisering
Vir die meting van spanning gebruik ons die beginsel van 'n spanningsverdeler (meer inligting op Wikipedia).
In eenvoudige woorde, hierdie kode is die vermenigvuldigingsfaktor vir die meting van batteryspanning.
batResValueGnd / (batResValueVolt + batResValueGnd)
Ek het die 2 weerstande van batResValueVolt en batResValueGnd waarde ingevoeg na en voor die analoog leesdraad.
batVolt = (sample1 / (1023.0 - ((BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)) * 1023.0))) * vcc;
monster1 is die gemiddelde analoog lesings;
vcc verwysing Arduino spanning;
1023.0 is die maksimum verwysingswaarde van analoog lees (Arduino analoog lees gaan van 0 tot 1023).
Om stroom te kry, benodig u spanning na en voor die kragweerstand.
As u die spanning na en voor die kragweerstand meet, kan u die milliampere wat die battery verbruik, bereken.
Die MOSFET word gebruik om die dreinering van die battery van die kragweerstand te begin en te stop.
Vir veiligheid het ek 2 termistors ingesit om die temperatuur van die battery en kragweerstand te monitor.
Stap 6: Uitbreidbaarheid
Ek probeer 'n prototipe bord uitrek wat uitrekbaar is, maar vir eers gebruik ek slegs 'n minimale stel penne (in die toekoms sal ek leds en ander knoppies byvoeg).
As u 'n ondersteuningsspanning groter as 10v wil hê, moet u die weerstandswaarde van die battery en weerstand volgens die formule verander
(BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)
in die skema Weerstandspanning
Weerstandspanning GND 1/2/(Weerstandspanning 2/2 + Weerstandspanning GND 1/2)
Pienk is besig om te soldeer
Stap 7: Lys van onderdele
Bedrag tipe tipe eienskappe
- 2 5 mm skroefterminal Inwendige skroefaansluitblok met skroefdraad 8A 250V LW SZUS (eBay)
- 1 Arduino Pro Mini -kloon (versoenbaar Nano) (eBay)
- 1 Basiese FET P-kanaal IRF744N of IRLZ44N (eBay)
- 11 10kΩ Weerstandsweerstand 10kΩ (eBay)
- 2 Temperatuursensor (termistor) 10kΩ; (eBay)
- * Generiese manlike kopvorm ♂ (manlik); (eBay)
- * Generiese vroulike kopvorm ♀ (vroulik); (eBay)
- 1 PerfBoard -bord Prototipe -bord 24x18 (eBay)
-
10R, 10W
kragweerstand (eBay) Ek vind myne in 'n ou TV.
Stap 8: Bord: herstel, knoppie E om die battery te kies
In die linker gedeelte van die penne vind u die knoppie en die zoemer.
Ek gebruik 3 knoppies:
- een om die batterytipe te verander;
- een om die geselekteerde battery te begin ontlaai;
- dan gebruik ek die reset pin om alles weer te begin en die nuwe werking te aktiveer.
Alle pen is reeds afgetrek, dus moet u met VCC aktiveer
Herstel word geaktiveer met GND
Pienk is besig om te soldeer
Stap 9: Bord: I2c en kragbronne
Aan die basis kan u die VCC, GND en SDA, SCL sien (en ander in die toekoms).
Pienk is besig om te soldeer
Stap 10: Bord: termistor en meetspanning
Regs is daar penne om die termistorwaarde te lees, een vir termistor of kragresistor en die ander vir (manlike/vroulike penne om aan te heg) battery -termistor.
Dan is daar analoog penne wat die differensiële spanning na en voor die kragweerstand meet.
Pienk is besig om te soldeer
Stap 11: Bord: weerstand teen die meting van spanning
Hier kan u die weerstand sien wat toelaat dat die spanning dubbel as die arduino -pen (10v) ondersteun; u moet dit verander om meer spanning te ondersteun.
Pienk is besig om te soldeer
Stap 12: Soldeerstap: Alle penne
Eerstens voeg ek alle penne by en soldeer dit.
Stap 13: Soldeerstappe: afweerweerstand en termistor
Dan voeg ek alle aftrekresitor (vir knoppies) en i2c -aansluiting (skerm) by.
Dan is die termistor van die kragweerstand baie belangrik, aangesien die suurbattery te warm word.
Stap 14: Soldeerstappe: MOSFET, weerstand teen spanning
Nou moet ons mosfet insit om ontlading te aktiveer en weerstand om spanning te kontroleer.
2 weerstand vir spanning voor kragweerstand 2 weerstand vir spanning na kragweerstand, as u hierdie spanning het, kan u die verbruik van milliampere bereken.
Stap 15: Kode
Die mikrobeheerder is verenigbaar met nano, dus moet u u IDE instel om 'n Arduino Nano op te laai.
Om te werk, moet u kode aflaai van my github -bewaarplek.
Dan moet u 3 biblioteek byvoeg:
- Draad: standaard arduino -biblioteek vir i2c -protokol;
- Termistor Library hiervandaan nie die biblioteek wat u in arduino IDE kan vind nie, maar my weergawe;
- LiquidCrystal_i2c: as u 'n uitgebreide/aangepaste weergawe van i2c -adapter (my weergawe) gebruik, moet u die biblioteek hier aflaai, as u die standaardkomponent gebruik, kan u die biblioteek van arduino IDE neem, maar alles word hier beter verduidelik.
Ek toets nie die LCD met 'n standaard biblioteek nie; dit lyk vir my asof dit uitruilbaar is, maar as daar 'n probleem is, kan u my gerus kontak.
Stap 16: Resultaat na montering
Die basisbord is op die foto, dan kan ons dit toets.
Stap 17: Kies eers batterytipe
Soos beskryf, het ons 'n kaart van waarde met die konfigurasie van die battery.
// Struktuur van batterytipe struktuur BatteryType {naam naam [10]; float maxVolt; dryf 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 }};
Stap 18: Begin ontslag
Klik op die tweede knoppie om te begin laai.
Op die skerm kan u huidige milliampere, milliampere/uur, persentasie ontlading, batteryspanning en temperatuur van kragweerstand en battery sien.
Stap 19: Uitsonderings: battery verwyder
As u die ontladingsproses van die battery verwyder, gaan dit onderbreek, en dan begin u dit weer met die laaste waarde.
Stap 20: Uitsonderings: Temperatuurwaarskuwing
As die temperatuur (battery of kragweerstand) warm word, gaan die ontladingsproses tot stilstand.
#definieer BATTERY_MAX_TEMP 50
#definieer RESISTANCE_MAX_TEMP 69 // 70 ° op datablad (Derating resistors) #definieer TEMP_TO_REMOVE_ON_MAX_TEMP 20
Die standaardwaarde vir die maksimum temperatuur is 50 ° vir die battery en 69 vir die kragweerstand.
Soos u op die kommentaar kan sien, word die kragweerstand beïnvloed deur 'n derating wanneer dit meer as 70 ° gaan.
As die waarskuwing verhoog word, begin TEMP_TO_REMOVE_ON_MAX_TEMP sekondes se onderbreking om lae temperatuur te stel.
Stap 21: Toets Amperage
Die resultaat van die ampertoets is goed.
Stap 22: Pakket
Met 'n geskeide komponent is die resultaat van die pakket eenvoudig om te besef.
In 'n boks moet 'n reghoek vir die LCD, die gate vir drukknoppies en 'n eksterne wyfie vat gemaak word om spanning van die kragtoevoer te voorsien.
Drukknop het nie 'n aftrekweerstand nodig nie, want ek voeg dit reeds aan boord.
As ek tyd het, skep ek dit en plaas dit.
Aanbeveel:
BBQ -temperatuur- en vleissensor op ESP8266 met skerm: 5 stappe (met foto's)
BBQ -temperatuur- en vleissensor op ESP8266 met vertoning: in hierdie instruksies sal ek u wys hoe u u eie weergawe kan maak van 'n braai -gereedskap wat die huidige temperatuur in u braai meet en 'n waaier aanskakel om dit aan te steek indien nodig. Daarbenewens is daar ook 'n vleiskerntemperatuursensor wat
Band temperatuur temperatuur module: 5 stappe
Bandtemperatuurmodule: agtergrond: Formula Student is die wêreld se mees gevestigde opvoedkundige ingenieurswese -kompetisie waarin studente van verskillende universiteite meeding om 'n formule -tipe voertuig te ontwerp, te ontwikkel, te bou en te jaag. Hierdie voertuie lewer hoë prestasie in terme van
IoT -temperatuur- en humiditeitsmeter met OLED -skerm: 5 stappe (met foto's)
IoT -temperatuur- en humiditeitsmeter met OLED -skerm: Kontroleer temperatuur en humiditeit op 'n OLED -skerm wanneer u wil en versamel terselfdertyd die data in 'n IoT -platform. Verlede week het ek 'n projek genaamd Simplest IoT temperatuur en humiditeitsmeter gepubliseer. Dit is 'n goeie projek, want u kan
IoT -data -bediener met dubbele temperatuur: 12 stappe (met foto's)
IoT -data -bediener met dubbele temperatuur: dit is my eerste poging om 'n instruksies te skryf. As u dink dat dit nie te erg is nie, stem dan vir my in die eerste keer outeurwedstryd. Dit is my Lock-Down-projek om 2 temperature in 'n kweekhuis op afstand te monitor
Tuis sensor temperatuur temperatuur: 7 stappe
Huisnetwerktemperatuursensor: wat u moet weet om hierdie projek te maak: u moet weet van: - 'n paar elektroniese vaardighede (soldeer) - Linux - Arduino IDE (u moet addisionele borde in die IDE bywerk: http: // arduino.esp8266.com/stable/package_esp8266 …) - opdatering