Impianto di irrigazione automatica utilizzando LM324 e 8051

lm324 impianto irrigazione automatica fai da te

Impianto di irrigazione automatica utilizzando il microcontrollore 8051 (AT89C2051) e LM324. Il progetto qui presentato, annaffia le piante regolarmente quando siete in vacanza. Il circuito comprende sensori costruiti utilizzando l’amplificatore operazionale LM324.

Gli amplificatori operazionali sono configurati come comparatori. Due fili di rame sono inseriti nella terra per sentire se il suolo è bagnato. Il microcontrollore AT89C2051 è stato utilizzato per controllare tutto il sistema.

Il set di istruzioni del microcontrollore 8051 è ottimizzato per applicazioni di controllo a 8bit. L’8051 fornisce una varietà di modalità veloce di indirizzamento per l’accesso alla RAM interna per facilitare le operazioni sui byte sulle piccole strutture di dati. I dispositivi 8051 contengono un processore Boolean (single-bit). La RAM interna contiene 128 bit indirizzabili e lo spazio SFR può supportare fino a 128 bit indirizzabili.

L’LM324 è un amplificatore operativo a bassa tensione. Questo amplificatore operazionale quadruplo è composto da 4 amplificatori operazionali indipendenti che sono stati progettati per funzionare con alimentazione singola per una vasta gamma di tensioni. Il campo di applicazione dell’LM324 include: amplificatore trasduttore, tutti i circuiti di amplificatori operazionali convenzionali che possono essere facilmente implementati nei sistemi di alimentazione.

Il codice sorgente dell’impianto di irrigazione automatica

MAIN:
	SETB SEN1
	JB SEN1,D1
	JMP W1

D1:	INC R0
W1:	SETB SEN2
	JB SEN2,D2
	JMP W2

D2:	INC R0
W2:	SETB SEN3
	JB SEN3,D3
	JMP W3

D3:	INC R0
W3:	SETB SEN4
	JB SEN4,D4
	JMP W4

D4:	INC R0
W4:
	
	CJNE R0,#00H,L1		; WET=4		DRY=0		
(ALL SENSORS ARE WET)
	SETB LOAD		; OFF LOAD
	CLR LOAD1
	CLR L11
	SETB L12
	MOV R1,#00H
	JMP LAST

L1:	CJNE R0,#01H,L2		; WET=3	 DRY=1  
    
	    CJNE R1,#00H,M1
	    SETB LOAD 		; OFF LOAD	    
	    CLR LOAD1
	    JMP LAST

	M1: CLR  LOAD		; ON LOAD
		CLR L12
		SETB L11
		SETB LOAD1
	    JMP LAST		

L2:	CJNE R0,#02H,L3		; WET=2		DRY=2
	CLR LOAD		; ON LOAD
	SETB LOAD1
	CLR L12
		SETB L11
	MOV R1,#01H
	JMP LAST


L3:	CJNE R0,#03H,L4		; WET=1		DRY=3
	CLR LOAD		; ON LOAD	
	SETB LOAD1
	CLR L12
		SETB L11
	MOV R1,#01H
	JMP LAST


L4:	CJNE R0,#04H,LAST	; WET=0		DRY=4		
(ALL SENSORS ARE DRY)
	CLR LOAD		; ON LOAD
	SETB LOAD1
	CLR L12
		SETB L11
	MOV R1,#01H
	JMP LAST
	
LAST:	MOV R0,#00H	

	JMP MAIN
; **********************************************

END

Il microcontrollore monitorizza i sensori e quando più di due sensori sentono la terra secca, allora il microcontrollore accenderà il motore e poi lo spegnerà quando i sensori diventano bagnati. Il microcontrollore riceve i segnali dai sensori che funzionano sotto il controllo di un software che è memorizzato nella ROM.

lm324__irrigazione_automatica_diy
Schema

Vi segnalo un altro impianto di irrigazione progettato con Arduino, Irrighino: quando Arduino diventa un aiuto-giardiniere!. La parte importante di Irrighino è la scheda Arduino Duemilanove, a cui si va ad aggiungere uno shield LCD ed uno shield progettato ad hoc (Irrighino Shield) che contiene un chip RTC (RealTimeClock) ed i Relè. La centralina dell’impianto d’irrigazione deve essere in grado di automatizzare l’apertura e/o la chiusura delle elettrovalvole per irrigare il giardino. Per questo sono disponibili 9 timer settimanali, completamente programmabili. Per ogni timer è possibile configurare: l’ora d’inizio irrigazione e l’ora di fine irrigazione, i giorni della settimana e l’uscita da attivare. Con Irrighino è possibile configurare più timer per la stessa uscita (ad esempio settare due irrigazioni al giorno in un semenzaio dove bisogna mantenere un’elevata umidità).

STAMPA     Tags:, ,

2 Comments

  1. ROSS QUARESMINI 20 agosto 2012
  2. xak 2 aprile 2012

Leave a Reply