Relé solo funciona en un ordenador

Arduino, STM32 (Maple), ESP8266, ESP32, etc
Tonecho
Mensajes: 2
Registrado: Ayer, 22:19
Agradecido: 0
Agradecimiento recibido: 0

Relé solo funciona en un ordenador

Mensaje sin leer por Tonecho »

Hola a todos. Mi nombre es Tonecho y soy gallego. Me gusta la electrónica y con lo que voy rascando de internet tengo hecho alguna cosa chula. Ahora estoy con la activación de un motor a distancia usando botones y estoy teniendo un problema que quizás sea tonto pero para mi es casi paranormal ;). Os cuento a ver si alguien me puede ayudar.

Primero decir que encontré este post del foro pero no me soluciona. Al final se indica que era un problema del relé pero los mios funcionan perfectamente:

electronica-digital-microcontroladores- ... %2Dprueba).

En mi caso los relés solo funcionan en un ordenador (y he probado otros 2). Casi estoy seguro de que es un problema de alimentación pero aun así tengo dudas que os comento:


Imagen

Imagen

Lo que tengo montado se ve en las fotos. Tal y como está funciona perfecto porque tengo las dos placas Arduino UNO conectadas a un ordenador ASUS. El problema es que si conecto la placa que manda la señal de control al relé por el PIN11 en otro ordenador (probado en un Mac y un Dell), este no se activa. Tal y como está montado se activa cuando aprieto el primer botón de la protoboard, lo que se traduce en el receptor como un LOW en el PIN11.

Aunque me ha llevado su tiempo al final es un radioenlace sencillo. Usa dos módulos APC220.

CÓDIGO EMISOR


////////////////////////////////////////////////
// Simple APC220 Transmitter Arduino Code
// by
// Kaleb Hill
// 5/30/15
////////////////////////////////////////////////
const int ledPin = 13;
const int switchPin = 2;

int switchState = 0;

void setup()
{
Serial.begin(9600);
pinMode(switchPin, INPUT_PULLUP);
pinMode(ledPin, OUTPUT);
}

void loop()
{
switchState = digitalRead(switchPin);

if(switchState == HIGH)
{
Serial.write(switchState);
Serial.flush();
digitalWrite(ledPin, LOW);
Serial.println(switchState);
delay(1);
}
else
{
Serial.write(switchState);
Serial.flush();
digitalWrite(ledPin, HIGH);
Serial.println(switchState);
delay(1);
}
}

CÓDIGO RECEPTOR

////////////////////////////////////////////////
// Simple APC220 Receiver Arduino Code
// by
// Kaleb Hill
// 5/30/15
////////////////////////////////////////////////

void setup()
{
Serial.begin(9600);
pinMode(13,OUTPUT);
pinMode(11,OUTPUT);
}

void loop()
{ int Data;
if(Serial.available()>0){
Data = Serial.read();
Serial.flush();
}
switch ( Data ) {
case '0':
lowvalue();
break;

case '1':
highvalue();
break;

default :
break;
}
delay(1);
}

void lowvalue()
{
digitalWrite(13, LOW);
digitalWrite(11, LOW);
Serial.println("0");
}


void highvalue()
{
digitalWrite(13, HIGH);
digitalWrite(11, HIGH);
Serial.println("1");
}

Supongo que será un problema de corriente aunque a la vez no entiendo que pueda ser esto ya que el relé se activa al recibir un cero. ¿Será problema de la "masa" que proporciona el USB. Además, probé a alimentar el receptor con una pila de 9v y tampoco funciona. El relé no llega a activarse.

Para descartar problemas,, la alimentación del relé la estoy sacando de la placa emisora pero nada.

Eso, algo muy raro a mi entender. ¿Cómo puede ser que solo funcione en un ASUS? Además, en el proyecto final debo poder alimentar las dos placas en baterías y deberían ser pequeñas (portables). ¿Alguien me puede ayudar? Gracias!
Avatar de Usuario
Naguissa
Administrador del Sitio
Mensajes: 523
Registrado: 04 Jul 2016, 11:17
Agradecido: 116 veces
Agradecimiento recibido: 137 veces

Re: Relé solo funciona en un ordenador

Mensaje sin leer por Naguissa »

Se me ocurre que al alimentarlo por USab y conectar la radio a él haya interferencias. Pero deberían cesar al alimentarlo con 7v.

Podrías probar a usar Software serial para la radio y el USB para depurar el programa...
Tonecho
Mensajes: 2
Registrado: Ayer, 22:19
Agradecido: 0
Agradecimiento recibido: 0

Re: Relé solo funciona en un ordenador

Mensaje sin leer por Tonecho »

El enlace radio funciona perfecto y manda la señal sin problemas. Todo va correcto siempre que lo conecto al ASUS por lo que creo que es problema de la corriente que proporcione el USB del ordenador al que se conecte.

No entiendo bien lo de..: Podrías probar a usar Software serial para la radio y el USB para depurar el programa...

Quizás la pila de 9v no aporta suficiente energía? o no hace suficiente masa?
Avatar de Usuario
Naguissa
Administrador del Sitio
Mensajes: 523
Registrado: 04 Jul 2016, 11:17
Agradecido: 116 veces
Agradecimiento recibido: 137 veces

Re: Relé solo funciona en un ordenador

Mensaje sin leer por Naguissa »

Podría ser la corriente, pero es extremadamente extraño que falle en 2 y, además, alimentación externa.

Lo de SoftwareSerial es conectar la radio a otro Serial: https://docs.arduino.cc/learn/built-in- ... serial/[hr][/hr]


Added in 1 minute 27 seconds:
Pila de 9v? Sí, claro, si es la típica pila cuadrada es muy fácil que no soporte las oscilaciones o picos de la radio.
  • Similar Topics
    Respuestas
    Vistas
    Último mensaje