Sommario:
2025 Autore: John Day | [email protected]. Ultima modifica: 2025-01-13 06:57
Sono passati alcuni anni da quando ho scritto un istruibile, stavo pensando che fosse ora di tornare. Volevo costruire un sensore di tensione in modo da poterlo collegare al mio alimentatore da banco. Ho un alimentatore variabile a due canali, non ha display quindi devo usare un voltmetro per impostare la tensione. Non sono un ingegnere elettrico o un programmatore, lo faccio per hobby. Detto questo, descriverò ciò che costruiremo qui e potrebbe non essere il miglior design o la migliore codifica, ma farò del mio meglio.
Passaggio 1: Informazioni sul progetto
Prima di tutto questo è solo un progetto preliminare di qualcosa di più stabile e affidabile, alcuni dei componenti non finiranno nel progetto finale. La maggior parte dei componenti sono stati selezionati solo per la disponibilità (li avevo a casa mia) e non per la loro affidabilità. Questo design è per un alimentatore da 15 V ma è possibile sostituire alcuni componenti passivi e farlo funzionare con qualsiasi tensione o corrente. I sensori di corrente sono disponibili in 5A, 20A e 30A basta scegliere l'amperaggio e modificare il codice, la stessa cosa con il sensore di tensione è possibile modificare il valore delle resistenze e il codice per misurare tensioni maggiori.
Il PCB non ha valori impostati perché puoi sostituire i componenti passivi per soddisfare le esigenze del tuo alimentatore. È stato progettato per essere aggiunto a qualsiasi alimentatore.
Passaggio 2: sensori di tensione
Inizieremo con i sensori di tensione e i sensori di corrente. Sto usando un Arduino Mega per testare i circuiti e il codice, quindi alcuni principianti come me possono crearne e testarli al volo invece di dover costruire l'intero modulo su una breadboard.
Possiamo misurare solo 0-5 volt utilizzando gli ingressi analogici di Arduino. Per poter misurare fino a 15 volt dobbiamo creare un partitore di tensione, i divisori di tensione sono molto semplici e possono essere creati utilizzando solo 2 resistori in questo caso stiamo usando un 30k e un 7.5k che ci darebbe un rapporto di 5:1 in modo da poter misurare valori di 0-25 volt.
Elenco delle parti per il sensore di tensione
Resistori R1, R3 30k
Resistori R2, R4 7.5k
Passaggio 3: sensori di corrente
Per i sensori di corrente utilizzerò l'ACS712 prodotto da Allegro. Ora la prima cosa che devo menzionare è che so che questi sensori non sono molto precisi, ma è quello che avevo a portata di mano durante la progettazione di questo modulo. L'ACS712 è disponibile solo in una confezione a montaggio superficiale ed è uno dei pochissimi componenti SMD utilizzati in questo modulo.
Elenco attuale delle parti del sensore
IC2, IC3 ASC712ELC-05A
Condensatore C1, C3 1nF
Condensatore C2, C4 0.1uF
Passaggio 4: sensore di temperatura e ventola
Ho deciso di aggiungere il controllo della temperatura al modulo perché la maggior parte degli alimentatori genera una buona quantità di calore e abbiamo bisogno di una protezione contro il surriscaldamento. Per il sensore di temperatura sto usando un HDT11 e per il controllo della ventola utilizzeremo un MOSFET a canale N 2N7000 per pilotare una ventola della CPU da 5V. Il circuito è abbastanza semplice, dobbiamo applicare tensione al Drain del transistor e applichiamo una tensione positiva al gate, in questo caso stiamo usando l'uscita digitale di arduino per fornire quella tensione e il transistor si accende permettendo alla ventola di essere eccitato.
Il codice è molto semplice prendiamo una lettura della temperatura dal sensore DHT11 se la temperatura è maggiore del nostro valore impostato imposta il pin di uscita HIGH e la ventola si accende. Quando la temperatura scende al di sotto della temperatura impostata, la ventola si spegne. Costruisco il circuito sulla mia breadboard per testare il mio codice, ho scattato alcune foto veloci con il mio cellulare, non molto bene scusa, ma lo schema è facile da capire.
Elenco dei componenti del sensore di temperatura e della ventola
Sensore di temperatura J2 DHT11
Resistenza R8 10K
VENTOLA J1 5V
MOSFET Q1 2N7000
D1 1N4004 Diodo
Resistenza R6 10K
Resistenza R7 47K
Passaggio 5: circuito di alimentazione
Il modulo funziona a 5V quindi abbiamo bisogno di una fonte di alimentazione stabile. Sto usando un regolatore di tensione L7805 per fornire un'alimentazione a 5V costante, non c'è molto da dire su questo circuito.
Elenco delle parti del circuito di alimentazione
1 regolatore di tensione L7805
Condensatore C8 0,33uF
Condensatore C9 0.1uF
Passaggio 6: LCD e uscite seriali
Ho progettato il modulo da utilizzare con un LCD in mente, ma poi ho deciso di aggiungere un'uscita seriale per scopi di debug. Non entrerò nei dettagli su come configurare un LCD I2C perché l'ho già coperto in un precedente LCD I2C istruibile Il modo semplice in cui ho aggiunto i LED alle linee Tx e Rx per mostrare l'attività. Uso un adattatore da USB a seriale che collego al modulo, quindi apro il monitor seriale nell'IDE di Arduino e posso vedere tutti i valori, assicurarmi che tutto funzioni come dovrebbe.
Elenco parti LCD e uscita seriale
LCD I2C 16x2 I2C (20x4 opzionale)
LED7, LED8 0603 LED SMD
R12, R21 1K R0603 Resistenza SMD
Passaggio 7: programmazione ISP e ATMega328P
Come ho detto all'inizio, questo modulo è progettato per essere costruito per diverse configurazioni, abbiamo bisogno di aggiungere un modo per programmare ATMega328 e caricare i nostri schizzi. Ci sono diversi modi per programmare il modulo, uno di questi è usare un Arduino come programmatore ISP come in uno dei miei precedenti ATMega Bootloading Instructable con Arduino mega.
Appunti:
- Non è necessario il condensatore per caricare lo sketch ISP su Arduino, è necessario per masterizzare il bootloader e caricare lo sketch voltage_sensor.
-Sulle versioni più recenti dell'IDE Arduino è necessario collegare il pin 10 al pin 1 RESET di ATMega328.
Elenco delle parti del circuito ISP e ATMega328P
U1 ATMega328P
XTAL1 16MHz HC-49S Cristallo
Condensatori C5, C6 22pf
Intestazione 6 pin ISP1
Resistenza R5 10K
Ripristina interruttore SMD 3x4x2 Tact
Passaggio 8: note e file
Questo era solo un modo per me di mettere alcune idee in un dispositivo funzionante, come ho detto prima è solo una piccola aggiunta per il mio alimentatore da banco Dual Channel. Ho incluso tutto il necessario per costruire il tuo modulo, tutti i file CAD Eagle e gli schemi. Ho incluso lo sketch di Arduino, è molto semplice e ho cercato di renderlo facile da capire e modificare. Se avete domande non esitate a chiedere, proverò a rispondervi. Questo è un progetto aperto, si accettano suggerimenti. Cerco di inserire quante più informazioni possibili, ma ho scoperto tardi del concorso Arduino e volevo inviarlo. Scriverò il resto molto presto. Ho anche rimosso i componenti SMD (resistenze e LED) e li ho sostituiti con componenti TH, l'unico componente SMD è il sensore di corrente perché è disponibile solo in un pacchetto SOIC, il file ZIP contiene il file con i componenti TH.