INHOUDSOPGAWE:

Arduino tweekanaals spanningsensormodule: 8 stappe
Arduino tweekanaals spanningsensormodule: 8 stappe

Video: Arduino tweekanaals spanningsensormodule: 8 stappe

Video: Arduino tweekanaals spanningsensormodule: 8 stappe
Video: How to use Allegro ACS712 AC/DC Current Sensor with Arduino 2024, Julie
Anonim
Module met dubbele kanaalspanning van Arduino
Module met dubbele kanaalspanning van Arduino
Module met dubbele kanaalspanning van Arduino
Module met dubbele kanaalspanning van Arduino
Module met dubbele kanaalspanning van Arduino
Module met dubbele kanaalspanning van Arduino

Dit is 'n paar jaar sedert ek 'n instruksies geskryf het, en ek het gedink dit is tyd om terug te kom. Ek wou 'n spanningsensor bou sodat ek aan my bank se kragtoevoer kon koppel. Ek het 'n tweekanaals veranderlike kragtoevoer, dit het geen skerm nie, so ek moet 'n voltmeter gebruik om spanning in te stel. Ek is nie 'n elektriese ingenieur of programmeerder nie, ek doen dit as 'n stokperdjie. Dit gesê, ek gaan beskryf wat ons hier gaan bou, en dit is miskien nie die beste ontwerp of beste kodering nie, maar ek sal my bes doen.

Stap 1: Oor die projek

Oor die projek
Oor die projek
Oor die projek
Oor die projek
Oor die projek
Oor die projek

In die eerste plek is dit slegs 'n voorlopige ontwerp van iets meer stabiel en betroubaar; sommige komponente beland nie in die finale ontwerp nie. Die meeste komponente is slegs gekies vanweë beskikbaarheid (ek het dit by my gehad) en nie vanweë die betroubaarheid daarvan nie. Hierdie ontwerp is vir 'n 15V -kragtoevoer, maar u kan 'n paar passiewe komponente vervang en dit op enige spanning of stroom laat werk. Die huidige sensors is beskikbaar in 5A, 20A en 30A; u kan net die ampère kies en die kode verander, dieselfde met die spanningsensor, u kan die waarde van die weerstande en die kode verander om hoër spanning te meet.

Die PCB het geen vaste waardes nie, omdat u passiewe komponente kan vervang om aan die behoeftes van u kragtoevoer te voldoen. Dit is ontwerp om by enige kragtoevoer gevoeg te word.

Stap 2: Spanningsensors

Spanningsensors
Spanningsensors
Spanningsensors
Spanningsensors
Spanningsensors
Spanningsensors
Spanningsensors
Spanningsensors

Ons begin met die spanningsensors en stroom sensors. Ek gebruik 'n Arduino Mega om die stroombane en die kode te toets, sodat sommige beginners soos ek self hul eie kan maak en toets in plaas daarvan om die hele module op 'n broodbord te bou.

Ons kan slegs 0-5 volt meet met behulp van Arduino se analoog insette. Om tot 15 volt te kan meet, moet ons 'n spanningsverdeler skep; spanningsverdelers is baie eenvoudig en kan slegs met 2 weerstande geskep word, in hierdie geval gebruik ons 'n 30k en 'n 7.5k wat ons sou gee 'n verhouding van 5: 1 sodat ons waardes van 0-25 volt kan meet.

Onderdele lys vir spanningsensor

R1, R3 30k weerstande

R2, R4 7.5k weerstande

Stap 3: Huidige sensors

Huidige sensors
Huidige sensors
Huidige sensors
Huidige sensors
Huidige sensors
Huidige sensors
Huidige sensors
Huidige sensors

Vir die huidige sensors gebruik ek die ACS712 gemaak deur Allegro. Die eerste ding wat ek moet noem, is dat ek weet dat hierdie sensors nie baie akkuraat is nie, maar wat ek byderhand gehad het tydens die ontwerp van hierdie module. Die ACS712 is slegs beskikbaar in 'n opbergpakket, en dit is een van die min SMD -komponente wat in hierdie module gebruik word.

Huidige sensor onderdele lys

IC2, IC3 ASC712ELC-05A

C1, C3 1nF -kondensator

C2, C4 0.1uF kondensator

Stap 4: Temperatuursensor en waaier

Temperatuursensor en waaier
Temperatuursensor en waaier
Temperatuursensor en waaier
Temperatuursensor en waaier
Temperatuursensor en waaier
Temperatuursensor en waaier

Ek het besluit om temperatuurbeheer by die module te voeg omdat die meeste kragtoevoer 'n goeie hoeveelheid hitte opwek en ons beskerming teen oorverhitting nodig het. Vir die temperatuursensor gebruik ek 'n HDT11 en vir die waaierbeheer gaan ons 'n 2N7000 N-Channel MOSFET gebruik om 'n 5V CPU-waaier aan te dryf. Die stroombaan is redelik eenvoudig; ons moet spanning aanbring op die afvoer van die transistor en ons plaas 'n positiewe spanning op die hek, in hierdie geval gebruik ons die digitale uitset van die arduino om die spanning te verskaf en die transistor skakel aan sodat die waaier kan wees opgewonde.

Die kode is baie eenvoudig; ons neem 'n temperatuurmeting van die DHT11 -sensor, as die temperatuur groter is as die ingestelde waarde, stel dit die uitsetpen HOOG en die waaier skakel aan. Sodra die temperatuur laer as die ingestelde temperatuur val, skakel die waaier af. Ek bou die kring op my broodbord om my kode te toets, ek neem 'n paar vinnige foto's met my selfoon, nie baie jammer nie, maar die skema is maklik om te verstaan.

Temperatuur sensor en waaier onderdele lys

J2 DHT11 Temp Sensor

R8 10K Weerstand

J1 5V FAN

Q1 2N7000 MOSFET

D1 1N4004 Diode

R6 10K Weerstand

R7 47K Weerstand

Stap 5: Kragkring

Kragkring
Kragkring
Kragkring
Kragkring
Kragkring
Kragkring

Die module werk op 5V, dus ons benodig 'n stabiele kragbron. Ek gebruik 'n L7805 spanningsreguleerder om 'n konstante 5V -toevoer te bied, nie veel te sê oor hierdie stroombaan nie.

Kragonderdele lys

1 L7805 spanningsreguleerder

C8 0.33uF kondensator

C9 0.1uF kondensator

Stap 6: LCD en seriële uitsette

LCD en seriële uitsette
LCD en seriële uitsette
LCD en seriële uitsette
LCD en seriële uitsette
LCD en seriële uitsette
LCD en seriële uitsette
LCD en seriële uitsette
LCD en seriële uitsette

Ek ontwerp die module om met 'n LCD in gedagte te word, maar besluit toe om seriële uitset by te voeg vir ontfoutingsdoeleindes. Ek gaan nie in detail gaan oor hoe om 'n I2C LCD op te stel nie, want ek het dit al behandel in 'n vorige instruksies I2C LCD Die maklike manier waarop ek LED's by die Tx & Rx -lyne gevoeg het om aktiwiteit te wys. Ek gebruik 'n USB -na -seriële adapter wat ek aan die module koppel, dan maak ek die seriële monitor in die Arduino IDE oop en kan ek al die waardes sien, seker maak dat alles werk soos dit moet.

LCD en serie -onderdele lys

I2C 16x2 I2C LCD (20x4 opsioneel)

LED7, LED8 0603 SMD LED

R12, R21 1K R0603 SMD Weerstand

Stap 7: ISP -programmering en 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

Soos ek in die begin noem, is hierdie module ontwerp vir verskillende konfigurasies, ons moet 'n manier byvoeg om die ATMega328 te programmeer en ons sketse op te laai. Daar is verskillende maniere om die module te programmeer, een daarvan is om 'n Arduino as 'n ISP -programmeerder te gebruik, soos in een van my vorige Instructable Bootloading ATMega met Arduino mega.

Notas:

- U het nie die kondensator nodig om die ISP -skets op die Arduino te laai nie; u het dit nodig om die selflaaiprogram te verbrand en om die voltage_sensor -skets op te laai.

-In nuwer weergawes van die Arduino IDE moet u pen 10 verbind met pen 1 RESET van die ATMega328.

ISP- en ATMega328P -lys met kringonderdele

U1 ATMega328P

XTAL1 16MHz HC-49S Crsytal

C5, C6 22pf kondensators

ISP1 6 -penkop

R5 10K Weerstand

Stel 3x4x2 Tact SMD -skakelaar terug

Stap 8: Notas en lêers

Notas en lêers
Notas en lêers
Notas en lêers
Notas en lêers
Notas en lêers
Notas en lêers

Dit was net 'n manier om 'n paar idees in 'n werkende toestel te plaas, soos ek al genoem het, is net 'n klein toevoeging tot my Dual Channel -bankvoeding. Ek het alles ingesluit wat u nodig het om u eie module te bou, alle Eagle CAD -lêers en skemas. Ek het die Arduino -skets ingesluit, is baie eenvoudig en ek het probeer om dit maklik te verstaan en aan te pas. As u enige vrae het, vra dit gerus, ek sal probeer om dit te beantwoord. Dit is 'n oop projek, voorstelle is welkom. Ek probeer soveel moontlik inligting inbring, maar ek het laat agtergekom oor die Arduino -wedstryd en wou dit indien. Ek sal die res binnekort skryf. Ek het ook die SMD -komponente (weerstande en LED's) verwyder en dit vervang met TH -komponente. lêers met die TH -komponente.

Aanbeveel: