Entradas

Programando microcontrolador ARM: 4 - Primer programa, blink con registros de memoria (stm32f103c8)

Imagen
Este primer ejercicio consiste en aprender y practicar el comportamiento mas básico que podemos obtener en nuestro ARM. Y es el punto de partida para posteriormente ampliar nuestros conocimientos sobre la programación de un microcontrolador ARM y así poder hacer cosas más complejas.

A través de los registros de memoria encenderemos y apagaremos un LED. Para ello usaremos los pines digitales que disponemos en nuestro microcontrolador.

¿Qué son los registros de memoria?
Todos los microcontroladores tienen una porción de memoria reservada exclusivamente para el funcionamiento del microcontrolador. Estas porciones de memoria se denominan registros.
El microcontrolador observará el estado y la información de esas cedas de memoria para funcionar de un modo u otro. El fabricante a través de los documentos que nos facilita nos indica todos los registros que tenemos disponibles, ademas de como escribir en ellos y como usarlos. Necesitamos tener esta información debido a que no todos los microcontr…

Programando microcontrolador ARM: 3 - Configurar primer proyecto CooCox CoIDE (stm32f103c8)

Imagen
Como ya vimos en el post anterior vamos a usar CoIDE para programar nuestro ARM. Es un entorno de trabajo muy intuitivo y tiene lo minimo necesario que necesitamos. 
Crear un proyecto nuevo en CooCox CoIDE es muy sencillo.
Podemos crear un proyecto nuevo desde la ventana de bienvenida o desde Proyect-> New Project, de ambos modos llegamos al miso sitio.

Debemos seleccionar el modelo de nuestro microcontrolador, en mi caso, el STM32F103C8. Podemos buscar directamente el modelo o navegar por las categorías y encontrar nuestro modelo.

Programando microcontrolador ARM: 2 - Configurar entorno de programación, CooCox IDE (stm32f103c8)

Imagen
El entorno de programación
Como ya dije en la entrada anterior vamos a usar CooCox CoIDE, que es un IDE recomendado por ST y que nos permite programar multitud de microcontroladores, no solo ARM y de cualquier fabricante.
Por supuesto, lo primero que tenemos que hacer es descargarnos e instalar el entorno. No necesitamos hacer ninguna instalación alternativa a la normal.
Una vez instalado podemos empezar a usarlo, la primera vez que lo abrimos encontramos una ventana como esta, la ventana de bienvenida. 


Antes de empezar con nuestros primer código, vamos a configurar alguna opciones.

Programando microcontrolador ARM: 1 - Introducción (stm32f103c8)

Imagen
Esta serie de tutoriales está enfocado a comprender por completo el funcionamiento de los microcontroladores basados en la arquitectura ARMy por tanto poder programarlos.
Yo me hice con este microcontrolador para programarlo a través de Arduino, existen bibliotecas que permiten programarlo como si programaremos un Arduino aunque dependiendo del modelo de microcontrolador puede que no tengas acceso a todas las funcionalidades, además de que estas sujeto a esas extensas bibliotecas que hacen de puente y puedes encontrarte errores que te impidan continuar usándolo.
¿Qué vamos a necesitar para nuestros tutoriales?

El microcontrolador ARM

En mi caso voy a usar un stm32f103c8 (Blue Pill), que puedes encontrar muy barato, yo lo encontré por 1,5 dólares en paginas como eBay o Aliexpress.
Pero podríamos usar cualquierARM ya que pese a que dependiendo del modelo del microcontrolador puede programarse de manera diferente.

En esta serie de tutoriales vamos a aprender a entender el manual que nos propor…

Electrónica básica: divisor de tensión

Imagen
El divisor de los tensiones es uno de los circuitos mas simples y mas usados en miles de dispositivos.

Cómo su propio nombre indica un divisor de tension no es mas que un circuito capaz de dividir una tensión.

Para realizar este circuito solo necesitamos 2 resistencias.



La formula que sigue un divisor de tensión es muy sencilla, y resolviendo la única malla del circuito por la ley de Kirchhoff podemos obtener a ecuación.
Además sabes que la tensión de salida (Vo) es igual a al tensión en la segunda resistencia. Por lo tanto:
Si substituimos la primera ecuación en la segunda. Obtenemos:


Y esta ecuación la podemos colocar mejor y por tanto la ecuación típica del divisor de tensión.



Un ejemplo, si por ejemplo nosotros tenemos un voltaje de entrada (Vcc) de 8V y queremos obtener un un voltaje de salida (Vo) de 5V y  tenemos una resistencia de R2 de 100K.

Por lo tanto queremos saber el valor de R1 que necesitamos para  conseguir ese Vo.
Solo tenemos que despejar y sustituir en nuestra form…

ARDUINO desde cero: 5 - Comunicación Serial

Imagen
El puerto serie nos permite conectarnos y comunicarnos con otros dispositivos que tenga puerto serie. Cada dispositivo podrá recibir y enviar información.

La comunicación serial consiste únicamente  enviar bits sucesivos uno detrás de otro, bloques de estos bits llevaran información

En este caso vamos a ver como recibir y enviar información con nuestro ordenador  y el monitor serial.

Las funciones que debemos usar son muy sencillas y dependen todas de la biblioteca serial.


INICIAR COMUNICACION SERIAL

La primera y la mas importante, para poder usar nuestro puerto serie en el Arduino esSerial.begin(int baudrate); esta función inicia el puerto serie. Consta de un parámetro int baudrate.
El baudrate hace referencia a los bits por segundo que son transmitidos, por lo tanto determinará la velocidad de nuestro puerto serial

Una vez que tenemos nuestro serial abierto  ya podemos enviar y recibir información. Antes de explicar las funciones necesarias vamos a ver como funciona el monitor serial…

VCS - Vehicle Control System

Imagen
VCS (Vehicle Control System) es un proyecto que incluye tanto Software como Hardware Open Source, para poder controlar un vehículo eléctrico.

Para las aplicaciones que despliegan los gráficos tanto del panel de mandos del conductor como de la consola central, están programados es Python usando la biblioteca Pyside para poder usar Qt. Este código funcionará en un Linux mínimo y la aplicación se abrirá en el boot. En un principio funcionará en una placa estilo Raspberry Pi

El motor eléctrico tendrá su propia pieza de hardware, un microcontrolador encargado de hacer funcionar el motor eléctrico trifásico, en ambos sentido y la frenada regenerativa.

Además el vehículo tiene multiples microcontroladores repartidos por todo el chassis. La mayoría de estos microcontroladores deven funcionar pos si mismos sin la necesidad de comunicarse con otros por seguridad. Estos microcontroladores alertarán al conductor si hay algún error en alguno de ellos. Por ejemplo que un faro falle, o que no se des…