Miércoles 26 de Noviembre de 2014
En un mercado competitivo es necesario ofrecer productos homogéneos, de calidad y sin
a los
clientes. Los sistemas de cinta transportadora con detección de metales ofrecen soluciones de inspección flexibles que se adaptan a una amplia gama de trabajo, ya sean elevadas o bajas.
para todo tipo de cargas de
Las bobinas de detección de metales rectangulares o cuadradas pueden integrarse con sistemas de cinta transportadora estándares o a medida con el fin de automatizar por completo los procesos de inspección de productos.
Los sistemas se pueden diseñar y componer de modo que se adapten a los requisitos específicos de los procesos; estos pueden variar desde sencillos sistemas de parada en caso de detección hasta sistemas completamente automáticos de detección y rechazo, que usan una amplia gama de dispositivos de eliminación.
Los detectores de metales con cinta transportadora ofrecen soluciones flexibles que pueden funcionar en casi todos los entornos de trabajo. Así que, independientemente de si el producto es húmedo, seco, refrigerado, congelado, suelto o envasado, los flexibles sistemas de cinta transportadora con detección de metales podrán ofrecer una respuesta a los retos de inspección alimentaria.
Aunque la instalación de un sistema de detección de metales puede reducir el riesgo, las posibilidades de que un contaminante metálico llegue al consumidor final siguen siendo demasiadas en algunos casos. Las investigaciones apuntan a fallos de procedimientos y sistemas más que a fallos relativos al detector de metales como la causa principal; sin embargo, la mejora de la diligencia debida aumenta el nivel de control y gestión del sistema de inspección, lo que garantiza que el circuito proporcione una detección de metales de alto rendimiento y un mayor nivel de funcionalidad a prueba de fallos.
Los sistemas de detección de metales con cinta transportadora se pueden configurar con una gama de sistemas de rechazo dinámicos totalmente automatizados. En el caso de los productos envasados, los sistemas de rechazo incluyen un sistema de sincronización por fotodetector para garantizar que siempre se rechazará el paquete adecuado. Estos sistemas también se pueden complementar con una amplia variedad de dispositivos de advertencia, contenedores de recogida de productos de rechazo e innovadores sistemas a prueba de fallos opcionales para respaldar la conformidad.
El bluetooth es un estándar de comunicación inalámbrica que permite la transmisión de datos a través de radiofrecuencia en la banda de 2,4 GHz. Existen muchos módulos Bluetooth para usarlos en nuestros proyectos de electrónica, pero los más utilizados son los módulos de JY-MCU, ya que son muy económicos y fáciles de encontrar en el mercado. Son módulos pequeños y con un consumo muy bajo que nos permitirán agregar funcionalidades Bluetooth a nuestro Arduino. Estos módulos contienen el chip con una placa de desarrollo con los pines necesarios para la comunicación serie.
Sin lugar a dudas la comunicación vía bluetooth ha logrado posicionarse como una de las favoritas para los usuarios de dispositivos móviles, sustituyendo a la anterior comunicación Infrarroja (IR), y es que permite enlazar a los dispositivos de una forma inalámbrica y sin necesidad de estar relativamente cerca el uno del otro. Por esta razón es que distintas compañías se han empeñado en facilitar cada vez más el acercar este tipo de tecnología para incluirla en nuestra vida diaria, tanto que ahora es posible encontrar módulos bluetooth de bajo coste mismos que son totalmente configurables y de fácil implantación en nuestros proyectos de electrónica.
Arduino es una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de desarrollo, diseñada para facilitar el uso de la electrónica en proyectos multidisciplinares. El hardware consiste en una placa con un microcontrolador Atmel AVR y puertos de entrada/salida. Los microcontroladores más usados son el Atmega168, Atmega328, Atmega1280, ATmega8 por su sencillez y bajo coste que permiten el desarrollo de múltiples diseños. Por otro lado el software consiste en un entorno de desarrollo que implementa el lenguaje de programación Processing/Wiring y el cargador de arranque que es ejecutado en la placa.
#include unsigned long frec = 0UL; int LedAl = 2; int LedFe = 3; int FotoTrans = 4; int Motor = 6; int cntAl = 0; int error1 = 8; int error2 = 9; int cntFe = 0; int habilitar = 0; int velocidad = 0; int flag = 0; //**************************************************************// void setup() { Serial.begin(9600); pinMode(FotoTrans, INPUT_PULLUP); pinMode(LedAl, OUTPUT); pinMode(error1, OUTPUT);
pinMode(error2, OUTPUT); pinMode(LedFe, OUTPUT); pinMode(Motor, OUTPUT); FreqCounter::f_comp = 81; FreqCounter::start(100); while (FreqCounter::f_ready == 0) frec = FreqCounter::f_freq; Serial.print("Frecuencia: "); Serial.println(frec); analogWrite(Motor, velocidad); } //**************************************************************// void loop() { if(velocidad != 0) { digitalWrite(error1, LOW); digitalWrite(error2, LOW); while(digitalRead(FotoTrans)) { FreqCounter::f_comp=81; FreqCounter::start(100); while (FreqCounter::f_ready == 0) frec=FreqCounter::f_freq; digitalWrite(LedFe, LOW); digitalWrite(LedAl, LOW); digitalWrite(error1, LOW); digitalWrite(error2, LOW); analogWrite(Motor, 55); flag++; if(velocidad == 55 || velocidad == 90) { if(flag > 24) { analogWrite(Motor, 0); velocidad = 0; flag = 0; digitalWrite(LedFe, LOW); digitalWrite(LedAl, LOW); digitalWrite(error1, HIGH); digitalWrite(error2, HIGH); frec = 0; break; } } else if(velocidad == 110 || velocidad == 130 || velocidad == 160) { if(flag > 15) {
analogWrite(Motor, 0); velocidad = 0; flag = 0; digitalWrite(LedFe, LOW); digitalWrite(LedAl, LOW); digitalWrite(error1, HIGH); digitalWrite(error2, HIGH); frec = 0; break; } } else { if(flag > 10) { analogWrite(Motor, 0); velocidad = 0; flag = 0; digitalWrite(LedFe, LOW); digitalWrite(LedAl, LOW); digitalWrite(error1, HIGH); digitalWrite(error2, HIGH); frec = 0; break; } } flag++; habilitar = 1; } } if(habilitar) { analogWrite(Motor, velocidad); Serial.print("\n"); Serial.print("Frecuencia: "); Serial.println(frec); flag = 0; if(frec == 0) { digitalWrite(LedFe, LOW); digitalWrite(LedAl, LOW); Serial.print("\n"); Serial.println("\tERROR!!!"); } else if(frec >= 119200 || frec <= 116500) { digitalWrite(LedFe, HIGH); digitalWrite(LedAl, LOW); digitalWrite(error1, LOW); digitalWrite(error2, LOW); cntFe++; Serial.print("\n"); Serial.print("Hierro: ");
Serial.println(cntFe); } else if(frec < 119200) { digitalWrite(LedFe, LOW); digitalWrite(LedAl, HIGH); digitalWrite(error1, LOW); digitalWrite(error2, LOW); cntAl++; Serial.print("\n"); Serial.print("Aluminio: "); Serial.println(cntAl); } habilitar = 0;
} if(Serial.available() > 0) { char comando = Serial.read(); if(comando == '0') { analogWrite(Motor, 0); velocidad = 0; digitalWrite(LedFe, LOW); digitalWrite(LedAl, LOW); } else if(comando == '1') { analogWrite(Motor, 55); velocidad = 55; } else if(comando == '2') { analogWrite(Motor, 90); velocidad = 90; } else if(comando == '3') { analogWrite(Motor, 110); velocidad = 110; } else if(comando == '4') { analogWrite(Motor, 130); velocidad = 130; } else if(comando == '5') { analogWrite(Motor, 160); velocidad = 160; } else if(comando == '6') { analogWrite(Motor, 180); velocidad = 180; }
else if(comando == '7') { analogWrite(Motor, 200); velocidad = 200; } else if(comando == '8') { analogWrite(Motor, 220); velocidad = 230; } else if(comando == '9') { analogWrite(Motor, 255); velocidad = 255; } else if(comando == 'r' || comando == 'R') { cntFe = 0; cntAl = 0; Serial.print("\n"); Serial.print("\tREINICIAR"); Serial.print("\n"); Serial.print("\n"); Serial.print("Aluminio: "); Serial.print(cntAl); Serial.print("\tHierro: "); Serial.println(cntFe); } else if(comando == 'C' || comando == 'c') { Serial.print("\n"); Serial.print("\tCUENTA"); Serial.print("\n"); Serial.print("\n"); Serial.print("Aluminio: "); Serial.print(cntAl); Serial.print("\tHierro: "); Serial.println(cntFe); } } } //************************************************************//