Indholdsfortegnelse:

Lille 12V skærm: 4 trin
Lille 12V skærm: 4 trin

Video: Lille 12V skærm: 4 trin

Video: Lille 12V skærm: 4 trin
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, November
Anonim
Lille 12V skærm
Lille 12V skærm

Denne instruks er til en lille bilbatteri -skærm, der bare giver en lyskrydsindikator for batteriets helbred gennem 3 lysdioder.

Jeg ville have en, som jeg kunne efterlade permanent fastgjort og havde en meget lav strømtrækning. Årsagen var, at min bil havde været ubrugt i et stykke tid (11 uger - selvisolering) og batteriet var gået helt tomt. Dette er problematisk i min bil, da normal døråbning er afhængig af batteriet. Jeg kunne komme ind i førerdøren via en manuel sikkerhedskopinøgle, men måtte derefter kravle igennem til bagsiden af bilen, vedhæfte et backup -batteri på tværs af 12V -batteriet, så jeg kunne åbne resten af bilen og få batteriet ud til genoplad. Det hele gik godt, men jeg ville ikke gentage øvelsen.

Så jeg lavede denne lille skærm for at advare mig, før alt pakkede sammen. Jeg konstaterede også, at batteridrænning normalt var omkring 30mA med alle systemer slukket. Jeg tror, det er dørovervågning og alarmsystem. Det lyder ikke meget, men i betragtning af en længere periode med inaktivitet vil det tømme batteriet. Så jeg var ivrig efter ikke at tilføje for meget til denne belastning. Det endte med at tegne omkring 4mA gennemsnit. En stor del af strømbesparelsen er ved at blinke den relevante LED kun i en kort periode hvert 5. sekund

Skærmen er baseret på et Digispark -type ATTiny85 -modul, som er lille, billigt og har en anstændig ADC -indgang til at overvåge spændingen og nok GPIO til at drive 3 lysdioder.

Jeg brugte min modificerede version af dette til yderligere at sænke nuværende lavstrøm digispark, men det kunne bruges uden dette, hvis man er tilfreds med en ekstra 7mA strøm. Dette er beskrevet yderligere i den skematiske beskrivelse.

Trin 1: Værktøjer og komponenter

Værktøjer

Fine Point loddejern

Komponenter

  • Digispark ATTiny85 (enten normal USB eller mikro USB
  • prototypebord 6 x 7 huller
  • 3.3V regulator xc6203E332
  • 3 lysdioder rød, gul, grøn
  • Modstande 3 x 47R, 1 x 10K, 1 x 33K
  • Kondensator 10uF
  • Schottky -diode
  • Zenerdiode 7v5
  • 3 -polet stik
  • Kabinet - 3D -trykt boks

www.thingiverse.com/thing:4458026

Trin 2: Skematisk

Skematisk
Skematisk

Kredsløbet er meget enkelt. Schottky -dioden (polaritetsbeskyttelse) og en zener tilfører lavstrøm 3.3V regulatoren for at udlede en stabil 3.3V effekt til ATTiny.

En potentiel divider taber 12V batteriet med 4,3: 1 for at fodre ADC -indgangen på ATTiny. PB3 / ADC1 bruges til at undgå interferens fra USB -komponenterne på kortet. 3 lysdioder er tilsluttet PB0, PB1 og PB5 og bruger 47R modstande til at begrænse strømmen. PB5 bruges igen for at undgå interens i USB -drift. Dette kræver, at PB5 ikke er sikret programmeret til nulstilling. Dette er normalt for rigtige digisparks, men ikke nødvendigvis for kloner, og for disse skal sikringerne redigeres (se sikringseditor)

Hvis du vil undgå ændring af digisparken for at sænke strømmen, kan du bare bruge den medfølgende 5V regulator. Dette kræver et par ændringer.

  • Fjern xc6203 regulatoren og 7v5 zener, og før 12V direkte ind i Vin på Digispark.
  • Skift den potentielle divider til at sige 18K: 10K
  • Software spændingsgrænseværdier skal justeres lidt. Se afsnittet software.

Trin 3: Konstruktion

Konstruktion
Konstruktion
Konstruktion
Konstruktion

Jeg lavede det ekstra kredsløb på et 6 x 7 stykke prototypekort, der kan sidde oven på digisparken med hullerne direkte i linje med GPIO og spændingsstifterne.

Dette giver et meget kompakt modul, der kan passe i en meget lille æske. Jeg brugte et 3 -polet stik på boksen med de 2 udvendige stifter forbundet til 0V og midten til 12V. Det betyder, at polariteten ved at indsætte stikket er ubetydelig.

Trin 4: Software

Software er i form af en Arduino -skitse.

Kilden er tilgængelig på

Det er meget enkelt og har bare en simpel sløjfe, der hvert 5. sekund måler spændingen via ADC1 og derefter blinker den relevante LED.

De niveauer, der bestemmer tærsklerne, sættes af linjen

int ledLevels [LED_COUNT] = {907, 888, -1};

En ADC -læsning, der er større end det første tal, blinker grønt. En ADC, der er mindre end dette, men større end det andet, blinker gult. Alt andet blinker rødt.

For mig gav dette grønt> 12,4V, rav> 12,1V, rødt <12,1V.

Du kan kalibrere ved at bruge en variabel spændingsforsyning og kontrollere, hvor LED -ændringerne sker. Disse skal ændres, hvis du bruger standard 5V -regulatoren på Digispark.

Anbefalede: