Kazalo:

Arduino dvokanalni senzorski modul: 8 korakov
Arduino dvokanalni senzorski modul: 8 korakov

Video: Arduino dvokanalni senzorski modul: 8 korakov

Video: Arduino dvokanalni senzorski modul: 8 korakov
Video: Использование кнопки скорости шагового двигателя 28BYJ-48 с 8 проектами: Ultimate Video Tutorial, урок 107 2024, Julij
Anonim
Modul dvokanalnega senzorja napetosti Arduino
Modul dvokanalnega senzorja napetosti Arduino
Modul dvokanalnega senzorja napetosti Arduino
Modul dvokanalnega senzorja napetosti Arduino
Modul dvokanalnega senzorja napetosti Arduino
Modul dvokanalnega senzorja napetosti Arduino

Minilo je nekaj let, odkar sem napisal pouk, sem mislil, da je čas, da se vrnem. Želel sem zgraditi senzor napetosti, da bi se lahko priključil na napajanje klopi. Imam dvokanalno spremenljivo napajanje, nima zaslona, zato moram za nastavitev napetosti uporabiti voltmeter. Nisem elektrotehnik ali programer, to počnem kot hobi. Ob tem, da bom opisal, kaj bomo tukaj gradili in morda ne bo najboljši dizajn ali najboljše kodiranje, vendar se bom potrudil.

1. korak: O projektu

O projektu
O projektu
O projektu
O projektu
O projektu
O projektu

Najprej je to le predhodna zasnova nečesa bolj stabilnega in zanesljivega, nekatere komponente ne bodo končale v končni zasnovi. Večina komponent je bila izbranih samo zaradi razpoložljivosti (imel sem jih doma) in ne zaradi njihove zanesljivosti. Ta zasnova je namenjena napajanju 15V, vendar lahko zamenjate nekaj pasivnih komponent in lahko deluje pri vseh napetostih ali tokovih. Trenutni senzorji so na voljo v 5A, 20A in 30A, lahko samo izberete jakost toka in spremenite kodo, isto kot pri senzorju napetosti lahko spremenite vrednost uporov in kodo za merjenje višjih napetosti.

PCB nima nastavljenih vrednosti, ker lahko zamenjate pasivne komponente glede na potrebe vašega napajanja. Zasnovana je tako, da se doda vsakemu napajalniku.

2. korak: Senzorji napetosti

Senzorji napetosti
Senzorji napetosti
Senzorji napetosti
Senzorji napetosti
Senzorji napetosti
Senzorji napetosti
Senzorji napetosti
Senzorji napetosti

Začeli bomo s senzorji napetosti in senzorji toka. Za preizkušanje vezij in kode uporabljam Arduino Mega, zato lahko nekateri začetniki, kot sem jaz, sami izdelajo in preizkusijo, namesto da bi morali sestaviti celoten modul na plošči.

Z analognimi vhodi Arduino lahko merimo samo 0-5 voltov. Da bi lahko merili do 15 voltov, moramo ustvariti delilnik napetosti, so delilniki napetosti zelo preprosti in jih je mogoče ustvariti z uporabo le 2 uporov, v tem primeru uporabljamo 30k in 7,5k, ki bi nam dali razmerju 5: 1, tako da lahko merimo vrednosti 0-25 voltov.

Seznam delov za senzor napetosti

R1, R3 30k upori

R2, R4 7,5 k upori

3. korak: Senzorji toka

Senzorji toka
Senzorji toka
Senzorji toka
Senzorji toka
Senzorji toka
Senzorji toka
Senzorji toka
Senzorji toka

Za trenutne senzorje bom uporabil ACS712 proizvajalca Allegro. Najprej moram omeniti, da vem, da ti senzorji niso zelo natančni, ampak to sem imel pri roki pri načrtovanju tega modula. ACS712 je na voljo samo v paketu za površinsko montažo in je ena izmed redkih SMD komponent, ki se uporabljajo v tem modulu.

Trenutni seznam delov senzorja

IC2, IC3 ASC712ELC-05A

C1, C3 1nF kondenzator

C2, C4 0,1uF kondenzator

4. korak: Temperaturni senzor in ventilator

Temperaturni senzor in ventilator
Temperaturni senzor in ventilator
Temperaturni senzor in ventilator
Temperaturni senzor in ventilator
Temperaturni senzor in ventilator
Temperaturni senzor in ventilator

Odločil sem se, da modulu dodam nadzor temperature, ker večina napajalnikov proizvede dobro količino toplote in potrebujemo zaščito pred pregrevanjem. Za temperaturni senzor uporabljam HDT11, za krmiljenje ventilatorja pa bomo uporabili 2N7000 N-kanalni MOSFET za pogon 5V ventilatorja procesorja. Vezje je precej preprosto, napetost moramo nanesti na odtok tranzistorja, na vrata pa nanesemo pozitivno napetost, v tem primeru z digitalnim izhodom arduino zagotovimo to napetost in tranzistor se vklopi, kar omogoča, da je ventilator vklopljen. pod napetostjo.

Koda je zelo preprosta: odčitamo temperaturo s senzorja DHT11, če je temperatura večja od naše nastavljene vrednosti, nastavi izhodni zatič HIGH in ventilator se vklopi. Ko temperatura pade pod nastavljeno temperaturo, se ventilator izklopi. Na krovu si sestavim vezje, da preizkusim svojo kodo, naredil sem nekaj hitrih fotografij s svojo celico, žal ni zelo dobro, vendar je shema enostavno razumljiva.

Seznam temperaturnih senzorjev in delov ventilatorjev

J2 DHT11 Senzor temp

R8 10K upor

J1 5V VENTILATOR

Q1 2N7000 MOSFET

D1 1N4004 dioda

R6 10K upor

R7 47K upor

5. korak: Močnostni tokokrog

Napajalni tokokrog
Napajalni tokokrog
Napajalni tokokrog
Napajalni tokokrog
Napajalni tokokrog
Napajalni tokokrog

Modul deluje na 5V, zato potrebujemo stabilen vir napajanja. Uporabljam regulator napetosti L7805 za konstantno napajanje 5V, o tem vezju pa ni veliko reči.

Seznam delov električnega tokokroga

1 L7805 Regulator napetosti

C8 0,33uF kondenzator

C9 0,1uF kondenzator

6. korak: LCD in serijski izhodi

LCD in serijski izhodi
LCD in serijski izhodi
LCD in serijski izhodi
LCD in serijski izhodi
LCD in serijski izhodi
LCD in serijski izhodi
LCD in serijski izhodi
LCD in serijski izhodi

Modul sem oblikoval tako, da ga bom imel v mislih z LCD -zaslonom, potem pa sem se odločil dodati serijski izhod za namene odpravljanja napak. Ne bom se spuščal v podrobnosti o tem, kako nastaviti LCD I2C, ker sem to že opisal v prejšnjem LCD -prikazovalniku I2C, ki ga je mogoče poučiti. Enostaven način, da sem v vrstice Tx & Rx dodal LED za prikaz aktivnosti. Uporabljam USB -serijski adapter, ki ga povežem z modulom, nato odprem serijski monitor v Arduino IDE -ju in vidim vse vrednosti ter se prepričam, da vse deluje tako, kot bi moralo.

Seznam delov LCD in serijskih izhodov

I2C 16x2 I2C LCD (20x4 neobvezno)

LED7, LED8 0603 SMD LED

R12, R21 1K R0603 SMD upor

7. korak: Programiranje ponudnika internetnih storitev in ATMega328P

Programiranje ponudnika internetnih storitev in ATMega328P
Programiranje ponudnika internetnih storitev in ATMega328P
Programiranje ponudnika internetnih storitev in ATMega328P
Programiranje ponudnika internetnih storitev in ATMega328P
Programiranje ponudnika internetnih storitev in ATMega328P
Programiranje ponudnika internetnih storitev in ATMega328P

Kot sem omenil na začetku, je ta modul zasnovan za različne konfiguracije, zato moramo dodati način za programiranje ATMega328 in nalaganje skic. Programiranje modula lahko poteka na več načinov, eden od njih je uporaba Arduina kot programerja ponudnika internetnih storitev, kot v enem od mojih prejšnjih ATMega z zagonskim nalaganjem, ki ga je mogoče naročiti z Arduino mega.

Opombe:

- Kondenzatorja ne potrebujete za nalaganje skice ponudnika internetnih storitev na Arduino, potrebujete ga za zapisovanje zagonskega nalagalnika in nalaganje skice napetosti_senzorja.

-V novejših različicah Arduino IDE morate priključiti pin 10 na pin 1 RESET ATMega328.

Seznam delov vezja ponudnika internetnih storitev in ATMega328P

U1 ATMega328P

XTAL1 16MHz HC-49S Crsytal

C5, C6 22pf kondenzatorji

ISP1 6 -polna glava

R5 10K upor

Ponastavite stikalo SMD 3x4x2 Tact

8. korak: Opombe in datoteke

Opombe in datoteke
Opombe in datoteke
Opombe in datoteke
Opombe in datoteke
Opombe in datoteke
Opombe in datoteke

To je bil zame samo način, da nekaj idej vnesem v delujočo napravo, kot sem že omenil, je le majhen dodatek k moji dvokanalni klopi. Vključil sem vse, kar potrebujete za izdelavo lastnega modula, vse datoteke in sheme Eagle CAD. Vključil sem skico Arduino, je zelo preprosta in poskušal sem olajšati razumevanje in spreminjanje. Če imate kakršna koli vprašanja, vas prosim, bom poskušal odgovoriti nanje. To je odprt projekt, predlogi so dobrodošli. Poskušam vnesti čim več informacij, vendar sem za tekmo Arduino pozno izvedel in sem to želel predložiti. Ostalo bom pisal kmalu, odstranil sem tudi komponente SMD (upore in LED) in jih zamenjal s komponentami TH, edina komponenta SMD je trenutni senzor, ker je na voljo samo v paketu SOIC, datoteka ZIP vsebuje datoteke s komponentami TH.

Priporočena: