martes, 23 de febrero de 2010

Foco movil para invernadero 16f628a

Bueno este es un cacharro que he hecho para poder ampliar la superficie luminosa de un invernadero. El sistema es bastante simple, es un pic 16F628A, un ULN2003, un motor PAP unifilar de 5 hilos, todo conectado a un tornillo sin fin de (1 metro aproximadamente) de métrico 6.

Su funcionamiento es simple, el carrito va conectado con la varilla, de forma que cuando esta gira, hace avanzar (o retroceder) según el sentido de giro, al llegar al final un pulsador hace de final de carrera y le dice al 16F628A que retroceda hasta llegar al otro pulsador.
El tiempo aproximado que tarda en hacer media vuelta es 45min y en hacer la ida y la vuelta 1H 30min.

Os dejo una fotos y próximamente incluiré el código que es muy sencillo.



NOTA: este es un añadido que le he tenido que hacer para que no se doblara y no sacara al coche del carril.



Esquema del circuito:

Este es el programa en PBP:


cmcon = 7  
pul1 var porta.0 ' nombre para el puerto A0
pul2 var porta.1 ' nombre para el puerto A1
x var byte       ' Variable tipo byte
trisb = 0        ' ponemos a 0 todo el puerto B 

Antihorario:
  for x = 1 to 96  ' Repite 96 veces la parte comprendida entre
    portb = 01       ' FOR y NEXT
    pause 4          ' pausa de 4 milisegundos
    portb = 10 
    pause 4
    portb = %0100
    pause 4
    portb = %1000
    pause 4
    if pul1 = 0 then horario  'Si el pulsador pul1 es activado va a horario
  next
  portb = 0000 ' Pone a 0 los 4 primeros pines del puertoB
  pause 5000   ' Pausa de 5 seg
  goto antihorario ' Vuelve a la etiqueta antihorario

Horario:
  for x = 1 to 96
    portb = %1000
    pause 4
    portb = %0100
    pause 4
    portb = 10
    pause  4
    portb = 01
    pause 4
    if pul2 = 0 then antihorario
  next
  portb = 00
  pause 5000
  goto horario
END

No hay comentarios :

Publicar un comentario