Interfaccia PC P50/HSI-88 - Loconet

di ing. Raneri Epifanio (Aprile 2009)
Copyright
Il seguente progetto (hardware & software) può essere realizzato liberamente, ma non può essere commercializzato in nessun modo, salvo diversa indicazione da parte dell'ideatore.
 
Premessa sul BUS Loconet e non solo

Il Bus Loconet è un bus molto "potente" purtroppo poco conosciuto in Italia, rimando ad un successivo articolo la descrizione dettagliata di tale bus . Al momento diciamo solo che in un unico BUS possono essere collegati svariati accessori compresi controlli palmari, moduli di retroazione, booster e altro. Giusto per fare un confronto, il vecchio xpressnet, permette il collegamento massimo di 31 accessori tra cui al massimo una sola interfaccia PC e al massimo 30 comandi palmari. Su Loconet, invece, il numero di interfacce PC e comandi palmari collegabili è teoricamente illimitato.
Altro termine di paragone: per poter utilizzare la rete xpressnet serve obbligatoriamente una centrale digitale che invece non è necessaria con Loconet.

Aggiungo inoltre che questo è il mio primo progetto che pubblico a cui ne seguiranno altri sempre Loconet.

 

Prototipo

Interfaccia PC-Loconet collegata al modulo di retroazione Loconet S1.

Per il funzionamento con i soli moduli di retroazione non necessita della presenza di una centrale digitale.

 
A cosa serve ?

Il bus loconet dispone gia di diverse interfacce PC commerciali tra cui il Locobuffer e l'MS100 Digitrax. Purtroppo questi hanno lo svantaggio di non essere supportate da tutti i software commerciali. La necessità di avere un interfaccia PC "universalmente" supportata nasceva dal fatto che, non avendo al momento l'Intellibox, volevo effettuare dei test sui miei moduli di retroazione Loconet (prossimamente in arrivo su queste sito).

La scelta del protocollo PC è caduta sul vecchio P50 della Marklin che pur essendo vecchio e alquanto limitato è supportato dalla stragrande maggioranza dei software commerciali e prevede tra l'altro il supporto dei moduli di retroazione. In poche parole il PC crede di essere collegato ad una centrale digitale Marklin quando in realtà c'è la mia interfaccia che dialoga con il bus loconet.

In un secondo tempo ho aggiunto il supporto per il protocollo HSI-88. Questo protocollo è supportato da un interfaccia commerciale utilizzata per collegare direttamente i vecchi moduli S88 al computer. Anche in questo caso il PC crede di essere collegato ad un interfaccia diversa da quella realmente presente.

Entrambi i protocolli hanno però il limite di supportare solo 496 contatti di retroazione, a mio giudizio più che sufficienti per un plastico di medie dimensioni

 
Implementazione del Progetto
In questi casi ovviamente la prima cosa da fare è sceglie un architettura che può soddisfare le proprie esigenze. Mi sono orientato verso l'architettura PIC Microchip usando il solito PIC 16F628 rigorosamente programmato in linguaggio assembly. L'utilizzo di un linguaggio di alto livello, come ad esmepio il C, pur facilitando apparentemente la stesura del codice sciuperebbe inutilmente le risorse del microcontrollore magari richiedendone uno più prestante. Usando l'assembly invece, le periferiche messe a disposizione da questo microcontrollore insieme alla Ram e alla Flash sono più che sufficenti (avanzano) per supplire alle esigenze del progetto.
 

Il Software

Al fine di semplificare la stesura del codice ho deciso di recuperare alcune parti da altri progetti disponibili in rete. Per la parte Loconet ho usato le routine del Fred realizzate dal mitico Stefan Borman. Invece per gestire la parte P50 ho usato del codice realizzato a suo tempo dal mitico Calro Zamboni per un suo progetto DCC. Infine per la parte HSI-88 ho usato il codice di Paco Canada usato sul GenHSI.
Tutto il codice sopra descritto è stato opportunamente rimaneggiato per ottenere il funzionamento voluto. In particolare sia per la modalità di funzionamento come P50 che come HSI-88 è stato aggiunto un buffer software dal quale il PC preleva lo stato dei moduli di retroazione. Lo stato del buffer viene aggiornato dai pacchetti loconet inviati dai vari moduli di retroazione.
In modalità P50 oltre alla gestione dei moduli di retroazione è possibile comandare anche gli acessori fissi, ma per far questo è necessaria una centrale digitale loconet a cui collegare l'intarfaccia.
 

L'hardware

Nulla di particolare sull'hardware c'è il solito regolatore di tensione per fornire i 5V a tutto il circuito, un max 232 per adattare i livelli fisici dell'RS232 ed un tranceiver Loconet fatto con un comparatore (le altre soluzioni non mi piacciono) ed un transistor. L'interfaccia monta due connettori Loconet in modo da evitare l'uso di sdoppiatori o simili.

Sono inoltre presenti una serie di ponticelli che permettono di modificare il funzionamento dell'interfaccia.

  • JP6 permette di scegliere il modo di funzionamento: con il ponticello inserito si avrà la modalità HSI-88, invece senza la P50.
  • JP1 e JP2 permettono di scegliere da dove il modulo deve prelevare l'alimentazione. Con JP1 posizionato su 1-2 e JP2 su 2-3 l'interfaccia verrà alimentata tramite X3 il che richiede un trasformatore esterno a 9-12VAC. Con JP1 su 2-3 e JP2 su 1-2 l'interfaccia viene alimentata dalla rete Loconet attraverso i segnali Rail_Sync.
  • JP4 e JP5 permettono di alimentare il bus Loconet nel caso in cui non sia presente una centrale digitale.
  • JP3 fornisce la terminazione loconet sempre nel caso in cui non sia presente una centrale digitale.

Riassumendo per chiarezza, senza centrale digitale Loconet la configurazione da dare ai ponticelli è:

  • JP1 posizionato su 1-2 e JP2 su 2-3 e trasformatore da 9-12VAC collegato a X3;
  • ponticelli inseriti su JP4 e JP5;
  • ponticello di terminazione inserito su JP3.

Per utilizzarlo con una centrale digitale loconet:

  • ponticelli NON inseriti su JP4 e JP5;
  • ponticello di terminazione NON inserito su JP3.
  • JP1 posizionato su 1-2 e JP2 su 2-3 e trasformatore da 9-12VAC collegato a X3 (consigliato). Alternativamente JP1 su 2-3 e JP2 su 1-2 l'interfaccia viene alimentata dalla centrale digitale tramite Loconet.

Per entrambi i casi è posssibile scegliere il protocollo PC che l'interfaccia deve emulare tramite il ponticello JP6.

Infine il led D3 segnala attività sulla rete Loconet mentre il led D2 segnala attività sulla seriale del PC.

 
Funzionamento
Nulla di particolare. Una volta connesso opportunamente alla rete Loconet e selezionato il corretto protocollo sul software PC (Traincontroller, Windigipet Railware, etc) non è necessario eseguire alcuna operazione sull'interfaccia. Questa in modo autonomo provvederà ad inoltrare verso il PC lo stato dei moduli di retroazione . Nel caso di utilizzo in modalità P50 in più potrà inoltrare su Loconet i comandi accessori del PC.
 
Validazione
Cos'è la validazione ? In ambito industriale automotive, settore nel cui lavoro, prima di mettere un prodotto in produzione vengono eseguiti una serie di test definiti da specifiche normative atte a scovare eventuali bug o problemi di funzionamento del nuovo prodotto. Se il prodotto supera questi test allora è validato. Ovviamente qui parliamo di trenini e non ci sono delle vere e proprie regole di validaziona ma nonostante questo prima di pubblicare questo progetto ho eseguito una lunga serie di test dove sono stati riscontrati e risolti alcuni problemi....nonotante ciò esiste sempre una remotissima possibilità che sfugga qualcosa. In questo caso suggerisco di segnalare la cosa nell'apposita sezione Loconet del forum di DCCWorld. Aggiungo inoltre, che il modulo è stato usato con successo in due manifestazioni pubbliche sul plastico modulare di CV19.
 
Schema Elettrico

Schema Elettrico (PDF)
 
Schema di Montaggio

Schema di Montaggio (PDF)
 
Circuito Stampato

Circuito Stampato (PDF)
 
Elenco componenti
Resistenze:
  • R1 = 10 K;
  • R2 = 22 K;
  • R3 = 220 K;
  • R4 = 150 K;
  • R5 = 47K;
  • R6 = 10K;
  • R7 = 4,7K;
  • R8 = R9 = 1K;
  • R10 = 47ohm;
  • R11 = 10K;
Condensatori:
  • C1 = C2 = C3 =C6 = C8 = C9 1 µF 16V Elettrolitico;
  • C4= 10 µF 16 v elettrolitico;
  • C5 = 100 nF Poliestere;
Transistor
  • T1 =T3 = BC547;
  • T2 = = 2N4401 oppure BC337 questo va però inserito ruotato di 180 gradi;
Integrati:
  • IC1 = PIC16F628;
  • IC2 = L7805;
  • IC3 = MAX232;
  • IC4 = LM311N;
Diodi:
  • D1 = D4 = D5 = D6 = 1N4148;
  • D2 = D3 = Led;
Altro:
  • JP1 = JP2 = Strip a 3 contatti;
  • JP3 = JP4 = JP5 = JP6 = Strip a 2 contatti ;
  • J1 = J2 = Connettore RJ12 da circuito Stampato.
  • X1 = connettore canon 9 poli Femmina da circuito Stampato;
  • X3 = morsettiera a 2;
 
Software per il pic PIC16F628
Software da inserire nel PIC


Dai un voto a questa pagina:

Rating: 2.0/5 (108 votes cast)

(Unobtrusive) AJAX Star Rating Bar Homepage