Sommario:

Sistema antigelo: 8 passaggi
Sistema antigelo: 8 passaggi

Video: Sistema antigelo: 8 passaggi

Video: Sistema antigelo: 8 passaggi
Video: Posso mischiare il blu con il rosso? Parliamo di liquido radiatore 2024, Novembre
Anonim
Sistema Antigelo
Sistema Antigelo

Questo progetto mira a prevenire la formazione di ghiaccio o neve utilizzando la salamoia come agente antighiaccio. Utilizzando il sensore di umidità e temperatura per rilevare le condizioni ambientali, l'irrigatore diffonde l'acqua salata controllata dal Raspberry Pi. Il sensore IR viene utilizzato per rilevare persone e animali. Quando rileva le persone, l'irrigatore si spegne.

l'intero set di istruzioni per costruire e utilizzare il progetto è fornito nella mia pagina GitHub.

GitHub:Sistema antigelo

Passaggio 1: collegamento GitHub

Si prega di visitare la nostra pagina GitHub per comprendere i diversi componenti, strumenti e pacchetti utilizzati per costruire il sistema.

Sistema antigelo

fai riferimento al link sopra per saperne di più sul progetto in quanto ha diverse pagine tra cui readme e wiki ad esso associati per aiutarti a costruire facilmente il tuo sistema antighiaccio.

Fornirò le istruzioni passo passo dal terzo passaggio in poi in modo da rendere più facile per gli appassionati di RPi costruirlo dalle istruzioni:)

Passaggio 2: dimostrazione dal vivo su YouTube

fare riferimento alla nostra pagina YouTube per una dimostrazione dal vivo. collegamento fornito di seguito:

Demo YouTube per il sistema Anti-Icing

Passaggio 3: componenti necessari

Componenti richiesti
Componenti richiesti
Componenti richiesti
Componenti richiesti
Componenti richiesti
Componenti richiesti

Hardware:

1. Sensore IR: HC-SR501 Rilevatore di movimento PIR Tensione: 5 V - 20 V Consumo energetico: 65 m Uscita ATTL: 3,3 V, 0 V Tempo di blocco: 0,2 sec Metodi di attivazione: L - disabilita il trigger di ripetizione, H abilita il trigger di ripetizione Campo di rilevamento: meno di 120 gradi, entro 7 metri Temperatura: – 15 ~ +70 Dimensioni: 32*24 mm, distanza tra la vite 28 mm, M2, dimensione dell'obiettivo in diametro: 23 mm

2. Sensore di umidità e temperatura: DHT22 (AM2302)

Basso costo Potenza da 3 a 5 V e I/O 2,5 mA max corrente durante la conversione (durante la richiesta dei dati) Adatto per letture di umidità dallo 0 al 100% con una precisione del 2-5% Buono per letture di temperatura da -40 a 80 ° C Precisione di ± 0,5 ° C Non più frequenza di campionamento superiore a 0,5 Hz (una volta ogni 2 secondi) I dati a bus singolo vengono utilizzati per la comunicazione tra MCU e DHT22, costa 5 ms per la comunicazione singola.

3. Motopompa DC senza spazzole Decdeal QR50E

Basso costo e Versatile 12V 5W RatingQuantità pompa 280 l/H in grado di gestire diversi tipi di soluzioni tra cui acqua salata (salamoia) e olio a varie temperature

4. Batteria/alimentazione DC 12V

Passaggio 4: come implementare codice e connessioni

Codice:

  1. Clona il repository.
  2. Copia il codice/html in /var/www/html
  3. Nella cartella Code è possibile eseguire il file principale.
  4. Se hai cambiato il numero di pin di input/output, puoi usare CMake per ricostruire il file principale.
  5. Apri il browser inserisci l'indirizzo di raspberryPi per accedere all'interfaccia utente.

Connessioni:

Usiamo la numerazione WiringPi nel nostro codice, quindi:

potenza GPIO: 4.

GPIO motore: 3.

Sensore PIR GPIO: 0.

Sensore DHT22 GPIO: 7.

Passaggio 5: installazione

Poiché il nostro progetto ha coinvolto Mysql, Php, web-server, ci sono diversi comandi per impostare l'ambiente di lavoro come segue:

Il controllo del sistema Raspberry Pi è aggiornato

sudo apt-get update

sudo apt-get upgrade

Installazione dei supporti apache2, php, mysql

sudo apt-get install apache2 -y

sudo apt-get install php7.0

sudo apt-get install mysql-server

sudo apt-get install mysql-client

sudo apt-get default-libmysqlclient-dev

Dopo aver installato i supporti per l'ambiente, è necessario creare il database e la relativa tabella per leggere e scrivere i dati.

Se desideri creare un account di accesso specifico anziché utilizzare il "root", puoi semplicemente eseguire i seguenti comandi:

Creazione di un nuovo utente denominato 'pi'

sudo mysql -u root per accedere al database mysql.

mysql> USA mysql;

mysql> CREATE USER 'pi'@'localhost' IDENTIFICATO DA '';

mysql> CONCEDERE TUTTI I PRIVILEGI SU *.* A 'pi'@'localhost';

mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='pi';

mysql> FLUSH PRIVILEGI;

mysql> uscita;

riavvio del servizio mysql

Creazione di un database per lampone pi

mysql>crea sensore database;

mysql>usa sensore;

mysql>create table th_sensor(name char(20) not null primary key, value float(10, 2) not null, value2 float(10, 2);

mysql>uscita;

Ora puoi copiare la cartella /Code/html nella directory localhost predefinita come /var/www/html.

Creazione di uno script di avvio per avviare il sistema una volta aperto il pi.

Ad esempio, creando un file denominato boot.desktop sotto la direzione:.config/autostart/

Il contenuto del file come segue:

[Voce sul desktop]

Tipo=Applicazione

Nome=testboot

NoDisplay=vero

Exec= xxx/xxx/xx./main

Il "xxx/xxx/xx " è la directory del tuo file principale.

Infine, dopo aver riavviato il tuo pi, puoi aprire il tuo browser web per vedere l'interfaccia.

Passaggio 6: progettazione PCB

Progettazione PCB
Progettazione PCB
Progettazione PCB
Progettazione PCB
Progettazione PCB
Progettazione PCB

Schema e PCB Abbiamo selezionato l'acquisizione Orcad e l'editor PCB per disegnare il PCB.

Circuito dei sensori:

Il file originale dello schema. Si prega di aprire questo file da Orcad Capture.

Il file originale del PCB. Si prega di aprire questo file da PCB Editor.

Lo schema del circuito dei sensori è fornito sopra insieme ai file PCB. 16 pin sono sufficienti per il nostro progetto, quindi abbiamo utilizzato solo un'intestazione con 16 pin.

J2 è per il sensore PIR

J3 è per il sensore di umidità e temperatura

J4 è per GPIO

R1 e R2 sono i resistori di pull-up

Il LED D1 è per il test del motore. Questo segnale viene utilizzato per controllare il motore.

Il LED D2 è per l'osservazione. Mostrerà se il circuito funziona.

Circuito di controllo del motore:

Il file originale dello schema. Si prega di aprire questo file da Orcad Capture.

Il file originale del PCB. Si prega di aprire questo file da PCB Editor.

Schema e PCB per Motor Drive

Lo schema del circuito del driver del motore è fornito sopra insieme ai file PCB

J1 è per la fonte di alimentazione.

J2 è per il motore.

J3 è per il segnale di controllo che proviene dal GPIO.

J4 è per l'interruttore.

Q1 serve per controllare il motore.

Il LED D2 serve a controllare se il circuito funziona correttamente.

Passaggio 7: grafico dettagliato del flusso di controllo del sistema

Diagramma di flusso di controllo dettagliato del sistema
Diagramma di flusso di controllo dettagliato del sistema

Un dettaglio del flusso del segnale nell'intero sistema insieme ai ritardi temporali, alle frequenze di campionamento e di aggiornamento e ai protocolli bus utilizzati è fornito sopra per una maggiore comprensione del sistema.

come sempre ulteriori suggerimenti per miglioramenti e modifiche sono ben accetti:)

Passaggio 8: codice

Il pacchetto di codice è stato caricato in un file.zip che puoi utilizzare per estrarre e compilare il tuo raspberry pi.

Usiamo GitHub come nostro software di controllo della versione in quanto è gratuito, facile da mantenere e rilascia versioni più recenti registrando tutte le modifiche apportate al programma.

Il processo di clonazione del pacchetto e compilazione utilizzando il comando 'make' dovrebbe essere più semplice rispetto alla codifica di ogni riga (è difficile scrivere diversi tipi di codice per vari componenti e attività in lingue diverse in file diversi).

Disclaimer: questo non dovrebbe in alcun modo essere preso come una pubblicità o una demotivazione per un sito Web diverso, poiché credo che siamo una comunità aperta e matura che lavora insieme per costruire un futuro migliore poco a poco:)

Spero che ti divertirai a costruire questo progetto tanto quanto noi:)

Saluti!

Consigliato: