¿Qué debería preferir para mi primer Robot, AVR o 8051?

En lugar de dar una respuesta directa, voy a sugerir algunos de los pros y los contras de los microcontroladores que ha sugerido.

8051

Un microcontrolador de uso común que se enseña en la mayoría de las universidades de ingeniería.

barato y comúnmente disponible en el mercado.

Está disponible en formato de inmersión de 40 pines que se puede usar fácilmente para construir su circuito en una placa de pruebas o una placa de punto / perf.

Gran cantidad de código disponible en línea.

El desarrollo de software puede hacerse por cualquiera

  • Kiel uVision IDE, (Comercial)
  • Compilador SDCC Small Device C (fuente abierta)
  • AVR Studio (para AT89sxx) (Freeware)
  • BASCOM

Programado en C incrustado, básico y ensamblado.

Para programar el chip, tendrá que comprar un programador separado que se pueda conectar a su puerto USB / serie.

Algunos derivados del 8051, como el P89V51, se pueden programar en serie utilizando un puerto serie de PC o un convertidor de USB a serie. Tendrá que construir un pequeño circuito de programación utilizando algunas resistencias y transistores.

La mayoría de los derivados 8051 como P89v51, AT89s51 / 52 no tienen ninguna compilación en ADC .

Entonces, para tratar con señales analógicas, deberá conectar un ADC (generalmente ADC0804 / 0809) para convertir sus señales analógicas a digitales.

Si está utilizando ADC0804 / 0809, deberá conectarlos mediante un bus de paralaje de 8 bits que requerirá 8 + 2 pines de su microcontrolador de 40 pines.

Las series AT89s51 / 52 tampoco tienen un puerto I2C y funciones de temporizador limitadas.

La RAM está limitada a 128/256 bytes.

AVR

La familia de microcontroladores AVR fabricados por ATMEL (ahora Microchip) viene con una amplia gama de opciones en

  • Tamaño de la memoria flash,
  • Tamaño de memoria RAM,
  • EEPROM
  • ADC,
  • Puertos I2C / SPI,
  • USB
  • Canales PWM.

También viene en configuraciones DIP de 40 pines y 28 pines que se pueden usar fácilmente para construir su circuito en la placa de pruebas o en la placa punto / perf.

Gran cantidad de código disponible en línea.

Buena y activa comunidad de usuarios en línea, por ejemplo, fanáticos de AVR

El desarrollo de software puede ser realizado por

  • AVR Studio (con todas las funciones, desarrollado por ATMEL, es compatible con la mayoría de los programadores / depuradores)
  • AVR -GCC (peso ligero, de código abierto, compatible con la mayoría de los chips ATMEL AVR)
  • BASCOM (compilador básico)

Programado en Basic, embebido C y ensamblaje.

Para programar el chip, deberá comprar un programador separado que pueda conectarse a su puerto USB

Los programadores ampliamente utilizados son

  • USBasp
  • USBtinyISP
  • Programador / Depuradores fabricados por ATMEL

La mayoría de los chips ATMEL AVR de 8 pines y 40 pines se han incorporado

  • ADC de 8 bits,
  • Comparadores,
  • SPI, I2C,
  • Puerto serial
  • Memoria Flash (8KB -32KB)

integrado con el chip en sí.

Arduino

Arduino es un entorno de desarrollo basado en microcontrolador ATMEL AVR que viene con una plataforma de hardware (la placa Arduino, por ejemplo: -Arduino Uno)

y un entorno de desarrollo de software, Arduino IDE.

Está programado en un lenguaje basado en C que es fácil para los recién llegados y viene con una amplia gama de bibliotecas para SPI, I2C, Ethernet, etc.

Buena y activa comunidad de usuarios en línea

No se requiere programador externo . La placa de hardware Arduino viene con Bootloader

Desarrollo de software realizado a través de Arduino IDE.

El Arduino Uno viene con un micro controlador ATmega328 de 28 pines con las siguientes características.

  • 32 kBytes Flash
  • SRAM (kBytes): 2
  • EEPROM (Bytes): 1024
  • Max. Frecuencia de operación 20 MHz
  • CPU AVR de 8 bits
  • 23 pines de E / S
  • SPI: 2
  • TWI (I2C): 1
  • UART: 1
  • Canales ADC: 8
  • Resolución ADC (bits): 10
  • Velocidad ADC (ksps): 15
  • Comparadores analógicos: 1
  • Temperatura. Sensor: sí

Mi sugerencia personal

Es mejor que no use microcontroladores basados ​​en 8051 (AT89s51) para construir su primer proyecto de robot.

Un gran problema es que no tiene ningún periférico incorporado como ADC en 8051, por lo tanto, si planea procesar señales analógicas, primero tendrá que conectar un ADC con 8051, que debe construir y depurar en un tablero o placa de pruebas. .

Pasará mucho tiempo conectando varios periféricos con su 8051 en lugar de construir su robot.

Mi sugerencia personal es utilizar un microcontrolador AVR o una plataforma Arduino al construir su primer robot.

De hecho, te sugiero que uses una plataforma Arduino sobre un microcontrolador AVR (ambos usan microcontroladores AVR).

Una de las razones por las que recomiendo un Arduino es que ya viene con

  • un microcontrolador completamente probado,
  • cargador de arranque,
  • Convertidor USB a serie
  • y un IDE fácil de usar con una gran cantidad de bibliotecas.

Esto reduciría significativamente su tiempo de desarrollo y frustración.

La depuración de hardware y software embebido puede ser bastante frustrante.

También es relativamente más barato comprar una placa Arduino y configurar el ide también es bastante fácil

Solo ve por adruino …

Tienes un entorno listo para usar.
Hay muchos programas de ejemplo que SABES que funcionarán con las placas Arduino estándar.

No necesita programador ni cables adicionales.

Cuando tenga más experiencia, puede ejecutar programas regulares que no sean de Arduino en su Arduino.

Puede convertir su Arduino en un programador de otros AVR. Y devuélvelo de nuevo. Todo con su placa Arduino original.

Mire los paquetes que vienen con algunos componentes electrónicos comunes y lo más importante, algunos cables de puente.

Puedes encontrar millones de tutoriales en arduino.

Tienes muchas opciones de placa como Arduino UNO, R3, Mega, Nano, etc. Poco después de algunos proyectos, te enamorarás de Arduino.

Instrucciones de cómo hacer bricolaje (consulte este sitio para sus proyectos)

Puede usar el hardware Arduino sin usar el software Arduino. Las bibliotecas Arduino solo usan avr-gcc debajo.

También puede usar un convertidor USB a RS232 listo para usar para comunicarse fácilmente con un AVR.

Si está trabajando en proyectos basados ​​en IOT-
entonces sugiero ir a Intel Galileo, súper fácil de codificar y también compatible con arduino IDE. Incluso los códigos arduino funcionan perfectamente en Intel Galileo

Espero que esto ayude 🙂

Tampoco, opta por la serie ARM Cortex M. Estos son más populares en la industria. Podrá utilizar su aprendizaje más adelante en su vida profesional (si es un estudiante). También tendría que elegir entre un gran número de fabricantes de chips. Podrá actualizar fácilmente el chip de modesto Cortex M0 a M4 a medida que evoluciona el diseño de su robot.

STM 32 Discovery o Nucleo puede ser una plataforma de inicio buena y económica. Hay paneles adicionales disponibles para sensores, control de motores y comunicación inalámbrica.

Encontraría buenos tutoriales en YouTube.

Si no quieres mucho esfuerzo, ve con la plataforma Ardino. Tenga en cuenta que Ardino utiliza Atmega (AVR) pero abstrae la mayoría del hardware. Ardino solo se recomienda para principiantes absolutos.

Arduino