LED a luminosita' costante

Un problema molto sentito nei modelli a trazione "analogica" e' quello del cambiamento di luminosita' delle luci al variare della tensione di alimentazione. Un modo per risolvere questo problema e' quello di costruire un piccolo circuito che mantenga una corrente costante nei LED al variare della tensione presente sui binari, cioe' un generatore di corrente. Due possibili approcci sono i seguenti:

Nella soluzione 1 si usa il fatto che la giunzione base emettitore di un transistor PNP (Q2) produce una caduta di circa 0.6V. La resistenza R1 in parallelo quindi fissera' la corrente al valore 0.6/R e questa corrente la ritroveremo uguale dentro al nostro LED. I LED solitamente si illuminano da 4-5mA fino a 15mA, quindi possiamo usare una resistenza tra 100 Ohm (6mA nel LED) fino a 39 Ohm che produce una corrente di circa 15mA. Completano il circuito Q1 che e' l'amplificatore di potenza e R2 che da il bias a Q2 e puo' essere circa 10K Ohm.

La soluzione 2 usa un regolatore di tensione lineare tipo LM317 come integrato U1. Questo circuito tra la sua uscita e ground regola una tensione di circa 1.2V: se mettiamo una resistenza tra questi due punti riusciremo ad avere una corrente di circa (1.2V/R1). Quindi ripetendo il ragionamento sulla corrente nei LED si avranno valori della resistenza tra 330 Ohm per avere circa 5mA e 81 Ohm per avere circa 15 mA.

I due circuiti sono comunque indipendenti dalla tensione di alimentazione, quindi svolgono la funzione di base che ci eravamo prefissi, pero' con alcune differenze. La soluzione 1 inizia a funzionare quando la corrente polarizza una giunzione Vbe (0.7V) e una Vcesat (0.4V) quindi a circa 1-1.1V oltre la caduta sul LED. Il secondo circuito ha bisogno di 1.2V (uscita) e circa 2V sull'ingresso dell'LM317 quindi un totale di circa 3.2V oltre la caduta sul LED. In definitiva il primo circuito iniziera' a funzionare da 2.5-3V mentre il secondo da circa 5V cosa molto importante notare che le loco di solito iniziano a muoversi ad una tensione piu' simile a quella del primo circuito che a quella del secondo.

Decoder per illuminazione (2)

Per completare i decoder per illuminazione per le carrozze in scala H0, e' iniziato lo sviluppo di 2 nuovi decoder specifici per carrozze UIC-x. Questi decoder avranno la stessa impostazione di quelli gia' presenti sul sito http://www.oscilloscopio.it/ ma saranno adattati a diverse carrozze. Il primo sara' specifico per le carrozze UIC-x di prima classe a 10 scompartimenti:

Il secondo e' per le carrozze UIC-x di seconda classe a 12 scompartimenti:

Le caratteristiche di tutti i decoder saranno:
  1. Dimensioni 270x12x4mm
  2. Decoder DCC standard per funzioni con segnale di ACK
  3. Due LED per scompartimento, uno bianco e uno blu, dimming su entrambi i LED
  4. Effetti di accensione e spegnimento (vedi sito web)
  5. Possibilita' di azionare tutti i decoder del treno con un singolo tasto

Decoder per illuminazione (1)

E' iniziato lo sviluppo di 3 nuovi decoder specifici per carrozze passeggeri in scala H0. Questi decoder avranno la stessa impostazione di quelli gia' presenti sul sito http://www.oscilloscopio.it/ ma saranno adattati a diverse carrozze. Il primo sara' specifico per le carrozze "Gran Confort" a 8 scompartimenti:



Il secondo e' per le carrozze UIC-z (Eurofima) di prima classe a 9 scompartimenti:


Il secondo e' per le carrozze UIC-z (Eurofima) di seconda classe a 11 scompartimenti:


Le caratteristiche di tutti i decoder saranno:

  1. Dimensioni 270x12x4mm
  2. Decoder DCC standard per funzioni
  3. Due LED per scompartimento, uno bianco e uno blu, dimming su entrambi i LED
  4. Effetti di accensione e spegnimento (vedi sito web)
  5. Possibilita' di azionare tutti i decoder del treno con un singolo tasto

UPS per trazione DCC (8)

Lo schema presentato nei post precedenti e' equivalente al funzionamento degli UPS LENZ (chiamati USP - riferimento) basati anch'essi su condensatori ad alta capacita' e bassa tensione: una differenza per i componenti LENZ e' il fatto che producendo decoder "custom" hanno potuto lasciare una terza porta (charge) per eliminare lo switch di inibizione della carica e la relativa componentistica. Lo schema proposto quindi ha qualche componente in piu' ma avendo solo 2 terminali e' un po' piu' generale.

Una volta completato lo schema di principio dell'intero circuito si deve passare ad una scelta dei componenti per la sua realizzazione pratica. Come tutti i circuiti che vanno montati dentro i modelli e' necessario usare i componenti SMD al fine di compattare il tutto e farlo entrare sia nella scala H0 sia nella scala N: ovviamente le differenze di potenza delle due diverse scale permetterebbero scelte diverse, anche se per semplicita' si partira' da quello piu' grande e potente (per la scala H0) capace di erogare almeno 0.8-1A a 12V.

La parte principale da considerare e' il condensatore di "backup". La scelta per compattezza e prezzo potrebbe andare su un paio di modelli, uno economico e uno "deluxe". Quello economico e' in figura seguente, lunghezza 20mm, diametro 8mm, capacita' 3F a 2.7V e costo poco inferiore ai 2€.
Quello deluxe, presentato di seguito, e' un modello della AVX, serie "Bestcap" che in uno spazio di 20x15x2mm permette di integrare 0.3F a 3.6V.

Il costo di questo oggetto e' notevole, si aggira tra i 15 e i 25€ a seconda del modello ma permette (grazie anche alla connessione SMD) una soluzione "ultraslim".

UPS per trazione DCC (7)

A questo punto rimangono da completare due soli punti: come disconnettere dall'alimentazione la carica del condensatore e come connettere il circuito al decoder vero e proprio. Il decoder puo' essere connesso attraverso un diodo in modo abbastanza canonico: in questo modo il decoder sara' alimentato dai diodi del suo ponte raddrizzatore in caso di presenza del segnale DCC, attraverso questo diodo in caso di mancanza dell'alimentazione. In figura si puo' veder il circuito completo (schema di principio).



Il circuito di carica puo' essere escluso attraverso un controllo sulla conduzione del diodo finale. Infatti con un comparatore si puo' controllare se la corrente fluisce dall'UPS al decoder o se il decoder e' alimentato dai binari e di conseguenza disconnettere o riconnettere il circuito di carica del condensatore.

UPS per trazione DCC (6)

Lo schema di principio proposto nel post precedente ha bisogno di un controllore PWM che richiuda la maglia di controllo del DC/DC converter rileggendo la tensione sull'uscita e pilotando il mosfet in modo opportuno. Il pilotaggio del mosfet del DC/DC converter dovra' essere ad alta frequenza (almeno 1 MHz) per avere un'induttanza piccola e con un PWM a duty cycle variabile. Questo PWM dovra' essere alimentato con almeno 5V per garantire un buon pilotaggio del mosfet:


Il partitore resistivo in ingresso all'integrato PWM e' utile per poter regolare la tensione di uscita del DC/DC converter in maniera opportuna per il motore che si vuole alimentare. Il DC/DC converter alimentera' sempre il condensatore di uscita anche a UPS non attiva per tenerlo costantemente alla tensione di lavoro (diciamo 12V) con un filo di corrente: nel momento dell'intervento invece dovra' iniziare a pompare corrente in maniera significativa.


UPS per trazione DCC (5)

Una volta caricato il condensatore va anche scaricato nel momento della mancanza di alimentazione. Per fare questo l'unico modo e' quello di avere un DC/DC elevatore di tensione (Step-Up) che dai 2.7V del condensatore possa creare un 12-13V adatto al decoder per trazione della loco. La topologia per questo DC/DC converter e' quella di figura



Dove l'interruttore piu' a destra e' lo switch del DC/DC converter (fisicamente sara' un mosfet a canale N) e lo switch piu' a sinistra e' un interruttore che serve per impedire al condensatore di "ricaricarsi con la sua stessa corrente" nel momento che la UPS agisce per sopperire ad un buco di alimentazione: questo interruttore dovra' in qualche modo essere controllato dall'azione di "UPS attiva" e sara' fisicamente implementato con un mosfet a canale P in modo che un livello basso sul suo gate permetta la carica del condensatore mentre un livello alto isoli il circuito di carica (UPS attiva).


UPS per trazione DCC (4)

Per poter usare i condensatori a bassa tensione ed alta capacita' ovviamente si dovra' progettare un circuito capace di caricarli e tenerli carichi ad una tensione rigorosamente controllata (anche una sovratensione di poche centinaia di millivolt potrebbere essere fatale al condensatore) e con una buona limitazione di corrente per non sovraccaricare il ponte a diodi del decoder. Questo tipo di componente puo' essere un regolatore lineare con la limitazione in corrente e meglio se c'e' anche una protezione termica per evitare di danneggiare il tutto per qualche guasto. Un regolatore tipo il 7805 (SMD e con una tensione di uscita di 3.3V) potrebbe andare bene. La corrente potrebbe essere limitata a 500 mA o anche meno perche' nel condensatore c'e' un sacco di energia e quindi e' improbabile che si scarichi del tutto e debba essere ricaricato da zero. quindi una prima parte della UPS puo' essere il circuito di carica del condensatore:



Ho aggiunto un diodo sull'uscita per cercare in ogni caso di "isolare" il regolatore di tensione dal condensatore che immagazzina una quantita' di energia capace di distruggerlo in pochi istanti. Ovviamente per caricare il condensatore a 2.7V il regolatore dovra' essere almeno a 3.3V. Nominalmente questo circuito riesce (con una corrente di 500mA) a caricare il condensatore in 16 secondi, con una corrente di 100mA lo carichera' in 80 secondi ma si deve sempre considerare che il bilancio corretto e' quello medio essendoci nel condensatore una grande quantita' di carica. Se si ricarica con 100mA e si scarica a 500mA il concetto giusto e' che "perche' il circuito funzioni regolarmente le parti senza corrente non devono superare 1/5 delle parti con buona presa di corrente". Ovviamente per altre correnti di carica e scarica il concetto del rapporto rimane inviariato.


UPS per trazione DCC (3)

Si capisce che la cosa fondamentale e' quella di trovare dei condensatori di alta capacita' per sopperire ai buchi di alimentazione, per il resto il circuito con resistenza e diodo puo' funzionare in maniera egregia. I tipi di condensatore papabili che si trovano in commercio sono i seguenti:
  • Tipo A: Condensatore assiale, Diam. 10mm, altezza 30mm
  • Tipo B: Condensatore radiale, Diam. 10mm, Altezza 16mm
  • Tipo C: Condensatore radiale, Diam. 12.5mm, Altezza 20mm
  • Tipo D: Elettrolitico SMD, Diam. 12.5mm, Altezza 13.5mm
  • Tipo E: Tantalio (alto costo) SMD, Case 7343, 7.3x4.3x4.3mm
  • Tipo F: Tantalio (basso costo) SMD, Case 7343, 7.3x4.3x4.3mm
  • Tipo G: Condensatore low voltage, Diam. 8mm, Altezza 20mm
I parametri di tensione e capacita' dei condensatori sono questi:

  • Tipo A: tensione 16V, capacita' 1000uF, volume 2355 mm cubi
  • Tipo B: tensione 16V, capacita' 1000uF, volume 1256 mm cubi
  • Tipo C: tensione 16V, capacita' 2200uF, volume 2453 mm cubi
  • Tipo D: tensione 16V, capacita' 1000uF, volume 1655 mm cubi
  • Tipo E: tensione 16V, capacita' 220uF, volume 135 mm cubi
  • Tipo F: tensione 16V, capacita' 100uF, volume 135 mm cubi
  • Tipo G: tensione 2.7V, capacita' 3F, volume 1000 mm cubi

Considerando che l'energia immagazzinata nel condensatore e' data da C*V cioe' capacita' (in Farad) per tensione di carica (in Volt) ed e' espressa in Joule (J) possiamo calcolarci sia l'energia totale immagazzinata nel condensatore sia quella specifica per millimetro cubo:

  • Tipo A: Energia totale = 16mJ, Energia/volume = 6.7uJ/mm cubo
  • Tipo B: Energia totale = 16mJ, Energia/volume = 12.7uJ/mm cubo
  • Tipo C: Energia totale = 35,2mJ, Energia/volume = 14.3uJ/mm cubo
  • Tipo D: Energia totale = 16mJ, Energia/volume = 9.9uJ/mm cubo
  • Tipo E: Energia totale = 3.5mJ, Energia/volume = 26uJ/mm cubo
  • Tipo F: Energia totale = 1.6mJ, Energia/volume = 12uJ/mm cubo
  • Tipo G: Energia totale = 8100mJ, Energia/volume = 8000uJ/mm cubo

Da cui, considerando che una loco (in scala H0) al massimo (in salita con un mega convoglio) possa assorbire 1A e per semplicita' considerando di poter usare tutta l'energia presente nel condensatore si puo' calcolare il tempo per cui il treno potra' continuare la marcia con le diverse soluzioni (DT=C*DV/I) che avendo messo la corrente a 1A e' esattamente l'energia tradotta in secondi:

  • Tipo A: 16ms
  • Tipo B: 16ms
  • Tipo C: 35ms
  • Tipo D: 16ms
  • Tipo E: 3.5ms
  • Tipo F: 1.6ms
  • Tipo G: 8.1 sec

Ovviamente mettendo piu' condensatori in serie i tempi vengono moltiplicati per il numero dei condensatori. Questo vale per i condensatori SMD al tantalio che sono molto piccoli ed hanno una energia/volume abbastanza elevata. E' altrettanto evidente che il condensatore di tipo G (condensatore a bassa tensione) merita di essere considerato come una buona soluzione per la UPS.


UPS per trazione DCC (2)

Per cercare di ovviare ai difetti del singolo condensatore, specialmente a quelli che porterebbero alla distruzione del ponte a diodi, si puo' ovviare con una semplice resistenza in serie al condensatore che limita intrinsecamente la corrente a:

Imax=V(dcc)/R

Che ci porta ad un circuito di questo tipo:



Considerando V(dcc) l'ampiezza del segnale DCC e R la resistenza in serie. Questa resistenza puo' essere dimensionata per avere picchi massimi di circa 1A al fine di non stressare eccessivamente il ponte a diodi che (all'accensione) dovrebbe comunque alimentare tutto il decoder e caricare il condensatore completamente scarico. Con segnali DCC di circa 15V per avere una limitazione ad 1A e' semplice calcolare una resistenza da 15 Ohm: per essere ancora meno "invasivi" e' meglio dimensionare la resistenza per circa 0.5A e cioe' 30 Ohm o giu' di li. Dovendo lavorare solo nei transitori (si spera abbastanza rari!!!) di mancanza di alimentazione il dimensionamento in potenza non e' così stringente per cui e' piu' che sufficiente una resistenza da 1/4W.

Grande inconveniente di questo circuito e' che la limitazione della corrente in carica porta ad una inevitabile limitazione della corrente in scarica (c'e' un solo cammino per la corrente) ed inevitabilmente durante il blackout la resistenza causera' una caduta di tensione notevole specialmente se la loco stava assorbendo parecchio. Quindi si deve trovare una nuova via, solo in scarica, per la corrente nel condensatore con questo tipo di circuito:


Ora la corrente di scarica passa nel diodo mentre quella di carica passa nella resistenza ed il circuito funziona molto meglio con cariche "lente" e scariche veloci ad una tensione solo 0.7V inferiore a quanto immagazzinato sul condensatore. Di nuovo essendo un uso "transitorio" non e' importante dimensionare il diodo per grandi potenze, 1A basta e avanza. Questo circuito sembrerebbe l'uovo di Colombo ma soffre ancora di alcuni problemi:

  • Tensione di lavoro del condensatore uguale al segnale DCC (limita la capacita')
  • Ricarica del condensatore "lunga"
  • La scarica del condensatore porta ad un utilizzo dell'energia a tensioni via via inferiori con una limitazione della "qualita'" dell'intervento.

Per il secondo punto e' ovvio che la limitazione della corrente di carica porta ad un allungamento dei tempi in cui si potra' riutilizzare il dispositivo. Per quanto riguarda i tempi in gioco, considerando un condensatore da 1000uF ed una resistenza da 33Ohm i tempi di scarica e carica saranno piu' o meno:

T(carica)=5*R*C=5*33*1000E-6= 0.165 sec

Si vede da questi tempi che la resistenza potrebvbe essere anche superiore con minore stress del ponte a diodi e tempi di ricarica un po' piu' lunghi. I tempi di attivita' dell'unita', considerando un assorbimento della loco di 1A (caso peggiore) saranno calcolati da:

C*DV=I*DT

Dove DV e' la differenza di tensione tra inizio e fine sul condensatore (supponiamo 12-5=7) e DT l'intervallo di tempo di azione:

DT=C*DV/I=1000E-6*7/1=7 msec

E qui si vede che il tempo di intervento andrebbe esteso almeno di un fattore 100 considerando il caso peggiore di una "buca" lunga ad una velocita' di marcia della loco molto bassa.



UPS per trazione DCC

L'esigenza di un modulo UPS (Uninterruptible Power Supply) per la trazione dei treni modello e' una esigenza sentita da sempre, dal momento che per quanto ideale puo' essere la presa di corrente dai binari questa avra' sempre dei piccoli "buchi": pochi millisecondi nel caso di ottima presa di corrente fino a centinaia di millisecondi nei casi peggiori. La trazione analogica sopperiva a queste interruzioni di alimentazione con l'inerzia del motore e del modello: con la trazione digitale tutto e' diventato piu' complicato essendo presenti microcontrollori (dentro i decoder) che se resettati creano di fatto una discontinuita' nella marcia. Quindi c'e' l'esigenza di avere una sorgente di alimentazione alternativa per il decoder durante i momenti di black out. Ovviamente anche in digitale la durata dei black out dipende dalla qualita' della presa di corrente e quindi avra' un range da millisencondi a centinaia di millisecondi. I decoder al loro interno hanno dei condensatori abbastanza grandi come "tampone" per il funzionamento del microcontrollore, che e' di gran lunga la cosa piu' critica: se manca alimentazione al motore (+12...+15V) il modello avanza per inerzia mentre se manca l'alimentazione al microcontrollore il decoder si resetta e il treno si ferma (almeno temporaneamente). Nei decoder per funzioni o sonori le problematiche sono le stesse e l'effetto e' comunque fastidioso con lampeggiamenti delle luci e "balbettio" dei suoni.
La scelta del punto di inserimento per il modulo UPS e' praticamente obbligata e cioe' immediatamente a valle del ponte a diodi che raddrizza il segnale DCC ed alimenta l'intero decoder. Il punto di applicazione (cioe' dove saldare i fili) spesso puo' identificarsi con i lati +/- del ponte a diodi e in dettaglio il lato positivo dell'UPS si deve connettere al punto dove si collegano insieme due catodi ed il lato negativo nel punto di unione di due anodi. Spesso il punto positivo e' riportato come alimentazione per alimentare le funzioni esterne del decoder (filo blu) quindi si potrebbe usare semplicemente questo filo, attenzione a volte e' presente un diodo in serie a questa uscita, in questo caso occorre saldare sull'anodo di tale diodo. Connettersi dopo il ponte a diodi permette di sfruttare l'isolamento dei diodi del ponte al fine di impedire che la nostra UPS alimenti tutto il plastico (!) e non il solo decoder.
Un'ottima raccolta di suggerimenti su dove saldare il circuito UPS la potete trovare qui.
Il piu' semplice UPS che si puo' pensare e' il condensatore:



I suoi vantaggi sono:
  • Estrema semplicita' e compattezza circuitale
  • Basso costo e semplice installazione
Gli svantaggi:
  • Non si limita la corrente di spunto (inrush) stressando il ponte a diodi, tanto piu' quanto piu' si aumenta la capacita' collegata. Puo' portare al riscaldamento anomale del ponte a diodi del decoder con sua successiva distruzione.
  • La tensione di lavoro del condensatore e' uguale all'ampiezza del segnale DCC limitando il valore di capacita' collegabile.

Periferiche PIC (2)

Una volta sistemati i PWM sia per altoparlanti che per il motore della loco, passiamo alle altre periferiche usate nel PIC. Per la riproduzione dei suoni si usa una memoria flash esterna di tipo SPI. il PIC ha implementata in hardware una seriale sincrona che dovrebbe funzionare (almeno da datasheet) unendo i due fili di SDI/SDO al dato proveniente dal PIC stesso. E' importante avere una seriale implementata in hardware per diversi motivi. Il primo e' sicuramente la velocita': il clock della seriale in uscita dal PIC puo' essere la frequenza di clock interna diviso 4. Questo consentirebbe un clock effettivo verso la memoria di 8MHz (125ns di periodo) e considerando che devono "passare" sulla linea 5 parole a 8 bit per ogni byte letto dalla memoria (Command code, Address0, Address1, Address2 e quindi il byte letto) ogni parola impieghera' approssimativamente 8 * 125ns = 1us, 5 parole ovviamente 5us. Considerando le prove fatte con il sound editor e' ragionevole pensare che si ha una buona resa sonora con una risoluzione di 8 bit e un campionamento di 16KHz, ne discende che nominalmente si dovra' leggere almeno una parola ogni 62.5us (1/16KHz) e quindi, sempre teoricamente, le risorse del micro allocate per questa funzione saranno 5/62.5=8%. Il discorso cambia se si vogliono "mixare" piu' suoni, cioe' se si vogliono riprodurre i suoni contemporaneamente (ad esempio frenata + fischio) in questo caso si potrebbe andare ad una occupazione media della CPU del 16 o 24% per 2 o 3 voci. Questa e' la base di partenza per la stima dell'occupazione del tempo CPU. Visti i tempi di lettura così brevi (1us) non e' necessario un approccio ad interrupt (per la lettura della flash) ma e' sufficiente un controllo diretto del programma.

Periferiche PIC

Un altro driver accettabile per il controllo del motore e' l' Si9987 della Siliconix che sembrerebbe avere delle capacita' di pilotaggio in corrente superiori ed ha lo svantaggio di non avere integrato uno shutdown termico e un controllo della massima corrente assorbita dal carico.

Oltre al PWM per il controllo del motore, il PIC ha altri 2 PWM che possono arrivare senza problemi a 100KHz con una risoluzione di 8 bit. Una frequenza così alta semplifica grandemente il filtraggio prima dell'amplificatore audio (permettendo componenti piccoli) e sparando le armoniche spurie a frequenze molto lontane da quelle udibili. A queste frequenze si potrebbe anche pensare ad un pilotaggio diretto dell'altoparlante in classe D anziche' la "solita" classe AB degli amplificatori piu' usati. Per il pilotaggio diretto in classe D sarebbe necessario un altro driver a ponte, molto simile a quello del motore, pero' la tensione di 12-16V presente sul decoder sarebbe troppo alta per pilotare altoparlanti da 8 Ohm, bisogna prima di tutto trovare dei modelli di altoparlante accessibili come costo, reperibilita' e come impedenza. L'alternativa a altoparlanti a impedenza maggiore e' ovviamente avere una alimentazione piu' bassa, pero' con 8 Ohm penso sia necessario un DC/DC converter per pilotare almeno 1W su 8 Ohm. Occorre fare delle prove a riguardo.

Altre funzioni che il PIC controllera' direttamente saranno le uscite per le funzioni, pilotate a collettore aperto, o meglio a drain aperto perche' verranno impiegati dei mosfet con ingressi a livelli logici per poter essere pilotati direttamente dalla logica. Le uscite funzioni si potrebbero limitare alle luci anteriori e posteriori con cambio di stato al cambio di direzione di marcia della loco. I componenti selezionati, gia' usati nei decoder funzioni, saranno gli IRF5851 della International rectifier, mosfet duali in case TSOP-6 (solo 3x3mm per 2 mosfet!!!) con resistenza interna 0.1 Ohm, tensione massima 20V e capacita' di portare corrente di 2 Ampere (nominali).
Devo cercare se la Siliconix, piu' economica della International Rectifier, ha componenti equivalenti.

Decoder sonoro

La scelta del PIC18F1330 sembra la piu' opportuna per le periferiche che integra al suo interno. Ha 3 controller PWM che possono essere usati:
  1. Per la trazione (nel caso di decoder sonoro+trazione)
  2. Per la generazione dei suoni (fino a due canali, quindi stereo)
Il PWM per la trazione va a pilotare il driver del motore per parzializzare la tensione e ne consente l'inversione di marcia. Per invertire la marcia si puo' sfruttare il fatto che dal PIC possono uscire (generati dallo stesso PWM) due segnali uno complementare dell'altro che possono essere usati per il controllo dei due rami del ponte ad "H" formato dai mosfet di potenza. Per i driver del motore pensavo di usare una nuova serie di integrati appena "sfornati" dalla ROHM che si possono trovare a questo indirizzo. Questi driver uniscono il fatto di una grande compattezza (sono in SO-8 e in altri package saldabili anche a mano e molto interessanti) ad una completezza di funzioni interne come pre-driver del ponte, ponte a mosfet, limitazione di corrente e termica. Tutte queste funzioni, se fatte a componenti discreti, farebbero "sprecare" un sacco di spazio sul decoder rendendo invitabilmente le dimensioni non molto appetibili. Questi circuiti della serie BD62XX possono essere scelti a 3 diverse tensioni di alimentazione 5, 15 e 32 volt. Per gli impieghi DCC penso che la scelta obbligata sia sui 15V. Si possono anche scegliere le massime correnti dei driver tra 0.5, 1 e 2A: di nuovo penso che per la scala N si possa scegliere 0.5A, per la scala H0 e' necessario 1A. Grande vantaggio di questi integrati e' la parte di pilotaggio del driver a ponte: essendo pensata e realizzata ad hoc si riesce ad arrivare a frequenze di switching di 100KHz, non importanti in quanto tali, ma come indice che le perdite di pilotaggio sono molto basse e quindi il tutto sara' molto efficiente a differenza dei normali pilotaggi sui decoder DIY con uscite a collettore aperto+pullup che alla fine limitano le prestazioni del tutto. Questi integrati si possono pilotare o con 2 PWM (cosa che pensavo di implementare) o con una tensione analogica, sfruttando un oscillatore interno. I vantaggi per un decoder di pilotare con un'onda quadra e non una tensione analogica sono:

  1. Poter scegliere la frequenza di pilotaggio: in partenza il PWM a bassa frequenza e' piu' "cattivo" (anche se meno efficiente di quello ad alta frequenza) e fa partire i motori a tensioni piu' basse. Pilotando con una tensione invece si genera una frequenza fissa vicino a 30KHz.

  2. Evita componenti di filtraggio tra il PIC e driver con conseguente risparmio di spazio.
Il diagramma a blocchi del circuito e' il seguente:


Mi sembra ci sia tutto no? Inviero' una richiesta di campioni alla ROHM, comunque ho gia' visto che si puo' acquistare per pochi euro sul catalogo Digikey.



www.oscilloscopio.it

Oggi sono riuscito a completare la messa in linea del nuovo sito ospitato sulle pagine di google sites. L'indirizzo e' sempre www.oscilloscopio.it, sono solo cambiate le pagine e la loro presentazione. Ovviamente ci sono alcune limitazioni, ma il tutto sembra filare liscio. Per ora ho privilegiato i progetti DCC e ho messo online:
  • Decoder per segnali Italiani
  • Decoder per accessori da 2 Ampere
  • Decoder per servocomandi
  • Decoder per illuminazione carrozze FS della serie 50000 di 2a classe (scala H0)
  • Decoder per illuminazione carrozze EUROFIMA di 1a classe (scala N)
Ho messo anche il segnaposto per le altre cose gia' pronte e cioe' i decoder funzioni ed il decoder per illuminazione per le carrozze EUROFIMA di 2a classe in scala N (per capirci quelle a 11 scompartimenti).
Sul fronte dello sviluppo del decoder sonoro ho selezionato l'editor per i suoni: il migliore tra quelli provati e' sicuramente PowerSE (Power Sound Editor Free) che si puo' scaricare liberamente a questo indirizzo. Ho iniziato a prendere familiarita' con l'editing dei suoni e con il loro mixing. Le altre cose da fare a brevissimo sono la selezione della memoria per contenere i suoni e il driver di potenza per l'altoparlante. Il chip di memoria che mi piace di piu' e' sicuramente la flash SST25VF032B della Silicon Storage Technology, si possono ordinare campioni free, subito fatto. Questo chip da 32Mbit consentirebbe di contenere in memoria una canzone completa, 3 o 4 minuti di suoni. L'interfaccia del circuito e' SPI a 3 fili: CLK, SDI, SDO. La prima cosa da risolvere a questo punto e' collegarla al PIC 18F1330 che ha solo 2 fili per l'interfaccia seriale sincrona e cioe' CLOCK e DATA. La seconda cosa da risolvere sarebbe come fare ad usare la stessa seriale anche per caricare dall'esterno i suoni per programmare la Flash. Bisogna selezionare anche un'interfaccia esterna, da connettere al PC, per scaricare i suoni: penso che la cosa abbastanza ovvia sia di scegliere l'USB. Quindi va selezionato anche un dispositivo semplice e poco costoso per andare da USB a interfaccia SPI del PIC. Quindi riassumendo per ora la configurazione del decoder e' questa:
  • Ponte a diodi SMB da 2A continui
  • Regolatore di tensione a 5V per il PIC ZMR500 della Zetex
  • PIC 18F1330 in package SSOP
  • Memoria flash SST25VF032B connessa SPI al PIC