Newsgroup: it.hobby.elettronica.digitale
Titolo: che pic usare?

non uso dei pic oramai da anni e all'epoca gli unici un po' diffusi
erano della microchip. volevo sapere se ci sono microprocessori piu'
indicati per quello che devo fare e cosa usereste voi al mio posto.
non so nemmeno se riusciro' a trovare il tempo di farlo, ma vorrei
almeno ragionarci sopra e leggermi un po' di documentazione in merito.
in seguito per comodita' uso il termine chip non per il pic vero e
proprio ma per tutto il sistema costituito dal pic e da quei 5 o 6
componenti che gli stanno intorno.
il dispositivo che vorrei realizzare, visto che quelli che trovo in
commercio costano relativamente tanto, e' il controllo di un motorino
elettrico su modelli ferroviari.
"una volta" i trenini erano necessariamente comandati da una tensione
variabile sulle rotaie. il motorino era collegato direttamente alle
ruote e quindi con un alimentatore con uscita variabile 0-10v si
decideva la velocita' del treno. col segno della tensione si stabiliva
il senso di marcia. far marciare piu' treni contemporaneamente
richiedeva di suddividere il tracciato in settori comandati da
alimentatori separati, i quali davano, quindi, velocita' differenti
alle locomotive posizionate sui differenti settori. di solito si
cablava una "logica" che all'avvicinarsi di un treno al settore
successivo "switchava" gli alimentatori in modo che un treno in marcia
mantenesse la stessa velocita' a prescindere da dove si trovava, ma la
cosa chiaramente aveva dei limiti e si faceva molto complessa
velocemente. nei grandi plastici si riusciva a far marciare anche 3 o
4 treni contemporaneamente, ma c'era da diventare matti e comunque il
sistema era limitante. un amico ha un plastico di 25 metri quadrati
sul quale possono marciare 14 treni contemporaneamente, ma ha steso
piu' fili di quelli che io ho in 5.000 metri quadrati di capannone :)
poi quando se ne rompe uno e' sempre una festa esagerata.
ora, invece, col sistema "dcc" la cosa funziona diversamente: sulle
rotaie viene data una tensione costante e continua a 10v ed il motore
non e' piu' collegato in modo diretto alle ruote, quindi non "vede" la
tensione sulle rotaie e non gira nonostante l'alimentazione.
questi 10 volt servono ad alimentare un piccolo sistema a
microprocessore --quelli per i trenini piu' piccoli sono 10x15x3mm
tutto compreso--: sulle locomotive piu' vecchie si puo' installare
after market e lo si paga abbastanza caro; diversamente le nuove sono
speso disponibili col chip gia' a bordo, ma la differenza di prezzo e'
un'altra volta grande.
il pic alimentato dalle rotaie dispone di un piccolissimo stadio
amplificatore --o puo' comandare un motorino direttamente?-- che,
semprme coi 10v sulle rotaie, comanda il motorino in configurazione a
2 quadranti --perche' il treno puo' andare nei 2 sensi di marcia.
a questa tensione continua e' sovrapposto un segnale digitale che
viaggia organizzato in pacchetti di dati, tipo i pacchetti tcp/ip che
girano in una lan ethernet. questi dati, inviati uno dopo l'altro in
modo continuativo dalla consolle di comando, sono in formato aperto e
disponibile in rete --
www.nmra.org
, se non ricordo male-- e contengono
un indirizzo di destinazione, variabile tra 0 e 255.
ora, il pic su ogni locomotiva ha un indirizzo differente --salvo
intoppi-- e tiene d'occhio i pacchetti che girano sulle rotaie: quando
l'indirizzo del destinatario corrisponde a quello del pic, il pic
legge i dati, li dati e agisce di conseguenza. in realta'
concettualmente fa molto poco: regola la velocita' del motorino della
locomotiva a quella trasmessa dalla consolle e contenuta nel pacchetto
di dati ricevuto, per cui nella versione base potrebbe semplicemente
avere un'uscita analogica di valore proporzionale al valore letto
dalle rotaie.
i chip con software piu' sofisticato realizzano un qualche controllo
in retroazione leggendo la corrente assorbita dal motorino, cosi' se
la locomotiva sta trainando in salita danno un po' piu' di birra al
motorino e se invece sta andando in discesa cala la tensione sul
motorino. in questo modo cercano --anche in modo tutto sommato
efficace-- di mantenere la velocita' del treno indipendente dalla
pendenza e dal carico trainato. e' naturale che una volta che al
motorino sia stata data la massima tensione, se non raggiunge la
velocita' richiesta pazienza: anche nella realta' esiste una velocita'
massima dipendente dal carico trainato. la cosa deve funzionare
semplicemente leggendo la corrente perche' non esistono motorini ad
uso fermodellistico con encoder, quindi non c'e' modo di avere una
retroazione "attendibile" dell'effettiva velocita' di rotazione del
motorino.
per la verita' c'e' ancora una cosa piu' bella e sofisticata, che al
momento a me interessa meno: la riproduzione dei treni che, nella
realta', viaggiano con 2 o piu' locomotive perche' una sola non ce la
farebbe a trainare il carico ad una velocita' sufficiente. questo
complica un po' le cose perche' i motorini non sono mai identici e
visto che ci sono 2 locomotive che a parita' di velocita' richiesta in
digitale andrebbero a velocita' reali leggermente diverse, una finira'
per rappresentare un carico per l'altra e non so la cosa come potrebbe
essere risolta senza impazzire tanto e senza sovraccaricare il
motorino che tende a girare piu' veloce.
il passo successivo, ed ultimo, e' questo: ci sono chip che mettono a
disposizione del modellista anche una o due uscite digitali, per cui
chi "gioca" coi modellini, con la propria consolle oltre che comandare
la velocita' e la direzione di una locomotiva puo' anche accendere e
spegnere le luci, cambiare il colore delle luci --alcune locomotive
hanno luci sia bianche che rosse come nella realta', che vanno accese
alternativamente a seconda del senso di marcia--, attivare un cicalino
che simula --orrendamente-- il suono del "clacson", accendere e
spegnere le luci interne dei vagoni --su cui si mette un chip--.
poi ci sono i giochi piu' sofisticati: ad esempio una marca tedesca
vende una gru a 3 movimenti, il modellino di una cava di carbone con
tutto il sistema di coclee e tramogge per il carico e lo scarico dei
vagoni ed un sistema di carico dei container su vagoni merci dotato di
una serie di motorini, ognuno dei quali e' comandato da uno di questi
chip. in questi casi sarebbe bello studiare un sistema di inseguimento
di un punto, ovvero un controllo di posizione, piuttosto che un
controllo di velocita'.
quindi quello che mi servirebbe fare e': leggere dei dati binari che
arrivano su un ingresso, interpretarli e fare un po' di conti,
comandare un motorino elettrico della potenza dell'ordine del watt e,
potendo, avere a disposizione un paio --ma anche 3 o 4 se si puo'--
uscite binarie che alimentino 2/4 microled o microlampadine da
milliwatt.
cosa mi conviene usare, a vostro avviso?
sono perito elettrico ed ingegnere informatico controllista, quindi
credo di essere in grado di capire i concetti della cosa anche se non
ho alcuna esperienza della realizzazione della cosa --e quindi sono a
chiedere consigli da dove cominciare--.
per l'intanto, grazie in anticipo.
saluti.
-- 
Gianni Rondinini (31, tanti, RA)
Nikon user - Bmw driver
http://bugbarbeq.deviantart.com

 sono perito elettrico ed ingegnere informatico controllista, quindi
intanto, il tuo post č un esempio di "come porre domande in modo
intelligente", richiamo spesso vano e ritenuto ingiurioso.
Tendi a confondere il termine "microcontrollore" con il termine "pic", poco
male. I pic sono microcontrollori della Microchip, quindi "pic" č un nome
commerciale. Esistono molti altri microcontrollori analoghi, sia a 8 bit che
a 16, come quelli atmel/AVR, philips, nec, freescale, ecc. ecc.
Se capisco bene, il sistema prevede di alimentare i binari con una tensione
alternata a onda quadra, dove il periodo degli impulsi contiene
l'informazione.
Per quanto riguarda il Pic, se scegli di usare questa famiglia, direi che
potresti considerare il classico 16f877a, utilizzando un compilatore in C
(CCS, per esempio). Hai sicuramente risorse per  un display, pulsanti,
trimmer e un'interfaccia rs232.
Per quanto riguarda drive di uscita di potenza, ricordo che Nuova
Elettronica propose un sistema analogo (ma non a controllo digitale) per
alimentare i binari. Numero... boh... 120 ? 130 ? qualcosa del genere, cerca
nel loro sito e copia...!
Saluti,
-- 
simone.bern
Mr. Heisemberg is not the only one who can affect a measurement by looking
at it (Robert A. Pease)
zsimone...@zliberoz.it
 (Rimuovere i caratteri di zorro per rispondere
via mail)

nel loro sito e copia...!
ok, grazie.


Gianni Rondinini ha scritto:

Febbraio MArzo e Aprile 2005 della rivista 
www.fareelettronica.it
trovi tutto quello che ti serve sul DCC
Emanuele
-- 
*** YOUR ELECTRONICS OPEN SOURCE ***
http://dev.emcelettronica.com

trovi tutto quello che ti serve sul DCC
grazie di cuore. me li procuro subito.


 intelligente", richiamo spesso vano e ritenuto ingiurioso.
E' Natale dobbiamo essere tutti piu' buoni, perche' deve aggiungere sempre 
quel pizzico di polemica? forse non sai che non sei il moderatore di questi 
newsgroup? perche' non ti crei dei bei forum dove tu puoi decidere quello 
che e' giusto? chi non ti piace o posta cose ovvie lo cacci fuori? ne 
guadagneresti non credi? 

ne guadagneresti non credi?
No, non credo. Credo invece che chiunque accede ad un ng debba conoscere la 
netiquette. Che poi è una categoria del tutto riconducibile al buon senso e 
all'educazione. E condivido molti dei concetti espressi in questa guida, 
anche se vanno letti con un minimo di senso critico.
http://wwwcdf.pd.infn.it/MLO/smart-questions.html
Auguri di Buone Feste.


Ciao!
Dai  sto solo cercando di fare come te :-) ma si vede che non ci riesco, mi 
fa piacere che sui newsgroup ci sia tu e non scherzo, per il fatto che mi 
hai consigliato di leggere il manuale non c'e' problema lo che dovrebbe 
essere cosi'.
Ciao e Buone Feste. 

 trimmer e un'interfaccia rs232.
Scusa, ma per quello che gli serve, non potrebbe usare un 16F628A  che costa 
meno della meta` del 16f877a? Che se ne deve fare di 33 porte I/O?