Reloj Digital (parte 3) – Contador y multiplexor

Cuando empecé este proyecto allá por la primavera de 2016 no pensaba ni por asomo que tardaría tanto en acabarlo. Pero el caso es que entre pitos y flautas lo he dejado súper abandonado. Mientras tenía pendiente de terminar el TFG era incapaz de ponerme con ningún proyecto y luego que esta parte del circuito es más compleja y hasta que no he encargado la placa a china, no ha funcionado.

CONTADOR

La parte del contador corresponde con el núcleo del reloj, pues se van contando en cascada los pulsos para contar minutos, decenas de minutos, etc. Me he basado en un ejemplo de Proteus 7 cambiando cosas para mi proyecto en concreto. Lo más difícil en su momento fue encontrar los susodichos contadores SN74LS160N. Tratándose de circuitos integrados de los años 70′ sumado al SIDA que dan las tiendas de electrónica en Madrid, pues digamos que tuve que recorrerme varias tiendas y no me salieron nada baratos los chips 74XX. El caso es que primero intenté hacer la placa a una cara, pero no estuve diestro con el ácido ( porque soy zurdo , XD)  y salieron muchos cables aéreos, vamos que todo estaba abocado a que esa placa no iba a funcionar. Como es obvio, esa placa no funcionó. Finalmente la encargué a JLC PCB.

El esquemático es el siguiente:

La razón de usar puertas AND e inversores con un BJT es que cuando fui a comprar los integrados no había más que un 74LS10(3x NAND 3 entradas) y no había ANDs de 4 entradas, por lo que compre un 74LS08( 4x AND 2 entradas) y me apañe con dos transistores. Sin entrar muy en detalle, la habilitación de cuenta de cada contador va alimentada por el desbordamiento del anterior. Pese a ser contadores con una salida de 4 bits, al ser decimales, el desbordamiento se produce automáticamente en el cambio de 9 a 10.

(más…)

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.

(más…)

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 (más…)

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

(más…)

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

(más…)

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.

(más…)

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 (más…)