Hello World – Blink

En esta entrada explicaré todos los pasos para poner en marcha nuestro Hello World con STM32, un Blink. Es conveniente que te hayas leído las entradas anteriores para poder completar con éxito el Blink.e26Abrimos el CubeMx y hacemos click en New Project. Nos aparecerá la siguiente pantalla:

e12Hay dos pestañas : MCU Selector y Board Selector.

Sigue leyendo

IDE – Keil uVision

Yo en mi tutorial usé Keil uVision, pero si tu prefieres usar Eclipse u otro que te guste, adelante, es posible que también haga tutorial para configurar Eclipse. Pero de momento usaremos Keil, más que nada porque la integración con las herramientas ARM es directa.

Descargar uVision

Acceder al siguiente enlace:

http://www.keil.com/download/product/

e6 Sigue leyendo

STM32CubeMX

Como ya comenté en la entrada de bienvenida, hace ya un año que empecé a trastear con los STM32, en su momento no encontré mucha info en castellano por lo que a principios del verano de 2016 escribí un tutorial que hasta ahora no he publicado en el blog. Este Getting started lo hice para el STM32F103, pero vamos que los pasos para los demás son similares.

¿Que es cubeMX ?

Es un software de ST que proporciona las herramientas necesarias para la generación de código de proyecto para el IDE en el que vas a desarrollar tu proyecto( Keil, Eclipse, etc), inclusión de librerías ( HAL, GPIO,etc), asignación de roles a los pines del micro, configuración de relojes, y de todos los demás parámetros de relevancia del micro.

Descargar CubeMX

http://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-configurators-and-code-generators/stm32cubemx.html

Hacemos click en el enlace que nos llevara a la siguiente página:e0 Sigue leyendo

Nueva sección del Blog !

Desde que empecé a aficionarme con la electrónica he ido investigando y aprendiendo, sobretodo mediante los proyectos que hay publicados aquí. Siempre he buscado salirme un poco de lo que me enseñaron en la carrera y buscar por mi cuenta. Una de las cosas que no vi en la carrera fueron los microcontroladores (por reestructuración de contenidos, cambios de planes de estudios,etc) .

El “approach” más cercano que he tenido ha sido mediante la plataforma Arduino. Ya el verano pasado decidí meter un poco el hocico en este tema, comprandome un STM y trasteando. Es curioso ver que la última entrada tiene más de 1 año, tiene su explicación. He estado con el TFG y no era capaz de ponerme con ningún proyecto teniendo pendiente el TFG, aun teniendo tiempo de sobra para todo. Por lo que como es de esperar, adentrarme en el maravilloso mundo de los microcontroladores ha quedado un poco de lado. Tengo intención de colgar aquí mi TFG, pero por el momento no se por donde empezar.

Este curso he empezado un Máster en ingeniería de sistemas electrónicos, donde voy a tocar micros, FPGAs, sistemas empotrados y todas esas cosas que se quedaron en el tintero en la carrera. Por lo que esta sección estará enfocada a ello. Los micros con los que tengo pensado trabajar son: AVR, MSP y STM32.

Para el caso de AVR, está claro: Atmega328p, Atmega2560, Atmega168, Attiny85. Son los micros que se usan en Arduino y tengo muchas placas para trabajar con ellos. Mi intención es prescindir de Arduino para programarlos y tratarlos como lo que son, micros.

Para el caso de MSP: Empezare con MSP430 Launchpad, ya que es BBB.

Y para el caso de STM32, de compras anteriores ya tengo unos cuantos STM32F103, ST-LINK externo y está en camino una Discovery F0.

Se que hay muchas más plataformas, marcas y micros, pero no quiero comprar muchas cosas y que acaben comiendo polvo en un cajón, si es que no hay ya demasiadas cosas en el cajón de proyectos pendientes :P.

Timbre inalámbrico ESP8266 Parte 3 : Receptor

Hasta ahora, en las versiones anteriores del receptor del timbre, el avisador consistía en un aro de leds de 3mm y un buzzer activo. Un amigo me regaló un par de matrices led 8×8 monochromo de ánodo común, por lo que decidí ir un paso más allá y jugar con alguna animación mostrada por la matriz.

Deeder_M.jpgdl1250

Al principio, el driver de la matriz lo hice con un desplazador de registro 595. No me convenció mucho pues, nadie te libra de las 8 resistencias por fila/columna. Por lo que investigando un poco en la red, encontré un integrado maravilloso, el MAX7219. Éste te multiplexa 8 ánodos y 8 cátodos por lo que te sirve para usarlo con displays de 7 segmentos de hasta 8 cifras, matrices led, etc. Además la intensidad máxima por segmento se controla con nada más que una resistencia y la interfaz de comunicación es por SPI.

IMG-20160824-WA0041

Sigue leyendo

Timbre inalámbrico ESP8266 Parte 2 : Detector

En su momento cuando diseñé la primera versión me rompí el coco por como detectar el timbre para poder tratarlo como una señal de 0-Apagado 5V-encendido.  Se me ocurrieron varias maneras:

  • Tranformador de corriente, usando de espira el propio cable que alimenta al timbre.
  • Sensor de corriente ACS712, el cual acabé descartando, porque según calculé entonces, la corriente que alimenta el timbre apenas llega a 100mA creo recordar, y el sensor medía 0-30A o -15-15A,¿ un poco inútil verdad?
  • Un piezo pegado a la carcasa del timbre, esta alternativa ni la probé.
  • Efecto Hall, y con ésta, se me acababan las ideas para un sensor NO-invasivo, tampoco la probé.

Finalmente usé un optoacoplador de alterna PC814 con unas cuantas resistencias de 1/4W para limitar la corriente a 5mA. Al no tener resistencias de mayor potencia, hice cálculos, y poniendo 2 de 62k ninguna disipaba más de 0,25W ni en Vpico.

Véase el circuito.

detector

Sigue leyendo

Timbre inalámbrico ESP8266 Parte 1: Intro

Mi cuarto es el que más lejos está de la entrada y entre la guitarra, la música y los videojuegos, nunca escucho el timbre. Es por ello que hace un par de años diseñé un primitivo timbre inalámbrico con un par de Arduinos Nano, un transmisor y un receptor de 433Mhz. Por aquel entonces no tenía mucha mano con la fabricación de placas y fue cutre pero todo sea dicho, ha estado instalado año y medio y ha funcionado bastante bien. Véase la “beiesa de la naturalesa”

Receptor

IMG_20150628_111258177

TransmisorIMG-20160321-WA0025

Hace un par de meses trate de hacer una segunda versión con los mismos módulos radio y unas placas que mandé fabricar a Oshpark para el panel de leds y el circuito detector del timbre. Pero fíjate pese a haber mejorado el aparato, usado los mismo módulos, mismas fuentes de alimentación, tenía pérdidas radio.

IMG_20160617_185944IMG-20160405-WA0057

Por lo que otra vez, quise aprovechar los ESP8266 que me vinieron de China para rediseñar el aparato. Total, la placa del detector ya estaba hecha de la segunda versión.

Luz descansillo ESP8266

Como se pudo ver en la anterior entrada del blog luz-descansillo, pese a que ha funcionado medianamente bien, en ciertas horas de luz, el voltaje del divisor resistivo que iba a la base del transistor oscilaba demasiado haciendo que el transistor se encendiese y apagase rápidamente. Puse un condensador para comerse esas oscilaciones, pero como es obvio, la respuesta se volvió mucho más lenta. Es por ello que consideré hacer una segunda versión. Estuve haciendo algunas pruebas con circuitos trigger schmitt pero tampoco me convención en exceso el resultado.

IMG_20160516_200823

En mayo hice una compra bastante grande de componentes a China donde me vinieron varios modulos ESP8266 en varias versiones: ESP01, ESP07 y nodeMCU(ESP12E). Por lo que ya que el IoT está de moda pues empecé a desarrollar de nuevo el sensor de luz para implementarlo con estos chips. Los ESP8266 son una pasada, y poder brindar de conectividad WiFi a tus proyectos es genial.

Sigue leyendo

Reloj Digital (parte 2) – Divisor de frecuencia

Los relojes basan su funcionamiento en un periodo de oscilación fuente. Cuando no había semiconductores a los relojes había que darles cuerda, mover un péndulo o usar un cristal oscilador. De esta forma conseguías una oscilación mantenida la cual luego, en el caso de los relojes mecánicos, se dividía en tiempos mayores jugando con la relación de transmisión de un tren de engranajes.

reloj-mecanico-gona-zonacasio-2013-01

Muchos de los relojes actuales usan como fuente de oscilación un cristal de cuarzo, material el cual tiene una tendencia natural para producir una oscilación de frecuencia constante. En el caso de un circuito electrónico, el cuarzo se puede modelar como un condensador que se descarga y carga periódicamente. Con la ayuda de condensadores auxiliares y una resistencia se puede conseguir un circuito oscilador RC a una frecuencia deseada.

Teniendo esto claro se plantea la siguiente duda, ¿qué frecuencia base es la más adecuada desde la cual partir ?

tim47 Sigue leyendo

Luz descansillo

Llegar a casa de noche y tener que meter la llave a oscuras para entrar a casa es algo que siempre me ha molestado. Cuando estamos en casa y falta alguno por llegar solemos dejarle la luz encendida pero como no siempre hay alguien en casa, he ideado un sistema para que cuando sea de noche y se acerque alguien a la puerta, la luz se encienda.

Para construirlo he usado lo siguiente:

IMG_20160516_151431

  • Un módulo de relé a 5V.
  • Un sensor PIR.
  • Un potenciómetro de 100K.
  • Un diodo 1N4007.
  • Un par de resistencias de 5k6.
  • Una resistencia de 47k.
  • Un condensador electrolítico de 100uF.
  • Un par de transistores BC546.
  • Un LDR.
  • Una caja de instalación eléctrica que he comprado en el chino.
  • Un cargador de móvil reciclado para obtener los 5V para alimentar el circuito.

Sigue leyendo