estamos armando un seguidor solar bastante sencillo..... utiliza 2 fotoresistencias, el voltaje resultante de estas... es comparado....
utilizamos un motor paso a paso bilolar para mover una fotocelda.... y colocarla en la mejor posicion al sol ( girando 360 grados....).....
utilizamos un controlador del motor que hicimos con puro TTL.... (el tipico controlador para stepper bipolar que encuentras en internet por todos lados) por lo que solo se necesita un tren de pulsos para que gire el motor.... y darle alto o bajo en una entrada de un XOR para cambiar la direccion...
todo va bien... hasta que intentamos igualar A y B.... el motor empieza a girar sin control... hacia ambos sentidos....
¿como puedo corregir esto?
este es el codigo...
utilizamos microcode studio... y PBP
'****************************************************************
'* Name : CELDA.BAS *
'* Author : Lars Regalado *
'* Notice : Copyright (c) 2007 BlackSheep *
'* : All Rights Reserved *
'* Date : 14/11/2007 *
'* Version : 1.0 *
'* Notes : *
'* : *
'****************************************************************
DEFINE ADC_BITS 4
DEFINE ADC_CLOCK 3
DEFINE ADC_SAMPLEUS 10
A var byte
B var BYTE
TRISA = %11111111
COMP:
ADCIN 0, A
adcin 1, B
IF a<b THEN
HIGH PORTB.0 'esto cambia el sentido'
HIGH PORTB.1 'el tren de pulsos'
pause 50 'el tren de pulsos'
low PORTB.1 'el tren de pulsos'
pause 50 'el tren de pulsos'
endif
if A>B then
LOW PORTB.0 'esto cambia el sentido'
HIGH PORTB.1 'el tren de pulsos'
pause 50 'el tren de pulsos'
low PORTB.1 'el tren de pulsos'
pause 50 'el tren de pulsos'
ENDIF
if -200<=(a-b)&(a-b)<=200 then 'este es el problema'
HIGH PORTB.0
HIGH PORTB.1
pause 50
endif
GOTO comp
lo que queremos hacer es cuando las LDR... den un voltaje parecido..... la celda solar se detenga en esa posicion....
gracias de antemano