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

Avatar de torres.electronico

D@rio dijo: Ver Mensaje
ah, bueno, aqui encontre un pequeño programita que hice para un 12f675 y ahi tiene los fuses configurados, el problema era que habia perdido el codigo de calibracion del oscilador interno del pic, el que aparece en la ultima linea del .hex, fijate si te sirve. saludosss
Curso de programación de PIC en PICBasic Pro

Recien mire el topico completo, pero de esta manera, osea por oscilador interno, no lo podria usar en 20Mhz:

@ DEVICE pic12F675,
intrc_osc, wdt_off, pwrt_on, mclr_off, bod_off, protect_off

DEFINE OSC 4
DEFINE OSCCAL_1K 1


Ahora voy a ver si encuentro ejemplos basicos con FUSES y configuracion de puertos, por que como te comente, solo fueron un par de veces que use este tipo de pic y no me acuerdo nada...
Tengo que acordarme como activar el ADC y como configurar GPIO ya sea como entrada o como salida asi ya puedo pasar todo de un micro al otro... supuestamente, para hacer el pasaje de un pic a otro, tengo que anexar oscilador externo, configurar el ADC0 para usarlo como entrada analogica y configurar un puerto como salida digital y de ahi sacar el PWM... en pocas palabras parece simple, pero tengo que refrezcar la memoria al parecer
Para la version del pic grande, ahora estoy trabajando con una nueva BETA, que lo que hace es transformar una lectura en 4-20mA... osea, lee un valor analogico, lo guarda como valor max y lee otro valor como min... con eso sacamos los 4-20mA y el resto de la escala, es conversion... Seria otra de las tantas maneras de encarar la lectura del sensor HOME MADE sin importar si la saldida de este es o no 4-20mA
04/05/2014 #2762


Hi torres.electronico, de esta manera recientemente use un 12f683 con ADC configurado a 10bit, espero que te sirba de algo ya que tiene los fuses, las configuracion del oscilador interno, ADC y como poner los diferentes pines como salida (GPIO).
'Config de Fuses
@ DEVICE PIC12F683
@ DEVICE PIC12F683, FCMEN_OFF
@ DEVICE PIC12F683, IESO_OFF
@ DEVICE PIC12F683, WDT_ON
@ DEVICE PIC12F683, BOD_ON
@ DEVICE PIC12F683, PWRT_ON
@ DEVICE PIC12F683, PROTECT_OFF
@ DEVICE PIC12F683, MCLR_OFF
@ DEVICE PIC12F683, INTRC_OSC_NOCLKOUT
@ DEVICE PIC12F683, BOD_ON
'Config parametros ADC
DEFINE ADC_BITS 10 'Numero de bits ADC
DEFINE ADC_CLOCK 1 'Reloj ADC interno
DEFINE ADC_SAMPLEUS 30 'Tiempo ADC
'Config de Registros
OSCCON=%01100001 'Calibrar el oscilador interno a 4Mhz
CMCON0 = 7 'Comparador OFF, salida como digitales
ADCON0=%10000000 'Resultado AD justificado a la derecha
ANSEL = %00110011 'AN0,AN2 analogico, los demas digitales
TRISIO = %11001011 'GP0,GP1,GP3 Entrada,GP2,GP4,GP5 salida
GPIO = 0 'Apago los puertos GP0
04/05/2014 #2763

Avatar de torres.electronico

Buenisimo gracias por ahorrarme un buen rato ... consulta para ver si entendi la configuracion...
Para implementar GP0 como entrada analogica,GP1,GP3,GP4,GP5 como entradas digitales y GP2 como salida de pwm or software, se configuraria asi?

'************************************************* ****
'Config de Fuses
@ DEVICE PIC12F683
@ DEVICE PIC12F683, FCMEN_OFF
@ DEVICE PIC12F683, IESO_OFF
@ DEVICE PIC12F683, WDT_ON
@ DEVICE PIC12F683, BOD_ON
@ DEVICE PIC12F683, PWRT_ON
@ DEVICE PIC12F683, PROTECT_OFF
@ DEVICE PIC12F683, MCLR_OFF
@ DEVICE PIC12F683, INTRC_OSC_NOCLKOUT
@ DEVICE PIC12F683, BOD_ON
'Config parametros ADC
DEFINE ADC_BITS 8 'Numero de bits ADC
DEFINE ADC_CLOCK 1 'Reloj ADC interno
DEFINE ADC_SAMPLEUS 30 'Tiempo ADC
'Config de Registros
OSCCON=%01100001 'Calibrar el oscilador interno a 4Mhz
CMCON0 = 7 'Comparador OFF, salida como digitales
ADCON0=%10000000 'Resultado AD justificado a la derecha
ANSEL = %00110001 'AN0,analogico, los demas digitales
TRISIO = %11111011 'GP0,GP1,GP3,GP4,GP5Entrada,GP2 salida
GPIO = 0 'Apago los puertos GP0 - osea, GP2
'************************************************* ****
Gracias por tu tiempo, saludos
04/05/2014 #2764

Avatar de reyvilla

Hola amigo torres manejo los pic12F bastante bien, si quieres coloca el código que quieres pasar del pic grande al mas pequeño para echarte una mano...saludoss
05/05/2014 #2765

Avatar de torres.electronico

reyvilla dijo: Ver Mensaje
Hola amigo torres manejo los pic12F bastante bien, si quieres coloca el código que quieres pasar del pic grande al mas pequeño para echarte una mano...saludoss
Hola Rey, gracias por la mano que me das… Te comento que justo ahora me trabé con la reforma /mejora del proyecto… o sea, , me trabe por que la técnica de punto flotante que implemente anteriormente no sé si me desborda o se pierde PBP y no puedo hacer la función mas importante de esta mejora, que sería grabar una señal de referencia máxima, una señal de referencia mínima, y a partir de estas dos señales, sacar el porcentaje promedio para compararlo con una tabla y sacar una señal analógica 4-20mA (1-5v) , que básicamente, en realidad me da una salida de 20 niveles (4mA-4,5mA-5mA-etc. etc. hasta 20mA) y al referirme como salida analógica, me refiero más a lo conceptual, que a lo real.
Matemáticamente, se hace así:
Aux1 = lecturaADCmax – lecturaADCmin
Aux2 = Aux1 / lecturaADCmin
Aux2 = Aux2 * 100
Teniendo esta parte terminada, lograría mejorar la función transductor, ya que la función transmisor, esta lista y funciona bien.
A la tarde te paso lo que ya funciona, gracias
26/06/2014 #2766

Avatar de Nano24

Por aqui les dejo un voltimetro que realice con un pic16f877a esta un documento pdf como lo realice y una carpeta con el pbp, hex y la simulacion en proteus.
Archivos Adjuntos
Tipo de Archivo: zip Voltimetro de 0v a 29v PicBasic.zip (212,7 KB (Kilobytes), 152 visitas)
26/06/2014 #2767


Una consulta como seria para sacar el valor promedio de una lectura adc, por ejemplo tomando algunas 50 muestras del adc..
Agradeceria sugerencia como guia para guiarme gracias..
26/06/2014 #2768

Avatar de papirrin

Una consulta como seria para sacar el valor promedio de una lectura adc, por ejemplo tomando algunas 50 muestras del adc..
pues saca dos muestras y vas promediando, no importa si son 10 20 50 o 10000, siempre es un promedio, son matematicas de primer nivel
26/06/2014 #2769


blackpic dijo: Ver Mensaje
Una consulta como seria para sacar el valor promedio de una lectura adc, por ejemplo tomando algunas 50 muestras del adc..
Agradeceria sugerencia como guia para guiarme gracias..
Haz un lazo o bucle for next, mas o menos asi:

promedio=0 'al inicio promedio es cero
for cnt=1 to 10 step 1 '10 es el numero de muestras
gosub muestrear 'va a tomar muestra de un pin ADC y guarda en "valor_ADC"
promedio=valor_ADC+promedio 'sumas y sumas
next cnt

promedio=promedio/10 'promedias
26/06/2014 #2770


Gracias por sus respuesta...
26/06/2014 #2771
Moderador

Avatar de D@rkbytes

blackpic dijo: Ver Mensaje
Una consulta como seria para sacar el valor promedio de una lectura adc, por ejemplo tomando algunas 50 muestras del adc.
Agradecería sugerencia como guia para guiarme gracias.
Mira este ejemplo por aquí: ADC Promedio

Saludos.
11/07/2014 #2772

Avatar de Nano24

Alguien sabe si esto es posible? Desde hace tiempo he querido saber como se puede grabar sonidos en un pic, segun me encontre este video y veo que si, pero como se hace esto?


Otra pagina encontré un programa llamado BTCSound transforma un archivo wav en bits, lo saca en lenguaje Assambler, pero lo hace demasiado extenso que ni se puede guardar en el pic dicho lenguaje generado.

http://www.romanblack.com/picsound.htm
12/07/2014 #2773
Moderador

Avatar de D@rkbytes

Nano24 dijo: Ver Mensaje
¿Alguien sabe si esto es posible? Desde hace tiempo he querido saber como se puede grabar sonidos en un pic, según me encontré este video y veo que si, pero como se hace esto?
No creo que sea cierto lo que está haciendo ese PIC.
Dice que le está metiendo música en formato MP3 y aunque el MP3 sea un formato comprimido, se necesita mucha memoria para almacenar tantas canciones o fragmentos de ellas en la poca memoria de un PIC.
(Suficiente para lo que realmente puede hacer un PIC)

Aparte hay que tomar en cuenta el algoritmo de decodificación y eso en un PIC resultaría muy complicado, si no es que imposible.
Tal vez se pueda controlar un reproductor de MP3, pero que el PIC lo haga todo, no lo creo.
Para eso están los dsPIC pero no es nada sencillo. dsPIC MP3 Decoder [PIC24]
Nano24 dijo: Ver Mensaje
Otra pagina encontré un programa llamado BTCSound transforma un archivo wav en bits, lo saca en lenguaje Assambler, pero lo hace demasiado extenso que ni se puede guardar en el pic dicho lenguaje generado.
Ese programa si funciona pero utiliza bancos externos de memoria para almacenar hasta 1MBit.
Necesitas estudiarlo muy bien o comprar el TalkBotBrain para reproducir los sonidos.
Como quiera no se me hace nada fácil llevar a cabo un proyecto similar y se requieren muchos conocimientos sobre archivos wav y algoritmos de codificación y decodificación.

Saludos.
12/07/2014 #2774

Avatar de COSMICO

El programa si funciona, pero la calidad del audio, que sale del PIC es muy mala, el código que genera el
BTSC es asembler, pero muy extenso para poder grabar toda una canción en el micro.
Creo que en el mismo programa hay un ejemplo de filtro para usarlo en el PIC.
Personalmente pienso que es mejor usar un Dspic para este tipo de trabajo.
13/07/2014 #2775

Avatar de Nano24

D@rkbytes dijo: Ver Mensaje
No creo que sea cierto lo que está haciendo ese PIC.
Dice que le está metiendo música en formato MP3 y aunque el MP3 sea un formato comprimido, se necesita mucha memoria para almacenar tantas canciones o fragmentos de ellas en la poca memoria de un PIC.
(Suficiente para lo que realmente puede hacer un PIC)

Aparte hay que tomar en cuenta el algoritmo de decodificación y eso en un PIC resultaría muy complicado, si no es que imposible.
Tal vez se pueda controlar un reproductor de MP3, pero que el PIC lo haga todo, no lo creo.
Para eso están los dsPIC pero no es nada sencillo. dsPIC MP3 Decoder [PIC24]

Ese programa si funciona pero utiliza bancos externos de memoria para almacenar hasta 1MBit.
Necesitas estudiarlo muy bien o comprar el TalkBotBrain para reproducir los sonidos.
Como quiera no se me hace nada fácil llevar a cabo un proyecto similar y se requieren muchos conocimientos sobre archivos wav y algoritmos de codificación y decodificación.

Saludos.
En pocas palabras seria muy dificil hacer un proyecto asi entonces, gracias por la respuesta amigo, bueno por aca te dejo este video segun el autor dice que genera con PWM los sonidos, la verdad le quedo excelente.

13/07/2014 #2776
Moderador

Avatar de D@rkbytes

Nano24 dijo: Ver Mensaje
En pocas palabras seria muy dificil hacer un proyecto asi entonces, gracias por la respuesta amigo, bueno por aca te dejo este video segun el autor dice que genera con PWM los sonidos, la verdad le quedo excelente.
Así es, más que nada la limitación es por la memoria.
Ese video ya lo había visto por alguno de los post del Foro dónde se ha tratado esto. Está bien ese proyecto.

Si te interesa, aquí hay un proyecto más sencillo porque usa dos programas como herramientas, pero es en C (Hi-Tech for PIC18)
PIC sound player (PCM to PWM converter)
Lo he probado personalmente y si funciona, se pueden generar sonidos cortos a partir de archivos wav.
Previamente hay que convertir los archivos *.WAV a *.PCM con el programa MPlayer
El autor del proyecto adjunta un programa para convertir los archivos PCM a archivos *.H
Éstos archivos son los que se agregan al programa para generar los sonidos por medio de PWM.

El proyecto tiene sus limitaciones en cuanto al tamaño de archivos *.h generados (Unos 50Kb. Aprox.) o tal vez menos, no he realizado muchas pruebas por lo tedioso de estar grabando, convirtiendo y compilando, pero con las pruebas que hice me entretuve buen rato.

Suerte.
13/07/2014 #2777

Avatar de papirrin

Yo creo que seria mas facil y barato con uno de estos:

http://articulo.mercadolibre.com.mx/...ino-picavr-_JM
cuestan algo asi como 10USD.
13/07/2014 #2778

Avatar de COSMICO

Módulo Sintetizador de voz, es una buena idea, pero costoso.
Los sonidos generados en el video arriba, son algo como tipo Midi, eso si lo genera muy fácil el pic, existen librerias para notas musicales en Ccs, Pic Basic, Proton, Mikrobasic; Mikroc entre otros, que hacen más facil el trabajo.
14/07/2014 #2779

Avatar de Nano24

A fin de cuentas veo que seria mejor usar el modulo y así no complicarme tanto la vida entonces, se ve muy complicado con los otros programas también

COSMICO dijo: Ver Mensaje
Módulo Sintetizador de voz, es una buena idea, pero costoso.
Los sonidos generados en el video arriba, son algo como tipo Midi, eso si lo genera muy fácil el pic, existen librerias para notas musicales en Ccs, Pic Basic, Proton, Mikrobasic; Mikroc entre otros, que hacen más facil el trabajo.
Las librerias para Picbasic como cuales serian?
14/07/2014 #2780

Avatar de COSMICO

La libreria SOUND, de la cual hay un ejemplo en el PBP, sirve para tal proposito.
¿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 - 2016, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.