Pages: 1 ... 3 4 [5] 6 7   Go Down
Author Topic: Leggere e memorizzare dati da RS232 con Arduino Mega 2560  (Read 6255 times)
0 Members and 1 Guest are viewing this topic.
Padova
Offline Offline
Full Member
***
Karma: 0
Posts: 197
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ho il cavo originale e mi sono connesso direttamente al connettore DE-9 femmina.
Ho misurato le tensioni anche sul pentapolare, da sinistra a destra in senso orari ho Tx, Rx e GND. Anche li niente da fare 0,8-1 mV. Dopodichè ho smontato lo strumento e misurato direttamente sulla scheda... stessi risultati. Aperto il connettore DE-9 ho verificato le connessioni e corrispondo allo schema standard per RS232.
Mi è venuto un grosso dubbio, e mi sa che l'errore potrebbe esser li. Se noti come ho montato io i condensatori, nelle foto che ho postato a pag 2 di questo thread, dal pin 2 vado a massa con C3.
Nello schema del datasheet ufficiale di casa Maxim a pag 17 si nota che dal pin 2 con C3 si collegano a 5V e dopo tramite C5 creano un disaccoppiamento tra 5V e GND... mi sa che l'errore è li... anche se non mi spiego perchè cortocircuitando pin 13-14 avessi risposta corretta.
Tu cosa dici?

Qui il datasheet:
http://docs-europe.electrocomponents.com/webdocs/07c1/0900766b807c18c1.pdf
Logged

Tuscany
Offline Offline
Edison Member
*
Karma: 80
Posts: 2176
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ma non lo avevi fatto 3 pagine fa', di spostare il condensatore sul Pin2, dal GND al 5Volts ?

mah.... secondo me fai bene a rifarlo, anche su bredboard, perche' anche il fatto che inserendo il C1 provocasse un corto.... fa' pensare che ci sia qualche collegamento errato
Logged

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

3 pagine fa avevamo discusso di C5 che mi mandava tutto in corto... poi ho verificato che il corto era altrove. Ora stiamo facendo un pò di confusione con i condensatori  smiley facciamo rifermento sempre al datasheet ufficiale maxim e quindi allo schema postato da te. Era C5 a mandarmi in corto tutto.
Comunque per tagliare la testa al toro lo rifaccio cosi almeno se anche questo da gli stessi segnali sappiamo che il problema è altrove. Il mio problema ora è che ho finito i C da 1uF... secondo te se li metto da 10 fa lo stesso?
Logged

Tuscany
Offline Offline
Edison Member
*
Karma: 80
Posts: 2176
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ci vogliono  da 10uF, tutti.
solo sul datasheet li usano da 1uF.
Logged

0
Offline Offline
Faraday Member
**
Karma: 49
Posts: 6016
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Scusa la domanda, tx-gnd lo misuri su tensione continua ?,
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

Ho fatto entrambe le prove (ormai non so più dove battere la testa). Continua-pulsata mi da 0.8 mV alternata mi da 0.7V. Il tester è preciso, ho fatto le prove con alcune batterie, è un FLUKE 187.
Proprio sta cosa non me la spiego!
Logged

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

Rifatto tutto il circuito ma purtroppo non cambia nulla anzi, ora non su arduino non ricevo più nulla. Se però metto in corto i pin 13 e 14 stampa a serial monitor quello che gli mando.
Logged

Tuscany
Offline Offline
Edison Member
*
Karma: 80
Posts: 2176
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Tanto lo so' che alla fine si scopre che c'era una bischerata... finisce sempre cosi'...
Allora...
stai lavorando sulla Serial normale.
il circuito e' a posto
le tensioni sullo strumento sono fasulle
il loopback cortocicuitando le uscite funziona

Non e' che nel connettore a 9 poli c'e' un ponticello tra due pin per far capire allo strumento e' collegato un'unita' esterna ?
In teoria dovrebbero esserci solo due collegamenti, GND e TX ( o Rx dipende da come la si vede ). ma a questo punto , date le tensioni errate che leggi, presuppongo che ci sia un controllo per attivare l'output dallo strumento , o ancora meglio la classica linea DTR o RTS che informa lo stato della periferica presente

Logged

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

Non ci avevo pensato.
Eccoti subito una foto del D9:
1 - NC
2 - Rx grigio
3 - Tx giallo
4 - (Data termina ready) marrone con ponticello al pin 6
5 - bianco GND
6 - (Data set ready) vedi pin 4
7 - Request to Send ponticellato con l'8
8 - Clear to send verde
9 - NC

Sulla pentapolare entrano tutti e 5 i segnali.
In ordine da sx a dx in senso orario:
1 - CTS
2 - DTR
3 - GND
4 - Rx
5 - Tx
Logged

Tuscany
Offline Offline
Edison Member
*
Karma: 80
Posts: 2176
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Strano che DTR-DSR e RTS-CTS siano ponticellati tutti e due, pare quasi che non usi nessun handshake. O meglio, che non ci sia handshake e' quasi normale.... niente, divagavo.

Allora, dato che non sappiamo quali segnali possa usare, io collegherei cosi.

MAX232  -  DB9 poli

14 -------- 4  DTR - Marrone
7 --------- 7  RTS  - Verde
13 -------- 2  RX  - grigio
GND -----  5  Massa - Bianco

in piu' dovresti mettere a GND i pin 11 e 10 Del MAX232 in modo che l'uscita ( pin 14 e 7 ) vadano a +12Volts

Manca il collegamento TX, perche' non serve. e basterebbe solo il DTR o RTS, ma non si sa' ancora cosa possa usare lo strumento
Logged

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

Ho collegato come hai detto tu, situazione:
Tra massa e il pin2 della DB9 ci sono 7V
Tra massa e il pin4 della DB9 ci sono 8.3V
Tra massa e il pin7 della DB9 ci sono 9V

Sul max232:
pin 9 = 4.9V
pin10 = 0V collegato a massa
pin11 = 0V collegato a massa
pin12 = 19 mV

Ho provato a collegare il pin12 all'arduino sia su Rx1 che su Tx1 ma niente, non da segni di vita.
Ti quadra la cosa?

Logged

Tuscany
Offline Offline
Edison Member
*
Karma: 80
Posts: 2176
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

no, non mi quadra.
Pin4 DTR e pin7 RTS a 9volts. OK - Informa lo strumento che c'e' un collegamento
Pin2 del DB9 sarebbe l'RX.... puo esserci di tutto.. OK
pin9 del MAX..... PIN 9 Del MAX ? Che c'entra il pin9 del MAX. dovrebbe essere scollegato...

Perche' lo hai collegato a RX1 o TX1... Dovresti collegarlo a RX0, il SerialMonitor lavora li'
Logged

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

Avevo provato ad usare questo sketch:

Code:
void setup() {
  Serial.begin(1200);
  Serial1.begin(1200);
}

void loop() {
  if (Serial1.available()) {
    int inByte = Serial1.read();
    Serial.write(inByte);
  }
}

Ora riprovo collegando i pin 0 o 1 con questo sketch:

Code:
void setup() {
  Serial.begin(1200);
}

void loop() {
  if (Serial.available()) {
    int inByte = Serial.read();
    Serial.write(inByte);
  }
}

Però dovrebbe essere giusto 5V sul pin9 del max. Guardando lo schema, se non è collegato nulla all'8 in teoria va a 5V, no?
Logged

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

Usando il secondo sketch se collego il pin 12 del max232 a Rx non ho segni di vita, se lo collego a Tx mi scrive a serialmonitor quello che gli scrivo sulla barra.
Logged

Tuscany
Offline Offline
Edison Member
*
Karma: 80
Posts: 2176
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Però dovrebbe essere giusto 5V sul pin9 del max. Guardando lo schema, se non è collegato nulla all'8 in teoria va a 5V, no?

Esatto. Solo che non riuscivo a capire che cosa c'entrasse una misurasul pin9.

Io non ho MEGA, ma di default non si chiamano Serial - Serial1 - Serial2 - Serial3 ?
E perche' l'hai chiamata Seriall ( che con l'eta avevo scambiato per un 1 ) se non c'e' unaprecedente assegnazione a questo nome ?

 EDIT: Come non detto.. devo farmi gli occhiali
« Last Edit: May 17, 2012, 11:00:07 am by brunello » Logged

Pages: 1 ... 3 4 [5] 6 7   Go Up
Jump to: