Kazalo:
- 1. korak: O projektu
- 2. korak: Senzorji napetosti
- 3. korak: Senzorji toka
- 4. korak: Temperaturni senzor in ventilator
- 5. korak: Močnostni tokokrog
- 6. korak: LCD in serijski izhodi
- 7. korak: Programiranje ponudnika internetnih storitev in ATMega328P
- 8. korak: Opombe in datoteke
Video: Arduino dvokanalni senzorski modul: 8 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:02
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
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
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
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
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
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
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
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
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:
Senzorski sistem VL53L0X: 9 korakov
Senzorski sistem VL53L0X: Zasnova vezja za uporabo več odklopnih plošč VL53L0X. V tej zasnovi imamo senzor obrnjen naprej, levo, desno in navzgor. Ta plošča je bila namenjena izogibanju oviram za brezpilotne letalnike WiFi
Arduino ultrazvočni senzorski preklopnik: 6 korakov
Arduino Ultrasonic Sensor Light Switcher: Hej fantje, danes bom naredil stikalo za svetlobo. Včasih imam stvari v roki in nimam dodatne roke za prižig luči, kar postane neprijetna situacija. Zato sem se odločil, da naredim stikalo za luči, ki mi lahko pomaga pri prižigu svetilke
Dvokanalni senzor EMG: 6 korakov
Dvokanalni senzor EMG: Dvokanalni modul EMG vključuje analogno vezje za pridobivanje in postopek filtriranja digitalnega signala. Prednje vezje zajema mišične električne signale človeške roke ali noge skozi CH1 in CH2. Po ojačitvi signala
Dvokanalni generator signalov za kitaro: 10 korakov
Dvokanalni generator signalov za kitaro: Ta projekt je enostaven za izdelavo, originalna zasnova za dvokanalni generator signalov za kitaro in druge namene. Pokriva celotno paleto kitarskih not (za vas kitariste, od odprte nizke nizke E - 83 Hertz, do 24. freta na visoki E s
6-osni senzorski modul FSP200 Umerjanje in testiranje: 6 korakov
6-osni senzorski modul FSP200 Umerjanje in testiranje: FSP200 je 6-osni inercialni procesor merilne enote, ki zagotavlja izhod smeri in smeri. Izvaja fuzijo merilnikov pospeška in žiroskopskih senzorjev za stabilen in natančen smer in smer. FSP200 je primeren za uporabo v robotskih pr