Inhoudsopgave:

Arduino Dual Channel Voltage Sensor Module - Ajarnpa
Arduino Dual Channel Voltage Sensor Module - Ajarnpa

Video: Arduino Dual Channel Voltage Sensor Module - Ajarnpa

Video: Arduino Dual Channel Voltage Sensor Module - Ajarnpa
Video: 0-25V Voltage Sensor with Arduino, Voltage monitoring, Calculations, Simulation, & Modification 2024, Juli-
Anonim
Arduino tweekanaals spanningssensormodule
Arduino tweekanaals spanningssensormodule
Arduino tweekanaals spanningssensormodule
Arduino tweekanaals spanningssensormodule
Arduino tweekanaals spanningssensormodule
Arduino tweekanaals spanningssensormodule

Het is een paar jaar geleden dat ik een instructable heb geschreven, ik dacht dat het tijd was om terug te komen. Ik wilde een spanningssensor bouwen zodat ik deze op mijn bankvoeding kan aansluiten. Ik heb een tweekanaals variabele voeding, deze heeft geen display, dus ik moet een voltmeter gebruiken om de spanning in te stellen. Ik ben geen elektrotechnisch ingenieur of programmeur, ik doe dit als hobby. Dat gezegd hebbende, ga ik beschrijven wat we hier gaan bouwen en het is misschien niet het beste ontwerp of de beste codering, maar ik zal mijn best doen.

Stap 1: Over het project

Over het project
Over het project
Over het project
Over het project
Over het project
Over het project

Allereerst is dit slechts een voorlopig ontwerp van iets stabielers en betrouwbaarder, sommige componenten zullen niet in het definitieve ontwerp terechtkomen. De meeste componenten zijn alleen geselecteerd vanwege beschikbaarheid (ik had ze in huis) en niet vanwege hun betrouwbaarheid. Dit ontwerp is voor een 15V-voeding, maar je kunt een paar passieve componenten vervangen en het op elke spanning of stroom laten werken. De stroomsensoren zijn verkrijgbaar in 5A, 20A en 30A je kunt gewoon de stroomsterkte kiezen en de code wijzigen, hetzelfde met de spanningssensor kun je de waarde van de weerstanden en de code wijzigen om hogere spanningen te meten.

De print heeft geen vaste waarden omdat je passieve componenten kunt vervangen om aan de behoeften van je voeding te voldoen. Het is ontworpen om aan elke voeding te worden toegevoegd.

Stap 2: Spanningssensoren

Spanningssensoren
Spanningssensoren
Spanningssensoren
Spanningssensoren
Spanningssensoren
Spanningssensoren
Spanningssensoren
Spanningssensoren

We beginnen met de spanningssensoren en stroomsensoren. Ik gebruik een Arduino Mega om de circuits en de code te testen, dus sommige beginners, zoals ikzelf, kunnen ze zelf maken en testen in plaats van de hele module op een breadboard te moeten bouwen.

We kunnen alleen 0-5 volt meten met behulp van Arduino's analoge ingangen. Om tot 15 volt te kunnen meten, moeten we een spanningsdeler maken, spanningsdelers zijn heel eenvoudig en kunnen worden gemaakt met slechts 2 weerstanden. In dit geval gebruiken we een 30k en een 7,5k die ons zouden geven een verhouding van 5:1 zodat we waarden van 0-25 volt kunnen meten.

Onderdelenlijst voor spanningssensor

R1, R3 30k Weerstanden

R2, R4 7.5k Weerstanden

Stap 3: Stroomsensoren

Huidige sensoren
Huidige sensoren
Huidige sensoren
Huidige sensoren
Huidige sensoren
Huidige sensoren
Huidige sensoren
Huidige sensoren

Voor de huidige sensoren ga ik de ACS712 van Allegro gebruiken. Het eerste dat ik moet vermelden, is dat ik weet dat deze sensoren niet erg nauwkeurig zijn, maar dit was wat ik bij de hand had bij het ontwerpen van deze module. De ACS712 is alleen verkrijgbaar in een opbouwpakket en is een van de weinige SMD-componenten die in deze module worden gebruikt.

Huidige lijst met sensoronderdelen

IC2, IC3 ASC712ELC-05A

C1, C3 1nF condensator

C2, C4 0.1uF condensator

Stap 4: Temperatuursensor en ventilator

Temperatuursensor & ventilator
Temperatuursensor & ventilator
Temperatuursensor & ventilator
Temperatuursensor & ventilator
Temperatuursensor & ventilator
Temperatuursensor & ventilator

Ik besloot om temperatuurregeling aan de module toe te voegen omdat de meeste voedingen een goede hoeveelheid warmte genereren en we bescherming tegen oververhitting nodig hebben. Voor de temperatuursensor gebruik ik een HDT11 en voor de ventilatorregeling gaan we een 2N7000 N-Channel MOSFET gebruiken om een 5V CPU-ventilator aan te sturen. Het circuit is vrij eenvoudig, we moeten spanning toepassen op de afvoer van de transistor en we passen een positieve spanning toe op de poort, in dit geval gebruiken we de digitale uitgang van de arduino om die spanning te leveren en de transistor gaat AAN waardoor de ventilator kan worden energiek.

De code is heel eenvoudig, we nemen een temperatuurmeting van de DHT11-sensor als de temperatuur hoger is dan onze ingestelde waarde, wordt de uitgangspen HOOG ingesteld en wordt de ventilator ingeschakeld. Zodra de temperatuur onder de ingestelde temperatuur zakt, wordt de ventilator uitgeschakeld. Ik heb het circuit op mijn breadboard gebouwd om mijn code te testen, ik heb wat snelle foto's gemaakt met mijn cel, niet erg goed sorry, maar het schema is gemakkelijk te begrijpen.

Onderdelenlijst temperatuursensor en ventilator

J2 DHT11 temperatuursensor

R8 10K Weerstand

J1 5V VENTILATOR

Q1 2N7000 MOSFET

D1 1N4004 Diode

R6 10K Weerstand

R7 47K Weerstand

Stap 5: Stroomkring

Stroomcircuit
Stroomcircuit
Stroomcircuit
Stroomcircuit
Stroomcircuit
Stroomcircuit

De module werkt op 5V, dus we hebben een stabiele stroombron nodig. Ik gebruik een L7805-spanningsregelaar om een constante 5V-voeding te bieden, niet veel te zeggen over dit circuit.

Onderdelenlijst stroomcircuit

1 L7805 Spanningsregelaar

C8 0.33uF condensator

C9 0.1uF condensator

Stap 6: LCD en seriële uitgangen

LCD & seriële uitgangen
LCD & seriële uitgangen
LCD & seriële uitgangen
LCD & seriële uitgangen
LCD & seriële uitgangen
LCD & seriële uitgangen
LCD & seriële uitgangen
LCD & seriële uitgangen

Ik ontwerp de module voor gebruik met een LCD in gedachten, maar besloot toen om seriële uitvoer toe te voegen voor foutopsporingsdoeleinden. Ik ga niet in detail treden over het opzetten van een I2C LCD omdat ik het al heb behandeld in een eerdere instructable I2C LCD. De gemakkelijke manier waarop ik LEDS aan de Tx & Rx-lijnen heb toegevoegd om activiteit te tonen. Ik gebruik een usb naar seriële adapter die ik op de module aansluit, dan open ik de seriële monitor in de Arduino IDE en ik kan alle waarden zien, ervoor zorgen dat alles werkt zoals het zou moeten.

LCD & Seriële Uit Onderdelenlijst

I2C 16x2 I2C LCD (20x4 optioneel)

LED7, LED8 0603 SMD-LED

R12, R21 1K R0603 SMD-weerstand:

Stap 7: ISP-programmering & ATMega328P

ISP-programmering en ATMega328P
ISP-programmering en ATMega328P
ISP-programmering en ATMega328P
ISP-programmering en ATMega328P
ISP-programmering en ATMega328P
ISP-programmering en ATMega328P

Zoals ik in het begin al zei, deze module is ontworpen om te worden gebouwd voor verschillende configuraties, we moeten een manier toevoegen om de ATMega328 te programmeren en onze schetsen uploaden. Er zijn verschillende manieren om de module te programmeren, een daarvan is om een Arduino te gebruiken als een ISP-programmeur zoals in een van mijn vorige Instructable Bootloading ATMega met Arduino mega.

Opmerkingen:

- Je hebt de condensator niet nodig om de ISP-schets op de Arduino te laden, je hebt hem nodig om de bootloader te branden en om de voltage_sensor Sketch te uploaden.

-Op nieuwere versies van de Arduino IDE moet je pin 10 aansluiten op pin 1 RESET van de ATMega328.

ISP & ATMega328P Circuit Onderdelenlijst

U1 ATMega328P

XTAL1 16MHz HC-49S Kristal

C5, C6 22pf condensatoren

ISP1 6-pins header

R5 10K Weerstand

Reset 3x4x2 Tact SMD-schakelaar

Stap 8: Notities en bestanden

Notities en bestanden
Notities en bestanden
Notities en bestanden
Notities en bestanden
Notities en bestanden
Notities en bestanden

Dit was voor mij slechts een manier om wat ideeën in een werkend apparaat te verwerken, zoals ik al eerder zei, het is slechts een kleine toevoeging voor mijn Dual Channel-bankvoeding. Ik heb alles toegevoegd wat je nodig hebt om je eigen module te bouwen, alle Eagle CAD-bestanden en schema's. Ik heb de Arduino-schets bijgevoegd, het is heel eenvoudig en ik heb geprobeerd het gemakkelijk te begrijpen en aan te passen. Als je vragen hebt, stel ze gerust, ik zal proberen ze te beantwoorden. Dit is een open project, suggesties zijn welkom. Ik probeer zoveel mogelijk informatie in te voeren, maar ik hoorde pas laat over de Arduino-wedstrijd en wilde dit indienen. Ik zal binnenkort de rest schrijven. Ik heb ook de SMD-componenten (weerstanden en LED) verwijderd en vervangen door TH-componenten, de enige SMD-component is de huidige sensor omdat deze alleen beschikbaar is in een SOIC-pakket, het ZIP-bestand bevat de bestanden met de TH-componenten.

Aanbevolen: