Problema de conmutación TX-RX con MAX 485...Solucionado

Estoy trabajando en un proyecto para el que utilizo un conversor de protocolo MAX 485.
El Arduino Master es un Arduino Uno y el Slave es un Arduino Nano. La comunicación debe ser Half Duplex por lo que tengo que conmutar los pines DE y RE del modulo MAX 485 a nivel alto o bajo con una salida de Arduino.
Con el Master no tengo problema, pero el Slave no es capaz de poner a masa los 2,5V que hay en los pines DE y RE.
He probado cambiando el pin de Arduino, del 2 que usaba originalmente, al 4 y el problema continua.
La salida del pin de Arduino realmente se pone a nivel bajo, porque si desconecto el modulo MAX 485, el pin realmente está a 0V.
He probado a poner una resistencia de pulldown de 10K para obligar al pin a ir a masa, pero tampoco.
He intercambiado los MAX 485 entre el Uno y el Nano, y tampoco por lo que descarto averia de los MAX 485.
¿Porqué ocurre con el Nano y no con el Uno?
Algo creo que estoy haciendo mal.
¿Podéis ayudarme por favor?

Con el Master no tengo problema, pero el Slave no es capaz de poner a masa los 2,5V que hay en los pines DE y RE.

Porque hay 2.5V? Eso ya es raro.

Como ves en el esquema el módulo ya trae sus pull-up asi que no agregues nada porque si pones una pull-down fuerzas una tensión que rivalizará con el pin.
Verifica que esten libres esos pines.
Si estas usando un protoboard con mayor razón verificalo. Ve con el tester y mide la tensión de cada uno cuando no estan conectado a ningún pin del arduino.
Luego conecta al arduino esclavo y vuelve a medir.
DE y RE Deben unirse.

A ver qué resulta.

Ante todo gracias por tu respuesta Surbyte.
Los pines de Arduino Nano y el módulo Max están unidos físicamente, están montado en una PCB con los terminales soldados. La continuidad es perfecta.
La tensión están medida con los pines de ambos unidos, pero es la misma que si lo mido en el módulo Max si elimino la conexión entre ambos.
RE y DE están unidas, es más, es el mismo montaje que tengo en el módulo Máster y en ese me funciona.
He intercambiado el Max del Máster con el Slave y ocurre lo mismo.

Hay otro problema. No puedes leer 2.5V.
Falta algo que se nos escapa.

Asegúrame que no tienes ningun resistor unido entre DE-RE a GND que sirva de divisor de tensión.

Ya te digo que efectivamente hay algo que al menos a mi se me escapa.
Creo que mas vale una imagen, que mil palabras. Bueno, dos imágenes...........
Mañana montaré otro Arduino, pero no creo que vaya por ahí el problema.

http://

Las imagenes no pueden tener mas de 2MB.
Verifica su tamaño

Una pregunta tonta, pero que hay que hacer: ¿Contra que masa estas midiendo? ¿Uniste las masas entre los dos Arduinos?

Sí, las masas y la alimentación son las mismas.
Lo siento pero no puedo subir el pantallazo del diseño de Eagle, ni el ZIP con los ficheros para que los abráis en Eagle

Adjuntalos. Si se puede en formato zip solamente.

Solucionado.
Había cometido un error grave. No había declarado el Pin 2 como salida.
Conecté un led directo al pin y pude comprobar que se encendía muy, muy leve cuando lo forzaba a nivel alto.
Gracias por vuestra ayuda.

Y sabes porque demoramos en encontrar el problema? por no postear tu código.
Siempre se debe informar con todos los datos postibles y no subestimar nada.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.