Indholdsfortegnelse:
- Trin 1: Krav til hardware
- Trin 2: CloudX M633 mikrokontroller
- Trin 3: Fastgør forbindelser
- Trin 4: Kredsløbsdiagram
- Trin 5: Driftsprincip
- Trin 6: Softwareprogrammet
Video: Digital voltmeter med CloudX: 6 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
Batterier giver en renere form for jævnstrøm (jævnstrøm), når de bruges i kredsløb. Deres lave støjniveau gør dem altid perfekt til nogle meget følsomme kredsløb. Men på tidspunkter, hvor deres spændingsniveau løber ned under et bestemt tærskelpunkt, kan kredsløbene - (som de er beregnet til at drive), indgå i en uregelmæssig adfærd; især når de ikke er godt designet til at klare det.
Derfor opstår behovet for regelmæssigt at overvåge batteriets effektniveau for korrekt at guide os om, hvornår det skal udskiftes eller oplades - i tilfælde af et genopladeligt batteri. Derfor skal vi i denne DIY (Do It Yourself) designe en simpel batterispændingsmåler ved hjælp af CloudX - ved hjælp af 7Segmentet som vores display.
Trin 1: Krav til hardware
CloudX Microcontroller -modul
CloudX USB
SoftCard
7 Segmentvisning
Modstande
Strømforsyningsenhed
Brødbræt
Jumper (tilslutning) ledninger
Trin 2: CloudX M633 mikrokontroller
CloudX Microcontroller -modul
CloudX -modul er et elektronisk designhardwareværktøj, der giver dig en meget bekvem og nem måde at interagere med den fysiske verden via et simpelt mikrokontrolkort. Hele platformen er baseret på en open-source fysisk computing. Dens enkelhed ved et IDE (Integrated Development Environment) gør det virkelig en perfekt pasform for begyndere, men alligevel bevarer den nok funktionalitet til at give de avancerede slutbrugere mulighed for at navigere igennem. I en nøddeskal giver CloudX mulighed for en meget forenklet proces med håndtering af mikrokontrollen-ved at abstrahere de normale komplekse detaljer, der er forbundet med den; samtidig med at den tilbyder en meget rig brugeroplevelsesplatform. Det finder brede applikationer på tværs af baner: skoler, som et godt uddannelsesværktøj; industrielle og kommercielle produkter; og som et godt værktøj i hænderne på en hobbyist.
Trin 3: Fastgør forbindelser
7-segmentstifterne: A, B, C, D, E, F, G, 1, 2 og 3 er forbundet til CloudX-MCU's pin1, pin2, pin3, pin4, pin5, pin6, pin7, pin8, pin9, henholdsvis pin10 og pin11.
Trin 4: Kredsløbsdiagram
Mikrocontroller -modulet, der er i centrum her, kan tændes:
enten via Vin- og Gnd-punkterne (dvs. at tilslutte dem til henholdsvis din eksterne strømforsyningsenheds +ve og –ve terminaler) på tavlen;
eller via dit CloudX USB softcard -modul
. Mere over, som det let kunne ses af kredsløbsdiagrammet ovenfor, er inputbatteriets spænding forbundet med MCU (mikrokontroller) modulet, således at –punktet for spændingsdelerenetværket (dannet af og) er forbundet til A0 på MCU -stiften.
og vælges på en sådan måde, at:
begrænse mængden af strøm, der strømmer gennem netværket;
grænse inden for et sikkert område på (0 - 5) V for MCU'en.
Ved hjælp af formlen: VOUT = (R2/(R1+R2)) * VIN; og kan let evalueres.
Voutmax = 5V
og til dette projekt vælger vi: Vinmax = 50V;
5 = (R2/(R1+R2)) * 50 R1 = 45/5 * R2 Tager R2 for eksempel 10kΩ; R1 = 45/5 * 10 = 90kΩ
Trin 5: Driftsprincip
Når den målte indgangsspænding læses via VOUT -punktet i spændingsdelerenetværket, behandles dataene yderligere i MCU'en for at evaluere til den endelige faktiske værdi, der vises på segmentenheden. Det (systemdesignet) er en automatisk decimalpunktsplacering, idet den (decimalpunkt) faktisk skifter position på selve displayenheden i overensstemmelse med hvad flydeværdien dikterer på et givet tidspunkt. Derefter forbindes hele hardware 7-Segment displayenheden i multiplex-tilstand. Det er et særligt arrangement, hvorved den samme databus (8-datastifter) fra MCU'en føder de tre aktive 7-segmenter i displayenheden. At sende datamønster til hver af komponentdelene opnås ved en proces, der kaldes Scanning. Scanning er en teknik, der involverer afsendelse af data til hver af komponentens 7-segmenter; og muliggøre (dvs. tænde) dem hurtigt efter hinanden, når deres respektive data ankommer. Hastigheden af at adressere hver enkelt af dem gøres sådan, at det lykkes at bedrage den menneskelige vision til at tro, at de alle (komponentdelene) er aktiveret (adresseret) på samme tid. Det (scanning) anvender ganske enkelt et fænomen kendt som Persistence Of Vision.
Trin 6: Softwareprogrammet
#omfatte
#omfatte
#omfatte
#define segment1 pin9
#define segment2 pin10
#define segment3 pin11
float batt_voltage;
int decimalPoint, batt;
/*arrays, der gemmer segmentmønster for hvert givet ciffer*/
char CCathodeDisp = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F};
char CAnodeDisp = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};
int disp0, disp1, disp2;
Skærm() {
usigneret char i;
hvis (decimalpoint <10) {
disp0 = (int) batt_voltage /100; // henter MSD (mest signifikante ciffer)
// er den højeste vægtede
/* henter det næste vægtede ciffer; og så videre */
disp1 = ((int) batt_voltage % 100)/10;
disp2 = ((int) batt_voltage % 10);
}
andet {
disp0 = (int) batt_voltage /1000;
disp1 = ((int) batt_voltage % 1000)/100;
disp2 = ((int) batt_voltage % 100)/10;
}
/*Mønstre hældes ud til visning; og 0x80 tegn tilføjer et decimalpunkt
hvis den tilhørende betingelse er sand*/
for (i = 0; i <50; i ++) {
pin9 = pin10 = pin11 = HIGH;
hvis (decimalpoint <10)
portWrite (1, CCathodeDisp [disp0] | 0x80);
ellers portWrite (1, CCathodeDisp [disp0]);
segment1 = LAVT;
segment2 = HØJ;
segment3 = HØJ;
forsinkelseMs (5);
pin9 = pin10 = pin11 = HIGH;
hvis ((decimalPoint> = 10) && (decimalPoint <100))
portWrite (1, CCathodeDisp [disp1] | 0x80);
ellers portWrite (1, CCathodeDisp [disp1]);
segment1 = HØJ;
segment2 = LAVT;
segment3 = HØJ;
forsinkelseMs (5);
pin9 = pin10 = pin11 = HIGH;
hvis (decimalPoint> = 100)
portWrite (1, CCathodeDisp [disp2] | 0x80);
ellers portWrite (1, CCathodeDisp [disp2]);
segment1 = HØJ;
segment2 = HØJ;
segment3 = LAV;
forsinkelseMs (5);
}
}
setup () {// opsætning her
analogSetting (); // analog port initialiseret
portMode (1, OUTPUT); // Pins 1 til 8 konfigureret som output pins
/ * scannestifter konfigureret som udgangsstifter */
pin9Mode = OUTPUT;
pin10Mode = OUTPUT;
pin11Mode = OUTPUT;
portWrite (1, LOW);
pin9 = pin10 = pin11 = HIGH; // scan pins (som er aktive-lave)
// er deaktiveret i starten
loop () {// Program her
batt_voltage = analogRead (A0); // indtager den målte værdi
batt_voltage = ((batt_voltage * 5000) / 1024); // omregningsfaktor for 5Vin
batt_voltage = (batt_voltage * 50)/5000; // omregningsfaktor for 50Vin
decimalPoint = batt_voltage; // markerer, hvor decimalpunkt vises i
// den oprindelige værdi før datamanipulation
Skærm();
}
}
Anbefalede:
Waveshare E-ink Display præcis voltmeter (0-90v DC) med Arduino Nano: 3 trin
Waveshare E-ink Display Precise Voltmeter (0-90v DC) Med Arduino Nano: I denne instruktør bruger jeg et 2,9 '' Waveshare E-Paper display med en Arduino Nano, en spændingsdeler og en ADS1115 til at vise præcise spændinger op til 90 volt DC på E-Paper Display.Denne instruktive kombinerer disse to tidligere projekter:- Ardui
AC voltmeter ved hjælp af Arduino: 3 trin (med billeder)
AC voltmeter ved hjælp af Arduino: Dette er et simpelt kredsløb til at fastslå AC spændingen ved hjælp af Arduino UNO uden AC voltmeter !! GOD FORNØJELSE
Digital Arduino voltmeter: 3 trin
Digitalt Arduino voltmeter: Et voltmeter eller et spændingsmåler er et måleinstrument, der bruges til måling af spænding
Genopladeligt digitalt voltmeter ved hjælp af ICL7107 ADC: 7 trin (med billeder)
Genopladeligt digitalt voltmeter ved hjælp af ICL7107 ADC: I denne vejledning vil jeg vise dig, hvordan du laver et super simpelt digitalt voltmeter, der kan måle spændinger fra 20 mV til 200V. Dette projekt bruger ikke nogen mikrokontroller som arduino. I stedet for det vil en ADC, dvs. ICL7107 blive brugt med nogle passi
Digital voltmeter: 5 trin
Digital voltmeter: Dette er en let at bruge og billig DIY voltmeter. De samlede omkostninger ved at lave dette projekt er mindre end 200 INR eller 2,5 $