Pages: 1 2 [3] 4   Go Down
Author Topic: Interfacciare 4-20mA e RS232 con arduino  (Read 6136 times)
0 Members and 1 Guest are viewing this topic.
Malo ( VI )
Offline Offline
Sr. Member
****
Karma: 0
Posts: 372
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quello che sicuramente hai scordato di fare è impostare l'handshake come "NONE",
Eh gia' ..
Allego una cattura della videata di H.T. dove ricevo la risposta di un ping
Giusto per capire cosa si vede di solito smiley


* SS_HypertTerminal.png (15.7 KB, 643x424 - viewed 29 times.)
Logged

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

Cagliari, Italy
Offline Offline
Tesla Member
***
Karma: 112
Posts: 7112
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Scusa la domanda banale: "Hai selezionato nel PC la giusta porta Com per HyperTerminal?".
Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

Padova
Offline Offline
Full Member
***
Karma: 0
Posts: 197
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Quel "rilevamento auto" dopo il cursore arriva dall'esterno perche' se apri il terminale appare solo il cursore , di norma .

Mi sono espresso male, questa scritta appare in basso, affianco al timer, dove sulla tua immagine appare la scritta "ANSIW", credo sia il tipo di emulazione.

Quote
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.

Se come handshake intendi il controllo di flusso, già fatto, ho messo nessuno.

Quote
Allego una cattura della videata di H.T. dove ricevo la risposta di un ping
Giusto per capire cosa si vede di solito

Da me c'è solo il cursore che lampeggia (trattino basso come su word)

Quote
Scusa la domanda banale: "Hai selezionato nel PC la giusta porta Com per HyperTerminal?".

Lo collego con la seriale RS232 quindi se non erro dovrebbe essere la COM1 di default
Logged

Padova
Offline Offline
Full Member
***
Karma: 0
Posts: 197
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Allora... dopo vari tentativi, sono riuscito a fare dialogare hyperterminal con uno strumento.
Ad ogni tanto che premo però mi da di ritorno una faccina ed un cuore che significa? Come posso gestire questa cosa?
Logged

0
Offline Offline
Faraday Member
**
Karma: 46
Posts: 5881
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

probabilmente sono la rappresentazione in codici ascii del dato che ricevi.
guarda sulla tabella ascii
Logged

- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

Padova
Offline Offline
Full Member
***
Karma: 0
Posts: 197
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Cercato, corrisponde ai numeri 2 e 3...
Logged

Padova
Offline Offline
Full Member
***
Karma: 0
Posts: 197
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Scusate ma avrei bisogno di un aiutino... sto cercando di leggere con l'arduino una tensione ai capi di una resistenza collegata ad un circuito esterno. Attraverso la resistenza da 270 ohm passa una corrente 4-20mA ed io tramite Analogread vorrei misurare la tensione ai capi per poi poter elaborare il dato. La resistenza però è alimentata da un circuito esterno all'arduino e la cosa mi spiazza un pò, come potrei collegarla all'arduino per leggerne la tensione ai capi?
Grazie
Logged

Malo ( VI )
Offline Offline
Sr. Member
****
Karma: 0
Posts: 372
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

come potrei collegarla all'arduino per leggerne la tensione ai capi?
Colleghi i 2 capi della resistenza fra GND ed AnalogIn di Arduino
Se uno dei capi della resistenza e' collegato al GND dello strumento ( ammesso che sia verificabile ) collega il suddetto capo al gnd di arduino
Sarebbe preferibile che i 2 gnd fossero collegati assieme e non incrociati
Logged

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

Padova
Offline Offline
Full Member
***
Karma: 0
Posts: 197
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Grazie bruno, scusa la domanda stupida ma avevo bisogno di una certezza. Funziona e sembra abbastanza preciso. Adesso provo a trasformare il dato in punti pH, visualizzarlo a display e stamparlo a cadenza regolare su carta. Per quanto riguarda la risposta del mio strumento collegato via RS232 sai dirmi nulla?
Logged

0
Offline Offline
Sr. Member
****
Karma: 2
Posts: 303
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao,

ho guardato la pagina 17 del manuale da te indicato.
Lo strumento manda in output ogni uno o due secondi, a seconda delle versioni, 32 caratteri il cui significato e' spiegato nella pagina del manuale.
Gli ultimi due sono CR (carriage return) e LF (line feed).

Se vuoi vedere piu' facilmente i caratteri, allora puoi utilizzare un monitor per la porta seriale, ad esempio Free Serial Port Monitor. Lanci il programma originale (o hyperterminal) e vedi le stringhe sul serial monitor.

Se hai il programma originale di lettura dati puoi vedere anche il baudrate e gli altri parametri della porta seriale. Per far questo devi andare nel menu' strumenti e aprire "impostazioni" (la penultima) e li' trovi "IOCTL consecutivi". Seleziona la visualizzazione di IOCTL_SERIAL_GET_BAUD_RATE e IOCTL_SERIAL_GET_LINE_CONTROL.
All'inizio della finestra "richieste" vedrai i dati su baudrate, wordlength, parity e stopbits.

I byte singoli li vedrai col corrispettivo valore (esadecimale, decimale, ASCII, ... a seconda della visualizzazione che utilizzi), tipo byte 11 = unita' di misura della temperatura, mentre per i dati che utilizzano piu' byte dovrai ricavare il corrispondente valore.

Ciao,
marco.
http://www.serial-port-monitor.com/index.html
« Last Edit: April 11, 2012, 05:16:25 am by Marco Benini » Logged

0
Offline Offline
Faraday Member
**
Karma: 46
Posts: 5881
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

visto che e' a pagamentgo, perche' si chiama Free ?  smiley-yell
Logged

- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

Padova
Offline Offline
Full Member
***
Karma: 0
Posts: 197
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Grazie Marco, appena riprendo in mano il discorso RS232 provo.
Ora sto provando ad eseguire delle letture ma ho dei problemi a visualizzare il giusto risultato a LCD.
Questo è il programmino:

Code:
#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup()
{
  lcd.begin(20, 4);
  Serial.begin(9600);
}

void loop()
{
  int sensorValue = analogRead(A0);
  Serial.println(sensorValue);
  float pHvalue = ((sensorValue-226)/53)+1;
  Serial.println(pHvalue);
  lcd.clear();
  lcd.print("pH = ");
  lcd.print(pHvalue);
  delay (1000);
}

In pratica misura la tensione ai capi di una resistenza tramite l'ingresso A0 e tramite una formula matematica la converte in punti pH. Il problema, e non capisco il perchè, è che il risultato è sempre un numero giusto (ovvero 7.00 oppure 5.00) mentre dovrebbe avere 2 decimali diversi da 00.
Qualcuno mi spiega dove sbaglio?
Grazie
Logged

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 129
Posts: 9457
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

visto che e' a pagamentgo, perche' si chiama Free ?  smiley-yell

A pagamento è solo l'invio del programma su CD, se lo scarichi non paghi nulla.
Logged

0
Offline Offline
Faraday Member
**
Karma: 46
Posts: 5881
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

grazie, non ci avevo fatto caso.
purtroppo non funziona su win7, almeno il mio a 64  smiley-red
ne conosci uno simile ?
Logged

- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 129
Posts: 9457
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ne conosci uno simile ?

Per la seriale e la parallela è da sempre che uso Portmon, è molto vecchio come software però è un ottimo strumento di analisi, fa vedere tutto quello che succede a livello evento di sistema nei dettagli.
Funziona bene con tutti i sistemi operativi Windows a partire da W98 in poi, incluso W7 32 bit, con la versione a 64 bit non l'ho mai provato quindi non posso garantirti che funziona.

Logged

Pages: 1 2 [3] 4   Go Up
Jump to: