SlideShare a Scribd company logo
1 of 12
Download to read offline
d.mercanti@gmail.com

IrrigaPIC
Centralina a 8 uscite per irrigazione con valvole a 24V ac con programma
settimanale.
Lo scopo del progetto è la realizzazione di una centralina per il controllo di elettrovalvole in alternata per
l’irrigazione del giardino… uno dei requisiti è il costo contenuto.

Schema a blocchi

La presa “220 in” dotata di interruttore (recuperati da alimentatori ATX) alimenta il “trasformatore”
(recuperato da qualche apparecchiatura surplus) da cui si ottiene 12V DC non regolati. Il “Conv dc/dc”
converte i 12V DC in 5 Volt regolati, usati per alimentare “Main CPU” e “RTC”. Il modulo “RTC” ha una
batteria di backup (cella al litio recuperata da un pacco di batterie di un portatile) per mantenere data e ora
in caso di mancanza di alimentazione di rete. La “Scheda relè” utilizza l’alimentazione a 12 V. I relè utilizzati
sono 8 del tipo mini e 1 del tipo normale, utilizzato per comandare una presa con uscita 220V. In pratica
quando almeno una delle 8 uscite è attiva, c’è tensione di rete anche sulla presa comandata in modo da
poter attivare l’alimentatore a bassa tensione (24V ac) solo al momento del bisogno… oppure potrebbe
essere utilizzata per comandare una pompa per pescare l’acqua da utilizzare per irrigare…
Tra un evento (accensione o spegnimento) e l’altro “Main CPU” è posta in stato di SLEEP per ridurre il
consumo di corrente; viene risvegliata da 2 diversi interrupt legati alla batteria scarica e interrupt da parte
del modulo RTC (orario del programma impostato dall’utente)
d.mercanti@gmail.com

Convertitore dc/dc
E’ utilizzato un MAX5035B di maxim-ic.com (ottenuto in campionatura gratuita) nel suo schema classico
indicato a pagina 1.

Il C di ingresso sono in realtà 3 : 100n,1u, 100u, l’induttore è 680uH (CoilCraft campionatura gratuita), il
CRef è 10n, il C di uscita 680u insieme a 100n.
Uno schema per la millefori potrebbe essere il seguente

C3 è in realtà l’induttore da 680uH. Ingresso in basso a destra, uscita (5V) in alto a sinistra.
d.mercanti@gmail.com

Main CPU
La scheda principale contiene







Processore Pic 18F2550 (Xtal 8Mhz con PLL) (campionatura gratuita Microchip)
RTC I2C DS1337 (Xtal 32Khz) (campionatura gratuita Maxim-ic.com)
Interfaccia di debug USART
Batteria tampone
2 tasti (accesso USB / testo TEST)
2 LED (status / batteria)


I pin relativi alla PORTB (21-28) attivano i relè in miniatura.
Pinout della CPU
d.mercanti@gmail.com

Funzionamento
Mancando completamente di display, l’impostazione iniziale della centralina viene fatta attraverso il
collegamento USB ad un PC tramite un apposito programma oppure sempre con lo stesso programma che
modifica il firmware prima della programmazione col PicKit (modalità USB).
All’accensione il firmware verifica la pressione dei tasti SUSB/SKEY entrando rispettivamente in modalità
USB o TEST; se nessuno dei tasti risulta premuto viene eseguito il programma principale: vengono letti data
e ora dal RTC, questi vengono confrontati con i dati presenti nell’EEPROM del PIC e alla presenza di eventi
per quell’ora (siano accensioni o spegnimento) verranno attivati o disattivati i relè corrispondenti.
Quindi viene letto l’evento successivo dalla EEPROM e impostato sul RTC l’ allarme la data a l’ora
dell’evento. A questo punto il PIC si pone in modalità SLEEP (con comparatori accesi) e verrà svegliato solo
da:



batteria tampone scarica (BATInt)
allarme timer (RTCInt)

Interrupt BATInt
Attiva il LED di segnalazione batteria scarica
La tensione di soglia di comparazione è generata usando il “COMPARATOR VOLTAGE REFERENCE
MODULE” (pag 281 del datasheet del P18F2550)
Interrupt RTCInt

Attiva il led di status, con un lampeggio rapido
Legge dalla EEPROM l’evento relativo alla data /ora di quel momento e attiva/disattiva i carichi.
Quindi legge l’evento successivo, spegne il LED di status, imposta nell’RTC il nuovo allarme e si pone
in SLEEP

Organizzazione memoria interna PIC
I 256 byte della EEPROM del PIC sono organizzati in 81 slot in grado di contenere eventi.
Un evento può essere un attivazione/disattivazione di un relè in un dato giorno/ora.
Un evento può accomunare più attivazioni/disattivazioni.
d.mercanti@gmail.com

I primi 8 byte sono riservati e possono contenere ad esempio il salvataggio della data/ora in fase di cambio
batteria.
I byte dalla posizione 8 alla posizione 253 sono riservati agli slot di informazione eventi. Ogni slot occupa 3
byte, ed ogni byte è così composto:

Byte 1: B7..B5 => giorno della settimana, B4..B0 => orario.
Il giorno della settimana :
0: non impostato
1: Domenica
…
7: Sabato
Byte 2: minuti
Byte 3: attivazioni PORTB

Segnalazione stato led
I led, di norma spenti, sono di due tipi:
Led batteria (verde) indica batteria tampone scarica. Rimane acceso per ricordare di sostituire la batteria
interna
Led stato (rosso): può lampeggiare in 2 modi (corto per OK, lungo per Errore), oppure acceso Fisso (di
norma un problema)
d.mercanti@gmail.com
All’avvio
Pressione SUSB : Led bat ON, Led Status ON => comunicazione USB HID Attivata
Pressione SKEY: Led Status ON (1 secondo), Lampeggio OK.
Poi il Led Status rimane acceso per 2 secondi per poi spegnersi e a questo punto
Se tasto SKEY è ancora premuto
Salva data e ora corrente, il dispositivo si mette in Stop (Led Status ON Fisso)
Se tasto SKEY non è più premuto
Si attiva la modalità di test che accende in sequenza gli 8 relè per 9 secondi ognuno;
durante il test il led status sarà accesso; terminato il testo un lampeggio, quindi il
dispositivo si mette in STOP accendendo il LED Status

Comunicazione USB
I comandi principali inviati nella comunicazione USB HID (report da 64 byte) sono
USB_FIRMWAREINFO : il dispositivo invia la versione del firmware (stringa di 29 byte) al USB HOST
USB_GETORA: il dispositivo legge l’RTC e invia data e ora al USB HOST (8 byte)

USB_LEGGISTATO: il dispositivo invia lo stato di alcune porte del PIC al USB HOST (6 byte)

USB_SETORA: l’USB HOST invia il nuovo orario da importare sul RTC (8 byte), vedi tracciato USB_GETORA
USB_SETPORTB: l’USB HOST invia il nuovo valore di PORTB (2 byte)
USB_RDRMEM: il dispositivo invia tutto il contenuto della EEPROM in blocchi da 64 byte.
USB_SCRMEM: l’USB HOST scrive 256 byte che andranno a sovrascrivere il contenuto della EEPROM
USB_DEBUG: il dispositivo legge il RTC e inizializza la gestione degli slot, leggendo il primo (5 byte)

USB_GETSLOTIDX: il dispositivo legge lo slot indicato alla posizione 1 del report HID, l’ora RTC e ne
restituisce il valore (8 byte)
d.mercanti@gmail.com

Scheda relè

Questa parte del circuito è stata realizzata come scheda separata in modo da poterla configurare in modo
personalizzato. In figura sono rappresentati solo il relè numero 1 e il relè numero 8 , i rimanenti sono
collegati in modo analogo. Necessita di una alimentazione +12V DC (non stabilizzati). Per poter pilotare in
modo adeguato le bobine dei relè invece di usare transistor-resistenze-diodo si è fatto uso dell’integrato
ULN2803 (campionatura gratuita ti.com), tranne che per il relè delle presa comandata pilotano con un
normale transistor.
Porta di ULN2808 e pinout del componente:

Realizzazione su mille fori (progetto con lochMaster):
d.mercanti@gmail.com
d.mercanti@gmail.com

Uno sguardo al firmware
I sorgenti sono in C, il compilatore mikroC 8.2.0.
Le impostazioni del progetto configurano un quarzo da 8 MHz.
Per alimentare correttamente il PLL per l’USB (che accetta solo frequenze da 4Mhz) si deve dividere il
“primary oscillator” per 2 (PLL Prescaler), quindi dividere per 2 questi 96 MHz per ottenere i 48MHz del bus
USB (USBDIV=1). L’uscita del PLL viene usato anche per alimentare il primary clock, dividendo anch’esso per
2 (CPUDIV), ottenendo un clock da 48Mhz.

Visto il “massiccio” utilizzo dei comparatori, ecco di seguito la configurazione usata: servivano 2
comparatori indipendenti ma con un riferimento ad una tensione comune di soglia.
Perché i comparatori ? Perché sono in grado di risvegliare il PIC dalla modalità di SLEEP, stato in cui viene
posta la CPU tra un evento e l’altro.
E la tensione di soglia , quale utilizzare ?
Beh visto che un indicatore è la batteria scarica, potremmo usare un valore intorno ai 3V…
L’altro comparatore è usato “impropriamente” per leggere lo stato del PIN “INT” dell’RTC; questo pin è
tenuto a livello Alto dal RTC fino a quando non scatta un evento impostato che lo porta a livello basso; si
sarebbe potuto utilizzare un normale PIN di I/O con interrupt sul cambio di stato, ma avendo già impostato
1 comparatore, anche l’altro, con le stesse modalità, può essere utilizzato senza troppi problemi.
Il registro principale è il CMCON
d.mercanti@gmail.com

È stato configurato in questo modo:
CMCON=0b00000110;
bit 7 C2OUT: Comparator 2 Output bit
0 = C2 VIN+ < C2 VINbit 6 C1OUT: Comparator 1 Output bit
0 = C1 VIN+ < C1 VINbit 5 C2INV: Comparator 2 Output Inversion bit
0 = C2 output not inverted
bit 4 C1INV: Comparator 1 Output Inversion bit
0 = C2 output not inverted
bit 3 CIS: Comparator Input Switch bit

Per impostare la tensione di soglia si utilizza il “Comparator Voltage Reference Module” disponibile su
diversi PIC. In pratica è una rete di 16 resistenze che dividono il valore della tensione di alimentazione in
una tensione che può essere usata come riferimento per il comparatori interni e/o portata sull’uscita del
pin dedicato.
Il registro che controlla il tutto è il

E in questo progetto è configurato in questo modo
CVRCON = 0b11001000;
bit 7 CVREN: Comparator Voltage Reference Enable bit
1 = CVREF circuit powered on
bit 6 CVROE: Comparator VREF Output Enable bit(1)
1 = CVREF voltage level is also output on the RA2/AN2/VREF-/CVREF pin
bit 5 CVRR: Comparator VREF Range Selection bit
0 = 0.25 CVRSRC to 0.75 CVRSRC, with CVRSRC/32 step size (high range)
bit 4 CVRSS: Comparator VREF Source Selection bit
0 = Comparator reference source, CVRSRC = VDD – VSS
bit 3-0 CVR3:CVR0: Comparator VREF Value Selection bits (0 ≤ (CVR3:CVR0) ≤ 15)
d.mercanti@gmail.com
When CVRR = 0:
CVREF = (CVRSRC/4) + ((CVR3:CVR0)/32) • (CVRSRC)
(5/4) + ((8/32) * 5)=1.25 + 1.25 = 2.5V
Quindi la tensione di riferimento per i comparatori e disponibile come Test Point su RA2 è di circa 2.5V
(ovviamente dipende dalla tensione di alimentazione).
Interrupt
Per la gestione degli interrupt si devono abilitare dal registro INTCON
GIE=> Global Interrupt Enable bit
PEIE=> Peripheral Interrupt Enable bit
E dal registro PIE2 (contain the individual enable bits for the peripheral interrupts.)
CMIE=>Comparator Interrupt Enable bit
Nella routine di gestione si dovrà poi resettare il bit PIR2.CMIF
La gestione del RTC è piuttosto semplice ed è inclusa nel file ds1337_stuff.c, le funzioni principali
implementate sono le seguenti
DS_NOW(void);
DS_setOrario(unsigned short hh, unsigned short mm,unsigned short ss);
DS_setData(unsigned short dd,unsigned short gg,unsigned short mm, unsigned short aa);
DS_setAllarme(unsigned short hh, unsigned short mm,unsigned short dd);
DS_getAllarme(void);
DS_clearAllarme();

Per semplificare la lettura dei dati dalla eeprom del PIC è stata create una libreria apposita (EEprom_stuff.c)
che simula una lista
void EE_Reset();
unsigned short EE_Eos();
void EE_Open();
void EE_READSlot();
void EE_moveNext();
void EE_moveFirst();
void EE_moveLast();
void EE_moveTo(unsigned short indexBaseZero);

Conclusione
La centralina è stata provata tutto il mese natalizio per accendere le lucine sul mio balcone.. e non è
esplosa! Dal punto di vista elettronico non è una gran complessità, e sono per la maggior parte componenti
reperibili in campionatura gratuita o dal basso costo e quindi le premesse iniziali non sono state disattese…
costa molto di più il contenitore (scatola di derivazione per impianti elettrici).

Samples
PIC18F2550
PIC
DS1337
I²C Serial Real-Time Clock
MAX5035B
1A Step-Down DC/DC Conv.
ULN2803
Octal darlington transistor array
T81H5D312-05 5V PCB relay
RTH14012
12V Power PCB relay
DR0810-684L 680uH Coil
4900-9048RE6424VAC@0.8A Transformer

www.microchip.com
www.maximintegrated.com
www.maximintegrated.com
www.ti.com
www.te.com
www.te.com
www.coilcraft.com
www.te.com
d.mercanti@gmail.com

Schema realizzazione scheda CPU

More Related Content

What's hot

An IoT prototype: from ideation to promotion
An IoT prototype: from ideation to promotionAn IoT prototype: from ideation to promotion
An IoT prototype: from ideation to promotionJennifer De Filicaia
 
Arkanoid on Altera DE-1
Arkanoid on Altera DE-1Arkanoid on Altera DE-1
Arkanoid on Altera DE-1Matteo Gazzin
 
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...Sardegna Ricerche
 
Manuale inseritore Dallas
Manuale inseritore DallasManuale inseritore Dallas
Manuale inseritore Dallasgigiovanni
 
Presentazione
PresentazionePresentazione
Presentazionecesario
 
Inseguitore solare
Inseguitore solareInseguitore solare
Inseguitore solareaaa bbbb
 
Forza4 PIC microcontroller
Forza4 PIC microcontrollerForza4 PIC microcontroller
Forza4 PIC microcontrollerDavide Mercanti
 
Product catalogs 03: electronic instrumentation - weight indicators & weight ...
Product catalogs 03: electronic instrumentation - weight indicators & weight ...Product catalogs 03: electronic instrumentation - weight indicators & weight ...
Product catalogs 03: electronic instrumentation - weight indicators & weight ...LAUMAS
 
Come rendere Arduino professionale
Come rendere Arduino professionaleCome rendere Arduino professionale
Come rendere Arduino professionaleEmanuele Bonanni
 
Workshop arduino e sensori
Workshop arduino e sensoriWorkshop arduino e sensori
Workshop arduino e sensoriPaolo Aliverti
 

What's hot (17)

Workshop su Arduino
Workshop su ArduinoWorkshop su Arduino
Workshop su Arduino
 
An IoT prototype: from ideation to promotion
An IoT prototype: from ideation to promotionAn IoT prototype: from ideation to promotion
An IoT prototype: from ideation to promotion
 
Grix.it wood board usb
Grix.it    wood board usbGrix.it    wood board usb
Grix.it wood board usb
 
Arkanoid on Altera DE-1
Arkanoid on Altera DE-1Arkanoid on Altera DE-1
Arkanoid on Altera DE-1
 
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...
Il cuore di Arduino: Un sistema di sviluppo basato su microcontrollore Atmel ...
 
Manuale inseritore Dallas
Manuale inseritore DallasManuale inseritore Dallas
Manuale inseritore Dallas
 
Localizzatore GPS satellitare
Localizzatore GPS satellitareLocalizzatore GPS satellitare
Localizzatore GPS satellitare
 
Presentazione
PresentazionePresentazione
Presentazione
 
Fare Musica con Arduino
Fare Musica con ArduinoFare Musica con Arduino
Fare Musica con Arduino
 
Inseguitore solare
Inseguitore solareInseguitore solare
Inseguitore solare
 
Forza4 PIC microcontroller
Forza4 PIC microcontrollerForza4 PIC microcontroller
Forza4 PIC microcontroller
 
Product catalogs 03: electronic instrumentation - weight indicators & weight ...
Product catalogs 03: electronic instrumentation - weight indicators & weight ...Product catalogs 03: electronic instrumentation - weight indicators & weight ...
Product catalogs 03: electronic instrumentation - weight indicators & weight ...
 
Appunti interrupt 8086
Appunti interrupt 8086Appunti interrupt 8086
Appunti interrupt 8086
 
Come rendere Arduino professionale
Come rendere Arduino professionaleCome rendere Arduino professionale
Come rendere Arduino professionale
 
uNav - Board
uNav - BoarduNav - Board
uNav - Board
 
Workshop arduino e sensori
Workshop arduino e sensoriWorkshop arduino e sensori
Workshop arduino e sensori
 
Assembly2
Assembly2Assembly2
Assembly2
 

Viewers also liked

Chapel powerpoint for elca peter
Chapel powerpoint for elca peterChapel powerpoint for elca peter
Chapel powerpoint for elca peterPeter Randall
 
Б.Бүрэнжаргал Б.Тулга - Улаанбаатар хотын дулааны шинэ эх үүсвэрийн оновчлолт...
Б.Бүрэнжаргал Б.Тулга - Улаанбаатар хотын дулааны шинэ эх үүсвэрийн оновчлолт...Б.Бүрэнжаргал Б.Тулга - Улаанбаатар хотын дулааны шинэ эх үүсвэрийн оновчлолт...
Б.Бүрэнжаргал Б.Тулга - Улаанбаатар хотын дулааны шинэ эх үүсвэрийн оновчлолт...batnasanb
 
Г.Одгэрэл, Ц.Должинжав - БАЙГУУЛЛАГЫН ХӨГЖИЛ БА МЕНЕЖМЕНТИЙН СУРГАГЧ
Г.Одгэрэл, Ц.Должинжав - БАЙГУУЛЛАГЫН ХӨГЖИЛ БА МЕНЕЖМЕНТИЙН СУРГАГЧ Г.Одгэрэл, Ц.Должинжав - БАЙГУУЛЛАГЫН ХӨГЖИЛ БА МЕНЕЖМЕНТИЙН СУРГАГЧ
Г.Одгэрэл, Ц.Должинжав - БАЙГУУЛЛАГЫН ХӨГЖИЛ БА МЕНЕЖМЕНТИЙН СУРГАГЧ batnasanb
 
Torquest ’13 elims answers
Torquest ’13 elims answersTorquest ’13 elims answers
Torquest ’13 elims answersOmkar Yarguddi
 
Zandargiiraa - НИЙСЭЛЛИЙН НИЙТИЙН ТЭЭВРИЙН ГАЗРЫН ТӨЛБӨР ТООЦООНЫ СИСТЕМИЙГ Ш...
Zandargiiraa - НИЙСЭЛЛИЙН НИЙТИЙН ТЭЭВРИЙН ГАЗРЫН ТӨЛБӨР ТООЦООНЫ СИСТЕМИЙГ Ш...Zandargiiraa - НИЙСЭЛЛИЙН НИЙТИЙН ТЭЭВРИЙН ГАЗРЫН ТӨЛБӨР ТООЦООНЫ СИСТЕМИЙГ Ш...
Zandargiiraa - НИЙСЭЛЛИЙН НИЙТИЙН ТЭЭВРИЙН ГАЗРЫН ТӨЛБӨР ТООЦООНЫ СИСТЕМИЙГ Ш...batnasanb
 
งานนำเสนอ จินตนา ปินใจกุล
งานนำเสนอ จินตนา ปินใจกุลงานนำเสนอ จินตนา ปินใจกุล
งานนำเสนอ จินตนา ปินใจกุลjintana pinjaikul
 
จินตนา ปินใจกุล
จินตนา ปินใจกุลจินตนา ปินใจกุล
จินตนา ปินใจกุลjintana pinjaikul
 
Отгонзаяа, Байгальмаа - МОНГОЛЫН ЭДИЙН ЗАСГИЙН ЭЭДРЭЭТ БАЙДАЛ БА ЭНЭ ХЭСГИЙН...
Отгонзаяа, Байгальмаа - МОНГОЛЫН ЭДИЙН ЗАСГИЙН ЭЭДРЭЭТ БАЙДАЛ БА  ЭНЭ ХЭСГИЙН...Отгонзаяа, Байгальмаа - МОНГОЛЫН ЭДИЙН ЗАСГИЙН ЭЭДРЭЭТ БАЙДАЛ БА  ЭНЭ ХЭСГИЙН...
Отгонзаяа, Байгальмаа - МОНГОЛЫН ЭДИЙН ЗАСГИЙН ЭЭДРЭЭТ БАЙДАЛ БА ЭНЭ ХЭСГИЙН...batnasanb
 
Х. СҮГЖЛХАМ - МОНГОЛ УЛСЫН ӨМЧИЙН ҮНЭЛГЭЭНИЙ ТҮҮХЭН ЭКСКУРС
Х. СҮГЖЛХАМ - МОНГОЛ УЛСЫН ӨМЧИЙН ҮНЭЛГЭЭНИЙ ТҮҮХЭН ЭКСКУРСХ. СҮГЖЛХАМ - МОНГОЛ УЛСЫН ӨМЧИЙН ҮНЭЛГЭЭНИЙ ТҮҮХЭН ЭКСКУРС
Х. СҮГЖЛХАМ - МОНГОЛ УЛСЫН ӨМЧИЙН ҮНЭЛГЭЭНИЙ ТҮҮХЭН ЭКСКУРСbatnasanb
 
О.Энхбаяр - Магадлалын тусламжтайгаар үнэт цаасны үнийн модыг байгуулах нь
О.Энхбаяр - Магадлалын тусламжтайгаар үнэт цаасны үнийн модыг байгуулах ньО.Энхбаяр - Магадлалын тусламжтайгаар үнэт цаасны үнийн модыг байгуулах нь
О.Энхбаяр - Магадлалын тусламжтайгаар үнэт цаасны үнийн модыг байгуулах ньbatnasanb
 
М.Маргадмөн Х.Нямжаргал - ВАЛЮТЫН ОНОВЧТОЙ БАГЦ БҮРДҮҮЛЖ, ИРЭЭДҮЙН ТААМАГЛАЛЫ...
М.Маргадмөн Х.Нямжаргал - ВАЛЮТЫН ОНОВЧТОЙ БАГЦ БҮРДҮҮЛЖ, ИРЭЭДҮЙН ТААМАГЛАЛЫ...М.Маргадмөн Х.Нямжаргал - ВАЛЮТЫН ОНОВЧТОЙ БАГЦ БҮРДҮҮЛЖ, ИРЭЭДҮЙН ТААМАГЛАЛЫ...
М.Маргадмөн Х.Нямжаргал - ВАЛЮТЫН ОНОВЧТОЙ БАГЦ БҮРДҮҮЛЖ, ИРЭЭДҮЙН ТААМАГЛАЛЫ...batnasanb
 
Т. Оюун-Эрдэнэ - АЖИЛЛАГЧДАД ХУВЬЦАА ЭЗЭМШҮҮЛЭХ ХӨТӨЛБӨР
Т. Оюун-Эрдэнэ - АЖИЛЛАГЧДАД ХУВЬЦАА ЭЗЭМШҮҮЛЭХ ХӨТӨЛБӨРТ. Оюун-Эрдэнэ - АЖИЛЛАГЧДАД ХУВЬЦАА ЭЗЭМШҮҮЛЭХ ХӨТӨЛБӨР
Т. Оюун-Эрдэнэ - АЖИЛЛАГЧДАД ХУВЬЦАА ЭЗЭМШҮҮЛЭХ ХӨТӨЛБӨРbatnasanb
 
Г.Ганбилэг С.Мөнх-Эрдэнэ - Орон нутгийн аялал жуулчлалын салбарт Event Manag...
Г.Ганбилэг С.Мөнх-Эрдэнэ - Орон нутгийн аялал жуулчлалын салбарт  Event Manag...Г.Ганбилэг С.Мөнх-Эрдэнэ - Орон нутгийн аялал жуулчлалын салбарт  Event Manag...
Г.Ганбилэг С.Мөнх-Эрдэнэ - Орон нутгийн аялал жуулчлалын салбарт Event Manag...batnasanb
 
Доржийн Солонго - ЦАХИМ КОМПАНИ, ТҮҮНИЙ БИЙ БОЛОХ ҮЗЭГДЭЛ
Доржийн Солонго - ЦАХИМ КОМПАНИ, ТҮҮНИЙ БИЙ БОЛОХ ҮЗЭГДЭЛДоржийн Солонго - ЦАХИМ КОМПАНИ, ТҮҮНИЙ БИЙ БОЛОХ ҮЗЭГДЭЛ
Доржийн Солонго - ЦАХИМ КОМПАНИ, ТҮҮНИЙ БИЙ БОЛОХ ҮЗЭГДЭЛbatnasanb
 
Torquest ’13 finals, MindSpark, College of Engineering Pune
Torquest ’13 finals, MindSpark, College of Engineering PuneTorquest ’13 finals, MindSpark, College of Engineering Pune
Torquest ’13 finals, MindSpark, College of Engineering PuneOmkar Yarguddi
 
Ж.Индра - Үнийг экологи, чанарын параметрүүдээс хамааруулан тогтоох шинжилгээ
Ж.Индра - Үнийг экологи, чанарын параметрүүдээс хамааруулан тогтоох шинжилгээЖ.Индра - Үнийг экологи, чанарын параметрүүдээс хамааруулан тогтоох шинжилгээ
Ж.Индра - Үнийг экологи, чанарын параметрүүдээс хамааруулан тогтоох шинжилгээbatnasanb
 
วิธีตรวจสอบไวรัส
วิธีตรวจสอบไวรัสวิธีตรวจสอบไวรัส
วิธีตรวจสอบไวรัสsilanee1
 
О.Нямцэцэг - Боловсролын салбарт Мэдээлэл харилцаа холбоо технологийн Хөрөнгө...
О.Нямцэцэг - Боловсролын салбарт Мэдээлэл харилцаа холбоо технологийн Хөрөнгө...О.Нямцэцэг - Боловсролын салбарт Мэдээлэл харилцаа холбоо технологийн Хөрөнгө...
О.Нямцэцэг - Боловсролын салбарт Мэдээлэл харилцаа холбоо технологийн Хөрөнгө...batnasanb
 

Viewers also liked (20)

Chapel powerpoint for elca peter
Chapel powerpoint for elca peterChapel powerpoint for elca peter
Chapel powerpoint for elca peter
 
esp8266 Wifi 4 PIC
esp8266 Wifi 4 PICesp8266 Wifi 4 PIC
esp8266 Wifi 4 PIC
 
Urban birds contest
Urban birds contestUrban birds contest
Urban birds contest
 
Б.Бүрэнжаргал Б.Тулга - Улаанбаатар хотын дулааны шинэ эх үүсвэрийн оновчлолт...
Б.Бүрэнжаргал Б.Тулга - Улаанбаатар хотын дулааны шинэ эх үүсвэрийн оновчлолт...Б.Бүрэнжаргал Б.Тулга - Улаанбаатар хотын дулааны шинэ эх үүсвэрийн оновчлолт...
Б.Бүрэнжаргал Б.Тулга - Улаанбаатар хотын дулааны шинэ эх үүсвэрийн оновчлолт...
 
Г.Одгэрэл, Ц.Должинжав - БАЙГУУЛЛАГЫН ХӨГЖИЛ БА МЕНЕЖМЕНТИЙН СУРГАГЧ
Г.Одгэрэл, Ц.Должинжав - БАЙГУУЛЛАГЫН ХӨГЖИЛ БА МЕНЕЖМЕНТИЙН СУРГАГЧ Г.Одгэрэл, Ц.Должинжав - БАЙГУУЛЛАГЫН ХӨГЖИЛ БА МЕНЕЖМЕНТИЙН СУРГАГЧ
Г.Одгэрэл, Ц.Должинжав - БАЙГУУЛЛАГЫН ХӨГЖИЛ БА МЕНЕЖМЕНТИЙН СУРГАГЧ
 
Torquest ’13 elims answers
Torquest ’13 elims answersTorquest ’13 elims answers
Torquest ’13 elims answers
 
Zandargiiraa - НИЙСЭЛЛИЙН НИЙТИЙН ТЭЭВРИЙН ГАЗРЫН ТӨЛБӨР ТООЦООНЫ СИСТЕМИЙГ Ш...
Zandargiiraa - НИЙСЭЛЛИЙН НИЙТИЙН ТЭЭВРИЙН ГАЗРЫН ТӨЛБӨР ТООЦООНЫ СИСТЕМИЙГ Ш...Zandargiiraa - НИЙСЭЛЛИЙН НИЙТИЙН ТЭЭВРИЙН ГАЗРЫН ТӨЛБӨР ТООЦООНЫ СИСТЕМИЙГ Ш...
Zandargiiraa - НИЙСЭЛЛИЙН НИЙТИЙН ТЭЭВРИЙН ГАЗРЫН ТӨЛБӨР ТООЦООНЫ СИСТЕМИЙГ Ш...
 
งานนำเสนอ จินตนา ปินใจกุล
งานนำเสนอ จินตนา ปินใจกุลงานนำเสนอ จินตนา ปินใจกุล
งานนำเสนอ จินตนา ปินใจกุล
 
จินตนา ปินใจกุล
จินตนา ปินใจกุลจินตนา ปินใจกุล
จินตนา ปินใจกุล
 
Отгонзаяа, Байгальмаа - МОНГОЛЫН ЭДИЙН ЗАСГИЙН ЭЭДРЭЭТ БАЙДАЛ БА ЭНЭ ХЭСГИЙН...
Отгонзаяа, Байгальмаа - МОНГОЛЫН ЭДИЙН ЗАСГИЙН ЭЭДРЭЭТ БАЙДАЛ БА  ЭНЭ ХЭСГИЙН...Отгонзаяа, Байгальмаа - МОНГОЛЫН ЭДИЙН ЗАСГИЙН ЭЭДРЭЭТ БАЙДАЛ БА  ЭНЭ ХЭСГИЙН...
Отгонзаяа, Байгальмаа - МОНГОЛЫН ЭДИЙН ЗАСГИЙН ЭЭДРЭЭТ БАЙДАЛ БА ЭНЭ ХЭСГИЙН...
 
Х. СҮГЖЛХАМ - МОНГОЛ УЛСЫН ӨМЧИЙН ҮНЭЛГЭЭНИЙ ТҮҮХЭН ЭКСКУРС
Х. СҮГЖЛХАМ - МОНГОЛ УЛСЫН ӨМЧИЙН ҮНЭЛГЭЭНИЙ ТҮҮХЭН ЭКСКУРСХ. СҮГЖЛХАМ - МОНГОЛ УЛСЫН ӨМЧИЙН ҮНЭЛГЭЭНИЙ ТҮҮХЭН ЭКСКУРС
Х. СҮГЖЛХАМ - МОНГОЛ УЛСЫН ӨМЧИЙН ҮНЭЛГЭЭНИЙ ТҮҮХЭН ЭКСКУРС
 
О.Энхбаяр - Магадлалын тусламжтайгаар үнэт цаасны үнийн модыг байгуулах нь
О.Энхбаяр - Магадлалын тусламжтайгаар үнэт цаасны үнийн модыг байгуулах ньО.Энхбаяр - Магадлалын тусламжтайгаар үнэт цаасны үнийн модыг байгуулах нь
О.Энхбаяр - Магадлалын тусламжтайгаар үнэт цаасны үнийн модыг байгуулах нь
 
М.Маргадмөн Х.Нямжаргал - ВАЛЮТЫН ОНОВЧТОЙ БАГЦ БҮРДҮҮЛЖ, ИРЭЭДҮЙН ТААМАГЛАЛЫ...
М.Маргадмөн Х.Нямжаргал - ВАЛЮТЫН ОНОВЧТОЙ БАГЦ БҮРДҮҮЛЖ, ИРЭЭДҮЙН ТААМАГЛАЛЫ...М.Маргадмөн Х.Нямжаргал - ВАЛЮТЫН ОНОВЧТОЙ БАГЦ БҮРДҮҮЛЖ, ИРЭЭДҮЙН ТААМАГЛАЛЫ...
М.Маргадмөн Х.Нямжаргал - ВАЛЮТЫН ОНОВЧТОЙ БАГЦ БҮРДҮҮЛЖ, ИРЭЭДҮЙН ТААМАГЛАЛЫ...
 
Т. Оюун-Эрдэнэ - АЖИЛЛАГЧДАД ХУВЬЦАА ЭЗЭМШҮҮЛЭХ ХӨТӨЛБӨР
Т. Оюун-Эрдэнэ - АЖИЛЛАГЧДАД ХУВЬЦАА ЭЗЭМШҮҮЛЭХ ХӨТӨЛБӨРТ. Оюун-Эрдэнэ - АЖИЛЛАГЧДАД ХУВЬЦАА ЭЗЭМШҮҮЛЭХ ХӨТӨЛБӨР
Т. Оюун-Эрдэнэ - АЖИЛЛАГЧДАД ХУВЬЦАА ЭЗЭМШҮҮЛЭХ ХӨТӨЛБӨР
 
Г.Ганбилэг С.Мөнх-Эрдэнэ - Орон нутгийн аялал жуулчлалын салбарт Event Manag...
Г.Ганбилэг С.Мөнх-Эрдэнэ - Орон нутгийн аялал жуулчлалын салбарт  Event Manag...Г.Ганбилэг С.Мөнх-Эрдэнэ - Орон нутгийн аялал жуулчлалын салбарт  Event Manag...
Г.Ганбилэг С.Мөнх-Эрдэнэ - Орон нутгийн аялал жуулчлалын салбарт Event Manag...
 
Доржийн Солонго - ЦАХИМ КОМПАНИ, ТҮҮНИЙ БИЙ БОЛОХ ҮЗЭГДЭЛ
Доржийн Солонго - ЦАХИМ КОМПАНИ, ТҮҮНИЙ БИЙ БОЛОХ ҮЗЭГДЭЛДоржийн Солонго - ЦАХИМ КОМПАНИ, ТҮҮНИЙ БИЙ БОЛОХ ҮЗЭГДЭЛ
Доржийн Солонго - ЦАХИМ КОМПАНИ, ТҮҮНИЙ БИЙ БОЛОХ ҮЗЭГДЭЛ
 
Torquest ’13 finals, MindSpark, College of Engineering Pune
Torquest ’13 finals, MindSpark, College of Engineering PuneTorquest ’13 finals, MindSpark, College of Engineering Pune
Torquest ’13 finals, MindSpark, College of Engineering Pune
 
Ж.Индра - Үнийг экологи, чанарын параметрүүдээс хамааруулан тогтоох шинжилгээ
Ж.Индра - Үнийг экологи, чанарын параметрүүдээс хамааруулан тогтоох шинжилгээЖ.Индра - Үнийг экологи, чанарын параметрүүдээс хамааруулан тогтоох шинжилгээ
Ж.Индра - Үнийг экологи, чанарын параметрүүдээс хамааруулан тогтоох шинжилгээ
 
วิธีตรวจสอบไวรัส
วิธีตรวจสอบไวรัสวิธีตรวจสอบไวรัส
วิธีตรวจสอบไวรัส
 
О.Нямцэцэг - Боловсролын салбарт Мэдээлэл харилцаа холбоо технологийн Хөрөнгө...
О.Нямцэцэг - Боловсролын салбарт Мэдээлэл харилцаа холбоо технологийн Хөрөнгө...О.Нямцэцэг - Боловсролын салбарт Мэдээлэл харилцаа холбоо технологийн Хөрөнгө...
О.Нямцэцэг - Боловсролын салбарт Мэдээлэл харилцаа холбоо технологийн Хөрөнгө...
 

Similar to IrrigaPIC Centralina per irrigazione 8 zone per valvole 24v ac

Ltc4219 controllore hot swap integrato da 5 a - 2010-10-13
Ltc4219   controllore hot swap integrato da 5 a - 2010-10-13Ltc4219   controllore hot swap integrato da 5 a - 2010-10-13
Ltc4219 controllore hot swap integrato da 5 a - 2010-10-13Ionela
 
Lezione 2 arduino - corso 20 ore
Lezione 2 arduino - corso 20 oreLezione 2 arduino - corso 20 ore
Lezione 2 arduino - corso 20 oreMirko Mancin
 
Gsm control
Gsm controlGsm control
Gsm controlaaa bbbb
 
Progetto ldc
Progetto ldcProgetto ldc
Progetto ldcaaa bbbb
 
Ltc2990 monitoraggio di temperatura, tensione e corrente con i2 c - 2010-11-10
Ltc2990   monitoraggio di temperatura, tensione e corrente con i2 c - 2010-11-10Ltc2990   monitoraggio di temperatura, tensione e corrente con i2 c - 2010-11-10
Ltc2990 monitoraggio di temperatura, tensione e corrente con i2 c - 2010-11-10Ionela
 
Banco di collaudo per dispositivi pneumatici del sistema frenante ferroviario...
Banco di collaudo per dispositivi pneumatici del sistema frenante ferroviario...Banco di collaudo per dispositivi pneumatici del sistema frenante ferroviario...
Banco di collaudo per dispositivi pneumatici del sistema frenante ferroviario...TogetherToSolve
 
Review4 u arduino duemilanove scheda di sviluppo compatibile 2010-11-11
Review4 u arduino duemilanove scheda di sviluppo compatibile   2010-11-11Review4 u arduino duemilanove scheda di sviluppo compatibile   2010-11-11
Review4 u arduino duemilanove scheda di sviluppo compatibile 2010-11-11Ionela
 
Portfolio Energy Automation SELTA 2018
Portfolio Energy Automation SELTA 2018Portfolio Energy Automation SELTA 2018
Portfolio Energy Automation SELTA 2018SELTA
 
EuComm
EuCommEuComm
EuCommiBLio
 
Teleoperating a robotic arm through a gyroscopic helmet
Teleoperating a robotic arm through a gyroscopic helmetTeleoperating a robotic arm through a gyroscopic helmet
Teleoperating a robotic arm through a gyroscopic helmetFrancesco Corucci
 
La rete sperimentale in DC in BT di RSE: risultati ottenuti e sviluppi futuri
La rete sperimentale in DC in BT di RSE: risultati ottenuti e sviluppi futuriLa rete sperimentale in DC in BT di RSE: risultati ottenuti e sviluppi futuri
La rete sperimentale in DC in BT di RSE: risultati ottenuti e sviluppi futuriSardegna Ricerche
 
Lezione 3 arduino - corso 20 ore
Lezione 3 arduino - corso 20 oreLezione 3 arduino - corso 20 ore
Lezione 3 arduino - corso 20 oreMirko Mancin
 
Corso Arduino Base - MUST
Corso Arduino Base - MUSTCorso Arduino Base - MUST
Corso Arduino Base - MUSTOPS Italia
 
Domotica per il risparmio energetico
Domotica per il risparmio energeticoDomotica per il risparmio energetico
Domotica per il risparmio energeticoGiuseppe Salinaro
 
Il Personal Computer
Il Personal ComputerIl Personal Computer
Il Personal Computerbity1988
 
Il Personal Computer
Il Personal ComputerIl Personal Computer
Il Personal Computerbity1988
 
Comunicazione per sensori intelligenti IO-Link
Comunicazione per sensori intelligenti IO-LinkComunicazione per sensori intelligenti IO-Link
Comunicazione per sensori intelligenti IO-Linkifm electronic gmbh
 

Similar to IrrigaPIC Centralina per irrigazione 8 zone per valvole 24v ac (20)

Ltc4219 controllore hot swap integrato da 5 a - 2010-10-13
Ltc4219   controllore hot swap integrato da 5 a - 2010-10-13Ltc4219   controllore hot swap integrato da 5 a - 2010-10-13
Ltc4219 controllore hot swap integrato da 5 a - 2010-10-13
 
Lezione 2 arduino - corso 20 ore
Lezione 2 arduino - corso 20 oreLezione 2 arduino - corso 20 ore
Lezione 2 arduino - corso 20 ore
 
Gsm control
Gsm controlGsm control
Gsm control
 
Progetto ldc
Progetto ldcProgetto ldc
Progetto ldc
 
Ltc2990 monitoraggio di temperatura, tensione e corrente con i2 c - 2010-11-10
Ltc2990   monitoraggio di temperatura, tensione e corrente con i2 c - 2010-11-10Ltc2990   monitoraggio di temperatura, tensione e corrente con i2 c - 2010-11-10
Ltc2990 monitoraggio di temperatura, tensione e corrente con i2 c - 2010-11-10
 
Banco di collaudo per dispositivi pneumatici del sistema frenante ferroviario...
Banco di collaudo per dispositivi pneumatici del sistema frenante ferroviario...Banco di collaudo per dispositivi pneumatici del sistema frenante ferroviario...
Banco di collaudo per dispositivi pneumatici del sistema frenante ferroviario...
 
Review4 u arduino duemilanove scheda di sviluppo compatibile 2010-11-11
Review4 u arduino duemilanove scheda di sviluppo compatibile   2010-11-11Review4 u arduino duemilanove scheda di sviluppo compatibile   2010-11-11
Review4 u arduino duemilanove scheda di sviluppo compatibile 2010-11-11
 
Introduzione ad Arduino del Maker DevLab
Introduzione ad Arduino del Maker DevLabIntroduzione ad Arduino del Maker DevLab
Introduzione ad Arduino del Maker DevLab
 
Portfolio Energy Automation SELTA 2018
Portfolio Energy Automation SELTA 2018Portfolio Energy Automation SELTA 2018
Portfolio Energy Automation SELTA 2018
 
EuComm
EuCommEuComm
EuComm
 
Teleoperating a robotic arm through a gyroscopic helmet
Teleoperating a robotic arm through a gyroscopic helmetTeleoperating a robotic arm through a gyroscopic helmet
Teleoperating a robotic arm through a gyroscopic helmet
 
La rete sperimentale in DC in BT di RSE: risultati ottenuti e sviluppi futuri
La rete sperimentale in DC in BT di RSE: risultati ottenuti e sviluppi futuriLa rete sperimentale in DC in BT di RSE: risultati ottenuti e sviluppi futuri
La rete sperimentale in DC in BT di RSE: risultati ottenuti e sviluppi futuri
 
Arduino - Le basi per iniziare nel mondo IoT
Arduino - Le basi per iniziare nel mondo IoTArduino - Le basi per iniziare nel mondo IoT
Arduino - Le basi per iniziare nel mondo IoT
 
Lezione 3 arduino - corso 20 ore
Lezione 3 arduino - corso 20 oreLezione 3 arduino - corso 20 ore
Lezione 3 arduino - corso 20 ore
 
Corso Arduino Base - MUST
Corso Arduino Base - MUSTCorso Arduino Base - MUST
Corso Arduino Base - MUST
 
Domotica per il risparmio energetico
Domotica per il risparmio energeticoDomotica per il risparmio energetico
Domotica per il risparmio energetico
 
Il Personal Computer
Il Personal ComputerIl Personal Computer
Il Personal Computer
 
Il Personal Computer
Il Personal ComputerIl Personal Computer
Il Personal Computer
 
Car accident detector
Car accident detectorCar accident detector
Car accident detector
 
Comunicazione per sensori intelligenti IO-Link
Comunicazione per sensori intelligenti IO-LinkComunicazione per sensori intelligenti IO-Link
Comunicazione per sensori intelligenti IO-Link
 

IrrigaPIC Centralina per irrigazione 8 zone per valvole 24v ac

  • 1. d.mercanti@gmail.com IrrigaPIC Centralina a 8 uscite per irrigazione con valvole a 24V ac con programma settimanale. Lo scopo del progetto è la realizzazione di una centralina per il controllo di elettrovalvole in alternata per l’irrigazione del giardino… uno dei requisiti è il costo contenuto. Schema a blocchi La presa “220 in” dotata di interruttore (recuperati da alimentatori ATX) alimenta il “trasformatore” (recuperato da qualche apparecchiatura surplus) da cui si ottiene 12V DC non regolati. Il “Conv dc/dc” converte i 12V DC in 5 Volt regolati, usati per alimentare “Main CPU” e “RTC”. Il modulo “RTC” ha una batteria di backup (cella al litio recuperata da un pacco di batterie di un portatile) per mantenere data e ora in caso di mancanza di alimentazione di rete. La “Scheda relè” utilizza l’alimentazione a 12 V. I relè utilizzati sono 8 del tipo mini e 1 del tipo normale, utilizzato per comandare una presa con uscita 220V. In pratica quando almeno una delle 8 uscite è attiva, c’è tensione di rete anche sulla presa comandata in modo da poter attivare l’alimentatore a bassa tensione (24V ac) solo al momento del bisogno… oppure potrebbe essere utilizzata per comandare una pompa per pescare l’acqua da utilizzare per irrigare… Tra un evento (accensione o spegnimento) e l’altro “Main CPU” è posta in stato di SLEEP per ridurre il consumo di corrente; viene risvegliata da 2 diversi interrupt legati alla batteria scarica e interrupt da parte del modulo RTC (orario del programma impostato dall’utente)
  • 2. d.mercanti@gmail.com Convertitore dc/dc E’ utilizzato un MAX5035B di maxim-ic.com (ottenuto in campionatura gratuita) nel suo schema classico indicato a pagina 1. Il C di ingresso sono in realtà 3 : 100n,1u, 100u, l’induttore è 680uH (CoilCraft campionatura gratuita), il CRef è 10n, il C di uscita 680u insieme a 100n. Uno schema per la millefori potrebbe essere il seguente C3 è in realtà l’induttore da 680uH. Ingresso in basso a destra, uscita (5V) in alto a sinistra.
  • 3. d.mercanti@gmail.com Main CPU La scheda principale contiene       Processore Pic 18F2550 (Xtal 8Mhz con PLL) (campionatura gratuita Microchip) RTC I2C DS1337 (Xtal 32Khz) (campionatura gratuita Maxim-ic.com) Interfaccia di debug USART Batteria tampone 2 tasti (accesso USB / testo TEST) 2 LED (status / batteria)  I pin relativi alla PORTB (21-28) attivano i relè in miniatura. Pinout della CPU
  • 4. d.mercanti@gmail.com Funzionamento Mancando completamente di display, l’impostazione iniziale della centralina viene fatta attraverso il collegamento USB ad un PC tramite un apposito programma oppure sempre con lo stesso programma che modifica il firmware prima della programmazione col PicKit (modalità USB). All’accensione il firmware verifica la pressione dei tasti SUSB/SKEY entrando rispettivamente in modalità USB o TEST; se nessuno dei tasti risulta premuto viene eseguito il programma principale: vengono letti data e ora dal RTC, questi vengono confrontati con i dati presenti nell’EEPROM del PIC e alla presenza di eventi per quell’ora (siano accensioni o spegnimento) verranno attivati o disattivati i relè corrispondenti. Quindi viene letto l’evento successivo dalla EEPROM e impostato sul RTC l’ allarme la data a l’ora dell’evento. A questo punto il PIC si pone in modalità SLEEP (con comparatori accesi) e verrà svegliato solo da:   batteria tampone scarica (BATInt) allarme timer (RTCInt) Interrupt BATInt Attiva il LED di segnalazione batteria scarica La tensione di soglia di comparazione è generata usando il “COMPARATOR VOLTAGE REFERENCE MODULE” (pag 281 del datasheet del P18F2550) Interrupt RTCInt Attiva il led di status, con un lampeggio rapido Legge dalla EEPROM l’evento relativo alla data /ora di quel momento e attiva/disattiva i carichi. Quindi legge l’evento successivo, spegne il LED di status, imposta nell’RTC il nuovo allarme e si pone in SLEEP Organizzazione memoria interna PIC I 256 byte della EEPROM del PIC sono organizzati in 81 slot in grado di contenere eventi. Un evento può essere un attivazione/disattivazione di un relè in un dato giorno/ora. Un evento può accomunare più attivazioni/disattivazioni.
  • 5. d.mercanti@gmail.com I primi 8 byte sono riservati e possono contenere ad esempio il salvataggio della data/ora in fase di cambio batteria. I byte dalla posizione 8 alla posizione 253 sono riservati agli slot di informazione eventi. Ogni slot occupa 3 byte, ed ogni byte è così composto: Byte 1: B7..B5 => giorno della settimana, B4..B0 => orario. Il giorno della settimana : 0: non impostato 1: Domenica … 7: Sabato Byte 2: minuti Byte 3: attivazioni PORTB Segnalazione stato led I led, di norma spenti, sono di due tipi: Led batteria (verde) indica batteria tampone scarica. Rimane acceso per ricordare di sostituire la batteria interna Led stato (rosso): può lampeggiare in 2 modi (corto per OK, lungo per Errore), oppure acceso Fisso (di norma un problema)
  • 6. d.mercanti@gmail.com All’avvio Pressione SUSB : Led bat ON, Led Status ON => comunicazione USB HID Attivata Pressione SKEY: Led Status ON (1 secondo), Lampeggio OK. Poi il Led Status rimane acceso per 2 secondi per poi spegnersi e a questo punto Se tasto SKEY è ancora premuto Salva data e ora corrente, il dispositivo si mette in Stop (Led Status ON Fisso) Se tasto SKEY non è più premuto Si attiva la modalità di test che accende in sequenza gli 8 relè per 9 secondi ognuno; durante il test il led status sarà accesso; terminato il testo un lampeggio, quindi il dispositivo si mette in STOP accendendo il LED Status Comunicazione USB I comandi principali inviati nella comunicazione USB HID (report da 64 byte) sono USB_FIRMWAREINFO : il dispositivo invia la versione del firmware (stringa di 29 byte) al USB HOST USB_GETORA: il dispositivo legge l’RTC e invia data e ora al USB HOST (8 byte) USB_LEGGISTATO: il dispositivo invia lo stato di alcune porte del PIC al USB HOST (6 byte) USB_SETORA: l’USB HOST invia il nuovo orario da importare sul RTC (8 byte), vedi tracciato USB_GETORA USB_SETPORTB: l’USB HOST invia il nuovo valore di PORTB (2 byte) USB_RDRMEM: il dispositivo invia tutto il contenuto della EEPROM in blocchi da 64 byte. USB_SCRMEM: l’USB HOST scrive 256 byte che andranno a sovrascrivere il contenuto della EEPROM USB_DEBUG: il dispositivo legge il RTC e inizializza la gestione degli slot, leggendo il primo (5 byte) USB_GETSLOTIDX: il dispositivo legge lo slot indicato alla posizione 1 del report HID, l’ora RTC e ne restituisce il valore (8 byte)
  • 7. d.mercanti@gmail.com Scheda relè Questa parte del circuito è stata realizzata come scheda separata in modo da poterla configurare in modo personalizzato. In figura sono rappresentati solo il relè numero 1 e il relè numero 8 , i rimanenti sono collegati in modo analogo. Necessita di una alimentazione +12V DC (non stabilizzati). Per poter pilotare in modo adeguato le bobine dei relè invece di usare transistor-resistenze-diodo si è fatto uso dell’integrato ULN2803 (campionatura gratuita ti.com), tranne che per il relè delle presa comandata pilotano con un normale transistor. Porta di ULN2808 e pinout del componente: Realizzazione su mille fori (progetto con lochMaster):
  • 9. d.mercanti@gmail.com Uno sguardo al firmware I sorgenti sono in C, il compilatore mikroC 8.2.0. Le impostazioni del progetto configurano un quarzo da 8 MHz. Per alimentare correttamente il PLL per l’USB (che accetta solo frequenze da 4Mhz) si deve dividere il “primary oscillator” per 2 (PLL Prescaler), quindi dividere per 2 questi 96 MHz per ottenere i 48MHz del bus USB (USBDIV=1). L’uscita del PLL viene usato anche per alimentare il primary clock, dividendo anch’esso per 2 (CPUDIV), ottenendo un clock da 48Mhz. Visto il “massiccio” utilizzo dei comparatori, ecco di seguito la configurazione usata: servivano 2 comparatori indipendenti ma con un riferimento ad una tensione comune di soglia. Perché i comparatori ? Perché sono in grado di risvegliare il PIC dalla modalità di SLEEP, stato in cui viene posta la CPU tra un evento e l’altro. E la tensione di soglia , quale utilizzare ? Beh visto che un indicatore è la batteria scarica, potremmo usare un valore intorno ai 3V… L’altro comparatore è usato “impropriamente” per leggere lo stato del PIN “INT” dell’RTC; questo pin è tenuto a livello Alto dal RTC fino a quando non scatta un evento impostato che lo porta a livello basso; si sarebbe potuto utilizzare un normale PIN di I/O con interrupt sul cambio di stato, ma avendo già impostato 1 comparatore, anche l’altro, con le stesse modalità, può essere utilizzato senza troppi problemi. Il registro principale è il CMCON
  • 10. d.mercanti@gmail.com È stato configurato in questo modo: CMCON=0b00000110; bit 7 C2OUT: Comparator 2 Output bit 0 = C2 VIN+ < C2 VINbit 6 C1OUT: Comparator 1 Output bit 0 = C1 VIN+ < C1 VINbit 5 C2INV: Comparator 2 Output Inversion bit 0 = C2 output not inverted bit 4 C1INV: Comparator 1 Output Inversion bit 0 = C2 output not inverted bit 3 CIS: Comparator Input Switch bit Per impostare la tensione di soglia si utilizza il “Comparator Voltage Reference Module” disponibile su diversi PIC. In pratica è una rete di 16 resistenze che dividono il valore della tensione di alimentazione in una tensione che può essere usata come riferimento per il comparatori interni e/o portata sull’uscita del pin dedicato. Il registro che controlla il tutto è il E in questo progetto è configurato in questo modo CVRCON = 0b11001000; bit 7 CVREN: Comparator Voltage Reference Enable bit 1 = CVREF circuit powered on bit 6 CVROE: Comparator VREF Output Enable bit(1) 1 = CVREF voltage level is also output on the RA2/AN2/VREF-/CVREF pin bit 5 CVRR: Comparator VREF Range Selection bit 0 = 0.25 CVRSRC to 0.75 CVRSRC, with CVRSRC/32 step size (high range) bit 4 CVRSS: Comparator VREF Source Selection bit 0 = Comparator reference source, CVRSRC = VDD – VSS bit 3-0 CVR3:CVR0: Comparator VREF Value Selection bits (0 ≤ (CVR3:CVR0) ≤ 15)
  • 11. d.mercanti@gmail.com When CVRR = 0: CVREF = (CVRSRC/4) + ((CVR3:CVR0)/32) • (CVRSRC) (5/4) + ((8/32) * 5)=1.25 + 1.25 = 2.5V Quindi la tensione di riferimento per i comparatori e disponibile come Test Point su RA2 è di circa 2.5V (ovviamente dipende dalla tensione di alimentazione). Interrupt Per la gestione degli interrupt si devono abilitare dal registro INTCON GIE=> Global Interrupt Enable bit PEIE=> Peripheral Interrupt Enable bit E dal registro PIE2 (contain the individual enable bits for the peripheral interrupts.) CMIE=>Comparator Interrupt Enable bit Nella routine di gestione si dovrà poi resettare il bit PIR2.CMIF La gestione del RTC è piuttosto semplice ed è inclusa nel file ds1337_stuff.c, le funzioni principali implementate sono le seguenti DS_NOW(void); DS_setOrario(unsigned short hh, unsigned short mm,unsigned short ss); DS_setData(unsigned short dd,unsigned short gg,unsigned short mm, unsigned short aa); DS_setAllarme(unsigned short hh, unsigned short mm,unsigned short dd); DS_getAllarme(void); DS_clearAllarme(); Per semplificare la lettura dei dati dalla eeprom del PIC è stata create una libreria apposita (EEprom_stuff.c) che simula una lista void EE_Reset(); unsigned short EE_Eos(); void EE_Open(); void EE_READSlot(); void EE_moveNext(); void EE_moveFirst(); void EE_moveLast(); void EE_moveTo(unsigned short indexBaseZero); Conclusione La centralina è stata provata tutto il mese natalizio per accendere le lucine sul mio balcone.. e non è esplosa! Dal punto di vista elettronico non è una gran complessità, e sono per la maggior parte componenti reperibili in campionatura gratuita o dal basso costo e quindi le premesse iniziali non sono state disattese… costa molto di più il contenitore (scatola di derivazione per impianti elettrici). Samples PIC18F2550 PIC DS1337 I²C Serial Real-Time Clock MAX5035B 1A Step-Down DC/DC Conv. ULN2803 Octal darlington transistor array T81H5D312-05 5V PCB relay RTH14012 12V Power PCB relay DR0810-684L 680uH Coil 4900-9048RE6424VAC@0.8A Transformer www.microchip.com www.maximintegrated.com www.maximintegrated.com www.ti.com www.te.com www.te.com www.coilcraft.com www.te.com