Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

4
voti

Chiave dtmf 3/9 canali.

Un saluto cordiale a tutti e ben ritrovati.


Qualche anno fa, vi ho proposto un decodificatore di segnali dtmf, realizzato con un solo pic, utilizzando l’ormai noto 16f1705. Al seguente link se volete potrete darci un'occhiata. https://www.electroyou.it/francopic/wiki/decoder-dtmf-con-un-solo-pic.

Come più volte ho ribadito per me è un piccolo gigante. Evidentemente esistono pic ben più sofisticati ed evoluti, ma in questo caso, in poco spazio ed a costi veramente irrisori, si possono ottenere prestazioni a mio avviso sorprendenti. Comunque sia, quello era solo un esperimento, per verificare quanto affidabile poteva essere, un circuito così concepito. Ricordo brevemente che la tecnica utilizzata per ottenere la decodifica di tali segnali, nota come “autocorrelazione dei segnali periodici“, in questo caso ha dato ottimi risultati. Ma tutto questo evidentemente doveva avere un seguito e materializzarsi in qualcosa di più utile e più pratico. Il tempo ad onor del vero non mi è mancato, poiché ho cercato di impegnare positivamente, il periodo triste e tragico di lockdown che stiamo vivendo, a causa della pandemia che ancora oggi sta flagellando l’intero pianeta terra.

Ma torniamo al nostro nuovo progetto, che poi di nuovo ha solo il software, infatti, vi dico sin da subito che il circuito elettrico, è sostanzialmente rimasto identico al precedente. Ciò che cambia è solamente il software che dovrete eventualmente caricare sul pic. Premetto che i software che vi propongo sono due. Il primo file denominato “dtmf decoder 3 ch.hex”, vi permetterà di ottenere un decodificatore a 3 canali indipendenti. Il secondo file denominato “dtmf decoder 9 ch.hex”, vi permetterà di ottenere un decodificatore a 9 canali indipendenti. Tutto ciò senza dover modificare minimamente il circuito del precedente progetto.
Ad ogni canale sono associati due distinti codici, uno per l’attivazione e l’altro per la disattivazione del pin del pic corrispondente. Durante le mie prove, per rendere meno complesse le operazioni di messa a punto dei software in questione, ho deciso di usare dei codici strutturati secondo una logica, che mi permettesse di individuarli e riconoscerli subito.
Naturalmente tali codici potrete modificarli a vostro piacimento come e quando vorrete, rispettando soltanto due condizioni, e cioè, che devono essere trasmessi preceduti dal carattere cancelletto “#” e devono terminare con il carattere asterisco “*”.
Al centro potrete inserire ciò che vorrete tranne i due caratteri di inizio e fine codice, cioè cancelletto ed asterisco. Queste due condizioni mi hanno permesso di rendere più semplice il riconoscimento dei codici in arrivo ed anche di semplificare di molto la stesura del software. Inoltre, essendo in questo modo la decodifica totalmente svincolata dalla velocità con cui arrivano tali codici, sarà possibile digitarli anche manualmente dal tastierino di un qualsiasi apparato radioamatoriale, telefono, cordless, etc.
Se per le vostre operazioni vi bastano tre canali, dovrete caricare sul pic il file “dtmf decoder 3 ch.hex”; in questo caso potrete lasciare il display collegato al circuito che continuerà a visualizzare i codici in arrivo, e collegare i tre attuatori ai pin 2, 3 e 13, del pic, evidenziati nel circuito elettrico col pallino blu e sulla basetta con le frecce rosse.
Ricordatevi soltanto di porre in serie ai pin prima elencati, una resistenza di protezione da 4,7 KOhm. Non dovrete fare altro, all’avvio tutto funzionerà senza alcun altro accorgimento.

DECOD DTMF Sch2.jpg

DECOD DTMF Sch2.jpg

Se invece vi occorrono più di tre canali, allora dovrete caricare sul pic il file “dtmf decoder 9 ch.hex”, che vi permetterà di ottenere fino a nove canali. In questo caso dovrete rinunciare al display, che potrete togliere, e collegare oltre ai tre pin menzionati prima, anche gli altri pin 5, 6, 8, 9, 10 e 11, evidenziati nel circuito elettrico col pallino blu e sulla basetta con le frecce nere. Anche in questo caso è opportuno porre in serie ai pin prima elencati, una resistenza di protezione da 4,7 KOhm.
Ovviamente non siete obbligati a collegare tutte le nove uscite adesso disponibili, ma solamente quelle che vi necessitano.

DECOD DTMF rame3.jpg

DECOD DTMF rame3.jpg

Gli attuatori possono essere del tipo a relè, come quelli evidenziati nel rettangolino rosso. Per le mie prove mi sono procurato una delle tante schede che si trovano per pochi euro in uno dei tanti negozi on-line, già predisposte coi relè, coi circuiti di pilotaggio e di protezione, con la morsettiera e cosi via, risparmiandomi tanto tempo e tanta fatica.
I vari codici hanno la seguente struttura: #11A0*, e vanno trasmessi tutti, cancelletto iniziale ed asterisco finale. Essi sono facilmente individuabili sul file asm che troverete in allegato, ma sarà possibile modificare solo i quattro caratteri centrali.
In totale, i caratteri disponibili per la codifica DTMF sono sedici, escludendo i due menzionati prima, che servono al riconoscimento di inizio e fine codice, ne rimangono quattordici, che elevato al numero di posti utilizzati, cioè quattro, fa 38416. Questo è il numero delle possibili combinazioni ottenibili coi caratteri rimasti, cioè coi numeri da 0 a 9 e con le lettere A, B, C e D. Ma vediamo adesso come modificare personalizzandolo il nostro decoder. Innanzi tutto occorre aprire con MPLAB, il file ASM di vostro interesse, io uso la versione V8.92. Dopodiché, scorrendo il testo verso il basso, andrete ad individuare la parte di programma che inizia con la label CTRL_RA4_ON, che attiva l’uscita RA4 corrispondente al pin 3 del pic. Troverete anche la parte di programma che inizia con la label CTRL_RA4_OFF che spegne il pin 3 del pic. In entrambi i casi, andrete a modificare i quattro caratteri tra apici, preceduti dall’istruzione XORLW. Lo stesso discorso vale per tutti gli altri pin, come specificato nella tabella seguente

label_codici.JPG

label_codici.JPG

Eccovi anche la parte di programma da individuare, con indicati i caratteri da modificare. Tenete presente che questo stesso blocco di istruzioni, si ripete tante volte quanti sono i pin da modificare, sia per il passaggio allo stato ON, sia per il passaggio allo stato OFF.

codice_ctrl.JPG

codice_ctrl.JPG

A seguire i link da dove potrete scaricare i file di vostro interesse.
DTMF_DECODER_3CH_ASM
DTMF_DECODER_9CH_ASM
DTMF_DECODER_3CH_HEX
DTMF_DECODER_9CH_HEX
Bene, spero di non aver tralasciato nulla d’importante, soprattutto di essere stato sufficientemente chiaro, ma se così non fosse, non esitate a contattarmi, sarò ben lieto di darvi tutti i chiarimenti possibili del caso. Se poi non siete nelle condizioni di modificare i codici, usate quelli già predisposti, oppure inviatemi una richiesta e vi invierò i soli file hex con le modifiche da voi richieste.
Buon divertimento a tutti..
Saluti. it9dpx.
Francesco Mira.

0

Commenti e note

Inserisci un commento

Inserisci un commento

Per inserire commenti è necessario iscriversi ad ElectroYou. Se sei già iscritto, effettua il login.