Taula de continguts:
Vídeo: Mesurador de voltatge precís i precís Arduino (0-90V CC): 3 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:10
En aquest instructiu, he construït un voltímetre per mesurar tensions altes de corrent continu (0-90v) amb relativa precisió i precisió mitjançant un Arduino Nano.
Les mesures de prova que vaig fer van ser prou precises, sobretot a 0,3 v de la tensió real mesurada amb un voltímetre estàndard (vaig utilitzar un Astro AI DM6000AR). Això és prou apropiat per al meu ús previst del dispositiu.
Per arxivar això, he utilitzat una referència de tensió (4.096v) i un divisor de tensió.
Pel que fa al codi, he utilitzat, per descomptat, l'opció de "referència externa" per a l'Arduino Nano i l'exemple de "Suavitzat" als tutorials d'Arduino.
Subministraments
1 x Arduino Nano - Link
1 x pantalla Oled (SSD 1306): enllaç
1 x 1 / 4W 1% de resistències - 1k ohm - Enllaç
Resistències 1 x 1 / 4W 1% - 220k ohm - Enllaç
Resistències 1 x 1 / 4W 1% - 10k ohm - Enllaç
1 x 4.096v LM4040DIZ-4.1 Referència de tensió - Enllaç
Taula de pa i cables - Enllaç
Astro AI DM6000AR - Enllaç
Banc d'alimentació USB: enllaç
Bateries de 9V: enllaç
CanadianWinters participa al Programa Associats d'Amazon Services LLC, un programa de publicitat afiliada dissenyat per proporcionar un mitjà perquè els llocs guanyin tarifes mitjançant l'enllaç a Amazon.com i llocs afiliats. Mitjançant l’ús d’aquests enllaços, com a associat d’Amazon, guanyo amb les compres que compleixin els requisits, fins i tot si compreu una altra cosa, i no us costarà res.
Pas 1: els esquemes
He connectat totes les parts segons els esquemes anteriors. En particular, vaig escollir la referència de voltatge 4.096 per mantenir-me el més a prop possible de la marca 5v per evitar perdre la resolució.
Després del full de dades, vaig triar una resistència de 1K ohm per a la referència de tensió tot i que es podria utilitzar un valor diferent. El voltatge de la referència es subministra des del pin Nano 5v.
La idea del circuit és que la tensió CC a mesurar passa per una resistència de tensió. El voltatge escalat i després entra al pin analògic de l'Arduino per ser mostrat, suavitzat, reescalat i mostrat a la pantalla OLed.
He intentat que les coses siguin senzilles:)
Pas 2: el càlcul del codi i de la resistència
Es van triar els valors de les resistències, ja que és aconsellable (si no m'equivoco, apareix al full de dades Arduino / Atmega) per mantenir la impedància per sota de 10k ohm.
Per simplificar les coses, he creat un full de càlcul que automatitza els càlculs per si voleu utilitzar diferents valors de resistència: enllaç a Google Sheet
Aquí teniu el codi que he utilitzat per a aquest projecte:
#incloure
#include U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2 (U8G2_R0); // (rotació, [restabliment]) tensió flotant = 0; // s’utilitza per emmagatzemar el valor de tensió flotant Radjust = 0,043459459; // Factor divisor de tensió (R2 / R1 + R2) flotant vbat = 0; // tensió final després dels calcs- tensió de la bateria flotant Vref = 4.113; // Referència de tensió: valor real mesurat. Valor nominal 4.096v const int numLectures = 50; // nombre de mostres de lectura: augmenta per obtenir més suavitzats. Disminueix per a una lectura més ràpida. lectures int [numLectures]; // les lectures de l'entrada analògica int readIndex = 0; // l'índex de la lectura actual sense signar llarg total = 0; // la mitjana total int corrent = 0; // variables per actualitzar la pantalla sense utilitzar retard sense signar long previousMillis = 0; // emmagatzemarà l'última vegada que es va actualitzar la pantalla // les constants no canviaran: const long interval = 50; // interval per actualitzar la pantalla (mil·lisegons) void setup (void) {analogReference (EXTERNAL); // utilitzeu AREF per a la tensió de referència 4.096. La meva tensió real de referència és 4.113v u8g2.begin (); for (int thisReading = 0; thisReading = numReadings) {// … embolcalla fins al principi: readIndex = 0; } // calcular la mitjana: mitjana = (total / numLectures); tensió = mitjana * (Vref / 1023.0); //4.113 és el Vref vbat = voltatge / Radjust; // Configuració del retard per a l'actualització de la pantalla mitjançant Millis if (currentMillis - previousMillis> = interval) {// desa l'última vegada que es va actualitzar la pantalla previousMillis = currentMillis; u8g2.clearBuffer (); // esborreu el menú intern // Visualització de la tensió del paquet u8g2.setFont (u8g2_font_fub20_tr); // font de 20px u8g2.setCursor (1, 20); u8g2.print (vbat, 2); u8g2.setFont (u8g2_font_8x13B_mr); // font de 10 px u8g2.setCursor (76, 20); u8g2.print ("Volts"); u8g2.setCursor (1, 40); u8g2.print ("CanadianWinters"); u8g2.setCursor (1, 60); u8g2.print ("Voltatge precís"); } u8g2.sendBuffer (); // transferir memòria interna al retard de visualització (1); }
Tingueu en compte que estic una mica rovellat amb la codificació Arduino, així que si trobeu algun error o una manera de millorar el codi, estic obert a suggeriments:)
Pas 3: provem-ho
Per provar aquest voltímetre vaig fer servir bateries de 8x 9v que vaig aconseguir en una botiga local. Tinc previst utilitzar aquest voltímetre per mesurar el voltatge de les bateries de les meves bicicletes elèctriques (tenen tensions que oscil·len entre els 24 i els 60 v amb els ocasionals de 72 v).
Una vegada que l’electrònica s’envasi en un pcb i una petita caixa, es convertirà en un bon mesurador de bateries portàtil. Els gràfics i tipus de lletra de l'OLED es poden personalitzar per adaptar-se a les vostres necessitats (per exemple, tipus de lletra més gran per facilitar la lectura).
El meu objectiu era tenir una lectura de voltatge al comptador Oled / Arduino no gaire lluny del meu multímetre digital. Jo pretenia +/- 0, 3v màxim delta. Com podeu veure al vídeo, vaig poder arxivar-ho excepte a l'extrem superior de les mesures.
Espero que us hagi agradat aquest instructiu i feu-me saber els vostres pensaments.
Recomanat:
Mesurador de voltatge CC de mida de butxaca DIY: 5 passos
Mesurador de voltatge CC de mida de butxaca de bricolatge: en aquest instructiu us mostraré com fer un mesurador de voltatge de CC de mida de butxaca de bricolatge amb brunzidor piezoelèctric per a la comprovació del circuit per vosaltres mateixos. Tot el que necessiteu és coneixement bàsic d’electrònica i una mica de temps. Si teniu alguna pregunta o problema, podeu
Mesurador de capacitat / mesurador de capacitats Autorange simple amb Arduino i a mà: 4 passos
Mesurador de capacitat / mesurador de capacitància Autorange simple amb Arduino i a mà: Hola! Per a aquesta unitat de física necessiteu: * una font d'alimentació amb 0-12V * un o més condensadors * un o més resistents de càrrega * un cronòmetre * un multímetre per a la tensió mesurament * un arduino nano * una pantalla de 16x2 I²C * resistències 1 / 4W amb 220, 10k, 4,7M i
Mesurador de voltatge de butxaca: 6 passos (amb imatges)
Mesurador de voltatge de butxaca: fa temps que faig servir una versió més gran d’aquest voltímetre i sempre va ser molt útil, doncs, quan vaig veure el Concurs de mida de butxaca, em vaig dir per què no vaig aprofitar aquesta oportunitat i vaig compartir-ho amb vosaltres. millores de disseny durant
Β Versió II de mesurador (més estable i precís): 6 passos
Β Versió II del mesurador (més estable i precís): https://www.instructables.com/id/Beta-Meter/ El mesurador β de la versió I era precís en silenci, però la font actual no era constant amb el voltatge d’entrada (Vcc). El mesurador β de la versió II és bastant estable, és a dir, el valor actual no canvia molt amb el canvi d’i
Mesurador de voltatge, amperi i potència versàtil: 6 passos (amb imatges)
Voltàmetre, amperi i potència versàtil: els multímetres són adequats per a molts usos. Però, normalment, només mesuren un valor a la vegada. Si ens ocupem de mesures de potència, necessitem dos multímetres, un per a la tensió i el segon per a Ampere. I si volem mesurar l’eficiència, necessitem fou