Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

20/11/2010 #21

Avatar de ByAxel

Meta dijo: Ver Mensaje
Hola:
En cuanto a PWM, lo hace hasta el 16F84A codeando todo.

El 16F628A en su hojas de datos no tiene PWM o es que estoy ciego.
http://www.microchip.com/wwwproducts...cName=en010210
Me refiero a un PWM por hardware donde el módulo CCP hace tres trabajos y uno de ellos es generar PWM "Capture/Compare/PWM Peripherals"; página 58 (60 del visor pdf).

Saludos
20/11/2010 #22

Avatar de Meta

Es verdad:

He cometido un error.
http://ww1.microchip.com/downloads/e...Doc/40044G.pdf

Menos mal que con cualquier PIC a código se puede ahcer PWM.

Hay que corregir el cuadro. Si ven más errores me avisan.

Gracias por la aclaración.
30/11/2010 #23

Avatar de neoguzman

esta buenisimo el proyecto...felicidades, solo me queda una duda y es que al ver el esquematico hay una seccion que no me queda bien claro a donde va conectada y te pediria me lo aclares porfavor, ya que tengo ya armado gran parte del circuito y pues quiero evitar dañar mi PIC, subo una imagen en la que encierro en un circulo la parte que me esta causando problemas.

gracias y saludos

edito:

y otra pregunta mas, no consegui un cristal como el que tu especificas y le coloque uno de 20 efecta mucho esta variacion o solo es cuestion de precicion...?? y el voltaje de alimentacion cual es...???
Imágenes Adjuntas
Tipo de Archivo: png simulacion.png (390,2 KB (Kilobytes), 283 visitas)
15/04/2011 #24

Avatar de LU5JCL

LucasSiglo21, estoy por ponerme manos a la obra a armar tu reloj despertador (llego tarde a la facultad siempre sino jaja), mi pregunta es si tendrias el diseño de la placa con los componentes en el lugar donde vas(nose si me entenderas...), osea para saber en que lugar va cada cosa y de que valor.

Quedo a la espera, ojala me puedas dar una mano


Gracias
15/04/2011 #25

Avatar de LU5JCL

perdon LucasSiglo21, ya lo pude solucionar a lo que te pedi en el comentario anterior.

Anda que es un espectaculo el relojito, muchas gracias por el aporte.

suerte
09/09/2011 #26

Avatar de lucassiglo21

realmente no sabía que alguien habia preguntado cosas del reloj..el foro no me avisó. y ahora que LU5JCL me mando un MP me entero que estaban preguntando cosas.

bueno..
1- el cristal es de 32.768khz. es muy importante. es la base de tiempo. (suele haber en mothers viejas, sino en las electrónicas suele haber)

2- IMPORTANTE, hice un par de versiones nuevas.
este es similar, pero con batería de backup y una placa mejor:
http://elcoyotequesuelda.blogspot.co...e-la-hora.html
y este lo hice hace poco, es un concepto diferente. permite alarmas diferentes cada día de la semana:
http://elcoyotequesuelda.blogspot.co...cho-mejor.html

el codigo no esta perfecto del todo todavia (la alarma se escucha rarito, pero anda bien). pero si lo quieren avisenme
09/09/2011 #27


felicitaciones esta muy bien, ya que es tu proyecto y con respeto te digo que si quieres compartirlo, te agradeceria mucho, no soy muy bueno en programacion pero con una buena guia podre hacer proyectos tan buenos como este

saludos

jose
17/09/2011 #29


Adelanto - atraso
lucassiglo21

Por favor, estoy desarrollando un proyecto similar pero en C, es decir soy experto en C no en Basic, sin embargo mi preguna no va por ahi, mi pregunta va por la exactitud, ya que he conseguido hacerlo con mi 16f88 pero veo que mi tiempo se adelanta, en promedio 100milisegundos cada minuto, aproximadamente y yo necesito medir el tiempi exacto, lo mas exacto posible y en milisegundos. finalmente mi pregunta:

TU RELOJ SE ATRASA O SE ADELANTA? QUE TAN EXACTO ES?

Lo has probado con un cronometro de tu movil o de algun otro?, que datos de retraso has obtenido,.. por favor responder es de suma importancia, nose si alguien ya le hizo esta pregunta a Lucas, sin embargo esta muy bonito tu resultado final en acrilico, yo postearte la foto de mi proyecto.
Saludos desde PERU
20/09/2011 #30

Avatar de killer1

se puede programar con el ic-prog y el programador jdm
21/09/2011 #31


Hoal velociraptor dices que ya sabes de C de pic pero te falta leer la hoja de datos del pic si te fijas del timer1 se configura para cristal externo de 32.768khz(RTC) con ese valor tienes un reloj de buena presicion.
21/09/2011 #32

Avatar de Meta

¿No será que son 32.768 Hz en vez de KHz?
21/09/2011 #33


?????
Estas seguro....
22/09/2011 #34

Avatar de Meta

En el libro http://www.pic16f84a.org/index.php?o...us_Capitulo_24 te explica claramente que es así. La gente se confunde mucho.
30/09/2011 #35


efectivamente
cristian_elect, asi es, mi pregunta es que si con el valor de 32 768 Hz (algunos lo referencian como 32khz), puedo medir milisegundos? o solo segundos, segun lo que necesito, mi objetivo es medir el tiempo en mili o micro segundos, segun lo que me demore detectar un evento,(especificacmente en una vuelta ya que si averiguo esto vere cuantas vueltas da en un minuto), con este dato me ayudaria bastante en mi proyecto, la pregunta era si con ese cristal y con ese PIC, se consiguen tiempos exactos? pero en mili o micro segundos?, o ese pic es para medicion de tiempo segundo a segundo nada mas?... como te digo llevo programando en C, desde q tenia 12 años ahora soy ing. con mas de 30,asi que conosco del tema, pero estoy con el PIC 16f88, ahora por necesidad tengo que aprender PICs solo llevo semanas con esto, asi recurro a ustedes los expertos...
Gracias por las repuestas , y claro el cristal que venden en Peru es tipo cilindrico diminuto de 32768Hz =32.768kHz (punto decimal)

aqui les dejo el video de mi proyecto, aunque no se note muy bien pero estoy usando un LCD
30/09/2011 #36


Tendrás que buscar un valor de cristal para tener esa precisión de tener valores para mostrar de seg, decimas, centésimas y milésima, con 32.768Khz solo tienes la cuenta del 1 segundo preciso.
Bueno con atmega si logre eso de contar hasta los milisegundos con cristal de 4MHz lo del reloj es de buena precision.
01/10/2011 #37


para no desvirtuar
Se que el tema, es un reloj despertaror, mi intencion no es desvirtuar el tema, pero este es el unico topic, donde pude encontrar gente interesada en el tiempo, es decir en medir el tiempo real, sea segundo a segundo, usando cristales especificos.
El codigo que uso con el cristal de 4MHz es:

#include <16F88.h>

#FUSES NOWDT,NOBROWNOUT,NOLVP,NOPROTECT,XT
#FUSES NOMCLR
#FUSES CPD
#FUSES IESO//Internal External Switch Over mode enabled
#FUSES PUT
#FUSES FCMEN
#use delay(clock=4000000)
#include "LCD.c"

unsigned int16 cont500mS;
unsigned int16 contS=0;
unsigned int16 contM=0;
unsigned int16 contH=0;
unsigned int8 unocero=0;

#int_TIMER1
void TIMER1_isr(void)
{
setup_timer_1(T1_DISABLED);
set_timer1(3036);//para desbordarlo en 500ms osea medio segundo
setup_timer_1(T1_INTERNAL|T1_DIV_BY_8);
cont500mS++;if(unocero==0){unocero=1;}else{unocero =0;}
if(unocero==1)
{contS++;if(contS==60){contS=0;contM++;}
if(contM==60){contM=0;contH++;}
lcd_gotoxy(1,1);printf(LCD_PUTC,"%Lu:%Lu:%Lus...." ,contH,contM,contS);

}

}

void main()
{

setup_adc_ports(sAN0|VSS_VDD);
setup_adc(ADC_CLOCK_INTERNAL);
setup_spi(SPI_SS_DISABLED);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);

setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
enable_interrupts(INT_TIMER1);
enable_interrupts(GLOBAL);
Setup_Oscillator(OSC_4MHZ|OSC_INTRC);


set_timer1(3036);//adelantamos el tiempo en esa cantidad para que desborde en 500ms
setup_timer_1(T1_INTERNAL|T1_DIV_BY_8);


lcd_init();

while(TRUE)
{

}

}

Como comentario: se crea una interrupcion por desbordamiento, cada 500mili segundos, cada dos interrupciones se cuenta un segundo y se pone el valor en el LCD. he borrado parte del codigo que hace la conversion del modulo Analogico digital para mi proyecto, asi que me disculpan si hay una linea por ahi que se filtra (esa conversio AD funciona a la perfeccion).
Por ahi lei que en el LCD.C, hay DELAYs, ahora la respuesta podria estar por ahi??, en ese mismo comentario lei en ingles que durante un DELAY, las interrupciones no funcionan? es decir si debiera producirse el desbordamiento del timer pero el PIC esta dentro de un DELAY, esta interrupcion no se produce? que hay de cierto en esto? no he tenido oportunidad de comprobar esto, que pienso yo aqui ya se deben haber encontrado con este inconveniente?
Gracias por las respuestas...

mil disculpas por hablar del cristal de 4MHz cuando el tema es con el 32KHz
Los resultados: Pues el reloj se atrasa, en promedio un segundo cada 30minutos, es demasiado.
01/10/2011 #38


No se recomienda funciones que consumen tiempo bastante largo dentro de las interrupciones.
02/10/2011 #39


cambiano el codigo sigue igual
while(TRUE)
{
if(contS!=contS_ant){lcd_gotoxy(8,1);printf(LCD_PU TC,"%Lu:%Lu:%Lu",contH,contM,contS);contS_ant=cont S;}
lcd_gotoxy(1,1);printf(LCD_PUTC,"%1.4f/",CorA);
lcd_gotoxy(1,2);printf(LCD_PUTC,"%Lu/%1.3f/%1.3f",tension,tensionV,tension2V);
}
He sacado el codigo de la interrupcion y lo he puesto en e main, he tratado de pintar en el LCD solo cuando hay cambio entre segundo y segundo, para optimizar recursos pero el retrazo continua...

comparado con un cronometro de un movil NOKIA,muy pronto colocare el video, por ahora una foto

PD.PIC=11:23 (pasaron 11 minutos 23 segundos), NOKIA= 11:27, el PIC se atraza
03/10/2011 #40


video

Solo un comentario, en el video se observa la conversion analogica digital , para esto se coloca un sensor de temperatura LM que arroja la temperatura en milivoltios, 0.23 quiere decir 23°C, aver si a nuestro reloj tambien le sumamos, la temperatura ambiente y un cronometro, creo que con esto quedaria mejor, y si se puede poriamos colocarle un anemometro, y asi, medimos las condiciones de tiempo en general no?... saludos desde Lima Peru
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.