Go Down

Topic: Comunicar a traves de Tx/Rx (Read 8638 times) previous topic - next topic

Igor R

No me ha quedado claro, estas recibiendo lo que te manda??

Si es que si, modifica el programa para que si Serial.available()>0, te mande un OK o algo asi, y pruebas de escribir algo....

Jose Francisco

Code: [Select]
/*
  DigitalReadSerial
Reads a digital input on pin 2, prints the result to the serial monitor

This example code is in the public domain.
*/

void setup() {
  Serial.begin(9600);
  pinMode(2, INPUT);
}

void loop() {
 
    if (Serial.available()) {
      Serial.read();
    Serial.println("OK");
  }
 
}




Este si va.
Muchas gracias Igor. Seguiré investigando por que falla el Messenger y te contaré.
Has sido muy amable.

Jose Francisco

No se por que, a traves de tx/rx no me funciona:
ni la librería Messenger con el serial monitor
ni la librería Modbus con Mango M2m
Pero si lo hacen cuando me conecto a traves de usb

Jose Francisco

Code: [Select]

void setup() {
  Serial.begin(9600);
  pinMode(2, INPUT);
}

void loop() {
  Serial.println("OKttttttttttttttt");
    if (Serial.available()) {
      Serial.read();
    Serial.println("OK");
  }
 
}



  • Si conecto el arduino directamente, obtengo en el serial "OKttttttttttttttt" a chorro. Si le mando algún carácter obtengo un "OK"

  • Si lo conecto a través de otro arduino, obtengo "... -ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ    EÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ  ... "



:smiley-eek-blue:

Jose Francisco

Últimos experimentos:

- si hago un puente entre la pata 1 del ftdi (txd) y la rx del arduino con chip, SI VA
- si hago un puente entre la pata 2 del soket (rxd) al pin rx del arduino con chip, NO VA

Se supone que la pata 1 del ftdi está conectada directamente a la pata 2 del socket del atmega, siendo la pata 2 la segunda patilla cercana a las letras ICSP, ¿no?

Jose Francisco

¿Para que sirve la resistencia de 1k que separa la pata 1 txd ftdi de la pata 2 rxd del atmega?

Es que aun lado de la resistencia tengo comunicación (lado del ftdi) y al otro no (lado del atmega)

Igor R

#21
Feb 24, 2011, 10:47 pm Last Edit: Feb 24, 2011, 11:43 pm by Igor R Reason: 1
Ya se que está pasando!!!


Placa sin chip TX <--------------> TX Arduino   (UNIDOS SIN MÁS)


Placa sin chip Rx <------|-------> RX Arduino  (Una resistencia por un lado a masa y por otro a la union entre los RX)
                                |
                             R=1 k
                                |
                              GND



Si algún día nos vemos, me tendrás que invitar a una cerveza, porque hasta me lo he tenido que montar el invento para ver que pasaba....;)



(En el esquema del Arduino, las resistencias que se ven son porque el chip FTDI es 3V3, y son para proteger)




He cogido los primeros cables que he pillado,asi que no esta muy limpio, pero ya se ve para que te hagas a la idea.


El programa de prueba:
Code: [Select]

void setup()
{
  Serial.begin(9600);
  Serial.println("Empezamos...");
}



void loop()
{
  if (Serial.available()>0)
  {
    Serial.write(Serial.read());     
  }
}





Jose Francisco

1.- Si la cosa va bien (el proyecto completo), te invito a un fin de semana en un 5 estrellas. La pareja te la buscas tu. a mi no me mires.
2.- Eso tiene pinta de ser una resistencia de pull-down. ¿Es así? ¿cual era el problema?
3.- Vamos a suponer que cambio esa conexión por rs485 full duplex multiesclavo. ¿Tendria que poner esas resistencias en el rx de cada esclavo?

Supongo que cuando me expliques un poco el truco se me despejan estas y otras dudas.

Muchas gracias Igor.

PD: Aun no lo he probado

Igor R

#23
Feb 25, 2011, 10:26 am Last Edit: Feb 25, 2011, 10:39 am by Igor R Reason: 1
Oye, aquí queda por escrito lo del finde en hotel 5* ... :D

Pruébalo y me dices. No tengo osciloscopio, así que me espero antes de lanzarme el "triple".... ha sido "instinto"    ja,ja,ja
Si te funciona te cuento.....que debería hacerlo si a mi me funcionó.

Cuando pongas un driver para rs485, no tendrás problema. No tienes que hacer ésto.

Por cierto, ¿de qué va tu proyecto? He leido tu primer post que vas a usar Modbus y un programa Scada, pero no cuentas mucho de la aplicación final.


Salu2


Igor R.

Jose Francisco

#24
Mar 02, 2011, 01:08 pm Last Edit: Mar 02, 2011, 01:16 pm by Jose Francisco Reason: 1
Estoy pensando en usar el chip MAX3081 que permite hasta 256 esclavos (¿Me dará MAXIM 256 muestras poco a poco ?  ]:)).

El tema es que en el datasheet recomienda colocar un condensador de 0.1uF en Vcc a gnd.  ¿Eso es un cerámico? ¿Los ceramicos tienen limitación de voltios? ¿Hay que dar algún detalle más en la tienda para comprarlos? Se que tipos de electrolítico hay un montón (por temperatura, por voltios, polarizados o no,...) pero de cerámicos no entiendo mucho.

Tengo dudas si ponérselo o no. Pero bueno... póntelo pónselo.

Luego está el cable.

Estoy pensando en poner cable utp de red. me sobran pares pero bueno. En algunos sitios dicen que es aconsejable y casi obligatorio unir los gnds de los esclavos para evitar diferencias de potencial excesivas entre ellos si están muy alejados. Eso no es problema si uso UTP de 4 pares ya que me sobran cables. También recomiendan conectar el apantallamiento a masa. Ahí vienen el problema por que el UTP no tiene pantalla.
Tengo que comentar que en el entorno van a haber variadores de frecuencia (de baja potencia y con filtro EMI) que son grandes generadores de armonicos y perturbaciones.

¿A cuanto está el metro de UTP? ¿Y de FTP que tiene pantalla?
En principio necesito 2 pares + gnd + pantalla ¿Que me recomendais?

Un saludo y gracias.

Sergegsx

34 euros me costaron a mi 50 metros el otro dia en leroy merlin

xlopez

Puedes ir a la tienda y pedir muestras de tamaño palmo, hasta que tengas los 50 metros.

Jose Francisco

También le puedo preguntar a algún gitano. Ellos saben mucho del mercado del cobre.

Jose Francisco

Igor R ¿tienes experiencia con rs485, largas distancias y ruido?

Igor R

No deberias tener problema, es un bus altamente utilizado en la industria.
Compra cable que venga con malla.

Por cierto, probaste lo que te dije para comunicarte con el Arduino utilizando una placa sin micro? Funcionó?

;)


Go Up