Autor Tema: fuente digital con atmega 8a  (Leído 4504 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado atmega8a

  • PIC10
  • *
  • Mensajes: 10
fuente digital con atmega 8a
« en: 17 de Abril de 2015, 19:23:29 »
hola
cordial saludo

compañeros del foro

acudo a ustedes si me pueden hacer el favor ayudarme a corregir este programa desarrollado en bascom avr es pequeño pero no me esta compilando.

este es el programa

$regfile = "m8def.dat"
$crystal = 4000000
Config Lcd = 16 * 2
Config Lcdbus = 4
Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , Rs = Portb.4 , E = Portb.5
Dim Volt As Single
Dim Volt1 As Single
Dim V As String * 4
Dim Aux1 As Word
Config Adc = Single , Prescaler = Auto , Reference = Avcc 'configura ADC
Start Adc
Do
Cls
Locate 1 , 1
Lcd " Fuente de Poder"
Aux1 = Getadc(0)
Volt = Aux1 * 5
Volt = Volt / 1024
Volt1 = Volt * 4
V = Fusing(volt1 ), "Redondea los decimales de un dato tipo single y lo transforma en string"
Locate 2 , 1
Lcd "Vdc = " ; V ; " V"
Waitms 600

Loop

 con la ayuda de ustedes para ver donde esta el error y poder corregirlo.

basicamente este programa realiza lo siguiente.

he construido una fuente de alimentacion de 14 Vcd a 1A incluyendo el lm317 y un 7805 para alimentar al microcontrolador avr atmega8 y el display 16x2, he utilizado el  adc del atmega8 para ingresar por el pin 24 el voltaje proveniente del divisor de voltaje de la fuente  con 4 resistores de 10k en paralelo, y visualizar por el lcd el voltaje al momento de girar el potenciomentro, y no tener que usar el multimetro para visualizar los  voltaje.

este es un proyecto para mi clase de electronica digital de la universidad, practicamente tengo casi el proyecto terminado por eso acudo a ustedes si me pueden hacer el favor de ayudarme a corregir el programa, se lo agradeceria.

jose luis comas llinas
medellin-colombia

Desconectado stk500

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4919
Re: fuente digital con atmega 8a
« Respuesta #1 en: 18 de Abril de 2015, 04:02:29 »
Hola Jose Luis, y Bienvenido a nuestros Foros Todopic,

1°_ Que Version de Bascom usa?
2°_Que error te da el compilador?
3° el error lo tiene en FUSING
lo he simulado solamente
pruebalo

Código: [Seleccionar]
'$sim
$regfile = "m8def.dat"
$crystal = 4000000
Config Lcd = 16 * 2
Config Lcdbus = 4
Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , Rs = Portb.4 , E = Portb.5
Dim Volt As Single
Dim Volt1 As Single
Dim V As String * 4
Dim Aux1 As Word
Config Adc = Single , Prescaler = Auto , Reference = Avcc 'configura ADC
Start Adc
Do
Cls
Locate 1 , 1
Lcd " Fuente de Poder"
Aux1 = Getadc(0)
Volt = Aux1 * 5
Volt = Volt / 1024
Volt1 = Volt * 4
Lcd Fusing(volt , "#.##")


'V = Fusing(volt1 ) , "Redondea los decimales de un dato tipo single y lo transforma en string"
Locate 2 , 1
Lcd "Vdc = " ; V ; " V"
Waitms 600

hay algunas cosas que debe corregir, pero ahora mismo no tengo muchos tiempo
prueba y me dice
Saludos

Desconectado atmega8a

  • PIC10
  • *
  • Mensajes: 10
Re: fuente digital con atmega 8a
« Respuesta #2 en: 18 de Abril de 2015, 06:31:53 »
hola stka500
un cordial saludo

la version de bascom avr que estoy usando es la version Demo esta version solo permite 4k de linea de codigo, como veras stk500 el programa es pequeño.
version del compilador 2.0.7.5


adjunto los errores de compilaciones stk500
 stk estos  errores me los generaba antes de corregirlo

y despues que lo has corregido ya no genera error, voy a  grabar el hex en el avr y te informo como me fue.
estamos en contacto

jose luis


 

Desconectado atmega8a

  • PIC10
  • *
  • Mensajes: 10
Re: fuente digital con atmega 8a
« Respuesta #3 en: 18 de Abril de 2015, 06:59:51 »

hola
stk500

te comento he compliado el programa y me genero el hex lo he grabado en el avr atmega8 y en el display lcd me visualiza el mensaje

Fuente de poder

Vdc = V_

he girado el potenciometro de la fuente a 5Vdc , el voltaje lo puedo visualizar en el multimetro pero en el display no lo puedo visualizar lo ideal es lo pueda visualizar en el display sin tener que usar el multimetro stk500, podrias hacer el favor de ayudarme te lo agradeceria que pena si te he quitado tiempo.

gracias

jose luis

Desconectado stk500

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4919
Re: fuente digital con atmega 8a
« Respuesta #4 en: 20 de Abril de 2015, 06:09:58 »
Ahora que estoy an casa te contesto.
Aqui te pongo un programa que hice para experimentar, midiendo voltage hasta 30 voltio.
ojo debe usar 2 Resistencia y un potenciometro para ajustar bien el Voltage.
osea del positivo (+) una resistencia de 100K Ohmio al lado del Potenciometro ,el medio del potenciometro directo al Puerto(PORTC.0) el otro lado del potenciometro otras resistencia de 4K7 Ohmio y a Masa(GND)
comprobado y funcionando.
Código: [Seleccionar]
'** Voltiometro digital
'** Foro Todopic
'** Creador Rafael jimenez
$regfile = "m88def.dat"
$crystal = 8000000
$hwstack = 40
$swstack = 40
$framesize = 40


'$sim                                                        ' para simular
Config Lcdpin = Pin , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.5 , E = Portd.1 , Rs = Portd.0
Config Lcd = 16 * 2
Cursor Off
Cls
' Configuracion del ADC con el control en el PORTC.0
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc                                                   ' inicial adc
Dim Leer_adc As Word                                        ' Variable para el ADC
Dim Voltio As Single                                        ' Variable para el calculo del voltage

Do
Leer_adc = Getadc(0)                                        ' Aqui leemos el Voltage en el puerto PORTC.0
Voltio = Leer_adc / 1023                                    'Calculo matematicvo para leer
Voltio = Voltio * 30                                        ' 30 es el Voltage que leeremos

Locate 1 , 1
Lcd "midiendo"
Locate 2 , 1
Lcd Fusing(voltio , "##.##") ; " Voltio" ; "  "             ' Fusin es una Funcion para calculo decimal

Loop
End
'Final
 

Cualquiel dudas por aqui estamos.
Saludos


Desconectado atmega8a

  • PIC10
  • *
  • Mensajes: 10
Re: fuente digital con atmega 8a
« Respuesta #5 en: 20 de Abril de 2015, 10:45:43 »

hola
stk500

cuando me dices  sobre las 2 resistencias  y el potenciometro para ajustar el voltaje en el puerto c del Atmega te estas refiriendo a un divisor de voltaje? por que se el ADC del atmega no puede recibir voltajes superiores a 5 Vcd es asi stk? por que si estoy en lo correcto hare un divisor de voltaje con 4 resistores de 10k y usando el mismo  potenciomentro de 5k de la fuente,  el voltaje de salida de la fuente ejemplo 5vcd ingresara por el divisor de voltaje para llegar  al  ADC del portc del amega y ser visualizado en el display.

estoy en lo correcto?

gracias

jose luis


Desconectado atmega8a

  • PIC10
  • *
  • Mensajes: 10
Re: fuente digital con atmega 8a
« Respuesta #6 en: 20 de Abril de 2015, 12:56:17 »

Hola

he comprobado el programa y si funciona stk bueno pero a hora  me surge la otra duda, como dice las reglas del foro aca uno No puede solicitar que le desarrollen  programas para xxx proyectos, por eso acudi aca para que me ayudaran a corregir el programa que he diseñado   para mi proyecto fuente digital, bueno cuando coloque el programa aca en el foro me hiciste el valor de corregirlo se compilo exitosamente, pero pienso que en mi programa le falta una instruccion para que haga visualizar el voltaje en forma digital por eso pido la ayuda nuevamente en mi programa que es lo que hace falta para que funcione como realmente lo deseo , bueno aca no es venir a copiarse y pegar programa de la forma facil, mi objetivo es aprender de los expertos por eso pido a los expertos como stk500 me ayude a que mi programa funcione como lo deseo , pero en la simulacion no me esta visualizando el voltaje de salida de la fuente que  debe pasar por los 4 resistores de 10k en paralelo y Gnd para que ingrese por el Adc del Avr  y lo pueda visualizar en el display  lcd 16*2  , te adjunto la imagen de la forma como deseo que la fuente trabaje con el avr y el display y utilizando el mismo potenciomentro de la fuente.

bueno el programa mi programa esta casi terminado, como le dije le falta una intruccion y no se cual es  o como hacerlo
espero  su colaboracion.

gracias

jose luis

Desconectado stk500

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4919
Re: fuente digital con atmega 8a
« Respuesta #7 en: 20 de Abril de 2015, 15:11:06 »

hola
stk500

cuando me dices  sobre las 2 resistencias  y el potenciometro para ajustar el voltaje en el puerto c del Atmega te estas refiriendo a un divisor de voltaje? por que se el ADC del atmega no puede recibir voltajes superiores a 5 Vcd es asi stk? por que si estoy en lo correcto hare un divisor de voltaje con 4 resistores de 10k y usando el mismo  potenciomentro de 5k de la fuente,  el voltaje de salida de la fuente ejemplo 5vcd ingresara por el divisor de voltaje para llegar  al  ADC del portc del amega y ser visualizado en el display.

estoy en lo correcto?

gracias
 

jose luis


me referia a un divisor de voltage claro, debe pensar que el convertidor ADC es muy sensible, por eso te decia de poner un potenciometro y ajustar con el voltage que le entra desde tu Fuente aunque este tenga un potenciometro, por lo que veo en tu esquema ,usa un LM317, y este integrado no te llegara a Cero voltio, creo que lo minimo seria 1,2 voltio, por otro lado debe poner una bobina de 100uH o algo menos a AVCC con 5 voltio y un condesador de 100nf claro , al pin de AREF debe poner tambien un condensador de 100nF , por otra parte  creo que tu prueba simulandolo? si es asi explica bien como hace tu prueba, te he puesto mi codigo para que vea como funciona ya que tu codigo no esta hecho port ti, ;-) sino que lo encontraste por la Red, mi codigo es muy simple de comprenderlo y si no lo comprende como funciona, entonce lo Siento  :?
Fijaste como se ponen los componente en los pines del Atmega8 para usar el ADC,
Fijaste aqui


Desconectado atmega8a

  • PIC10
  • *
  • Mensajes: 10
Re: fuente digital con atmega 8a
« Respuesta #8 en: 20 de Abril de 2015, 20:09:42 »

hola

te dire varias cosas de la forma mas respetuosa y muy clara como lo exige las reglas del foro.

soy un estudiante de electronica  estoy aprendiendo no todo lo se en este campo de la electronica, en la red hay  cantidades de circuitos de fuentes de alimentacion de la forma analogica con varios reguladores como el lm317 lm350k etc, y si han funcionado a la perfeccion, y yo a hora quiero implementar que  la misma fuente me entregue el voltaje en forma digital, y para hacerlo quise implementar un microcontrolador atmega, por que son  mas robusto que sus parientes los pics de microchip, ademas he visto tutoriales por youtube acerca los micros de atmega, los lenguajes de programacion y me gusta practicar cada lenguajes de programación diferentes para microcontroladores, como cada lenguajes algunos son gratis como el Mplab y otros Pagos como pic basic pro, css, etc  entonces quise practicar con el lenguaje bascomo avr con su version de prueba  con 4k lineas de codigos suficiente para  practicar con pequeños programas para micros  de avr.

con la ayuda  de los tutoriales empeze hacer mi pequeño programa  para ver como me   funcionaba  y mira que no me estaba compilando  por errores en las sentencias, acudi al foro para ver si me ayudaban a corregir  los errores del programa mas no solicitar a que me hicieran el programa con xxxx caracteristicas  por  que esto NO  es permitido por las reglas del foro.

ademas le agradezco por haberme ayudado cuando hizo la correccion del programa, tambien menciono que el programa contiene muchos errores, luego   me muestra un codigo   que es casi igual al que hice, en tu codigo  utiliza un atmega88, cambias los pines de configuracion lcd con los pines del micro, tu codigo funciona, pero  mi objetivo es no copiarme de tu codigo compilarlo grabar el hex al  micro y fin de la historia, mi objetivo es saber por que mi programa no me esta funcionado como yo lo deseo, he comporado tu codigo junto con el mio para ver que instruccion es la que me esta faltando, pero no logro ubicarla por esta razon  realizo consultas a los expertos para sus orientaciones , mira otra cosa cuando mencionaste  sobre las 2 resistencias y el potenciometro  te respondi  es un divisor de voltaje por que el Adc no puede recibir mas de 5vcd, por eso utilice 4 resistores de 10k y gnd..

el regulador que he utilizado es el lm350k internamente el entrega en su salida 1.25 vcd  establecido por el regulador, mi objetivo no es que el voltaje llegue a 0  sino el voltaje que entrega  la fuente cuando giro el potenciomentro este voltaje debe pasar por el divisor de voltaje de los 4 resistores de 10k y gnd para que el Adc del atmega lo pueda interpretar y visualizarlo en el display lcd 16*2.

mi programa no lo esta  realizando, tambien me llama la atencion sobre un proyecto que tu mismo publicaste sobre un cargador automatico para bateria de 12Vdc que no te estaba funcionando como tu lo querias, y te ayudaron un moderador local de este  mismo foro  y otro persona de otro foro  te orientaron  y lograste que tu proyecto  funcionara como lo deseabas, y publicaste las fotos de tu proyectos, ves recibiste ayuda de otros experpetos programadores y lograste tu objetivo, como te dije anteriormente no me voy a copiar de tu programa y grabarlo y asi no voy aprender nunca, ademas te envie una imagen donde te visualizaba la simulación de la fuente con el regulador, el medidor de voltaje  y el divisor de voltaje con sus resistores de 10k y gnd para el Adc del atmega  para que vieras como lo estaba conectando, la fuente trabaja sin el indicador digital, pero mi idea es aprender como trabaja los Adc y los Dac de los microcontroladores en sus señales analogica o digitales.

de todo modos muchas gracias por ayuda yo siguire investigando por otras fuentes, por ultimo no me gusto lo que dijiste que el codigo no es mio, y te mencione estoy aprendiendo es un codigo basico, lo aprendi en los turoriales de la red y en youtube y se que este lenguaje como el bascom avr  son muy pocas las personas lo manejan bueno aclaro aca en colombia este lenguaje es no es muy comercial y no se en otros paises de latino america o en europa.

nuevamente gracias por la ayuda y hasta la proxima oportunidad