Go Down

Topic: Interfacciare 4-20mA e RS232 con arduino (Read 7162 times) previous topic - next topic

brunol949


uscita mini-usb, può facilitarmi le cose?

Mi sa' che e' peggio
Sicuramente e' una presa per collegarlo al PC per cui con Arduino non ci fai niente
A meno che' non sia una presa ( Master ) per attaccarci una stampante ( slave ) perche' in questo caso avresti la stessa condizione PC<-> Arduino ; la vedo dura comunque che sia cosi'
I dispositivi USB hanno dei driver per essere riconosciuti per cui sicuramente lo strumento nasce per essere connesso ad un PC
Le mie opere : Flusso correnti nell'impianto fotovoltaico http://arduino.webveneto.net/energy_control/     PING ed E.Mail http://arduino.web

9six4

#16
Apr 04, 2012, 09:05 am Last Edit: Apr 04, 2012, 09:07 am by 9six4 Reason: 1
Ecco qui il manuale di uno dei miei strumenti:

http://www.hanna.it/struct/catalogo/manuali/the/mank999ir2.pdf

Come potete vedere a pag 17 spiegano il collegamento tramite RS232.
Come potrei fare per gestire i dati con Arduino ed inviarli ad una stampantina?

astrobeed


E per quanto riguarda l'RS 232? Ultima cosa, vorrei che la comunicazione avvenisse wireless, cosa mi consigliate? Io uso arduino UNO.


Sicuramente ti conviene usare la comunicazione RS232 tramite moduli Xbee e questo adattatore per gli strumenti.
Utilizzando gli Xbee serie 2 puoi facilmente creare un semplice network tramite il quale  puoi ricevere i dati da tutti gli strumenti identificandoli anche se la comunicazione è unidirezionale, cioè lo strumento trasmette in automatico e in continuazione i suoi dati.
Su Arduino ti conviene usare questo adattatore così puoi collegare l'Xbee anche tramite seriale software lasciando disponile quella hardware,  a mio avviso la soluzione migliore è salvare i dati in arrivo su una SD e poi li gestisci come meglio credi da un pc.

9six4

Grazie astrobeed,
proverò a fare cosi, solo che la necessità di stampa ce l'ho purtroppo. Secondo te è possibile che tutti i dati arrivino all'arduino e l'arduino, in base ad un'impostazione che gli do io, ogni X secondi mandi i dati in stampa?

astrobeed


Secondo te è possibile che tutti i dati arrivino all'arduino e l'arduino, in base ad un'impostazione che gli do io, ogni X secondi mandi i dati in stampa?


Certo che è possibile, basta che utilizzi una stampante dotata di interfaccia seriale perché tramite Arduino non hai altro modo per inviare i dati, volendo anche questa potrebbe essere connessa wireless tramite un Xbee.
In alternativa puoi usare una stampante termica di quelle per i registratori di cassa, si trovano a pochi soldi sul mercato surplus, con un pochino di elettronica è facile interfacciarla ad Arduino, in rete ci sono vari progetti in merito.

9six4

Io pensavo a questa:

http://www.ladyada.net/products/thermalprinter/

Che ne dici?
Per l'elettronica non c'è problema, son perito elettroni, quello che mi manca è la programmazione  :smiley-mr-green:

Testato

Quote
La comunicazione è unidirezionale (solo da strumento a unità ricevente) e le trasmissioni sono una stringa ASCII a 32 caratter

Ci avevo azzeccato  :)
Soldi ?
Cioe' perche' non usare la stampante o il sw ufficiale del prodotto visto che non parliamo di un discorso hobbiestico ?
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

9six4

Io sto usando il software ufficiale, ma non è in vendita una stampante ufficiale. Per questo volevo provare a collegarne una seriale o una qualsiasi altra tramite arduino. Ho la necessità di stampare direttamente ad intervalli regolari, anchè perchè lo strumento non è in una zona di facile accesso quindi andar li ogni volta con portatile e cavi vari diventa un dramma. Ho provato anche stamattina a collegarlo ad hyperterminal ma niente, non da segni di vita. Tra l'altro non capisco come usarlo sto benedetto hyperterminal!  :~

astrobeed


brunol949

#24
Apr 05, 2012, 02:14 pm Last Edit: Apr 05, 2012, 02:16 pm by brunol949 Reason: 1

Sicuramente ti conviene usare la comunicazione RS232 tramite moduli Xbee e questo adattatore per gli strumenti.

Se compri questo adattatore leggi la mia fulminea esperienza con un oggetto del tutto simile sempre da Robot Italy ( costa anche meta' )
http://arduino.cc/forum/index.php/topic,99991.new.html#new

Ciao
Le mie opere : Flusso correnti nell'impianto fotovoltaico http://arduino.webveneto.net/energy_control/     PING ed E.Mail http://arduino.web

9six4

Molto interessante bruno grazie,
devo solo trovare il modo per farlo dialogare con sto maledetto hyperterminal   :~

brunol949

#26
Apr 05, 2012, 09:47 pm Last Edit: Apr 05, 2012, 09:52 pm by brunol949 Reason: 1

devo solo trovare il modo per farlo dialogare con sto maledetto hyperterminal   :~

Non ho letto bene il manuale che hai linkato
Se l'uscita e' RS232 basta incrociare TX e RX ; poi il comune .
Quindi bisogna trovare velocita' e parametri ; il classico e' 9600 8N1
Ma su dei PLC ho trovato 9600 7E1
Anche il LOGO della Siemens e' per conto suo ed a suo tempo ho googlato di brutto per trovare i parametri adatti

Poi una volta che arrivano le stringhe al massimo dovrai impostare l'aggiunta di un LF se si sovrascrivono

Visto che il connettore sullo strumento e' particolare immagino che il cavetto sia acquistabile
Le mie opere : Flusso correnti nell'impianto fotovoltaico http://arduino.webveneto.net/energy_control/     PING ed E.Mail http://arduino.web

9six4

Quote
Visto che il connettore sullo strumento e' particolare immagino che il cavetto sia acquistabile


Infatti la cosa divertente è che non riesco a farlo funzionare con il suo cavo originale!  XD
Non riesco a capire come farlo dialogare con hyperterminal. Connetto il cavo, apro il programma, imposto il nome della connessione ed i parametri come da te consigliato (ne ho provati diversi) ma poi mi trovo sempre e solo una lineetta intermittente e la scritta "rilevamento auto" sotto con un timer che avanza, nient'altro  :~
Ho provato a premere tutti i tasti: backspace, ctrl+h, h ecc ecc ma nessuna risposta.

brunol949


ma poi mi trovo sempre e solo una lineetta intermittente e la scritta "rilevamento auto" sotto con un timer che avanza, nient'altro  :~

Io proverei ad aprire Hyperterminal e dopo accenderei lo strumento
Quel "rilevamento auto" dopo il cursore arriva dall'esterno perche' se apri il terminale appare solo il cursore , di norma .
Il timer indica il tempo di connessione
Per curiosita'
Premi il telefono con la cornetta alzata ; si ferma la connessione
Premi il pulsante con la mano ; proprieta'
Tab impostazioni + impostazioni ASCII
Su ricezione ASCII spunta " Aggiungi avanzamento riga ....

Tutto questo per capire se la scritta che vedi e' una sola oppure un continuo , continuamente sovrascritto nel caso ci fosse solo il CR a fine stringa
Aggiungendo l'avanzamento riga vengono scritte una sotto l'altra

Alla fine premi sul telefono con la cornetta giu per riattivare la connessione
Al peggio ti trovi una riga scritta ed una vuota

Le mie opere : Flusso correnti nell'impianto fotovoltaico http://arduino.webveneto.net/energy_control/     PING ed E.Mail http://arduino.web

astrobeed


Non riesco a capire come farlo dialogare con hyperterminal. Connetto il cavo, apro il programma, imposto il nome della connessione ed i parametri come da te consigliato (ne ho provati diversi)


Se non è chiaramente scritta sul manuale dello strumento la velocità la devi trovare a tentativi, tipicamente quegli oggetti lavorano a 9600,8,1 oppure 19200,n,8,1 , in tutti i casi dovresti vedere lo stesso qualcosa arrivare anche se la velocità è sbagliata, in questo caso vedi caratteri senza senso.
Quello che sicuramente hai scordato di fare è impostare l'handshake come "NONE", se non lo fai Hyperterminal rimane in eterna attesa dei consensi hardware che lo strumento sicuramente non fornisce.

Go Up