Creative Commons BY-NC-ND 2.5Questo sito e tutto il suo contenuto sono distribuiti sotto la licenza Creative Commons Attribuzione - Non Commerciale - Non opere derivate 2.5 Italia e con le condizioni d'uso definite nel disclaimer: siete pregati di leggere entrambi questi documenti prima di usufruire dei contenuti di questo sito. Per alcuni contenuti è necessaria una registrazione gratuita: non è necessario pagare e non è necessario accumulare punteggi per accedere agli articoli e scaricare i sorgenti. Basta solo essere onesti. Se volete che questo sito continui a rimanere attivo, a contribuire ogni giorno alla diffusione della cultura libera, non copiate il materiale per ripubblicarlo in altri luoghi : chi fa questo è solo un miserabile e un perdente. Se volete partecipare su settorezero e rendere le vostre idee, i vostri progetti, fruibili da tutti senza limitazioni, come dovrebbe essere in un paese civile e acculturato, potete farlo tranquillamente.

[User Project] Automatismo GSM per orologio campanile con PIC18F4620

Autore: Renato Ferrero | Data pubblicazione: 24 novembre 2012
Categorie: I vostri progetti PICmicro 18 Robotica e Automazione

Si tratta di un automatismo ideato per sostituire il vecchio e ormai obsoleto orologio meccanio del campanile del paese in cui abito. L’ orologio è stato realizzato tramite un microcontrollore PIC18F4620, la base dei tempi viene fornita da un integrato Clock Calendar PCF8563. Sulla scheda sono inoltre presenti una memoria EEPROM I2C 24LC32 in cui vengono memorizzate tutte le variabili, una scheda MOD-GSM della Olimex basata sul modulo SIM340DZ della Simcom , due integrati L6203 per pilotare il motore passo-passo, fotoaccoppiatori per gestire le uscite per il martelletto delle campane e due ingressi utilizzati per rilevare la posizione “zero” delle lancette minuti ed ore. Tutti i comandi vengono inseriti tramite una tastiera a matrice 4×4 gestita tramite bus I2C e visualizzati su un display LCD 16X2.

Il programma è stato compilato con MPLAB e tengo a precisare che come programmatore sono un allievo autodidatta. A questo proposito voglio ringraziare Mauro Laurenti (www.laurtec.it) e Giovanni Bernardo (www.settorezero.com). Proprio perchè non sono un professionista la stesura del programma non è sicuramente di tipo professionale ma funziona ormai da tre mesi, anche se continuo a modificarlo.

L’apparecchiatura realizzata esegue i seguenti compiti:

  • Azionare tramite motore passo-passo l’avanzamento delle lancette
  • Attivare i 3 elettromagneti per il battito delle relative campane
  • Eseguire i rintocchi ad ogni ora con ripetizione dopo 2 minuti
  • Eseguire un rintocco al passare della mezz’ora
  • Riprodurre 9 tipi di melodie (attualmente ne sono utilizzate 4: ciclico feriale, ciclico festivo, suono festa e suono defunti)
  • Eseguire 10 suonerie programmabili come orario,tipo melodia e festivo/feriale. Al momento sono inserite le suonerie del vecchio orologio che sono:  ciclico feriale che suona a tre orari differenti (07:00 12:00 20:00) nei giorni feriali, ciclico festivo che suona a tre orari differenti (08:00 12:00 21:00) nei giorni festivi, suono festa (Ave Maria) che suona nei giorni festivi alle ore 10:00, suono defunti che viene eseguito 24 ore prima del funerale per due volte in caso di morte femminile e tre volte in caso di maschio inoltre viene eseguito manualmente durante il corteo funebre.
  • Ricevere comandi tramite SMS per cambio orario, attivare suonerie, richiedere all’orologio stesso il credito residuo della propria Sim (solo per gestori TIM o VODAFONE) ed altro ancora.
  • Inviare tramite SMS dei messaggi di errore di funzionamento ad esempio : Mancanza alimentazione rete elettrica, Batteria quasi scarica,Scostamento tra orario digitale interno e posizione lancette,messaggi di conferma di avvenuta ricezione comandi ricevuti da SMS
  • Eseguire delle melodie dopo squillo telefonico
  • Adeguare automaticamente il cambio ora legale-solare
  • Eseguire automaticamente il suono festivo nelle seguenti festività: Capodanno, Epifania, 25 Aprile, 1 Maggio, 2 Giugno, Ferragosto, Natale, Santo Stefano
  • Eseguire un ciclo speciale per la per Settimana Santa (le campane non devono suonare al Venerdì ed al Sabato, mentre il Lunedì vengono attivate le relative melodie festive).
  • Funzionare anche senza rete elettrica tramite batteria tampone

All’inizio ho usato un PIC18F4550 ma poi non mi bastava più la memoria per il programma e ho quindi optato per il PIC18F4620.

Ho quindi dovuto ricompilare tutte le librerie di Laurtec per questo modello di PIC. Il modulo GSM è gestito tramite interrupt ad alta priorità, ed è stato usato per inviare e ricevere comandi con l’invio di SMS o squilli telefonici.

Il connettore seriale DB9 è stato inserito per collegare, tramite la porta seriale, un PC che attraverso il programma HyperTerminal permette di leggere i comandi inviati dal PIC al modulo GSM o viceversa a secondo di come sono impostati gli interruttori minidip. Sempre tramite l’impostazione dei minidip è inoltre possibile escludere il controllo del PIC e collegare tra di loro il PC ed il modulo GSM. Questo serve per fare delle prove e quindi per imparare il funzionamento del modulo. Come tutte le cose, quando si sono imparate risultano facili, ma posso garantirvi che ho dedicato alcune settimane di “tempo libero” per capire come inviare comandi tra PIC e GSM. Ho usato questo modulo perché ha già l’antenna incorporata sul circuito stampato. Ho impostato una velocità di 9600 baud per permettere al PIC di leggere “con tranquillità” e correttamente gli SMS in arrivo.

L’interrupt a bassa priorità è stato usato per sganciare gli elettromagneti delle campane in quanto da programma vengono solamente attivati. In questo modo una volta attivato l’elettromagnete il programma è libero di proseguire senza doversi preoccupare di disattivare il “martelletto” dopo alcuni decimi di secondo. I due fotoaccoppiatori in ingresso li avevo inseriti nel progetto per utilizzarli nel caso in cui avessi avuto dei disturbi a causa dei cavi schermati che vanno dal circuito stampato ai prossimity situati sull’albero delle lancette. Non avendo avuto questo problema li ho utilizzati solo per adattare la tensione di alimentazione dei prossimità (12V.) con i 5V del pic; in questo modo ho evitato di dover utilizzare una tensione di alimentazione supplementare per i prossimity.

Gli ingranaggi per la movimentazione delle lancette sono stati costruiti utilizzando unicamente un seghetto e una lima sfruttando il sito http://woodgears.ca/gear_cutting/template.html

Qui ci sono 2 video che illustrano il funzionamento:

Download

E’ possibile scaricare tutti i file di progetto sul sito di Mauro Laurenti, previa registrazione, nella seguente pagina del forum:

http://www.laurtec.it/forum/15-progetti/5402-automatismo-per-orologio-campanile

L'articolo ti è piaciuto o ti è stato utile per risolvere un problema? SettoreZero è realizzato soltanto contenuti originali: tutti gli articoli sono curati con passione dagli autori e nulla viene copiato da altri siti. Supporta e mantieni in vita SettoreZero con una donazione: basta soltanto un caffè o una birra. Puoi supportare SettoreZero anche con uno dei progetti elencati nella sezione servizi o partecipare anche tu con un tuo articolo/progetto personale.

Se desiderate che SettoreZero continui a rimanere gratuito e fruibile da tutti, non copiate il nostro materiale e segnalateci se qualcuno lo fa.

Puoi andare alla fine dell'articolo e lasciare un commento. I trackback e i ping non sono attualmente consentiti.

  1. #1 da Marcustv il 26 novembre 2012

    Bellissimo, complimenti per il progetto e la realizzazione.
    Eccezzionali anche i filmati che illustrano l’intero progetto, prima e dopo l’innovazione tecnologica.
    Complimenti

Devi essere collegato per lasciare un commento.

  1. Ancora nessun trackback
settorezero.com e il logo Zroid™ ©2007÷2013 Giovanni Bernardo - E' vietata la copia e la distribuzione anche parziale dei contenuti di questo sito web senza l'esplicito consenso dell'autore.
I contenuti di settorezero.com sono distribuiti sotto una licenza Creative Commons Attribuzione-Non Commerciale-Non Opere derivate 2.5 Italia a cui vanno aggiunte le condizioni d'uso definite nel disclaimer.
settorezero.com e tutti i suoi contenuti sono tutelati dalla legge sul diritto d'autore per cui i trasgressori sono perseguibili a norma di legge.
Creative Commons BY-NC-ND 2.5
Il tema di questo sito è basato sul tema Fusion per wordpress, realizzato originariamente da digitalnature e fa uso del plugin Wassup per il computo delle statistiche. Per contattare l'autore siete pregati di utilizzare la sezione contatti.
Per essere aggiornato con tutte le novità di settorezero.com seguici anche anche su Facebook Twitter Tumblr Blogspot Youtube.