# Maquina dispensadora de bebidas simple con PLC



## Shirosekai (Abr 11, 2011)

Hola a toda la comunidad aqui me tienen de nuevo por estos lugares a pedir ayuda con este proyecto primero que todo dire el PLC que estoy usando el cual es un Panasonic FPX C14R y bien lo que el programa debe hacer es lo siguiente

Paso 1) Cuando se modifica el valor del potenciometro V0 enciende tres led, uno de ellos cuando el valor de este es de 100, otro cuando es de 200 y otro más para cuando el valor sea 400 si el valor es este ultimo tanto el primer led como el segundo debe de estar encendido, si el valor es de 200 el de 100 y 200 deben de estar encendido y no el de 400, esto simularia el valor de la moneda que se introduce el diagrama en escalera para esto lo hice de la siguiente manera





usando el Rele interno 9010 quien siempre se encuentra On activo el registro de datos de la direccion 90040 donde se se encuentra el valor actual del pot V0 y la almaceno en el registro 2, luego tomo este registro y lo comparo con los distintos valores 100, 200, 400 y bien dependiendo de su valor se activan las salida Y1 Y2 Y3, esto funciona perfectamente

Pasa 2) Ahora tengo que crear usando sub rutinas el control que hara que una u otra bebida sea tomada dependiendo de tres botones distintos los cuales seran las entradas externar X1, X2, X3 ahora para explicar lo que me tiene trabado tomemos como ejemplo que la entrada externa X1 pasa a ON cuando esto ocurre deberia de dejar caer la bebida 1 (Y1) asi que para hacer esto decidi que cuando X1 y Y1 se encuentran en ON se empieze a correr la sub rutina 1 asi fue como lo escribi en el programa 




Ahora viene lo que deberia entrar en la subrutina, veran esta pensando en como hacer el sistema de apertura con tres motores paso a paso uno para cada bebida, pero no se como controlar el motor con el PLC, lo que necesito es que el motor se mantenga en una posicion X donde este no dejara caer la "lata" y que cuando ocurra que X1 y Y1 esten ON se mueva 90° hacia abajo caiga la "lata" y este vuelva 90° (posicion de inicio) ahora para que si por X razon se presiona alguno de los otros botones no se muevan los otros dos moteres colocare un sensor con un diodo infrarojo y un fototransistor donde cae la "lata" y mientras este cortada la comunicacion entre estos las subrutinas 2 y 3 no se activen, en todo caso el problema esta en como hacer con el PLC que el motor se mueva 90° y se devuelva 90° todo esto hasta ahora lo estoy haciendo sin ayuda del profesor ya que el curso es "autodidacta" no explico nada de PLC y nos dio un proyecto para despues decir "ve a ver como lo hace vale 70% de la nota" asi que hasta ahora tengo este programa pero hay demasiadas cosas que no se sobre el PLC, si alguien me puede ayudar con esto le agradeceria mucho
A) como hago la programacion para que el motor haga lo que quiero solo con el PLC y sin usar tarjetas o algo asi que me dijeron en otro lugar?
B) los motores son de X voltaje y X corriente las salidas externas deben de activarlos pero como puedo controlar y asegurarme que en ellas exista el voltaje suficiente y corriente suficiente para que trabajen?

Serian solo esas dos cosas, espero que alguien me pueda ayudar, saludos


----------



## CESAR AUGUSRO PEREZ SILVA (Abr 11, 2011)

bueno vamos a ver 

no he programado esa marca de plc pero la logica viene a ser igual 

hay motores paso a paso bipolares y unipolares para lo cual te dejo una pagina 

http://www.todorobot.com.ar/informacion/tutorial stepper/stepper-tutorial.htm

ahora yo te recomendaria personalmente el unipolar, he trabajado con ellos y no he tenido ningun problema hasta ahora,bien ahora si es que trabajas con el unipolar tienes que definir la secuencia que se vas a utilizar estas pueden ser

1ºsecuencia normal

2ºsecuencia del tipo wave drive

3ºsecuencia del tipo medio paso 

tu defines cual vas a utilizar en funcion al torque que necesitas para tu aplicacion.


ahora ya sabes que los motores paso a paso necesitan una secuencia y que esta secuencia la vas a tener que generar con salidas del plc, 

debes generas la secuencia de forma descendente asi obtienes un giro del motor ( puedes repetir la secuencia hasta que obtengas la posicion deseada de 90º ), y si inviertes la secuencia a ascendente vas ha obtener una inversión en el giro para asi volverla a su estado inicial.

esto se hace en el programa y como sabes para cada motor tines que tener 4 salidas para asi puedas implementar las secuencias 

ahora si es que tienes que comandar 3 motores paso a paso , asumo que independientemente, tendras que tener 12 salidas, ojo que estas salidas recomendablemente tienen que ser salidas a rele osea (cuando se actuva una salida en el plc se cierra un contacto) , no es recomendable que utilices salidas a transistor (cuando se activa una salida en el plc  se genera un voltaje de xx voltios segun modelo de plc)

yo te recomendaria que para que no utilices tantas salidas utilices motoreductores de 24 vdc , y que coloques sensores al final de cada posicion en cada motor 

asi solo tendrias que activar dos salida por cada motor ,asi al activar al motor este se activa hasta que llegue al limite donde colocaste el sensor ,este manda la  señal al plc y en el programa le pones la condicion que si el sensor se activa apague el motor , luego de ello le programas un tiempo para que este ahi ( un tiempo minimo ) y luego de transcurir ese tiempo le programas una inversion de giro y cuando se active el sensor que esta en el otro extremo el motor se detenga 


espero que te sirva 


saludos


cesar perez silva 
lima - peru


----------



## parcas (Abr 12, 2011)

imagino que te pidieron solo que uses el plc para mover los motores, por que en realidad lo mejor es utilizar un driver aparte ya que las salidas a rele de los plc son lentas para exitar rapidamente un motor paso a paso. Dependiendo de cuantos pasos sea el PAP sacas la cuenta y con un contador en tu programa le decis cuantos grados queres que se mueva.... Saludoss


----------



## Shirosekai (Abr 13, 2011)

Bueno ahora si ya encontre los motores ahora la pregunta que les tengo seria que si puedo dejar sin alimentar X bobinas y solo alimentar las que ocupo para ahorrar salidas?? al parecer el PLC entrega 24V lo cual es perfecto ya que los motores son del mismo voltaje XD


----------

