Quiero aprender a usar los microcontroladores

Depende de la tarea y de los requerimientos, TI lo expone en una nota de aplicación sobre PLC, básicamente es una CPU con sus periféricos de entrada y salida con las protecciones pertinentes. El CPU puede ser desde algo tan simple como un MSP430 que es un microcontrolador o un ARM Cortex-A8 que es un procesador. Todo depende de que es lo que hará, pero no significa que un MCU no pueda hacer la tarea, la única diferencia del PLC es que es de propósito general mientras que una solución con un MCU y periféricos específicos es para una tarea especifica.

Yo en un proyecto para la materia de automatización industrial cree lo que llame uPLC, usaba un PIC16F819, pero implementaba entradas aisladas, medición de corriente de 4-20mA y salida a relevadores, use el chip por programarlo con LDMicro y asi emplear el Ladder que nos ensenaron en la clase. Claro, no podia hacer gran cosa, pero si podia usar un sensor de temperatura 4-20mA y encender los ventiladores.

En lo que mas se usa es la arquitectura de ARM, ellos no fabrican el chip, solo la arquitectura, los chips son fabricados por diversas empresas como por ejemplo para los microcontroladores esta NXP con la serie LPC, STMicroelectronics con los SMT32, Texas Instruments con Stellaris, Tiva C y Hercules (que es Cortex-R4 para aplicaciones de seguridad critica donde no se puede fallar), Freescale con la serie Kinetis, Atmel también los tiene en su serie SMART, inclusive son utilizados en el Arduino Zero (Cortex-M0+) y DUE (Cortex-M3).

Si quieres empezar puedes hacerlo con ellos, en general son escalables, por ejemplo, el Cortex-M0+ esta enfocado en bajo consumo, pero los M3 tienen todas las funcionalidades con mayor desempeño y la M4 extiende el set de instrucciones con otras para el proceso digital de señales.
 
es que no es exactamente algo especifico
digamos un ARM o un HC11 , atmega8

no es muy variado tan variado que encuentras en equipos modernos microcontroladores obsoletos , microprocesadores obsoletos, microcontroladores NO documentados , microcontroladores customizados.

en la industria industria no usan microcontroladores mas bien usan PLC y son igualmente variados.

seria buena idea que practiques C y C++ en una PC y si eres bueno programando los programas pueden correr en un obsoleto 386 o en cualquier microcontrolador.

hay quienes aprenden a usar el C como una navaja suiza a ese modo de programacion le llaman MISRA C es una forma de programacion generica
 
Nautylus dijo:
Gracias por el comentario TRILO-BYTE. ¿Entonces si hoy en día no se usan procesadores en la industria, que es lo que se utiliza? Por ejemplo, que es lo que controla a un torno de 4 ejes CNC, porque de verdad no tengo idea.
Gracias!

Esta constituido por software + Hardware por eso es Control numérico computarizado CNC, la unidad de control, que seria una interfaz es controlada por puerto paralelo, USB por PC, PLC o PAC, mas una salida de potencia que serian los drivers para los motores, y su parte mecanica para su desplazamiento en sus 3, 4, 5 o 6 ejes.

Lo que mas exige una CNC es saber diseñar en CAD tanto en 2D como 3D, vectorizar y comprender el codigo G.

Programar con Matlad para Robótica industrial y procesos industrales es la mejor herramienta.

http://m.monografias.com/trabajos14/manufaccomput/manufaccomput.shtml
 
El único consejo que te doy, no se te ocurra a enrroscarte con assembler a esta altura del partido. Si a futuro querés entender bien.... bien... bien... dale para adelante, pero eso en un paso muuuy a posterior.

Para arrancar, hacé lo que dice Trilo, empezá con C y para que te resulte fácil, desde una PC. Luego cuando más o menos tengas claro lo básico, empezá con un micro, si realmente querés meterte con algo útil, arrancá con ARM y olvidate del resto (la curva de aprendizaje pude ser más empinada...); de lo contrario si querés una curva de aprendizaje más tranquila, anda por un micro de 8 bits, yo te recomendaría un 8051 (si puede ser modernito, mejor) o un AVR.
 
apoco el 8051 se programa en C ?

yo siento que es un dinosaurio como el 16f84a no creo que dinosaurio es corto mas bien un fosil

si es verdad yo aprendi C para PC y en un laboratorio hacia todo el control de motores a pasos ,etc. con el puerto paralelo , aveces en C con borland C "no sabia usar visual en ese entonces" y en labview
¿por que en C de borland?
pues por que algunos espectroscopios se conectaban a maquinas bien viejas unas eran 486
otras eran lentium 2 con suerte lentium 3.

y las maquinas que tenian labview eran las mas potentes de lentium 3 a pentim 4.

hasta que me canse de las targetas GPIB y sus VISA del labview cuando empeze a mudarme a los microcontroladores, ahi me di cuenta que mis estudios en C eran algo solidos y endebles

la idea es que aveces puedes hacer uso nulo de una PC o el uso nulo de un microcontrolador.

mas bien todo depende de la situacion
 
TRILO-BYTE dijo:
apoco el 8051 se programa en C ?

Si, con el keil podes programarlo, no sé si hay una versión en gcc, supongo que debe haber.

TRILO-BYTE dijo:
yo siento que es un dinosaurio como el 16f84a no creo que dinosaurio es corto mas bien un fosil

El 8051 es viejo, pero una arquitectura muuuy probada, sin ofender, el 16f84 no tiene nada que hacer en esa comparación.

Sobre C, hoy yo lo encararía en Linux por dos razones:

1- Lenguaje "madre" de ese SO.
2- Le vas a sacar mucho jugo en los últimos sistemas embebidos que vienen con uP ARM Cortex-A'x' (o lo que venga a futuro) que suelen venir con linux.
 
yo no me dedico a la prograamacion de microcontroladores , por desgracia en mi facultad de ingenieria no me dan mis papeles por error de dedo de una materia :(

mas bien me dedico a la mecanica ajustar motores ,etc.

pero si hago 2 3 proyectitos asi que no soy alguien muy indicado a dar una opinion seria acerca del 8051

el 16f84a es el caballo de batalla de todas las univercidades y cursos patito.

en pleno siglo 21 hay quienes evangelizan a los estudiantes con el 16f84a y el ASM.

yo diria que si uno quiere aprender la arquitectura de un CPU , hay que aprender primero en un lenguaje de alto nivel con un microcontrolador moderadamente robusto.

despues de haber hecho algo interesante y leer algunas veces las hojas de datos de tal micro

uno se puede aventar a hacer un sistema minimo en un protoboard , hay simuladores de codigo para algunos CPU comunes como son el 6502 o el Z80
 
Gracias por los coments!!
ARM parece un procesador muy potente! quizás demasiado, jaja Puede ser que un viejo procesador sea útil, pero puede que los nuevos sean mas versátiles. El ARM que mencionas Nuyel, parece ser bastante económico unos 5 dólares, pero imagino que el hard para programarlo debe ser saladón!! No se que es MCU, no encontré las siglas en san google.
Como dice TRILO-BYTE, vamos a volver a lo básico, programación.. jaja Algo de pascal he visto! Pero ya lo he olvidado!
Y probare con algo a ver que tal! Si llego a algo les comento!
Muchas gracias!


Encontré esto: no parece tan costoso, habría que ver las habilidades básicas para desempeñarse con él! JEJE:

youtube.com/watch?v=y5IOd8jS5w8

youtube.com/watch?v=Z4ibpXmQNJc Este me aclara muchas otras cosas!!

youtube.com/watch?v=ce7wSrENY2Q Sin dudas es muy potente!!

No me permiten poner links por ser nuevo en el foro... Alguien con más antigüedad que los ponga!

Saludos!!
 
Última edición:
MCU = Microcontrolador (MicroController Unit), la ventaja de los ARM es que la arquitectura es la misma y la interfaz de programación es el estándar JTAG, algunos programadores incluyen software que pueden programar chips de diferentes empresas.

Por otra parte los fabricantes que mencioné venden kits de desarrollo/evaluación económicos, por ejemplo TI tiene las LaunchPad, NXP tiene las LPCXpresso, Freescale tiene la Freedom (que por cierto estas dos tienen compatibilidad con la forma de Arduino UNO), STMicroelectronics tiene las Nucleo y Discovery, por parte de Atmel, ayudaron a crear el Arduino Zero y este incluye debug, algo que los otros Arduinos no, lo que lo hace una herramienta seria. Todas esas tarjetas son soluciones completas para programar y hacer debug con las herramientas adecuadas, su precio no es caro y para comenzar a introducirse son ideales, yo tengo las LaunchPad y la licencia de TI para el Code Composer Studio está limitada a la tarjeta, en sí, no hay restricciones en las capacidades del software siempre que se use con esa tarjeta. Por otra parte, no tiene la forma del Arduino, pero con Energia puede programarse usando el mismo lenguaje, incluso importarlo al CCStudio y tener toda la capacidad de debug.

El 8051 sigue vigente, TI lo utiliza en algunos chips, por ejemplo el CC2541 es un SoC con transmisor Bluetooth integrado, usa la arquitectura del 8051, es el que usa mi SensorTag.

Te recomiendo que empieces con un MCU antes de dar el salto al Cortex-Ax, incluso se pueden correr pequeños sistemas operativos en tiempo real sobre los MCU, es ideal a tener que lidiar también con al sistema operativo que lleves en el sistema, además sale más barato.
 
Última edición:
Atrás
Arriba