Autor Tema: Ayuda Programa Manejo Espejos Rebatibles con 1 Boton  (Leído 1842 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado facundo_10

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 179
    • DAVINCIPIC
Ayuda Programa Manejo Espejos Rebatibles con 1 Boton
« en: 22 de Mayo de 2011, 12:53:22 »
Hola a todos, me doy una vuelta nuevamente por el foro. Ando necesitando un poco de asistencia para poder realizar el siguiente programa. Tengo un auto que posee 2 espejos que se rebaten electricamente, es decir se cierran o se abren.

La apertura y/o cierre de los espejos se controla mediante 2 cables, se envian 12 volt en un sentido para que se abran y 12 volt en el sentido opuesto para que se cierren.

El motor del espejo tiene un sistema de corte de corriente por exceso, tipo los motores de los levantavidrios con one touch, el motor consume unos 500mah para abrir o cerrarse, cuando llega al tope este consumo se dispara a unos 2A y luego no consume mas, es decir puede quedar conectado pero no hay carga.

Los espejos se controlan mediante un boton, 1 solo boton que se toca y se cierran y se vuelve a tocar y se abren. Mi idea es usar un 16F628 para controlar la apertura y cierre con ese boton.

El tema es el siguiente yo necesito saber la posicion de los espejos es decir si estan cerrados para que cuando toco el boton se abran y viceversa.

Código: [Seleccionar]
Dim aux As Byte
Dim var1 As Bit
Symbol boton = PORTB.4      
Symbol led = PORTB.1
Symbol led2 = PORTB.2
TRISB=%00010000
PORTB=0


main:
var1 = ERead 0
If PORTB.4 = 0  Then DelayMS 110        'PROTECCION ANTI REBOTE
If PORTB.4 = 0 And var1 = 0 Then
EWrite 0, [1]             'ACTUALIZO ESTADO DE LOS ESPEJOS COMO AUX = 1 ESPEJOS ABIERTOS
High led                  'ABRO ESPEJOS
Low led2
DelayMS 4000            'TIEMPO APERTURA ESPEJOS
Low led                 'APAGO CORRIENTES
Low led2                

EndIf

var1 = ERead 0
If PORTB.4 = 0  Then DelayMS 110
If PORTB.4 = 0 And var1 = ERead 0 Then        'PROTECCION ANTI REBOTE
           'actualizo valor guardado en eeprom
           'PREGUNTO SI LOS ESPEJOS ESTAN ABIERTOS
EWrite 0, [0]
Low led                      'LOS CIERRO
High led2
DelayMS 4000                 'TIEMPO CIERRE ESPEJOS
Low led
Low led2
EndIf

'UNICA EJECUCION EN TODO EL PROGRAMA  LOS ESPEJOS SE CONECTAN ABIERTOS Y EL PROGRAMA LA PRIMERA VEZ QUE INICIA LOS TOMA ABIERTOS
If aux != 0 And aux != 1 Then
aux = 0
EWrite 0, [aux]
EndIf



GoTo main
End


El programa graba en eeprom el valor aux, que es la variable que indica que los espejos estan abiertos o estan cerrados, esta compilado en PROTON pero no esta funcionando bien, para la prueba utilizo 2 leds, alguien tiene alguna idea mejor para hacer esto ?

La tension se toma del motor del levantavidrios del coche, el tema es que esta se corta despues de 5 minutos cerrado el coche para una proteccion. Por lo tanto el pic se apaga. Lo cual me parece una buena proteccion para el auto y el circuito electrico.

PD: les dejo un videito para que entienda de lo que estoy hablando
« Última modificación: 22 de Mayo de 2011, 12:55:24 por facundo_10 »
PICMANIACO!

Desconectado facundo_10

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 179
    • DAVINCIPIC
Re: Ayuda Programa Manejo Espejos Rebatibles con 1 Boton
« Respuesta #1 en: 22 de Mayo de 2011, 13:38:11 »
Para la parte electrica que creen que seria lo mejor ? Yo pense un puente H con reles, con transistores seria algo mas complicado y llevaria mas componentes, los reles me parecen mas seguro ademas.

Que piensan?
PICMANIACO!

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3510
Re: Ayuda Programa Manejo Espejos Rebatibles con 1 Boton
« Respuesta #2 en: 24 de Mayo de 2011, 20:17:27 »
Con reles.
Saludos desde Granada, España.


 

anything