REVERSE VENDING

Cuando compramos una bebida en una máquina Vending, el lector MEI-PAY incrementa el contador de ‘depósitos’ de nuestra tarjeta de usuario.

Una vez consumida la bebida y depositado el envase en la máquina recuperadora Tritech, se descuenta un ‘depósito’ de nuestra tarjeta y se nos abona la caución cobrada.

Reverse Vending Tritech y lector MEI-PAY

Tritech y MEI-PAY

PROBLEMA

El interface de conexión entre la máquina Tritech y el lector MEI-PAY, se realiza por medio de una salida open collector que baja a 0V durante 250 ms una vez ha recuperado un envase. Este sistema, tal y como indica el fabricante, funciona correctamente con los sistema de COGES.

El problema lo encontramos al montar un lector MEI-PAY que no reconoce correctamente estos niveles de señal. Para validar un envase, espera un pulso mayor de 95ms pero inferior a 120ms. Si es mayor, como en el caso de la máquina Tritech, no lo reconoce.

NUESTRA SOLUCIÓN

Para realizar el interface encargado de adaptar los tiempos, podemos optar por el uso de componenetes discretos o en nuestro caso, por el uso de un pequeño microcontrolador Arduino Nano de bajo coste.

Utilizando una placa Aruino Nano, unas resistencias para adaptar los niveles de salida de la máquina Tritech y un regulador de tensión, (7805), ya podremos realizar nuestro interface.

Arduino Nano

Arduino Nano

El fabricante nos facilita el siguiente esquema de conexión;

Esquema conexionado MEI-PAY

Esquema conexionado MEI-PAY

En él, podemos observar que la alimentación de nuestro interface, la obtendremos entre los pines 16 y 8 y la señal de control en el pin número 7.

En la placa MEI-PAY, podemos elegir la tensión de alimentación, para nuestro desarrollo, seleccionaremos 12V que, por medio del 7805, nos permitirán alimentar a la placa de Arduino Nano.

ESQUEMA DE CONEXIÓN

Esquema de ProtoBoard

Esquema de ProtoBoard

PROGRAMA ARDUINO NANO

//**************************************************************************
//                                   Vending School
//**************************************************************************
// Adaptador de tiempos entre una maquina Tritech y un lector MEI-PAY
// La maquina Tritech, tiene una salida Open Collector que se coloca a nivel
// bajo, durante 250ms, cuando recupera un envase
// El lector MEI-PAY, solo valida los envases con rangos de tiempos entre
// 95ms y 120ms.
//
// En el programa, validamos la seal de la maquina Tritech, si el pulso es
// de 240 ms.
//
// JOAN GISPERT
// 5 de MAYO 2015
//**************************************************************************

int entrada=240;
int temps=100;
int val=0;
int tritech = 8;
int mei = 2;

void setup() 
{
  pinMode (tritech,INPUT);
  pinMode (mei,OUTPUT);
  digitalWrite (mei,HIGH);
}

void loop() 
{
  val = digitalRead (tritech);
  if (val == 0)
    {
      delay (entrada);
      if (digitalRead (tritech) == 0)
       {
          digitalWrite (mei,LOW);
          delay (temps);
          digitalWrite (mei,HIGH);
        }
      }
}

 

DISEÑO FINAL

Circuito final Arduino NANO en máquina Tritech

Circuito final; Arduino NANO en máquina Tritech