Newsgroup: it.hobby.elettronica.digitale
Titolo: Ricevere segnali da 60 sensori ?

Salve NG,
Avrei bisogno di leggere i segnali provenienti da 60 sonde di pressione 
(4-20mA o 0-10V). Poi devo registrarli su un pc, prelevandoli possibilmente 
sulla seriale. Per far cio' potrei usare "qualche" modulo analogico per 
plc, ma il costo sarebbe esagerato.
Pensavo di affidarmi ai microcontrollori: prendo 60 microcontrollori con 
convertitore A/D e poi sparare fuori in continuo la misura tramite la UART. 
Il problema poi sarebbe come fare a ricevere tutti quei segnali (basterebbe 
prenderli una volta ogni tanto, tipo ogni 10 minuti o piu').
Avete qualche soluzione ?
Grazie, Nicola.
-- 
______________________________
chi va pian va san e va lontan

 Grazie, Nicola.
Potresti usare dei PIC 16F876 che al loro interno possiedeno un convertitore
A/D a 10 bit abbastanza buono e l'UART.
Come bus di comunicazione ti consiglio di usare L'RS485, facilmente
implementabile tramite MAX485, lo standard prevedeva solo 32 unità per ogni
linea ma con i moderni Ic è possibile arrivare fino a 128 senza troppi
problemi
La comunicazione avviene tramite solo due fili ed è di tipo half duplex
(parla un solo dispositivo per volta) con una lunghezza massima del cavo di
1200 metri.
All'ingresso del PC basta che metti un convertitore da RS485 a RS232, ed il
gioco è fatto oltretutto visto la lentezza di acquisizione non avrai
problemi ad usare anche cavi molto lunghi visto che puoi tranquillamente
trasmettere a velocità non troppo elevate senza alcun problema.
P.S.
Dato che un 16F876 dispone di 5 ingressi analogici se hai dei sensori vicini
tra loro puoi mandarli tutti allo stesso pic risparmiando sul costo globale
del progetto.
Il convertitore RS232 RS485 per pc è implementabile in due modi, il primo
prevede solo l'adattamente hardware dei segnali e basta usare un MAX232
pilota un MAX485 con l'ausilio di semplici routine software sul pc.
Il secondo sfrutta un microcontroller esterno (può essere un economicissimo
pic 12C508) in mezzo tra il MAX232 e il MAX485.
In queso caso per il pc non cambia nulla, basta settare la seriale senza
handshake e half duplex, e ci pensa il microcontroller a instradare
correttamente i dati sul MAX485.
Bye

Tutto OK, ma se usi degli switch analogici potresti avere 5 porte A/D sul
pic ed a ciascuna di queste uno switch analogico con  8 porte , in questa
maniera dovrsti arrivare con poche I/O a pilotare 40 A/D con 8 letture
sequenziali di 5 alla volta (leggi i cinque valori A/D dal pic poi
incrementi l'indirizzamento sullo switch ecc.)
I teoria potresti cascadare gli switch in maniera che con una sola porta
puoi leggere n canali.

E se ne prendi uno e gli fai fare la scansione di tutti e 60 non č meglio???
Mi sembra un po esagerato prendere 60 mC!!!
Magari lo prendi uno con tanti piedini! e possibilmente non un PIC! :-))
Ciao
-- 
Posted from [212.141.54.103] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Magari lo prendi uno con tanti piedini! e possibilmente non un PIC! :-))
Questa non l'ho capita !
Anche se si dovesse orientare verso una MCU di classe superiore, una HS8 per
esempio, sarebbe solo uno spreco di denaro visto che al massimo hanno solo 8
ingressi analogici, gli stessi che trovi su di un economicissimo 16F877.
Bye

 Questa non l'ho capita !
Infatti... non l'h capita neanche io!
Jack

 ha scritto nel messaggio
news:8sn1l9...@doppioproc.localdomain...


ingressi analogici, gli stessi che trovi su di un economicissimo 16F877.
-- 
Posted from [212.141.54.102] 


Sorseggiando il suo prosecco " ha scritto:

A dir il vero pendevo per gli Atmel, ma visto che esistono questi 16F877 
con ben 8 ingressi (mi devo informare) penso che potrei passare a questi :))


 

Grazie, penso che per trovare il 16F876 e un programmatore non dovrei aver 
problemi (RS spero ce l'abbiano), per quel che riguarda il MAX485, non lo 
conosco. Dove posso trovare documentazione, e magari esempi, sul MAX485 e 
soprattutto sul RS485 (per la rs232 non dovrei aver problemi, l'ho fatta 
anche con microC dell'Atmel).


 anche con microC dell'Atmel).
Il MAX485 lo produce MAXIM e puoi scaricarti il data sheet da loro sito
(
www.maxim-ic.com
), sul funzionamento della RS485 trovi in rete moltissimo
materiale basta che fai una ricerchina con goggle ed il gioco è fatto.
Bye

 con ben 8 ingressi (mi devo informare) penso che potrei passare a questi :))
Visto che fai delle conversioni AD in ambiente presumibilmente
industriale e hai tempo, suggerirei di fare in questo modo:
Per ogni canale che leggi fai 8 conversioni consecutive equispaziate di
2.5 ms, in modo da fare il ciclo di conversioni in 20 ms. Sommi gli 8
risultati, eventualmente sommi ancora 4 e shifti di tre posizioni verso
destra (dividi per 8): in questo modo fai un filtro numerico a costo
praticamente nullo che taglia via il rumore a 50 Hz e le sue armoniche.
Ciao
-- 
Franco
Wovon man nicht sprechen kann, darüber muß man schweigen.
(L. Wittgenstein)

RS non li ha questi PIC... e nemmeno Distrelec!
Jack

visto che i sensori escono in corrente 4-20mA non vedo perche si dovrebbe usare la
rs485; usando un mux a 16 canali basterebbero 4 chips e un A/D magari con ingresso
differenziale (ltc1285)  da collegare semmai alla LPT per via dei mux (esistono
centinaia di realizzazioni di cui ho documentazione), se il PC si trova in un
ambiente "rumoroso" converrà usare un A/D a doppia rampa di integrazione o come
dice Franco mediare su piu campionamenti.
ciao, Maurizio


> praticamente nullo che taglia via il rumore a 50 Hz e le sue armoniche.
-- 


 praticamente nullo che taglia via il rumore a 50 Hz e le sue armoniche.
Scusa, temo di non aver ben capito: questo serve per fare una media dei 
risultati di ogni singola misura? Il problema piu' grosso adesso e' 
riuscire a mettere insieme la comunicazione, solo che non conosco il 
protocollo  rs485, ma ora mi informo :))


 protocollo  rs485, ma ora mi informo :))
Probabilmente quando avrai risolto i problemi con la 485 il thread sara`
finito e mi sarei dimenticato di indicarti il filtraggio del segnale.


il sistema 4-20mA è tipico della trasmissione analogica remota di segnali, non
vorrei essere superficiale con soluzione che ti ho proposto ma mi pare corretta
almeno come approccio. Trovo inutile usare la rs485 che implica
l'interrogazione di qualcosa di "intelligente" posto vicino al sensore, perche
usare sensori con uscita in corrente in questo caso? Prova a vedere della serie
XTR della Burr Brown  le application notes relative. 
www.burrbrown.com
.
La documentazione per applicazioni con la printer port ne trovi tante con un
semplice "search", io ho una quantità enorme di applicazioni con LPT e rs232
raccolta in anni e anni. Puoi provare comunque negli archivi di EDN ed
Electronic Design.


sperando di non aver sorseggiato troppo, mi pare che l'indirizzo di sotto
confermi quanto ho suggerito, ciao
http://home.intekom.com/iq/temperature/signals.html


 ciao, Maurizio
La trasmissione analogica dei segnali mi sembra cosa superata... quando lo
sviluppo di un sistema programmabile in grado di trasmettere in digitale
l'informazione costa meno di un cavo di buona qualità. Comunque il problema
più grande che vedo è portare 60 conduttori vicino al PC... e raccapezzarsi
sulla loro provenienza. Con la RS485 arriva un solo doppino!
Jack

è difficile essere d'accordo considerando che i sensori da collegarsi hanno già
l'interfaccia analogica 4-20mA, ("....Salve NG
Avrei bisogno di leggere i segnali provenienti da 60 sonde di pressione
(4-20mA o 0-10V)A...........) . I cavi non debbono avere particolari
caratteristiche se non quelle meccaniche eventualmente richieste; non
dimenticare che trasmettere una corrente ti permette di ignorare la resistenza
ohmica del cavo, l'A/D è ad alta impedenza!. Posso convenire sulla comodità del
doppino ma dovrai allora usare come minimo 60 diciamo PIC e tribolarci sopra;
comunque....de gustibus...... .
Se proprio volete usare un elicottero come una bicicletta andate a vedere la
descrizione della rete TANZONET di Tanzilli.com.  Lui l'elicottero lo sa usare
molto meglio di me.
ciao


 ciao
Premesso che la tua idea di sfruttare la presenza dell'interfaccia corrent
loop è tutt'altro che sbagliata occorre fare una serie di considerazioni
pratiche per decidere se sia meglio ricorrere ad un network RS485 oppure
alla 4-20 ma.
Prima di tutto la distanza dei sensori dal dispositivo di acquisizione dati,
poi occorre considerare che se ho dei sensori posti vicino posso usare un
singolo modulo MCU per collegarli.
Non scordiamoci del fatto che con la RS485 hai un solo doppino telefonico
(piccolo ed economico) che va in giro mentre con la corrent loop hai sempre
60 cavi (va sempre bene il doppino) che vanno a spasso per l'ambiente dove
sono presenti i sensori.
Per ultimo mettiamo pure nel calderone che sull'interfaccia 4-20ma viaggiano
segnali analogici e non digitali, per cui avrai sempre grossi problemi di
rumore, quanto dipende dall'ambiente e dai cavi usati.
Il corrent loop va benissimo se lo usi in modo digitale ma se la usi in
modalità analogica ha gli stessi problemi che affligono una qualunque linea
dati analogica.
In base a questi criteri, ma non solo, tocca scegliere la soluzione
ottimale, in linea di massima se i  sensori non sono troppo lontani (pochi
metri) dall'unità di acquisizione dati e non ci sono problemi ambientali per
far circolare 60 cavi allora va benissimo la soluzione mux+current loop,
altrimenti è meglio propendere per la soluzione network con RS485.
Solitamente si utilizza l'interfaccia 4-20 ma analogica per connettere i
sensori ad un PLC, o un modulo dedicato, anche con cavi lunghi diversi metri
senza troppi problemi (sicuramente molti di meno di un accoppiamento 0-10 v)
e poi si collega il PLC o il modulo all'elaboratore principale tramite
RS485.
P.S.
Il consiglio di Franco sulla realizzazione del filtro numerico per la 50Hz è
ottimo, fatene tesoro perchè queste sono informazioni che non trovate
facilmente in giro, o perlomeno sono sommerse in mezzo a testi complessi di
cui non sempre si ha voglia di leggerli a fondo :-)
Bye

 finito e mi sarei dimenticato di indicarti il filtraggio del segnale.
Ok, grazie :)


 tramite RS485.
Esatto !


 
cut.................
Beh, io propendo per la soluzione digitale, ma solo perche' mi pare piu' 
facile (uno che capisce poco di corrente come me ha minori difficolta' a 
programmare un microC). Pero' mi vado a vedere un po' della roba che mi hai 
suggerito.
P.S. comunque alla fine il microC lo devo usare lo stesso, o no?
Grazie, Nicola.


 P.S. comunque alla fine il microC lo devo usare lo stesso, o no?
se usi un micro per ogni sensore devi portare l'alimentazione e la massa per
micro e sensore, fare un alimentatore nel caso i due lavorino a tensioni diverse
, il doppino per la rs485....e siamo a 4 fili(nel caso piu favorevole) per
ciascun punto di misura, poi devi adattare i 0-10V al range che l'A/D accetta,
poi devi usare un trans/receiver rs485, poi devi fare il programma per
l'interrogazione dell'A/D e rispondere alla richiesta sulla rs485....trovi
qualcosa di educativo anche su 
www.analog.com
 cercando poi 4-20mA. Fai tu


 praticamente nullo che taglia via il rumore a 50 Hz e le sue armoniche.
scusa perche' sommare 4?
l'unica cosa che mi viene in mente e' che riporti sul 5 bit se il 4 e' a 1
ma non mi rendo conto della necessita'
davide.ammirata(at)
tiscalinet.it
dav...@mail.com
davidea(<at>)
tim.it
 (cellulare)
-- 
Posted with Ink Spot (for PocketPC) from DejaVu Software, Inc.
Usenet wherever you are - 
http://www.dejavusoftware.com/

Perchè complicarsi tanto la vita?
Esistono i dispositivi 1 Wire della Dallas semiconductors:
Sono una intera gamma di dispositivi, tra cui c'é un quadruplo AD Converter
da 1 a 16 bit di risoluzione(ds2450),  che utilizzano per il loro
funzionamento una rete che può essere lunga fino a qualche centinaio di
metri senza l'uso di ripetitori composta da due fili che
vengono utilizzati per dati e alimentazione. Esiste un interfaccia per
seriale e parallela e dei driver
già scritti con esempi di codice per utilizzarli da programma. vai sul sito
della Dallas Maxim e
cerca tra i prodotti 1 Wire: l'indirizzo é 
www.maxim-ic.com
inoltre i driver per pc sono all'indirizzo 
www.ibutton.com
 nella sezione
software, si chiamano TMEX e
l'ultima versione é la 3.20 e ricorda di scaricare l'sdk che contiene anche
gli esempi.
Io ho montato qualche giorno fà l'interfaccia sia seriale che parallela e
funziona egregiamente.
Se guardi bene sul sito tra le application notes c'é una spiegazione
sull'organizzazione di reti di grandi
dimensioni con vari consigli utili.
Se serve qualcosa fammi sapere.
--
Alessio Morale 
alessi...@interfree.it
Home page del progetto Java automation:
http://www.alessiomorale.com