Indholdsfortegnelse:

Arduino Dual Channel Spændingssensormodul: 8 trin
Arduino Dual Channel Spændingssensormodul: 8 trin

Video: Arduino Dual Channel Spændingssensormodul: 8 trin

Video: Arduino Dual Channel Spændingssensormodul: 8 trin
Video: Dual channel MSGEQ7 + Arduino + SSD1306 2024, November
Anonim
Arduino dual channel spændingssensormodul
Arduino dual channel spændingssensormodul
Arduino dual channel spændingssensormodul
Arduino dual channel spændingssensormodul
Arduino modul med to kanaler
Arduino modul med to kanaler

Det er et par år siden, jeg har skrevet en instruerbar, jeg tænkte, at det er tid til at vende tilbage. Jeg har ønsket at bygge en spændingssensor, så jeg kan tilslutte min bænkstrømforsyning. Jeg har en tokanals variabel strømforsyning, den har ingen skærm, så jeg skal bruge et voltmeter til at indstille spænding. Jeg er ikke elektroingeniør eller programmør, jeg gør dette som en hobby. Når det er sagt, vil jeg beskrive, hvad vi skal bygge her, og det er måske ikke det bedste design eller den bedste kodning, men jeg vil gøre mit bedste.

Trin 1: Om projektet

Om projektet
Om projektet
Om projektet
Om projektet
Om projektet
Om projektet

Først og fremmest er dette bare et foreløbigt design af noget mere stabilt og pålideligt, nogle af komponenterne vil ikke ende i det endelige design. De fleste komponenter er kun blevet valgt på grund af tilgængelighed (jeg havde dem i mit hus) og ikke på grund af deres pålidelighed. Dette design er til en 15V strømforsyning, men du kan udskifte et par passive komponenter og kan få det til at fungere på enhver spænding eller strøm. Strømsensorerne fås i 5A, 20A og 30A, du kan bare vælge strømstyrken og ændre koden, det samme med spændingsføleren kan du ændre værdien af modstande og koden for at måle højere spændinger.

PCB'et har ingen indstillede værdier, fordi du kan udskifte passive komponenter for at imødekomme dine strømforsynings behov. Det er designet til at blive tilføjet til enhver strømforsyning.

Trin 2: Spændingssensorer

Spændingssensorer
Spændingssensorer
Spændingssensorer
Spændingssensorer
Spændingssensorer
Spændingssensorer
Spændingssensorer
Spændingssensorer

Vi starter med spændingssensorer og strømfølere. Jeg bruger en Arduino Mega til at teste kredsløbene og koden, så nogle af begyndere som jeg selv kan lave og teste deres egne i farten i stedet for at skulle bygge hele modulet på et brødbræt.

Vi kan kun måle 0-5 volt ved hjælp af Arduinos analoge indgange. For at vi skal kunne måle op til 15 volt skal vi oprette en spændingsdeler, spændingsdelere er meget enkle og kan oprettes ved hjælp af kun 2 modstande i dette tilfælde bruger vi en 30k og en 7,5k, der ville give os et forhold på 5: 1, så vi kan måle værdier på 0-25 volt.

Deleliste til spændingssensor

R1, R3 30k modstande

R2, R4 7,5k modstande

Trin 3: Aktuelle sensorer

Nuværende sensorer
Nuværende sensorer
Nuværende sensorer
Nuværende sensorer
Nuværende sensorer
Nuværende sensorer
Nuværende sensorer
Nuværende sensorer

For de nuværende sensorer kommer jeg til at bruge ACS712 lavet af Allegro. Den første ting, jeg skal nævne, er, at jeg ved, at disse sensorer ikke er særlig præcise, men det er, hvad jeg havde ved hånden, da jeg designede dette modul. ACS712 fås kun i en pakke til overflademontering, og den er en af de meget få SMD -komponenter, der bruges i dette modul.

Liste over aktuelle sensordele

IC2, IC3 ASC712ELC-05A

C1, C3 1nF kondensator

C2, C4 0.1uF kondensator

Trin 4: Temperatursensor og blæser

Temperatursensor og blæser
Temperatursensor og blæser
Temperatursensor og blæser
Temperatursensor og blæser
Temperatursensor og blæser
Temperatursensor og blæser

Jeg besluttede at tilføje temperaturregulering til modulet, fordi de fleste strømforsyninger genererer en god mængde varme, og vi har brug for beskyttelse mod overophedning. Til temperatursensoren bruger jeg en HDT11 og til blæserstyringen vil vi bruge en 2N7000 N-kanal MOSFET til at drive en 5V CPU-blæser. Kredsløbet er ganske enkelt, vi skal bruge spænding til transistorens afløb, og vi anvender en positiv spænding til porten, i dette tilfælde bruger vi arduinoens digitale udgang til at levere den spænding, og transistoren tænder, så ventilatoren kan være energisk.

Koden er meget enkel, vi tager en temperaturmåling fra DHT11 -sensoren, hvis temperaturen er større end vores indstillede værdi, sætter den udgangsstiften HØJ, og blæseren tænder. Når temperaturen falder til under den indstillede temperatur, blæser ventilatoren. Jeg bygger kredsløbet på mit brødbræt for at teste min kode, jeg tog nogle hurtige billeder med min celle, ikke særlig godt undskyld, men skematikken er let at forstå.

Temperatursensor og ventilatorliste

J2 DHT11 Temp Sensor

R8 10K modstand

J1 5V VENTILATOR

Q1 2N7000 MOSFET

D1 1N4004 Diode

R6 10K modstand

R7 47K modstand

Trin 5: Strømkredsløb

Strømkredsløb
Strømkredsløb
Strømkredsløb
Strømkredsløb
Strømkredsløb
Strømkredsløb

Modulet kører på 5V, så vi har brug for en stabil strømkilde. Jeg bruger en L7805 spændingsregulator til at levere en konstant 5V forsyning, ikke meget at sige om dette kredsløb.

Liste over strømkredsløb

1 L7805 spændingsregulator

C8 0,33uF kondensator

C9 0.1uF kondensator

Trin 6: LCD- og serieudgange

LCD- og serieudgange
LCD- og serieudgange
LCD- og serieudgange
LCD- og serieudgange
LCD- og serieudgange
LCD- og serieudgange
LCD- og serieudgange
LCD- og serieudgange

Jeg designede modulet til at blive brugt med en LCD i tankerne, men besluttede derefter at tilføje seriel output til fejlfinding. Jeg vil ikke gå i detaljer om, hvordan jeg konfigurerer en I2C LCD, fordi jeg allerede har dækket den i en tidligere instruerbar I2C LCD Den nemme måde, jeg tilføjede LED'er til Tx & Rx -linjerne for at vise aktivitet. Jeg bruger en usb til seriel adapter, som jeg tilslutter til modulet, så åbner jeg den serielle skærm i Arduino IDE, og jeg kan se alle værdierne, sørge for at alt fungerer, som det skal.

Liste over LCD- og serieudgange

I2C 16x2 I2C LCD (20x4 valgfri)

LED7, LED8 0603 SMD LED

R12, R21 1K R0603 SMD -modstand

Trin 7: ISP -programmering og ATMega328P

ISP -programmering og ATMega328P
ISP -programmering og ATMega328P
ISP -programmering og ATMega328P
ISP -programmering og ATMega328P
ISP -programmering og ATMega328P
ISP -programmering og ATMega328P

Som jeg nævner i begyndelsen, er dette modul designet til at blive bygget til forskellige konfigurationer, vi skal tilføje en måde at programmere ATMega328 og uploade vores skitser. Der er flere måder at programmere modulet på, en af dem er at bruge en Arduino som en internetudbyder som i en af mine tidligere Instructable Bootloading ATMega med Arduino mega.

Bemærkninger:

- Du behøver ikke kondensatoren for at indlæse ISP -skitsen på Arduino, du har brug for den for at brænde bootloaderen og for at uploade spændings_sensorskitsen.

-I nyere versioner af Arduino IDE skal du tilslutte pin 10 til pin 1 RESET af ATMega328.

ISP & ATMega328P Liste over kredsløb

U1 ATMega328P

XTAL1 16MHz HC-49S Crsytal

C5, C6 22pf kondensatorer

ISP1 6 Pin Header

R5 10K modstand

Nulstil 3x4x2 Tact SMD -switch

Trin 8: Noter og filer

Noter og filer
Noter og filer
Noter og filer
Noter og filer
Noter og filer
Noter og filer

Dette var bare en måde for mig at sætte nogle ideer i en fungerende enhed, som jeg nævner før, er bare en lille tilføjelse til min Dual Channel bænkforsyning. Jeg har inkluderet alt hvad du behøver for at bygge dit eget modul, alle Eagle CAD -filer og skemaer. Jeg har inkluderet Arduino -skitsen, er meget enkel, og jeg har forsøgt at gøre det let at forstå og ændre. Hvis du har spørgsmål, er du velkommen til at stille, vil jeg prøve at besvare dem. Dette er et åbent projekt, forslag modtages gerne. Jeg forsøger at lægge så mange oplysninger ind som jeg kunne, men jeg fandt ud af om Arduino -konkurrencen sent og ville indsende dette. Jeg skriver snart resten. Jeg har også fjernet SMD -komponenterne (modstande og LED) og erstattet dem med TH -komponenter, den eneste SMD -komponent er den aktuelle sensor, fordi den kun er tilgængelig i en SOIC -pakke, ZIP -filen indeholder filer med TH -komponenterne.

Anbefalede: