Expresate

Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:

Avisos
Vaciar todo

Ayuda con el circuito para un Atmega640

12 Respuestas
4 Usuarios
0 Reactions
5,165 Visitas
morgoz
Respuestas: 208
Topic starter
(@morgoz)
Estimable Member
Registrado: hace 19 años

Hola de nuevo!

Necesito ayuda para el diagrama del circuito de la placa de un micro Atmega640, es decir, qué condensadores poner, qué cristal, resistencias, etc. Todo en plan básico de momento. Si alguno conoceis algun link o me podeis pasar un diagrama con el circuito os lo agradecería.

Saludos!!

Responder
11 respuestas
beamspot
Respuestas: 1132
(@beamspot)
Noble Member
Registrado: hace 18 años

Hola:

Debía algo de esto, pero era cuestión de tener tiempo para ponerlo desde casa con tranquilidad. Además, la intención de esta respuesta es que sirva al máximo posible para ayudar a todos aquellos que quieran empezar a hacer sus circuitos con AVR's. Así que vamos AVeR 😉

Cosas esenciales para poner un micro AVR:

1º- Este punto es para todos los circuitos integrados CMOS como mínimo. Condensadores de desacoplo: cada pin de alimentación, o mejor, cada pareja de VCC/GND (la mayoría de AVR's los tienen emparejados) debe llevar un condensador de desacoplo lo más cerca posible de estos pines, recomendable 100nF cerámico, SMD 0805. La alimentación debe ir al condensador, y del condensador al integrado (no sólo micros, ojo). Así evitamos que las interferencias que genera el micro pasen al resto del circuito de almentación. Añadir un condensador gordito para todo el circuito, tipo electrolítico, de varios microfaradios (100uF 25V es un buen valor, según consumo) y si es posible, añadir algún otro cerámico de algún microfaradio (recomendable 4uF7 o 10uF en 1206).
2º- Seguir las recomendaciones habituales para circuitos impresos (pistas, planos de masa, etc). Poner condensadores de 100nF cerámicos en paralelo con cada electolítico (por aquello del efecto capacitivo).
3º- No olvidarse de poner AVCC (alimentación específica el puerto analógico), mejor si esta tensión se filtra (con una bobina desde VCC), pero hay que recordar que AVCC no puede diferir más de 0.3V de VCC.
4º- Poner un condensador de 100nF en AREF. No conectar nada más a este pin que no sea una referencia de tensión (incluyendo los componentes necesarios si éste es el caso), aunque esto no se estila mucho.
5º- Resistencia de 10K de VCC a Reset, y un condensador de 100nF de Reset a GND.

Otras recomendaciones, por orden de importancia (según mi criterio, claro):

6º- Conector ISP siguiendo el patillaje del AVRISP de 6 pines. No hay nada como poder programar en cualquier momento la placa... Si hay algo más conectado a estos pines (generalmente el puerto SPI o el puerto serie), debe ir con una resistencia (valor habitual entre 100 y 470 ohmios) entre el ISP/Micro y el circuito integrado externo.
7º- Tener previsto un conector para el JTAG si el micro lo permite.
8º- Dado que generalmente los pines del XTAL no tienen usos alternativos, preveer en la placa el poder poner este componente, aunque luego no se monte. Es relativamente fácil programar mal los fuses y que el micro necesite un reloj externo. Además, si hay comunicación, el reloj interno puede tener derivas térmicas (por no hablar de la calibración del mismo). Recomiendo resonadores cerámicos tipo CTSCE de Murata, que son muy pequeños, incluyen los condensadores, son baratos, y fáciles de usar. Recordad que los AVR llevan reloj interno (aunque de poca precisión si no se calibran).
9º- Es sumamente recomendable, tener un programador oficial de Amel. Más que nada, porque son rápidos, compatibles, baratos (el AVRISP MkII cuesta menos de 30€), fiables y robustos. Mi recomendación es la STK500, o incluso, el AVRDragon (aunque tenga una salud algo delicada). La ventaja de este último, es que tiene JTAG.
10º- Si se puede, usar JTAG. Mal vicio.
11º- Usar el AVRStudio última version, que es gratis y funciona de maravilla. Tengo otros IDE's para los AVR (como el IAR), pero me sigue gustando más el AVRStudio.
12º- Si no se tiene un compilador de C comprado, el WinAVR, compilador GNU GCC es gratis, muy bueno, con mucho soporte en la red, y fantástico, ya que se integra en el AVRStudio. Escribir los programas y depurarlos sobre el circuito usando un JTAG, en un solo programa, es un lujo al que es muy difícil renunciar.
13º- Ojito con el número: Tener mucho cuidado con los fuses, sobre todo los novatos.
14º- Aprender inglés (por desgracia!!) y apuntarse a AVRFreaks.net.
15º- Leerse el Datasheet.
16º- Be google, my friend.
17º- Un led de 'chivato' de alimentación suele ser útil.
18º- Imaginación...
19º- Hay otros JTAG por ahí que soportan algunos AVR's, son económicos e interesantes.
20º- A divertirse.

Beamspot.

Responder
_jm_
Respuestas: 961
 JM
(@_jm_)
Prominent Member
Registrado: hace 20 años

Me gustaría iniciarme con atmel y he estado mirando la placa de arduino, pero la veo un poco limitada al hard que lleva y temo que enseguida se quede pequeña. Además de la necesidad de un bootloader. No sé lo veo pensado más para un "informático" que para un "electrónico", con una protoboard te vale para pinchar el micro e iniciarse, y luego haces el diseño a tu gusto.

Por lo que estoy mirando otras opciones (de bajo coste en un pricipio) y el AVRISP me parece adecuado, por lo que veo sólo tienes que montar una conexión icsp en la placa del micro para programarlo (como en los pics).

Me gustaría empezar con los micros de 8 bits, alternativas a los 16f y 18f de microchip. Como no conozco nada sobre los micros de atmel me gustaría saber si con este modelo puedo programar esas alternativas, y si es posible que me dijeras con que modelos de micros empezar.

http://www.grifo.com/PROG/HBI/uk_AVRISP.htm He encontrado esta lista de micros soportados, cuáles están bien si los conoces?

O este programador se queda pequeño y es recomendable otro?

Sabes si hay algún pack de inicio como el pickit o similares?

Algún buen libro sobre el tema?

En definitiva, cuál es la mejor forma de iniciarse con este fabricante para alguien que tiene conocimientos suficientes de electrónica para diseñar circuitos con micros y de c. O sería mejor empezar con asm?

Gracias. S2

Responder
beamspot
Respuestas: 1132
(@beamspot)
Noble Member
Registrado: hace 18 años

Hola:

Por lo que se de los AVRISP (las dos versiones) que tengo sobre la mesa (en total cuatro, en estos momentos), soportan todos los microcontroladores de la família AVR y algunos de la familia 51 ('compatibles' con el viejo 8051/8031 de Intel).

El conector que sale en la página (que Atmel llama ISP en lugar de ICSP, pero es lo mismo) como ISP 6pines es el habitual y te recomendaría no hacer el de 10pines para nada.

Para empezar, te recomiento el más universal de los micros de Atmel, el ATmega16, que viene en DIP40 si lo quieres, es bastante potente, fácil de encontrar, y bastante completito, aunque no he comparado con los PIC's que tu comentas.

En lugar del AVRISP, quizás te convenga más otra herramienta que cuesta algo más, pero que es más 'barata' (más prestaciones por menos precio): la STK 500. Se trata de una placa de desarrollo que puede programar exactamente igual que el AVRISP, tiene además otras capacidades como un puerto serie extra, programación paralelo en lugar de serie, programación de alta tensión, soporta en zócalos sobre la misma todos los integrados en DIP, y con placas de expansión soporta los otros encapsulados. Tiene también 8 teclas y 8 leds, además de expansiones y conectores para todos los puertos.

Es la herramienta que uso para hacer pruebas rápidas de conceptos y cosas, con el Mega16 y el M32 (pin compatible con el M16, pero con más periféricos y más memoria). Tiene la posibilidad de actualizarse el programador con el AVRStudio cuando sale una nueva versión, de manera que se actualizan los integrados soportados.

También estoy de acuerdo con que la placa de Arduino no está pensada para gente que toque mucho hardware. Es para auténticos principiantes o gente que no estudia electrónica pero que quiere empezar a aprender sobre el tema. Eso si, esa placa parece que sí que lleva un bootloader, pues se carga a través del puerto serie (con un conversor Serie-USB).

Por cierto, hay bastentes bootloaders disponibles para programar sobre estos integrados, pero ninguno viene de serie, por desgracia. Este es uno de los puntos que menos me gustan de estos chismes. Aunque me parece haber oído que los nuevos con soporte USB quizás sí que lleven algo (sobre USB sólo) pero no estoy seguro.

Para libros, si te defiendes en inglés, hay uno de programación de micros AVR del señor John Pardue, más conocido como SileyMicros (www.smileymicros.com) que tiene una fama tremendamente buena (y un carácter no también tremendo), sobre todo si te lo compras con el butterfly (una placa de demo realmente interesante, que se puede convertir en JTAG), por un buen precio, y que te enseña a programar con el WinAVR (compilador de C gratuito) y el AVRStudio (también gratuito).

Un compañero de trabajo lo tiene y me cuenta maravillas de este.

Si te defiendes en inglés, tambien te recomiendo que te mires la página de www.AVRFreaks.net. Nunca he visto semejante soporte para ningún producto. El mismísimo Smileymicros postea a menudo por ahí, y hay algunos gurús que ayudan mucho. También hay muchas demos, links, páginas comparativas, tutoriales, etc.

Por supuesto, si necesitas ayudas sobre estos micros, seguramente algo podré aportar.

Beamspot.

Responder
_jm_
Respuestas: 961
 JM
(@_jm_)
Prominent Member
Registrado: hace 20 años

Veo que el STK 500 no es usb si no serie, a diferencia del AVRISP que si lo es, por lo que creo que voy a decidirme por uno de estos que está a $35 en digikey.

Respecto al micro creo que probaré un atmega 168 y el atmega 16 de 40 pines, una duda, en digikey veo que cada microcontrolador viene con distintas velocidades, por ejemplo puedes elegir entre un atmega 16 a 8, 10, 16 y 20 MHz. Esto se refiere a la velocidad máxima que se puede conectar? uno de 20 podría funcionar con un cristal menor?

Gracias por la respuesta. S2

Responder
Página 1 / 3
Compartir: