Autor Tema: Es Proteus o soy yo? mide mal rpms  (Leído 3567 veces)

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

Desconectado Algec

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 974
Es Proteus o soy yo? mide mal rpms
« en: 24 de Octubre de 2008, 10:28:03 »
Un lector de rpm que creo esta bien, en el proteus me mide mal, a ver que podeis decirme porque  no se ya si es el proteus o soy yo, os subo el codigo el hex y el Isis y me comentais por favor

Desconectado Giovanny

  • PIC12
  • **
  • Mensajes: 97
    • Supercomponentes
Re: Es Proteus o soy yo? mide mal rpms
« Respuesta #1 en: 24 de Octubre de 2008, 12:51:35 »
no adjuntaste el .hex sino el .c, y no puedo compilarlo porque no tengo tu libreria lcd1.c
        Saludos desde Colombia! Que hermoso país....

Desconectado Algec

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 974
Re: Es Proteus o soy yo? mide mal rpms
« Respuesta #2 en: 24 de Octubre de 2008, 13:01:52 »
es cierto perdonad, ahora mismo lo soluciono.

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: Es Proteus o soy yo? mide mal rpms
« Respuesta #3 en: 24 de Octubre de 2008, 14:31:38 »
De todas maneras, no te fies en el Proteus. No simula a la perfección los tiempos reales.

Te aconcejo que lo montes y lo pruebes.
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado Algec

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 974
Re: Es Proteus o soy yo? mide mal rpms
« Respuesta #4 en: 24 de Octubre de 2008, 15:34:21 »
Tu lo ves real? Las RPM parece ser que mide tres veces lo que deberia.
Es el principio de hacer un servo con un motor DC y un pic, voy por pasos, ahora me toca el control de corriente y el driver y despues el PID.

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: Es Proteus o soy yo? mide mal rpms
« Respuesta #5 en: 24 de Octubre de 2008, 15:38:08 »
No, no lo simule. Yo no utilizo el proteus por eso. Porque no simula bien y me a dado varios dolores de cabeza por confiar en el. Ahora voy montando todo y listo.
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado Giovanny

  • PIC12
  • **
  • Mensajes: 97
    • Supercomponentes
Re: Es Proteus o soy yo? mide mal rpms
« Respuesta #6 en: 24 de Octubre de 2008, 18:13:38 »
El problema con proteus. (para mi no lo es), es que no es tiempo real.
es de tener presente ese detalle, para casos de tiempos, delays, interrupciones y demas.
no obstante.. aunque a su velocidad (que depende del pc), el simula  muy bien
el comportamiento de los microprocesadores, perifericos e interrupciones.
lo unico que no me simula es cuando defino es #fuse intrc.  solamente  simula con #fuse xt, o #fuse hs..
que indican cristal externo.
Es mas, yo no monto nada ni diseño  pcb, si no trabaja la simulacion.
No te recomiendo que lo dejes a un lado. solo ten el debido cuidado con los tiempos,
ya que tiempo de simulacion nunca sera igual a tiempo real.

Saludos.

Pd: Algec, apenas estoy revisando tu aplicacion, apenas tenga comentarios posteo  de nuevo.
        Saludos desde Colombia! Que hermoso país....

Desconectado Algec

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 974
Re: Es Proteus o soy yo? mide mal rpms
« Respuesta #7 en: 25 de Octubre de 2008, 10:05:44 »
Gracias, ahora sigo liado mientras soluciono esto en la segunda parte, el driver con fets y el control de la corriente.

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: Es Proteus o soy yo? mide mal rpms
« Respuesta #8 en: 25 de Octubre de 2008, 17:41:54 »
Hola Algec

Estoy viendo tu programa, pero no lo entiendo del todo.

¿el valor del frecuencimetro tiene que ser el mismo que el que sale en la LCD?

si es asi, dejame decirte que hay un par de detalles que ajustar:

- si estas usando interrupción por cambio de flanco en el portb, deberias poner un par de pull-ups, para asegurar el estado.

- ¿Estas seguro que RBIF se pone a cero al salir de int_rb? debes asegurarte bien.

- finalmente deberias guardar el valor del rpm (el que quieres mostrar en pantalla) en una variable temporal= iTemp y seguido poner un nop, luego colocas un breakpoint en ese nop, y miras el valor  de iTemp.

Pero tienes que saber a partir de que linea del loop vas a empezar a medir el tiempo (para no acumular ciclos que no se entrometan con el valor real que envía el servo)


La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado pablomanieri

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 639
Re: Es Proteus o soy yo? mide mal rpms
« Respuesta #9 en: 25 de Octubre de 2008, 22:04:16 »
Debes tener en cuenta que estas usando la interrupción por cambio de estado en rb4 a rb7 (int_rb), con lo que esta se está ejecutando cada vez que hay un cambio en rb4 ó rb5 (recuerda que esta interrupción funciona por cambio de nivel y no por flanco ascendente o descendente). Creo que es por eso que no te está funcionando.

Desconectado Algec

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 974
Re: Es Proteus o soy yo? mide mal rpms
« Respuesta #10 en: 26 de Octubre de 2008, 12:56:54 »
A ver, no me entero, me puedes aclarar mejor esto?

 ¿Estas seguro que RBIF se pone a cero al salir de int_rb? debes asegurarte bien.
( se refiere a poner a cero el timmer al salir de la interrupcion)

- finalmente deberias guardar el valor del rpm (el que quieres mostrar en pantalla) en una variable temporal= iTemp y seguido poner un nop, luego colocas un breakpoint en ese nop, y miras el valor  de iTemp.
Pero tienes que saber a partir de que linea del loop vas a empezar a medir el tiempo (para no acumular ciclos que no se entrometan con el valor real que envía el servo)
¿Porque todo ese artificio? no comprendo la razon de usarlo asi y tampoco muy bien que es lo que me dices que haga

Gracias por responder, voy por pasos a ver si puedo hacer un servo PID , el lcd de momento es para ver, aunque despues desaparecera, y quizas tambien necesite cambiar el pic por algo mas rapido
Tambien tengo problemas con Proteus en un control de corriente del mismo esquema con este control empezado a implementarlo, lo podeis ver en la seccion de Simuladores del foro.
No se porque me salen errores al ejecutarlo si haciendolo en dos Isis distintos las dos partes del sistema va bien.









Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: Es Proteus o soy yo? mide mal rpms
« Respuesta #11 en: 28 de Octubre de 2008, 12:56:04 »
La interrupción Rb tiene un detalle a la hora de limpiarlo, mira este post que es mas explicito:

http://www.todopic.com.ar/foros/index.php?topic=21747.msg188179#msg188179

deberias depurar el programa linea a linea para saber con mas exactitud el origen del problema.

Referente al proteus, bueno como simulador que es, no escapa de las imprecisiones, pero hay una cosa que hay que tomar en cuenta, él lleva su propio tiempo, si el servo corre a una velocidad baja, entonces todo el circutito correrá a la misma velocidad, asi que en teoria deberías obtener el mismo valor.

La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado Algec

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 974
Re: Es Proteus o soy yo? mide mal rpms
« Respuesta #12 en: 28 de Octubre de 2008, 14:57:37 »
Gracias voy a verlo, de momento vuelvo a tener problemas pero ahora es con la simulacion de diodos. Es un sin fin esto

Desconectado pablomanieri

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 639
Re: Es Proteus o soy yo? mide mal rpms
« Respuesta #13 en: 29 de Octubre de 2008, 08:28:44 »
Como te dije antes. Al estar utilizando la interrupción int_rb, estas entrando exactamente 4 veces a la interrupción por cada pulso del motor. Ya que tienes conectadas las entradas al rb4 y rb5. Pueba de dividir la velocidad calculada por 4 y veras que te muestra el valor correcto.


 

anything