Sensores Industriales con Arduino

Hola a todos,

estamos realizando un proyecto de gestión de control climático y queremos probarlo con sensores industriales.

La duda que nos surge es si hay el mismo problema en el cableado por perdida de señal en sensores industriales que en los sensores normales al utilizar cableado a larga distancia (la longitud máxima de cable podrían ser 100 m)

Ramon me sorprende tu pregunta. La leyes de la electricidad son las mismas para sensores normales o industriales. Si usas el mismo cable para cualquier de los dos sensores, éste tendra la misma resistencia por unidad de longitud. De modo que la diferencia estará si haces circular mas corrientes en un sensor normal que en uno industrial que use 4-20mA como habitualmente lo hacen. El standard de 4-20mA es el mas difundidio y el recomendado. Si lo usas con cualquier sensor la diferencia siempre estará en la clase del sensor y en los parámetros que lo definen: precisión, resolución, repetibilidad, etc.

hola que tal a todos debo mencionar que soy nuevo en la plataforma de arduino y estoy realizando una pequeño proyecto para la empresa en la que estoy laborando.
pero tengo unos pequeños problemas al hacer la integracion de un sensor fotoelectrico de 12-24v dc a mi arduino para que este me sirva como contador.
Lo conecte a una fuente de voltaje externa y la salida la meti directamente a una entrada del arduino, pero lo unico que hace es contar sin que haga la funcion correcta el sensor ;aqui les dejo mi programa y si alguien puede ayudarme se los agradeceria mucho por que no tengo idea de como hacerlo y no me gustaria quemar mi arduino .
/*
contador de ciclos para una comadis
/*

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
const int boton = 8;
int valor=0;
int contador=0;
int estadoanteriorboton=0;
void setup() {
pinMode(30,OUTPUT); // Configura el pin 4 como una salida, LED
pinMode(28,OUTPUT); // Configura el pin 3 como una salida, LED
pinMode(26,OUTPUT); // Configura el pin 2 como una salida, LED
pinMode(24,OUTPUT); //Configura el pin 2 como una salida, LED
digitalWrite(30, LOW); // Asegurar led apagado al iniciar
digitalWrite(28, LOW); // Asegurar led apagado al iniciar
digitalWrite(26, LOW); // Asegurar led apagado al iniciar
digitalWrite(24, LOW); // Asegurar led apagado al iniciar
pinMode(boton,INPUT);
digitalWrite(boton,HIGH);
lcd.begin(16, 2);
lcd.setCursor(1, 0);
lcd.print(“ALFAPARF GROUP”);
delay(1500);
lcd.clear();
}
void loop() {
lcd.setCursor(0, 0);
lcd.print(“Ciclos #”);
valor=digitalRead(boton);
if(valor!=estadoanteriorboton){
if(valor==1){
contador++;
lcd.setCursor(8,0);
lcd.print(contador);
}
}
estadoanteriorboton=valor;
if (contador==1){
digitalWrite(30, HIGH);}
if (contador==10){
digitalWrite(30, LOW);}
if (contador==11){
lcd.setCursor(3,1);
lcd.print(“PROG.MANTO.”);
digitalWrite(28, HIGH);}
if (contador==20){
digitalWrite(28, LOW);}

if (contador==21){
lcd.setCursor(1,1);
lcd.print(“REALIZAR MANTO.”);
digitalWrite(26, HIGH);}
if (contador==30){
lcd.setCursor(1,1);
lcd.print(" URGE MANTO.!! ");
digitalWrite(24, HIGH);}
}

Consejos: comienza poniendo un multímetro y verifica que el sensor fotoeléctrico se comporta como debe. Desconecta la conexión al sensor y usa un simple pulsador a ver como responde tu programa.

Algo mas. Como esta hecha la conexión de tu sensor? Porque veo esto en el setup y esta mal hecho

 pinMode(boton,INPUT);
 digitalWrite(boton,HIGH);

esto si no hay resistencia PULL UP esta mal deberia ser

 pinMode(boton,INPUT_PULLUP);
 digitalWrite(boton,HIGH);            // aca si activa la resistencia pullup

Disculpa Surbyte no entiendo estar parte que comentas

surbyte: Algo mas. Como esta hecha la conexión de tu sensor? Porque veo esto en el setup y esta mal hecho

 pinMode(boton,INPUT);
 digitalWrite(boton,HIGH);

esto si no hay resistencia PULL UP esta mal deberia ser

 pinMode(boton,INPUT_PULLUP);
 digitalWrite(boton,HIGH);            // aca si activa la resistencia pullup

Ambos codigos son validos parq mi, mira lo q dice la pag oficial

A pin may also be configured as an INPUT with pinMode(), and subsequently made HIGH with digitalWrite(). This will enable the internal 20K pullup resistors, which will pull up the input pin to a HIGH reading unless it is pulled LOW by external circuitry. This is how INPUT_PULLUP works and is described below in more detail.

Hacer lo q recomiendas es redundante creo yo si de activar la res de pull-up se trata en este ej no lo usa pull-up

parece que tienes razón. Yo he visto muchos comentarios de este tipo y por eso hice la sugerencia. Ahora leyendo la referencia que indicas, leo que es redundante. Como yo no uso jamás INPUT_PULLUP me apoyo en lo que he leído pero veo que estaba equivocado.

Ya que el problema no está por ahi, te vuelvo a pedir que pruebes con un pulsador para ver como se comporta tu sketch y si lo hace bien, mira la salida del sensor y su comportamiento porque debe ser el responsable de la sucesión de disparos azarosos.

Hola!

A lo mejor llego un poco tarde pero igual quiero dar una solución por si alguien más tiene un problema similar y llega a este post al igual que yo hace unos días

Haciendo un proyecto de automatización para una materia en mi universidad usamos unos sensores inductivos de tipo industrial que nos facilitó el profesor que imparte la materia y necesitábamos que la señal del sensor (en realidad dos sensores pero ambos conectados a la misma entrada) llegara a arduino.

La solución fue una regla que siempre nos enseñó a aplicar el profesor que es la de nunca tomar una señal directa de un sensor, sino accionar un relé con el sensor y aprovechar la señal dada por el relé.

Es decir, con el sensor hice que se accionara un relé y el relé simplemente era una conexión con pull down con la misma salida 5V de arduino

Y no recibiste una advertencia antes de enviar el post? No decia que el post tiene 120 dias sin movimientos. Desde 27/feb/2016 que esta detenido y ya lo estaba desde 2015. No se reabren hilos viejos, por eso la advertencia.

Dicho esto te comento Al3jo. Poner un rele en un sensor que ya esta funcionando como tal ? No le veo la gracia. Solo veo rebote, algo que antes no tenias con el sensor que indicas. El hilo trata de colocar sensores a 100 mts. Que tiene que ver tu respuesta con esto?

La duda que nos surge es si hay el mismo problema en el cableado por perdida de señal en sensores industriales que en los sensores normales al utilizar cableado a larga distancia (la longitud máxima de cable podrían ser 100 m)

La solución es usar cable con malla (para evitar interferencias), puesta a tierra con la malla o bien transmitir un lazo de corriente, por ejemplo X mA para HIGH y 0 mA para LOW. Simple, puedes enviar corriente la cantidad de mts que se te de la gana. Eso se usa en la industria para sensores analógicos 4-20mA y muchas veces para detectar digitales y enviarlos tmb.

HILO CERRADO