Estoy buscando alejarme de arduino y comenzar algunos proyectos usando microcontroladores con más funciones. Estuve mirando el PIC18F4550 por su conjunto de funciones, pero me estoy alejando de los productos PIC, principalmente porque no tengo un programador, y el picKIT es un poco caro ($ 50 para picKIT II, $ 70 para picKIT III) . No he investigado tanto sobre las ofertas de AVR, pero creo que podría querer hacerlo. Esto es lo que estoy buscando:
¿Alguien tiene alguna recomendación de una forma u otra?
Aunque el PIC18F4550 es un uC decente y hay bastantes ejemplos de su uso para USB, todavía es de 8 bits y probablemente esté en la misma "liga" que su Arduino.
Si desea un poco más de potencia, tal vez miraría el PIC24/dsPIC de 16 bits (mucho más potente y todavía disponible en el orificio pasante) o incluso el PIC32 (sin embargo, solo de montaje en superficie, y generalmente usaría C para programar él)
Pensé que el PicKit3 (supongo que te refieres a esto) no tenía un precio tan malo para los programadores, pero si quieres más barato, puedes optar por el PicKit2, que aunque ya no es compatible oficialmente, todavía se puede usar con el 99% de Gama de microchips.
También hay muchos otros programadores decentes para PIC, por ejemplo, las ofertas de Embed Inc. Si opta por las piezas de 16 bits y 3,3 V, imagino que el LProg de $ 25 sería adecuado.
Aunque los recursos en línea y un buen libro relacionado (por ejemplo, Aprender a volar el PIC24 , tenga en cuenta que está basado en C) facilitan el comienzo, me acostumbraría a leer las hojas de datos (y el Manual de referencia familiar en el caso del PIC24/dsPIC) a fondo , es una parte necesaria del uso de cualquier microcontrolador y la única forma (en mi humilde opinión) de aprender a usarlos por completo, especialmente los más complicados. Incluso el libro anterior (aunque bien escrito) pierde muchos detalles de nivel inferior.
Personalmente, juro por los chips PIC.
A menudo les digo palabrotas también.
Sí, obtienes muchos pines IO. Sí, obtienes un oscilador interno. Sí, tiene USB, CAN, SPI, I²C, ADC, DAC integrados (en algunos dsPIC), el fregadero de la cocina e incluso la luna en el dispositivo.
Por desgracia, el soporte en línea es incompleto en el mejor de los casos. Hay una biblioteca de aplicaciones bastante completa disponible para descargar, pero la forma en que se ha organizado deja mucho que desear.
¿Dices que el programador PIC es un poco caro? No es necesario. Yo uso un clon barato de eBay. No tiene todas las campanas y silbatos (sin depuración), pero funciona bien para mí y todo el software de programación principal funciona con él. El hardware es de código abierto: puede descargar los esquemas y el firmware de Microchip si lo desea. También puede descargar las especificaciones de cómo realizar la programación si desea crear su propio programador; es solo en serie, por lo que (aparte del Vpp de +12 V) debería poder crear un programador usando un Arduino.
En cuanto a otros... Sé que las nuevas placas Arduino UNO han reemplazado el chip FDTI con un chip Atmel MEGA8U2, que tiene USB incorporado. No estoy seguro de si está disponible como PDIP o no.
1 y 5: Hay muchos modelos Atmel AVR que vienen en un paquete DIP de 40 pines, que cumple con estos requisitos. Un modelo de 40 pines que estoy usando ahora tiene 4 puertos IO de 8 bits == 32 IO (si no usa ningún otro periférico)
2: El arduino puede lograr este método de programación utilizando su cargador de arranque, que es algo que siempre reside en la memoria flash del chip. Programar sobre UART (que es lo que está haciendo arduino para programar) puede requerir un poco de trabajo. Aquí hay más información sobre el cargador de arranque si tiene curiosidad. La buena noticia es que no necesitará nada de eso si usa un programador ICSP que no requiere circuitos externos.
3: Mire aquí y use ctrl+F en su navegador para encontrar piezas compatibles con USB.
4: Tanto PIC como AVR tienen un montón de recursos para el aprendizaje. Sin embargo , no intente evitar leer una hoja de datos : esto es absolutamente esencial y no sé cómo podrá arreglárselas sin ella si desea escribir firmware (ensamblaje o C) en cualquier plataforma.
5: Ver primer punto.
6: Los osciladores internos son casi una característica estándar en estos días. Nuevamente, consulte la descripción de su producto o consulte la hoja de datos para estar seguro. Ejemplo: hacer clic en una parte aleatoria en el sitio de Atmel y desplazarse por los parámetros revela un campo que le dice Calibrated RC Oscillator: yes
<-- esto significa que hay un oscilador interno.
No me preocuparía mucho sobre cuál (PIC o AVR) terminas eligiendo. De cualquier manera, lo más probable es que tengas que comprar un programador ICSP.
Me temo que si insiste tanto en el USB como en el orificio pasante, entonces probablemente se quede con AVR o PIC. La mayoría de los "grandes" usan QFP o QFN para chips con USB y suficientes pines para tener 32 GPIO. Sin embargo, usar una placa de conexión QFP no es tan difícil. Si está dispuesto a probar eso, aquí hay un par que puedo sugerir:
1) MSP430. Una buena arquitectura de 16 bits de bajo consumo, conjunto de instrucciones sano, periféricos bastante simples (IMO). Un kit de $4.30 está disponible como una introducción sin riesgos (incluye programador y depurador). Sin embargo, las partes DIP, como en el Launchpad, son bastante limitadas y tendría que ir a QFP si desea algo para sus requisitos.
2) Un chip ARM Cortex-M3 o Cortex-M0. Hay varias ofertas en el mercado, por ejemplo, la serie LPC de NXP (consulte LPCXpresso , alrededor de $ 30) o STM32 de ST (STM32VLDISCOVERY, alrededor de $ 12). Estas bellezas son de 32 bits, por lo que tienen mucha potencia, pero son algo más complejas que las de 8 bits.
¿Por qué no te quedas con Arduino, porque Arduino Due usará MCU basado en ARM Atmel SAM3U?
Si desea aprender el lenguaje ensamblador, le sugiero que obtenga un buen programador que admita la depuración. Estos son generalmente más caros ($ 50-100), pero cuando tiene un error que simplemente no puede resolver, no hay nada mejor que ver lo que sucede dentro del MicroController. Dado que viene del mundo Arduino, probablemente esté muy acostumbrado a la depuración utilizando la salida de datos a través de un puerto serie, pero especialmente si desea aprender el lenguaje ensamblador, simplemente habilitar un puerto serie sin un depurador requerirá "Codificación en la oscuridad". ".
Realmente me ha gustado el ATXMega. Muchos de los chips Atmel se pueden programar en C usando Atmel Software Framework, que tiene excelentes ejemplos y hace un gran trabajo al ocultar el uso de punteros (que es la gran ventaja con la programación de Arduino). Cumple con todos los requisitos anteriores, incluidos algunos. con USB y especialmente la E/S con 34-78 en paquetes de 44 a 100 pines, excepto que solo está disponible como montaje en superficie, pero lo he soldado a mano con un soldador, una mecha de soldadura y un aumento de 7x para verificar que no había cualquier puente de soldadura.
Me gusta mucho Atmel Studio, soy un poco parcial porque mi trabajo diario usa Visual Studio y Atmel Studio se basa en él. La depuración en Atmel Studio es realmente agradable con todos los registros de configuración y sus estados claramente visibles. He podido probar PCB fabricados a medida usando solo un método main() y el depurador.
kevin vermeer
captncraig
kevin vermeer
captncraig