Tiny V/A-meter met INA219 - Ajarnpa
Tiny V/A-meter met INA219 - Ajarnpa
Anonim
Image
Image
Kleine V/A-meter met INA219
Kleine V/A-meter met INA219
Kleine V/A-meter met INA219
Kleine V/A-meter met INA219
Kleine V/A-meter met INA219
Kleine V/A-meter met INA219

Ben je het beu om je multimeter opnieuw aan te sluiten als je zowel spanning als stroom wilt meten voor een klein project? Tiny V/A-meter is het apparaat dat u nodig hebt!

Er is niets nieuws aan de INA219 hoge-zijstroomsensor. Er zijn tal van goede projecten die gebruik maken van de mogelijkheid om zowel stroom als spanning op een belasting te meten. Ik werd oorspronkelijk geïnspireerd door youtuber Julian Ilett en zijn video "10 Minute Arduino Project - INA219 Current Sensor". Maar ik wilde een compacte meter met een simpele interface en een 3D geprinte behuizing - dus besloot ik die zelf te maken.

Over de INA219-sensor:

De INA219 kan ±3,2A meten met een resolutie van 0,1mA. Dit doet hij door de spanningsval te meten over de weerstand van 0,1 ohm op de printplaat. Dus de sensor zal een zeer kleine spanningsval introduceren, maar slechts 320 mV in het ergste geval (3,2A). Als voorbeeld bij 100 mA is de daling slechts 10 mV. Als je wilt, is het mogelijk om de weerstand te veranderen om een hoger bereik of een hogere resolutie te krijgen. Tegelijkertijd meet de sensor ook de busspanning met een resolutie van 4 mV. In mijn ervaring zijn de spanningsmetingen zeer nauwkeurig. De nauwkeurigheid van de stroomaflezingen hangt af van de werkelijke weerstand van uw weerstand. Ze hebben meestal een tolerantie van 1% (maar je weet niet zeker of je de goedkope eBay-borden moet vertrouwen). Ik denk dat het mogelijk moet zijn om de resultaten te kalibreren als je de precieze waarde van de weerstand kent. Maar daar ben ik niet verder op ingegaan omdat de precisie goed genoeg was voor mijn behoeften. De sensor heeft verschillende versterkingsinstellingen - deze hebben geen invloed op de resolutie, maar helpen ruis in de lage bereiken te verminderen.

Kenmerken van de Tiny V/A-meter:

  • Kan worden gevoed via USB of via de stroomingang.

    • Bij levering via USB kan de ingangsvoeding variëren van 0 - 26V. Alleen de lekstroom van de sensor heeft invloed op het opgenomen vermogen. Leuk als je de capaciteit van een accu wilt verifiëren.
    • Indien gevoed door stroomtoevoer kan dit variëren van 4 - 15V. (Beperkingen van arduino-spanningsregelaar).
    • Geselecteerde invoer wordt gedetecteerd bij het opstarten of wijzigen en geeft een bereikbericht aan de gebruiker weer.
  • Kan tegelijkertijd spanning, stroom, vermogen en mAh weergeven.
  • mAh kan worden gereset.
  • Interface met één knop met kort / lang indrukken.
  • Selecteer INA219-bereiken: 26V / 3,2A, 26V / 1A of 16V / 0,4A.
  • Selecteer bemonsteringsfrequentie 100, 200, 500 of 1000 ms.
  • Schakel de sensorslaap in/uit om de lekstroom in de sensor te verlagen.
  • Instellingen worden opgeslagen in EEPROM en opnieuw geladen bij het opstarten
  • Seriële interface

    • Drukt resultaten af op serienummer. Kan worden gebruikt om te loggen.
    • Instellingen wijzigen met seriële opdrachten

Benodigdheden

1x Arduino Nano - Arduino Nano eBay-voorbeeld

1x INA219 sensorkaart - INA219 paarse sensorkaart eBay-voorbeeld

1x OLED 0,96" I2C 128X64 4-pins - OLED 0,96" Blauw I2C eBay-voorbeeld

1x TTP223 capacitieve aanraakschakelaar - TTP223 capacitieve aanraakknop PCB eBay-voorbeeld

1x Female Power Supply Jack Socket Mount - Female Power Jack hole mount eBay-voorbeeld

1x Male Power Supply Jack - Male Power Jack met schroefaansluitingen eBay-voorbeeld of Male Power Jack met Push-terminals eBay-voorbeeld

1x schuifschakelaar 2 positie 6-pins - schuifschakelaar 6-pins eBay-voorbeeld

Draden

1x 5-pins mannelijke connector (optioneel) - 2,54 mannelijke pin-headers eBay-voorbeeld

1x 5-pins vrouwelijke connector (optioneel) - Dupont-connectorset eBay-voorbeeld of 2.54 5-pins enkele rij-connector eBay-voorbeeld

Krimpkous (optioneel)

Gereedschap:

Soldeerbout

3D-printer (als u de 3D-geprinte behuizing wilt)

Lijmpistool

Stap 1: Schema's

Schema's
Schema's
Schema's
Schema's

Ik heb twee versies van de schema's gemaakt. Een traditionele en een op de foto gebaseerde. De aansluitingen zijn identiek, dus u kunt gebruiken wat u maar wilt.

Beschrijving

Het OLED-display en de INA219-sensor gebruiken beide I2C, dus ze hebben SDA en SCL nodig die zijn aangesloten op A4 en A5.

De uitgang van de capacitieve aanraaksensor zullen we verbinden met D2 voor invoer.

De schuifschakelaar heeft 6 pinnen - twee rijen van 3 pinnen. Eén rij wordt gebruikt om de stroomingang op Vin op de Arduino aan te sluiten. De andere rij verbindt D6 met aarde. Door interne pull-up op D6 te gebruiken, kan de Arduino zien of hij al dan niet is aangesloten op Vin.

Als laatste leiden we de positieve connector van de stroomingang (vrouwelijke stroomaansluiting) door de INA219 naar de positieve uitgang (mannelijke stroomaansluiting). Op deze manier kan de sensor de stroom die er doorheen gaat meten.

Stap 2: De zaak afdrukken

De zaak afdrukken
De zaak afdrukken
De zaak afdrukken
De zaak afdrukken

De koffer bestaat uit een doos en een deksel. Beide moeten gemakkelijk kunnen worden afgedrukt en de meeste printers kunnen ze zonder ondersteuning afdrukken. Maar u kunt ondersteuning toevoegen als u dat wilt.

Als je klaar bent klikken de twee delen in elkaar. Als je heel voorzichtig bent, kun je het weer openen. Maar de twee veersloten zijn een beetje kwetsbaar en kunnen breken als je niet voorzichtig bent.

Geen 3D-printer?

Als je geen toegang hebt tot een 3D-printer, weet ik zeker dat het mogelijk is om een ander hoesje te maken. U kunt een projectkoffer/doos van kunststof of aluminium kopen. Of je kunt zelf iets maken van hout of karton. Wees creatief!

Stap 3: Het deksel monteren

Het deksel monteren
Het deksel monteren
Het deksel monteren
Het deksel monteren
Het deksel monteren
Het deksel monteren
Het deksel monteren
Het deksel monteren

Het deksel bevat het OLED-scherm en de capacitieve aanraakknop. Soldeer draden op de componenten voordat u ze op hun plaats lijmt met een lijmpistool. Pas op voor het OLED-scherm - soms is het glas scheef op de print gemonteerd. Lijn dat dus uit voordat u het op zijn plaats lijmt. Als je een 5-pins connector hebt, voeg die dan toe aan de draden. Als je dat niet doet, is het nog steeds mogelijk om het scherm en de knop rechtstreeks op de Arduino aan te sluiten, maar het is wat moeilijker om mee te werken.

Stap 4: De hoofdbox monteren

De hoofdbox monteren
De hoofdbox monteren
De hoofdkast monteren
De hoofdkast monteren

Monteer Female power jack en de schuifschakelaar en schroef ze op hun plaats. Als u geen kleine schroeven kunt vinden die op de schakelaar passen, kunt u deze gewoon op zijn plaats lijmen. Ik denk dat ik de mijne uit een oude dvd-drive heb gehaald die ik uit elkaar heb gehaald:)

Verwijder pinnen en connectoren van de INA219 (indien gemonteerd) daar is niet genoeg ruimte voor in de doos. Sluit vervolgens de Arduino en INA219 volledig aan voordat u ze op hun plaats in de doos lijmt. Voeg opnieuw de 5-pins connector toe als je die hebt - of sluit hem gewoon rechtstreeks aan op het deksel.

Voltooi vervolgens de bedrading naar schakelaar- en voedingsaansluitingen. Op de schuifschakelaar soldeert u draden naar de twee pinnen die zich het dichtst bij de vrouwelijke stroomaansluiting op beide rijen bevinden. Op deze manier kun je de schakelaar naar de USB schuiven om USB-stroom te selecteren. En schuif de schakelaar naar ingang voor ingangsvermogen. Makkelijk te onthouden!

Sluit de zaak nog niet! Het is het beste om eerst te testen of alles werkt.

Stap 5: De Arduino programmeren

De Arduino programmeren
De Arduino programmeren

Als je de Arduino IDE nog niet hebt geïnstalleerd, haal het dan van arduino.cc

U moet ook de twee bibliotheken U8g2 en Adafruit INA219 installeren. Beide zijn beschikbaar in de bibliotheekmanager. Zorg ervoor dat u voor Adafruit INA219 versie 1.0.5 krijgt - de nieuwere versies vereisen extra bibliotheken en flash-geheugen, maar bieden op dit moment geen extra functionaliteit.

Haal vervolgens de broncode bijgevoegd in deze Instructable (Tiny-VA-Meter.ino en FlashMem.h) of haal de nieuwste versie van mijn GitHub Tiny-VA-Meter Git. Open nu Tiny-VA-Meter.ino met de Arduino IDE.

Sluit de Tiny V/A Meter met een USB-kabel aan op je computer.

Selecteer bij tools Board: "Arduino Nano", Processor: "ATmega328P" en de juiste poort. Mogelijk moet u de processor wijzigen in "ATmega328P (Old bootloader)", afhankelijk van uw arduino. Als je communicatiefouten hebt, probeer dat dan.

Druk op de uploadknop en wacht tot het klaar is.

Stap 6: Test of alles werkt

Voordat u de koffer sluit, is het een goed idee om te controleren of alles goed is aangesloten. U kunt deze stappen volgen om alle componenten te verifiëren:

1. Vanaf USB-voeding moet het display oplichten en de meetwaarden weergeven (ongeacht de stand van de schuifschakelaar).

2. Controleer of u van menu kunt wisselen door op de knop te tikken.

3. Sluit de voeding aan op de ingang en controleer of de meter de juiste spanning weergeeft.

4. Probeer de schuifschakelaar te verschuiven en controleer of de meter de bereikberichten weergeeft.

5. Nu kunt u proberen de schuifschakelaar op ingangsvermogen te zetten en de USB los te koppelen. De meter zou nog moeten werken.

6. Ten slotte moet u een belasting of apparaat op de uitgang kunnen aansluiten en controleren of de sensor de stroomafname leest.

Als al deze stappen zijn gelukt, zou uw meter perfect moeten werken! U kunt het deksel nu op zijn plaats klikken!

Stap 7: Leer door het menu te navigeren

Leer door het menu te navigeren
Leer door het menu te navigeren

Bij het opstarten zal de meter beginnen met het tonen van het beschikbare ingangsbereik afhankelijk van de stand van de schuifschakelaar: "Input range: 0-26V 3.2A" of "Input range: 4-15V 3.2A". Het bericht wordt slechts enkele seconden weergegeven, maar u kunt het overslaan door kort te drukken. Als de schuifschakelaar na het opstarten wordt gewijzigd, verschijnt er gedurende enkele seconden opnieuw een nieuw bericht.

In het kort navigeer je door kort te drukken en te selecteren door lang te drukken (1 sec).

De meter heeft 3 hoofdpagina's: V/A-display, V/A/W/Ah-display & instellingen. Een korte druk op de knop springt tussen deze pagina's.

Op de V/A/W/Ah-pagina kun je mAh resetten door lang te drukken.

Op de instellingenpagina kun je instellingen invoeren door lang te drukken. Nu kun je met een korte druk weer tussen verschillende instellingen navigeren. De beschikbare instellingen zijn "Sensorbereik", "Vernieuwingsfrequentie" & "Sensorslaap". U schakelt elke instelling door lang op te drukken. Als u voorbij de laatste instelling navigeert, keert de meter terug naar het V/A-displaymenu.

Stap 8: De seriële interface gebruiken

De seriële interface gebruiken
De seriële interface gebruiken

Bij aansluiting op een pc met USB kunt u de Arduino Serial Monitor (of een andere terminal) gebruiken om te communiceren met de Tiny V/A Meter. Het gebruikt baudrate 115200.

Met de geselecteerde bemonsteringsfrequentie zal de meter alle metingen serieel verzenden en dat kunt u gemakkelijk in de terminal aflezen.

Maar je kunt ook instellingen op de Tiny V/A Meter wijzigen met seriële commando's. Zorg ervoor dat u "Nieuwe regel" selecteert als regeleinde.

Elke ongeldige opdracht geeft het helpmenu weer:

Commando's: - reset (reset mAh)

- lees (antwoord met laatste resultaten)

- log x (Auto tx van monsters - x kan aan of uit zijn)

- slaap x (INA219 slaap tussen monsters - x kan aan of uit zijn)

- refresh x (Stel scherm & seriële vernieuwingsfrequentie in. x kan 100, 200, 500 of 1000 zijn)

- bereik x (Stel INA219 bereik in. x kan 0 zijn voor 3,2A, 1 voor 1A of 2 voor 0,4A)

Typ bijvoorbeeld "refresh 1000" om de bemonsteringssnelheid te wijzigen in 1 sec. Of typ "afmelden" om automatische verzending van resultaten uit te schakelen. De meter zal antwoorden met "OK" als dit gelukt is.

Stap 9: Klaar

Gedaan!
Gedaan!
Gedaan!
Gedaan!

Gebruik het nu om iets leuks te meten:)

Ik heb geprobeerd alle functies toe te voegen die ik nuttig vind. Maar voel je vrij om je eigen aanpassingen te doen. En deel het alsjeblieft als je geweldige verbeteringen kunt aanbrengen aan de Tiny V/A Meter!

Bijgewerkt 14/06-2020: Driver gewijzigd en meer functies toegevoegd! Deze handleiding wordt nog niet behandeld, maar je kunt hem bekijken op mijn GitHub.

Aanbevolen: