TODOPIC
Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: FOKKER en 24 de Febrero de 2014, 10:47:27
-
Buen dia a todos, les escribo porque tengo un problema al programar dicho PiC, al conectar el integrado (PIC) en el ZIF, el quemador (TMProg 2.0) lo detecta normalmente, se configura automaticamente, cargo el .HEX y lo grabo, le hago un "verificar todo" y da ok. Pero al probar el PIC en la placa del proyecto no funciona. :5] :5]
Soy nuevo en esto y es mi primer proyecto con PICs les agradeceria me orienten, ya revise el circuito impreso y esta bien hecho, no hay errores en el mismo.
Gracias!!!
-
Podrias indicarnos el cristal que estas usando o si estas usando el oscilador interno?
Asi como tambien la configuracion de fuses en el PIC?
Si te es posible coloca el codigo.
Elreypic.
-
Y si es que tienes habilitado el pin MCLR y lo conectas a VCC.
-
Pero al probar el PIC en la placa del proyecto no funciona.
Disculpa, pero ¿estas seguro de que el programa funciona?.
Si lo has escrito tu y lo has simulado y allí te funciona, pero no en la vida real, puede que sea el tema del oscilador o el MCLR, ya mencionados, ya que esos "detalles" no son tenidos en cuanta por los simuladores.
Si no lo has simulado y lo has escrito tu, puede que el error se encuentre en el programa y no en el micro.
Si el programa ya le ha funcionado a alguien mas, puede que estés "conectando" algo mal.
el quemador (TMProg 2.0)
No lo conozco, ¿que software utiliza? ¿¿has seleccionado correctamente los bits de la palabra de configuración?
-
Hola muchachos!! Gracias por su ayuda!!!
Les cuento, estoy usando el oscilador interno del PIC (creo que lo estoy usando, soy nuevo y nunca programe, estoy aprendiendo sobre la marcha). No se que son los fuses... :oops:
El proyecto es el Simon de la pagina "electronica pic" y segun se ve funciona, revise el pcb y esta bien, sin errores.
El programador es el TMProg 2.0 y utiliza un soft con el mismo nombre y se configura solo (tiene opciones para configurar/desconfigurar manualmente).
Les agradecere toda info sobre el tema.
Saludos!!!
P.D: Les dejo una foto de mi programador:
-
Les cuento, estoy usando el oscilador interno del PIC (creo que lo estoy usando, soy nuevo y nunca programe, estoy aprendiendo sobre la marcha). No se que son los fuses... :oops:
Los fuses son los bits de configuración que posee cada microcontrolador. Según como se configuren dichos bits, el micro se comportará de una u otra forma.
Por ejemplo el bit MCLR sirve para configurar el pin MCLR para que funcione como MasterClear o como pin de entrada. Si está activada la función de MasterClear, dicho pin tiene que tener un valor de VCC para que el micro opere normalmente.
Es recomendable tener a mano el datasheet del microcontrolador que se esté utilizando, para saber cuales son las posibilidades de configuración. También es bueno leer el datasheet para saber que registros intervienen en la utilización de los distintos periféricos que posea el PIC, o los registros necesarios para las interrupciones.
-
Hola angelgris!!
Muchas gracias por tu explicacion!! De a poco me voy enterando como es la cosa... me baje el datasheet pero me parece que necesito un libro de programacion "desde cero" :oops: :oops:. Esta noche voy a investigar sobre la pata que me decis y despues les cuento!!
Toda info es bienvenida gente!!
Gracias!!!
-
Hola muchachos!!!
Les cuento, he cargado en el PIC distintos codigos que saque de la web y ninguno funciona en la placa del proyecto... Recaliente dije: "vamos a probar en el protoboard" :5], arme el circuito en el board (guiandome con el mismo esquematico que use para hacer la PCB). Cuando alimente el circuito los 4 leds encendieron (en el pcb no enciende ninguno) pero, al pulsar cualquiera de los 4 botones se apagan, cuando suelto los botones vuelven a encenderse... :shock:
Probe de agregarle el oscilador externo al PIC (en el protoboard) y hace lo mismo, probe de conectar la pata 4 a Vcc y hace lo mismo.... :shock:
Les agradecere su ayuda.
Saludos!!!
-
Vayamos por partes entonces... Sube tu programa usando la opción GeSHi del editor de mensajes. Sube una captura de tu circuito, de ser posible dibujado con algún soft de electrónica. Puedes también subir una imagen de tu placa y también una de tu circuito en el protoboard.
Creo que podrías estar teniendo varios problemas.
-
pero me parece que necesito un libro de programacion "desde cero" .
Si, aparte de lo que te dice AngelGris, en el foro hay cursos de programacion en asm, basic y C, dinos en cual quieres aprender y te ponemos un enlace a esos cursos. Lo mejor para empezar es tener un poco de idea de programacion.
-
Hola Tapi8!! Como estas??
Me gustaria aprender el lenguaje que mas se use (no se cual es el que mas se usa :oops:), por lo pronto me gustaria usar micros Pics y Atmega. Agradeceria me orienten porque no se para que lado correr. :z)
Gracias a todos por su paciencia!!!
-
El lenguaje dependerá un poco del gusto personal, de la facilidad de aprender, de la facilidad de uso... y de varios factores más.
Yo empecé programando los PIC en asm que es bastante más complicado que C, pero tienes el control de los ciclos de instrucción que consume tu programa y por lo tanto sabrás cuanto tiempo se te consume en hacer algo. El lenguaje C es mucho más fácil de interpretar y se pueden hacer cosas que serían complicadas de una forma sencilla (como el manejo de variables tipo float).
Existe Basic y Pascal para PICs
Para lenguaje C hay distintos compiladores, CCS, XC8 (de microchip, para micros de 8 bits), XC16 (de microchip, para micros de 16 bits), XC32 (de microchip, para micros de 32 bits), MicroC, SDCC (para los PIC 18F).
Los siguientes libros en formato digital los encontré en internet y están bastante bien.
"An introduction to programming PIC in C"
"An introduction to programming PIC in C CCS"
"Compilador C CCS y simulador Proteus para microcontroladores PIC"
"Programming 8 bit PIC microcontroller in C"
-
AngelGris!!
Gracias por la info!! De a poco todo me va quedando mas claro, creo que voy a empezar con "C" y vere. Voy a buscar los libros que me indicas. Les agradezco a todos la gran mano que me estan dando!!
-
Aparte delo que te indica AngelGris tambien tienes aqui en el foro estos, a mi me parecen buenos:
http://www.todopic.com.ar/foros/index.php?topic=14634.0
El primero, que seguramente es el mas sencillo, esta hecho con el 16f648 que es casi gemelo del 16f628, seguramente puedas aprovechar muchos programas casi directamente...
-
Buen dia a todos!!!
Gracias Tapi8!! Muchas gracias a todos por ayudarme!!
Abrazos!!
-
Este PIC que estas usando es el que generalmente se usa para conocer los PIC, podes encontrar muchos ejemplos en la web, tambien del 16F84 que es a quien reemplaza.
Por la cantidad de memoria que tiene para programa no es muy recomendable usar un lenguaje de programación de alto nivel, como puede ser el basic, nipple, o C, aunque el C resulta a veces con programas que ocupan menos memoria que los demas porque esta mas optimizado.
Yo te diria que aproveches este PIC para programarlo en ASM y conozcas desde cero como funcionan los PIC y luego cuando te pases a otro lenguaje vas a programar mucho mas facil, te lo aseguro ;-)
Por el tema de tu programa que no te funciona, es preferente que empiecen con un ejemplo simple y luego vallas aumentando la complejidad, un programita del tipo "Hola mundo", pulso botón -> enciendo led y esas cosas asi simples.
Con eso compruebas que el hardware anda y luego saltas a algo mas complejo.
Y como te dijeron por ahí, compartenos el circuito y el programilla que usas para asi podemos ayudarte mejor.
Animo que no todo sale a la primera ;-)
-
Hola Willy!!
Gracias por tu explicacion!! Me viene muy bien tanta info!!
Ahora te cuento a vos y a los colegas del foro, el proyecto es el siguiente:
http://electronica-pic.com.ar/simon-dice-juego-electronico-clasico-4-botones/#more-297
En el enlace esta todo lo que estoy usando, aunque creo que el error esta en el archivo HEX (las ultimas 2 lineas...pura intuicion nada mas). Te mando un abrazo y GRACIAS!!
-
Las últimas dos líneas comienzan por ";" por lo tanto son comentarios y éstos no son tenidos en cuenta en la programación del PIC
-
Hola AngelGris!!
Gracias por la aclaracion!! Me parecian raras esas dos lineas porque siempre las veo al principio... igual, al abrir un archivo HEX no entiendo nada de nada :oops:, en cambio en los archivos Asm "algo" se puede leer.... :mrgreen:
Abrazo!!!
-
Hola AngelGris!!
Gracias por la aclaracion!! Me parecian raras esas dos lineas porque siempre las veo al principio... igual, al abrir un archivo HEX no entiendo nada de nada :oops:, en cambio en los archivos Asm "algo" se puede leer.... :mrgreen:
Abrazo!!!
Claro!!!! el asm está escrito en un lenguaje de programación, el HEX es casi el código de máquina tal cual quedará escrito en el microcontrolador.
-
La verdad, ya no tengo idea que es lo que puede estar pasando con mi Simon, como ya les conte, en la placa armada ni encienden los leds (aunque pulse los botones) mientras que en el protoboard apenas alimento se encienden los 4 leds y al pulsar cualquier boton se apagan todos (ya revise la placa y el armado en protoboard, ambos montajes estan bien). No tuve tiempo todavia de sentarme otra vez a seguir probando (tengo 2 trabajos :(), este finde largo les subo unas fotos de la placa y el protoboard.
Lo que probe hasta ahora:
*Puse el pin 4 a Vcc mediante resistencia de 10k.
*Probe de agregarle el oscilador externo con un cristal y 2 capacitores.
*Super recontra filtre la alimentacion del PIC con capacitores.
*Regrabe varias veces los PIC (estoy probando con 2 PICs 16F628A porque pense que el primero estaba quemado).
Con todos estos intentos les puedo decir que sigue todo igual.... :oops:
Saludos!!!!
Gracias AngelGris!! Gracias muchachos!!
P.D: AngelGris.... Te llamaras asi por el libro de Dolina?? :mrgreen: :mrgreen:
-
Que suerte que tengas trabajo!!!!!!! Yo estoy que camino por las paredes porque no consigo laburo.
Me defiendo como puedo haciendo reparaciones en TV, DVD, Audio, PC.
Habíamos empezado (con dos socios) a fabricar pedales valvulares para Guitarra, pero con todo el problema de la importación se nos fueron los costos a las nubes.
-
Hola a todos!!!
Estuve probando el tema del Simon que no me funciona y he descubierto lo siguiente:
Despues de grabar y regrabar los Pics infinidad de veces, he probado de poner en el protoboard un PIC en blanco (lo compre y lo probe, SIN GRABARLO) y descubri que hace lo mismo que con los PIC supuestamente cargados con el codigo :shock: :shock:, (o sea, es como que mi grabador no graba)...
Sera que me olvido de algun paso despues de grabar el PIC? O sera que mi grabador no graba??? :5] :5] :5]
Saludos!!
P.D: AngelGris, por MP te paso un mail para que me mandes tu C.V, a ver si puedo hacer algo por vos.
-
¿El soft de tu programador tiene algún control como para activar manualmente los pines de VCC y VPP? como para ver si se generan las tensiones necesarias para la programación del pic.
Ahora mismo lo estoy descargando para ver si encuentro algo que pueda ayudar.
Gracias por el MP.
-
Hola AngelGris!!
La activacion manual que decis la encontre en la seccion "Prueba" (adjunto captura), ya probe todo (hasta cambie el cable usb) y sigo igual... ya no se que mas probar :z) :z)
Saludos y gracias!!
-
Yo haría la siguiente prueba con el programador conectado al PC, pero sin pic.
Usar las opciones de prueba y habilitar tanto VPP como VCC. Medir tanto en el conector ICSP como en el zócalo si aparecen dichas tensiones.
¿Windows te reconoce el programador al conectarlo? Puedes intentar la detección del dispositivo para ver si reconoce el PIC conectado al programador, ya sea a través del conector ICSP o insertado en el zócalo
-
Hola AngelGris!!
He medido como decis, las tensiones que aparecen son: (Seleccionados los voltajes Vpp: 13V / Vdd: 5V en el selector del programador).
Vpp: 12,88V
Vdd: 4,65V
Estan bien creo yo, los medi tanto en el conector ICSP como en el zocalo.
En la pata 4 del PIC hay 12,88V
Saludos!!
-
¿Están los 5V en el pin 14? ¿Con cuanto estás alimentando el circuito cuando intentas probar el programa?
-
En el pin 14 hay 4,66V. Al circuito del prototipo (juego) lo alimento con 3,6V (ya lo probe con 4,5V y hace lo mismo).
El programador se alimente desde el usb.
-
Tal vez esté jorobando el bit de configuración BOREN. Desde el soft del programador puedes ver que bits de configuración quedan seteados; uno de ellos es BOREN. Prueba destildando dicho bit y programar el PIC. Una vez programado intenta leerlo para ver si lee bien toda la memoria.
¿Intentaste la detección del PIC por parte del soft programador?
-
Lo del BOREN creo que lo hice, igual, ahora intento otra vez.
El soft me detecta el PIC y hasta me configura los fuses para grabarlo, pero tampoco funciona...
El archivo Hex estara bien????
-
Supongo que el HEX ha de estar bien, al menos algunos comentarios en el link que dejaste decían que les había funcionado.
-
Bueno, ahora se graba el PIC, lo puedo leer. Pero sigue todo igual....
Tan dificil es?? O soy yo que soy flor de nabo?? :oops: :oops:
-
Tal vez haya algún problema con la placa y/o si utilizas el protoboard en ocasiones aparecen falsos contactos.
Estando tanto en la placa y/o en el protoboard mide la tensión en el pin de VCC.
¿Lo estás alimentando con baterías? De no ser así, prueba de colocar un capacitor de filtrado de VCC.
-
Buen dia AngelGris!!!
Te cuento, el aparato YA FUNCIONA!!! :mrgreen: Lo termine en la madrugada de ayer (Martes 04/03, a las 04:45 hs). No escribi la buena noticia porque no tenia internet... :5] (es asi, cuando llueve o hay viento me quedo sin internet, sin telefono de linea y en el celu solo tengo 2G... :5]). Ahora estoy en la oficina.
Hice borron y cuenta nueva, empece de cero, como tenia duda de la integridad de los PIC probe armando un circuito de semaforo con leds en el protoboard, cargue el codigo en los 3 PICs con los que tenia problemas y.... funciono!!!! Los PICs estan bien me dije!!! :lol:
Paso siguiente cargue un PIC con el codigo que tenia problemas, lo probe y el Simon arranco de 10!!! :-/ :-/ El problema estaba en la configuracion de fuses que me daba el soft del programador (cuando detecta el PIC, automaticamente configura los fuses); toqueteando los fuses solucione el problema!! :D :D
Cargue los otros 2 PIC con el mismo codigo y andan los 3!!! En la placa y en el protoboard. :-/ :-/
Quiero agradecerte por tu paciencia y el tiempo que me dedicaste para sacar el problema adelante!! ((:-))
Gracias!!!! :mrgreen: :mrgreen:
-
Buen dia AngelGris!!!
Te cuento, el aparato YA FUNCIONA!!! :mrgreen: Lo termine en la madrugada de ayer (Martes 04/03, a las 04:45 hs). No escribi la buena noticia porque no tenia internet... :5] (es asi, cuando llueve o hay viento me quedo sin internet, sin telefono de linea y en el celu solo tengo 2G... :5]). Ahora estoy en la oficina.
Hice borron y cuenta nueva, empece de cero, como tenia duda de la integridad de los PIC probe armando un circuito de semaforo con leds en el protoboard, cargue el codigo en los 3 PICs con los que tenia problemas y.... funciono!!!! Los PICs estan bien me dije!!! :lol:
Paso siguiente cargue un PIC con el codigo que tenia problemas, lo probe y el Simon arranco de 10!!! :-/ :-/ El problema estaba en la configuracion de fuses que me daba el soft del programador (cuando detecta el PIC, automaticamente configura los fuses); toqueteando los fuses solucione el problema!! :D :D
Cargue los otros 2 PIC con el mismo codigo y andan los 3!!! En la placa y en el protoboard. :-/ :-/
Quiero agradecerte por tu paciencia y el tiempo que me dedicaste para sacar el problema adelante!! ((:-))
Gracias!!!! :mrgreen: :mrgreen:
El paso correcto sería primero detectar el PIC con el programador y luego importar el HEX. En el caso del simon, en el HEX se encontraban los bits de configuración, por lo tanto automáticamente se configuraban correctamente.
Por ello siempre conviene poner los bits de configuración en el código del programa.