Rpm Del Motor

5
uControl > Programación de Microcontroladores > CCS, SDCC, C18, C30 y otros "C". (Moderador: Ariel)> Contar pulsos con timer en ccs uControl Agosto 08, 2012, 08:07:49 Bienvenido(a), Visitante. Por favor, ingresa o regístrate. ¿Perdiste tu email de activación? Ingresar con nombre de usuario, contraseña y duración de la sesión 6 Siempre Ingresar Buscar INICIO AYUDA BUSCAR INGRESAR REGISTRARSE Páginas: [1] 2 Ir Abajo « anterior próximo » IMPRIMIR Autor Tema: Contar pulsos con timer en ccs (Leído 7048 veces) 0 Usuarios y 1 Visitante están viendo este tema. agustin156 PIC10F Desconectado Mensajes: 32 Contar pulsos con timer en ccs « : Septiembre 01, 2010, 07:15:43 » buenas tardes amigos, resulta que quiero medir las rpm de un motor con un sensor de efecto hall el cual ya esta montado y funcionando a la perfección. El problema es que no se como contar los pulsos con los timers del pic. Probé varias cosas pero no lo puedo hacer funcionar. Alguien me podría dar una mano para configurar los timers. El pic es un 16f877A. Gracias y saludos. En línea Suky **----- ^^ ------** Moderador dsPIC Desconectado Sexo: Mensajes: 5182 Implementando DNP sobre GPRS! Re: Contar pulsos con timer en ccs « Respuesta #1 : Septiembre 01, 2010, 07:20:42 » Muéstranos que has hecho. Saludos! En línea * Tienda Micros-Designs - SkP32, Sk2550, LPC1114. * Comunicación DNP3 sobre TCP/IP - (Capa de enlace) agustin156 PIC10F Desconectado Mensajes: 32 Re: Contar pulsos con timer en ccs « Respuesta #2 : Septiembre 01, 2010, 07:42:38 » Gracias Suky por responder, esto es lo que intente Código: por lo que vi, el retardo debería generarlo con otro timer. A esto lo simule en proteus ingresando por el pin C0 una onda cuadrada. Saludos. 5 6 #include <16f877a.h> #use delay(clock=4000000) #fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,NODEBUG,BROWNOUT,NOCPD,NOWRT #include <flex_lcd.c> void main() { int16 pulsos; lcd_init(); while(1) { setup_timer_1(T1_EXTERNAL); setup_timer_1(T1_DIV_BY_1); set_timer1(0); pulsos=get_timer1(); delay_ms(5000);//espero setup_timer_1(T1_DISABLED);//deshabilito pulsos=get_timer1();//recojo la cuenta « Última modificación: Septiembre 01, 2010, 07:55:17 por Suky » En línea http://www.ucontrol.com.ar/forosmf/programacion-en-c/contar-pulsos-con-timer-en-ccs/ Page 1 / 5

Transcript of Rpm Del Motor

Page 1: Rpm Del Motor

uControl > Programación de Microcontroladores > CCS, SDCC, C18, C30 y otros "C". (Moderador: Ariel) > Contar pulsos con timer en ccs

uControl

Agosto 08, 2012, 08:07:49

Bienvenido(a), Visitante. Por favor, ingresa o regístrate. ¿Perdiste tu email de activación?

Ingresar con nombre de usuario, contraseña y duración de la sesión

6Siempre Ingresar

Buscar

IN IC IO A Y U D A BUSCAR INGRESAR REGISTRARSE

Páginas: [1] 2 Ir Abajo

« anterior próximo » IMPRIMIR

Autor Tema: Contar pulsos con timer en ccs (Leído 7048 veces)

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

agustin156 PIC10F

Desconectado Mensajes: 32

Contar pulsos con timer en ccs « : Septiembre 01, 2010, 07:15:43 »

buenas tardes amigos, resulta que quiero medir las rpm de un motor con un sensor de efecto hall el cual ya esta

montado y funcionando a la perfección. El problema es que no se como contar los pulsos con los timers del pic. Probé varias cosas pero no lo puedo hacer funcionar. Alguien me podría dar una mano para configurar los timers. El pic es un 16f877A.

Gracias y saludos.

En línea

Suky **----- ^^ ------** Moderador dsPIC

Desconectado

Sexo: Mensajes: 5182

Implementando DNP sobre GPRS!

Re: Contar pulsos con timer en ccs « Respuesta #1 : Septiembre 01, 2010, 07:20:42 »

Muéstranos que has hecho.

Saludos!

En línea

* Tienda Micros-Designs - SkP32, Sk2550, LPC1114.

* Comunicación DNP3 sobre TCP/IP - (Capa de enlace)

agustin156 PIC10F

Desconectado Mensajes: 32

Re: Contar pulsos con timer en ccs « Respuesta #2 : Septiembre 01, 2010, 07:42:38 »

Gracias Suky por responder, esto es lo que intente

Código:

por lo que vi, el retardo debería generarlo con otro timer. A esto lo simule en proteus ingresando por el pin C0 una onda cuadrada.

Saludos.

5

6

#include <16f877a.h>

#use delay(clock=4000000)

#fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,NODEBUG,BROWNOUT,NOCPD,NOWRT

#include <flex_lcd.c>

void main()

int16 pulsos;

lcd_init();

while(1) setup_timer_1(T1_EXTERNAL); setup_timer_1(T1_DIV_BY_1); set_timer1(0); pulsos=get_timer1(); delay_ms(5000);//espero setup_timer_1(T1_DISABLED);//deshabilito pulsos=get_timer1();//recojo la cuenta

« Última modificación: Septiembre 01, 2010, 07:55:17 por Suky » En línea

http://www.ucontrol.com.ar/forosmf/programacion-en-c/contar-pulsos-con-timer-en-ccs/ Page 1 / 5

Page 2: Rpm Del Motor

Suky **----- ^^ ------** Moderador dsPIC

Desconectado

Sexo: Mensajes: 5182

Implementando DNP sobre GPRS!

Re: Contar pulsos con timer en ccs « Respuesta #3 : Septiembre 01, 2010, 07:59:36 »

Te conviene configurar el timer de la siguiente manera, para no re configurar erróneamente. Y fuera del bucle infinito. Código:

Luego:

Código:

Hay que ver si en los 5 segundo no se desborda el timer.

Saludos!

setup_timer_1(T1_EXTERNAL | T1_DIV_BY_1);

set_timer1(0); delay_ms(5000);//espero pulsos=get_timer1();//recojo la cuenta setup_timer_1(T1_DISABLED);//deshabilito

En línea

* Tienda Micros-Designs - SkP32, Sk2550, LPC1114.

* Comunicación DNP3 sobre TCP/IP - (Capa de enlace)

agustin156 PIC10F

Desconectado Mensajes: 32

Re: Contar pulsos con timer en ccs « Respuesta #4 : Septiembre 04, 2010, 07:30:03 »

Gracias Suky, efectivamente esa era la solución, estaba configurando mal el timer. Modifique un poco el programa utilizando el timer1 para generar el retardo por interrupciones lo dejo por si le es útil a alguien.

Saludos!

Código:

5

6

#include <16f877a.h>

#use delay(clock=4000000)

#fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,NODEBUG,BROWNOUT,NOCPD,NOWRT

#include <flex_lcd.c>

int16 contador=0;

#int_timer1

void timer1_isr(void)

contador=get_timer0(); contador=contador*2*120; printf(lcd_putc, "\f %6lu rpm",contador); set_timer0(0); set_timer1(3036);

void main()

« Última modificación: Septiembre 04, 2010, 07:32:02 por agustin156 » En línea

cairiza PIC10F

Desconectado

Sexo: Mensajes: 3

Re: Contar pulsos con timer en ccs « Respuesta #5 : Octubre 07, 2010, 04:43:53 »

Hola cual es la entrada de tu programa? ?? estoy haciendo algo parecido. pero en proteus le pongo una

onda cuadrada por RB0 y no pasa nada.

saludos.

Carmen R

colombia

Código:

5#include <16f877a.h>

#use delay(clock=4000000)

#fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,NODEBUG,BROWNOUT,NOCPD,NOWRT

#include <flex_lcd.c>

int16 contador=0;

#int_timer1

void timer1_isr(void)

http://www.ucontrol.com.ar/forosmf/programacion-en-c/contar-pulsos-con-timer-en-ccs/ Page 2 / 5

Page 3: Rpm Del Motor

[/quote]

6

contador=get_timer0(); contador=contador*2*120; printf(lcd_putc, "\f %6lu rpm",contador); set_timer0(0); set_timer1(3036);

void main()

En línea

Suky **----- ^^ ------** Moderador dsPIC

Desconectado

Sexo: Mensajes: 5182

Implementando DNP sobre GPRS!

Re: Contar pulsos con timer en ccs « Respuesta #6 : Octubre 07, 2010, 04:50:23 »

Es el pin para contar eventos externos con el timer1.

Saludos!

En línea

* Tienda Micros-Designs - SkP32, Sk2550, LPC1114.

* Comunicación DNP3 sobre TCP/IP - (Capa de enlace)

cairiza PIC10F

Desconectado

Sexo: Mensajes: 3

Re: Contar pulsos con timer en ccs « Respuesta #7 : Octubre 07, 2010, 05:53:05 »

Hola, gracias por contestar.

Bien, me dices entonces que es por el RC0, pero le envio una onda cuadrada y siempre me sale 0 rpm en la pantalla

adjunto librerias y archivo en proteus. http://www.4shared.com/file/rCEiN-eK/contador_pulsos.html

gracias

Carmen R

Colombia

Cita de: Suky en Octubre 07, 2010, 04:50:23

Es el pin para contar eventos externos con el timer1.

Saludos!

En línea

Suky **----- ^^ ------** Moderador dsPIC

Desconectado

Sexo: Mensajes: 5182

Implementando DNP sobre GPRS!

Re: Contar pulsos con timer en ccs « Respuesta #8 : Octubre 07, 2010, 07:31:17 »

1000 disculpas, lei mal El timer 1 se utiliza para leer cada cierto tiempo, quien cuenta los pulsos externos es el

timer0, o seas por el pin RA4.

Saludos!

En línea

* Tienda Micros-Designs - SkP32, Sk2550, LPC1114.

* Comunicación DNP3 sobre TCP/IP - (Capa de enlace)

cairiza PIC10F

Desconectado

Sexo: Mensajes: 3

Re: Contar pulsos con timer en ccs « Respuesta #9 : Octubre 07, 2010, 10:55:28 »

sisisisis ya funciona a la perfección gracias!!!!!!!!!

anexo codigo y archivo en proteus.

http://www.4shared.com/file/LNSBpOj-/contador_pulsos.html

http://www.ucontrol.com.ar/forosmf/programacion-en-c/contar-pulsos-con-timer-en-ccs/ Page 3 / 5

Page 4: Rpm Del Motor

muchas gracias!!!!!!!!!!

Carmen Rios Z.

Colombia

Cita de: Suky en Octubre 07, 2010, 07:31:17

1000 disculpas, lei mal El timer 1 se utiliza para leer cada cierto tiempo, quien cuenta los pulsos externos es el timer0, o seas por el

pin RA4.

Saludos!

En línea

вoяяe µPraxis - Electrónica en Practica Amigo de uControl PIC18F

Desconectado

Sexo: Mensajes: 1113

Pяobando C30

Re: Contar pulsos con timer en ccs « Respuesta #10 : Octubre 09, 2010, 06:14:11 »

Hola que tal estoy haciendo algo similar, contar las RPM de un motor, mi problema radica en que si conecto el motor en

el protoboard donde tengo la circuiteria, La LCD donde muestro el resultado muestra caracteres raros o el lcd lleno de

cuadros, y si lo conecto en otra fuente no ocurre esto, mi duda es que hacer y por que ocurre esto.

Aclaro no siempre pasa lo mencionado antes, en ocasiones muestra los datos en otras no.

De antemano gracias, saludos !!!!

« Última modificación: Octubre 09, 2010, 06:25:41 por byborre » En línea

It's not about the salary It's about reality and making some noise Makin' a story

HJ Administrator PIC24F

Desconectado

Sexo: Mensajes: 4615

Desde 29-06-2012 - Solo tareas administrativas.

Re: Contar pulsos con timer en ccs « Respuesta #11 : Octubre 09, 2010, 06:32:10 »

Lo más probable es que sea el ruido que induce el motor sobre la alimentación.

Saludos

En línea

Cuanta razón tenías Gabriel...

Para no importunar con mis respuestas, prometo no contestar mas en el foro, salvo contadas excepciones.

вoяяe µPraxis - Electrónica en Practica Amigo de uControl PIC18F

Desconectado

Sexo: Mensajes: 1113

Pяobando C30

Re: Contar pulsos con timer en ccs « Respuesta #12 : Octubre 09, 2010, 07:16:29 »

Gracias por la respuesta HJ, ¿Ahora que hacer para corregirlo?

Saludos!!!

En línea

It's not about the salary It's about reality and making some noise Makin' a story

HJ Administrator PIC24F

Desconectado

Sexo: Mensajes: 4615

Re: Contar pulsos con timer en ccs « Respuesta #13 : Octubre 10, 2010, 12:33:41 »

Lo mas conveniente, según mi punto de vista, es la utilización de fuentes separadas. Por lo menos deberías utilizar una fuente muy buena con reguladores independientes y filtros apropiados.

Por otra parte, deberías evitar lazos de masa y evitar cables y pistas de impreso finas y largas. Asegúrate de poner un capacitor de .01uF entre Vcc y GND lo mas próximo a las entradas del PIC.

Saludos

http://www.ucontrol.com.ar/forosmf/programacion-en-c/contar-pulsos-con-timer-en-ccs/ Page 4 / 5

Page 5: Rpm Del Motor

Ir a:

Página creada en 0.099 segundos con 27 consultas. (Pretty URLs adds 0.016s, 3q)

Desde 29-06-2012 - Solo tareas administrativas.

En línea

Cuanta razón tenías Gabriel...

Para no importunar con mis respuestas, prometo no contestar mas en el foro, salvo contadas excepciones.

вoяяe µPraxis - Electrónica en Practica Amigo de uControl PIC18F

Desconectado

Sexo: Mensajes: 1113

Pяobando C30

Re: Contar pulsos con timer en ccs « Respuesta #14 : Octubre 10, 2010, 12:52:12 »

Gracias, probare con el capacitor ya que no lo tengo y efectivamente uso cables muy delgaditos y largos,

Saludos!!!

En línea

It's not about the salary It's about reality and making some noise Makin' a story

Páginas: [1] 2 Ir Arriba IMPRIMIR « anterior próximo »

6=> CCS, SDCC, C18, C30 y otros "C". ir

Powered by SMF 1.1.16 | SMF © 2011, Simple Machines SMFAds for Free Forums

http://www.ucontrol.com.ar/forosmf/programacion-en-c/contar-pulsos-con-timer-en-ccs/ Page 5 / 5