TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: KALLITOS en 06 de Marzo de 2006, 15:42:00
-
PUES DISCULPEN MUCHACHOS MI FALTA DE ENTENDIMIENTO HE LEÍDO LO REFERENTE A LO DE INTERRUPCIONES Y NO LIGO NADA

ESTOY TRATANDO DE HACER UN CONTÓMETRO CON DISPLAYS 7 SEG (POR LO MENOS QUIENES LO UTILIZAN LO LLAMAN ASI) ES UN EQUIPO QUE CUENTA REVOLUCIONES EN UN DETERMINADO TIEMPO PERO ES MECÁNICO (CONTADOR A ENGRANAJES)Y TEMPORIZADO CON CONDENSADOR PERO QUIERO MEJORARLO Y HACERLO DIGITAL
MI IDEA ES HACER UN RELOJ CON MINUTOS, SEGUNDOS Y MILISEGUNDOS INCLUIDOS (SIN HORAS)
YA HE HECHO LA PARTE DEL DISPLAY PERO NO ENCAJO CON LA INTERRUPCION PUES QUIERO QUE CUANDO OCURRA UNA VUELTA OCURRA UNA INTERRUPCIÓN PARA ATENDER EL CONTEO Y LUEGO SEGUIR CON EL RELOJ
LO QUE QUIERO HACER ES ESTO:
. UN PULSADOR INICIA EL PROCESO
. EL PIC ESPERA A QUE OCURRA EL PRIMER PULSO Y ALLI EMPIEZA LA CUENTA
. LLEGA AL NUMERO DE REVOLUCIONES PREDETERMINADA Y DETIENE EL RELOJ
. FINALMENTE MUESTRA EL CONTEO CONFORME VALLA AVANZANDO HASTA LLEGAR AL FINAL
PERO OTRA CUESTION QUE TENGO ES CUANTO DEMORA EL PBP EN REALIZAR UNA INSTRUCCIÓN PUES HE LEIDO QUE EN ASM UN PIC A 4 MHZ REALIZA UNA INSTRUCCIÓN EN UN MICROSEGUNDO Y LAS DE SALTO EN DOS....ESTO CON LA FINALIDAD DE SACAR BIEN LAS CUENTAS Y PODER HACER EL RELOJ LO MAS PRECISO POSIBLE
DE ANTEANO MUCHAS GRACIAS POR LA AYUDA QUE PUEDAN BRINBAR
-
Hola kallitos eso k kkieres hacer parece un encoder, no se si me equivovo? Bueno por ahi lei en un manul de un DSPIC que estos ya cunetan con una interfase para encoders industriales, tal vez si das una mirada por ahi en los manuales de los dspics te puedas orientar, ademas son rapidissimos y tambien existe la interfaz en Basic y C aparte del ensamblador.
Si aun decides usar un pic de los 16 o 18 podrias usar un sensor optico y hacer esos tipos de arreglos que se usan para los PID y esas cosas similares.
Suerte
-
Bueno lo que yo te sugiero es usar un REloj en Tiempo real, puede ser el DS1307.
que se programa facilmente por pbp.
En este subforo vas a encontrar bastante info de esto.
Y Para la cuenta por vueltas, podrias, hacerlo con un contador externo. O Bien usar una inteext.
bye
PD:
KALLITOS, una sugerencia.... NO ESCRIBAS EN MAYUSCULAS, pues es lo mismo que gritar en un foro
-
Gueno disculpen muchachos por la falta de experiencia en el foro
les cuento que estoy masticando unas ideas que por el momento no las comentaré pero cuando me funcione pues les doy el resultado de las pruebas de funcionamiento del equipo este
solo quiciera saber cuanto mas o menos tarda una instruccion en PBP para realizar su trabajo por ejemplo en asm cada instrucción a una frecuencia de 4 megas demora 1 microseg......en PBP cuanto demora ?
muchas
gracias
-
hola muchachos pues como les dije estoy realizando pruebas y bueno ya me he quedado por falta de experiencia en el manejo del pbp
pues les cuento mis logros hasta el momento:
_ logre el barrido de los displays que inicialmente eran seis pero consulté y con cuatro digitos era suficiente.
_ logre el conteo de los pulsos sin necesidad de utilizar interrupciones (hasta 10 pulsos por segundo que son suficiente)
_ sincronicé al "ojimetro" (jeje al ojo nomas como no sé exactamente cuanto tardan las instrucciones del pbp, pues nadie creo que sabe ya que nadie me respondio) mas o menos con los segundos (las decimas de segundo no las logro ver)
_ hacer que cuando se llegue a un numero predeterminado de pulsos se detenga el cronometro y muestre por un momento la cantidad de pulsos, el tiempo transcurrido y el resultado de una formula que no me da el valor que espero
pues ahora tengo sólo dos dudas
_ como hago para grabar datos en la eeprom del pic, pues quiero que la cantidad de pulsos predeterminados se mantenga aunque se apague el pic...y
_ como puedo hacer funcionar una formula que tiene decimales
TIEMPO=((A)+(B*10)+(C*100)+(D*1000))
REVOL=((A1)+(B1*10)+(C1*100)+(D1*1000))
" RESTO=(REVOL*10)/(TIEMPO) " con esta linea estaba probando el resultado de la división
RESULT =((2580*((REVOL*1000)/(TIEMPO*100))+325)/10)
A2=REVOL DIG 0
B2=REVOL DIG 1
C2=REVOL DIG 2
D2=REVOL DIG 3
originalmente la formula es esta V = 0.258N+0.0325
donde N = revoluciones por segundo = PULSOS/CRONOMETRO
pues el problema es que pbp no maneja decimales y con "//" no he podido lograr nada bueno ojala me puedan ayudar ...
tengo imagenes y un video pero no se como subirlos creo que con eso me podrian ayudar mejor..si quieren se las envio solo me agregan bebo1983_7@hotmail.com
bueno voy a seguir intentando y probando con los consejos que me puedan enviar
espero sus respuestas saludos
-
bueno como les dije estoy realizando pruebas y escribi mal (en las pruebas que realizo estuve viendo los datos que intervienen en la formula y no me coinciden por ejemplo cuando puse para que me muestre los pulsos que ingresaron que son 40 y en ves de esto me mostraba cualquier otro valor menos los 40 que habian; lo mismo pasa con el tiempo; creo que eso tambien afecta el resultado de la formula)
y en la formula que escribi anteriormente no es A2=REVOL DIG 0 sino que para mostrar el resultado es A2=RESULT DIG 0
bueno me quito a seguir probando saludos
-
parece que esta discusion solo la lee y responde el autor (osea yo)


jejeje
bueno muchachos gracias por NO ayudarme.......finalmente 

logre terminar el proyecto que tanto me aquejó....logre ingresar la formula con una aproximación de mas menos 0.001 


jajaja solo me falta armarlo y a venderlo se ha dicho (ojala alguien lo compre
)
GRACIAS POR SU AYUDA!!!!
voy a ver como me va con el PCB
chaufa