Hackear un sensor PIR

Cuando se alimenta con pilas o baterías un circuito , cualquier ayuda es poca a la hora de bajar el consumo. En esta ocasión vamos a ver un típico sensor PIR como podemos modificarlo para alimentarlo a 3.3V en lugar de 5v DC . Es obvio decir que este pequeño truco es aplicable a otros circuitos parecidos.


Es relativamente utilizar  sensores PIR Panasonic de ultra baja potencia, componte  que es usado  en la mayoría de los sensores de proximidad.

Estos sensores están disponibles en varias variantes (series WL y VZ, rango de 5-12m, corriente inactiva de 1-6uA) siendo la corriente de detección activa de este sensor de ~ 30uA (durante el movimiento), y el  consumo de  corriente cuando esta inactiva de  sólo  2uA.

Cuando se ensambla junto a otros componentes en un sensor de proximidad , que es lo habitual  , la corriente inactiva total del  conjunto  será de alrededor de 10uA, por lo que como vemos el consumo es bastante ajustado.

Como  el voltaje de entrada de los PIR de Panasonic es de 2.3-4V , en algunas  placas   cuentan con el siguiente puente de soldadura para cambiar su VCC de la fuente de la batería a la fuente de 3.3V 

El sensor de movimiento PIR predeterminado en  los famosos  módulos  HC-SR501  es precisamente  el mismo sensor de Panasonic , usando alrededor de 60uA en inactivo, y la corriente de detección activa es ~ 200uA.

 

 

El sensor PIR del HC-SR501 tiene un rango de voltaje de alimentación de aproximadamente 3.9V a 24V lo cual lo hace ideal para usarlo por ejemplo con un Arduino como vemos  en el siguiente esquema.

 

Este rango  tan amplo de alimentación es genial, pero cuando estamos operando con una batería LiPo que se agota desde 4.2V cuando está completamente cargada pero todavía durará mucho tiempo sin modificaciones en el sensor PIR. Cuando el voltaje de la batería cae por debajo de 3.8-2.9V, el sensor PIR se disparará continuamente,pero como no queremos eso  necesitamos que el sensor PIR funcione hasta los 3.3V que marcarán el estado de la batería descargada.

En  estas   placas  , es patente  que el sensor PIR tiene un diodo y un regulador:

      • El diodo tiene un enorme voltaje directo de 0.6V, por lo que como mínimo deberá quitar este diodo y sustituirlo por un puente. También puede cruzarlo soldando un cable a los 2 terminales del diodo o con un poco de estaño intentar tocar ambos terminales  (como en la imagen de mas abajo).
      • El regulador tiene otra caída de voltaje de 0.1-0.25V, por lo que para alimentar el circuito con  el rango de entrada de voltaje más bajo absoluto para el PIR, también se puede quitar el regulador  ya que el regulador es lineal, por lo que será muy poco eficiente cuanto mayor sea el voltaje de entrada.

El diodo (y el regulador) deberían salir fácilmente si calienta repetidamente los terminales . La vía  mas simple de  hace esta pequeña modifiación  es reemplazar  estos componentes ( excepto la masa del regulador ) por simples  puentes de soldadura como se muestra a continuación.

Es evidente  que el quitar estos componentes al circuito conlleva dos peligros evidentes:

    • Podemos quemar el circuito si invertimos la polaridad al no contar con el diodo de protección
    • Si eliminamos el regulador también hay riesgo de quemadura del sensor  sobre todo si sobre-alimentamos el circuito

A pesar no obstante de estos riesgos es evidente  que el circuito podrá ser alimentado por menor tensión (3.3V) consumiendo ademas menos corriente , lo cual es muy importante cuando alimentamos estos sensores con fuentes recargables

 

Consejo para una fácil desoldadura:

Estos componentes son SMD y podrían ser un poco difíciles de desoldar si nunca antes lo ha hecho. Afortunadamente, hay un truco bastante fácil: derrita un montón de soldadura en la punta del soldador; esto aumentará la masa térmica de la punta. Para el diodo, caliente un lado y luego muévalo rápidamente hacia el otro, luego de un lado a otro hasta que el diodo se desprenda. Si este es un diodo realmente pequeño (algunos PIR tienen diodos pequeños y algunos más grandes), entonces puede simplemente conectar / cortar los terminales del diodo con un pequeño cable de puente sin tener que desoldarlo.

Si desea hacer que el PIR tenga una potencia aún más baja, debe quitar el regulador y conectar el regulador VIN a VOUT. Con un montón de soldadura derretida en su punta de hierro, toque los 3 cables del regulador y debería salir inmediatamente, luego deje caer la soldadura derretida en el centro y las almohadillas derechas donde estaba el regulador (como se ve en la foto de arriba).

 

Repetimos   que deberia tener en cuenta que  una vez  realice estas modificaciones, el PIR se podrá alimentar  hasta 5 V y deberá conectarse correctamente  pues ya no hay protección de diodo inverso

Ha llegado el sustituto de los fusibles y es un componente de toda la vida

Usos innovadores o poco habituales de uno de los componentes electronicos mas sencillos : las resistencias tradicionales


Seguro que querido lector  se han cuestionado porque  en algún circuito  comercial   en la serigrafía  marcaba un componente como   un fusible  pero en su  lugar se ha colocado  una resistencia de muy bajo valor (ente 0.5 y 10 Ohms)   y de baja disipación ( 1/4 Watio  o  menos)  ocupando  el mismo  lugar del fusible.

Lo primero que se nos ocurre,es contradictorio , pero en cierta forma tiene sentido, pues una resistencia muy baja realmente actúa  casi como un fusible común, siendo ademas también muy  fácil de sustituir  (si va soldado ) , pero,  ademas, existen 2 motivos  de peso para usar resistencias como fusibles, en equipos electrónicos:

        • En primer lugar  motivos intrínsecos al propio  diseño en las nuevas fuentes de alimentación 
        • En segundo lugar  , y no menos importante,por la  economía de medios

Veamos   mas  detalladamente de lo que estamos hablando:

Razones basada en el nuevo diseño de fuentes de baja potencia 

En las  nuevas fuentes “no aisladas de baja potencia”  cuyo diseño estudiamos en un post anterior , se de la circunstancia de que en el momento de conectarlas  al suministro eléctrico de c.a.   tienden a generar un alto flujo de corriente por fracciones de segundo, comportándose casi como un corto-circuito, circunstancia  que puede quemar  perfectamente los fusibles convencionales  razón por la que justificaría  usar resistencias como fusibles “especiales”.

Precisamente estas  fuentes de alimentación no aisladas de baja potencia  de las que ya hemos hablado en este blog  son las que se usan  intensivamente por sus dimensiones  y bajo pecio en cargadores de teléfonos móviles, rectancias, fuentes conmutadas de baja potencia y fuentes de iluminación LED, etc . 

 

Todas estas nuevas fuentes de alimentación como se ve en el diseño anterior,  ya no usan el voluminoso y caro transformador , usando en su lugar a la entrada de corriente alterna condensadores en corriente alterna, razón por la que se  las conoce como “no aisladas” porque usan y rectifican la tensión alterna  procedente de la red de suministro a corriente continua  directamente, razón por lo que  todos sus componentes deben soportar esos grandes valores de voltaje :220-380v AC.

 

Como esta tensión se aplica a un puente de diodos  y de ahí a un condensador, precisamente por causa de estos condensadores electrolíticos que se usan a la salida del puente de diodos  filtrando las AC , como  manejan altos valores de tensión; arriba de 140v y hasta 360v , debemos saber que cuando estos condensadores electrolíticos están descargados completamente, tienen una resistencia interna muy baja , lo cual hace  que  se comporten como como si estuvieran en “corto circuito”  en el momento de arranque , lo cual debido a la  gran intensidad en algunos casos podría  fundir un fusible convencional , intensidad que por cierto  sera mayor   cuanto  mas grande sea el voltaje que maneje el condensador ( y en las fuentes no aisladas, los condensadores son de 160 volts como mínimo  hasta 450 volts )

 

Un componente que actué como “amortiguador”  que impida el corto circuito por esos breves instantes  mientras el condensador se carga y alcanza el umbral para dejar de consumir mucha corriente, y al mismo tiempo permita pasar la tensión necesaria, para que el todo el circuito funcione estable,lo  cumple precisamente  las resistencias de bajo valor , si bien en en fuentes conmutadas de voltaje de potencias altas y medias,  se usa también las NTC.

Pasar por alto el corto circuito temporal, en un condensador descargado, e instalar solo un fusible, lo fundirá tarde o temprano debido a un “falso positivo”,  abriendo el circuito e impidiendo el flujo de corriente completamente, aun estando todos los componentes en buen estado .

Ademas sin el uso de esta resistencia,  el condensador se degradará mas rápido, así que esta mas que justificado  el eso de estas resistencias.

Algunos argumentarían que se puede poner un fusible antes de esta resistencia “anti corto circuito”, como en la versión con fuentes de voltaje conmutadas de mayor potencia, pero  bien calculada, la resistencia actuará de ambas maneras.

Para terminar ,no  obstante puede ser justificado  la configuración “fusible-resistencia amortiguadora” en circuitos de media potencia  ( no  en fuentes de baja potencia donde  si se podría fundir)  ,pues  en fuentes de alimentación no aisladas de grandes potencias, usar un fusible y resistencias en los condensadores electrolíticos  filtraran los  altos voltajes protegiendo así el circuito   por lo que   según los diseños  y la corriente que pueda circular la solución puede venir  de la asociación de ambos componentes 

 

Economía y reducción de costos de producción.

Para los fabricantes de equipos que requieran este tipo de fuentes no aisladas con condensadores de voltajes altos y potencias bajas, u otro tipo de circuitos donde sea factible el uso de una resistencia en lugar de un fusible, les resulta muy beneficioso minimizar costos  (por pequeños que sean) ademas sin sacrificar la calidad por lo que  prefieren perfeccionar y mejorar estas resistencia-fusible ya que  su uso esta cada vez mas demandado resultando un 40% o 50% mas económico montar resistencias  en lugar usar  fusibles.

Respecto a la naturaleza de estas resistencias de bajo valor aunque para la mayoría de los casos y fabricantes de circuitos, una resistencia común de carbón de bajo valor óhmico es mas que suficiente, algunas veces se requieren diseños de resistencias especialmente pensadas para esta función de fusible, componentes conocidos  como: “FUSISTORES”

Fusistores

   Un tipo de protección interesante de fusistor (fusible + resistor)  se encuentra en algunos aparatos de consumo como televisores, fuentes de alimentación , etc , consiste en colocar una resistencia  de bajo valor (que como hemos visto no cambia la corriente en el circuito) en serie con las principales líneas de alimentación.

Cuando la corriente supera un cierto valor, esta resistencia se sobrecalienta y el calor generado por el terminal que se propaga fundiendo el material de soldadura que tiene un sistema de resorte, como se muestra abajo. 

Hay fabricantes que ofrecen el conjunto  resistencia+fusible encapsulado a  un bajo costo como alternativa a las soluciones tradicionales para aplicaciones que requieren protección contra sobretensiones.

Existen  tres  combinaciones de serie de resistencias / fusibles de resistencia fusible:

  • FRN :Resistencias de metal / carbono, son en esencia  resistencias fusible bobinada
  • FKN :resistencias fusibles recubiertas de cemento. Ideales para aplicaciones de suministro de energía en telecomunicaciones, militares y mercados industriales que requieren un reemplazo para las resistencias de composición de carbono dentro del diseño del circuito
  • FSQ :robustas resistencias con recubrimiento de cemento y bobinado de alambre

Este tipo de componente es usada en  aplicaciones de Telecomunicaciones,electrodomésticos ,protección contra impulsos de arranque,protección contra rayos,protección de entrada para pequeñas fuentes de alimentación y cargadores de baterías,etc

En resumen  ,tanto en fuentes aisladas con características especiales, así como en otros circuitos que las requieren  debemos ser muy cuidadosos  con estas resistencias especiales , pues hay fabricantes de equipos electrónicos que usan fusistores  singulares  de este tipo y si son remplazarlas con una común de carbón, puede poner en riesgo el circuito

 

 

 Shunt

Existen otro tipo deuso de las  resistencias  de muy bajo valor óhmico y  que se pueden encontar en muchos circuitos electrónicos complejos  (especialmente en electronica de potencia) ,  y que muchas veces,  a ojos de inexpertos, aparentan estar ahí para actuar como fusibles.

 

Pero lo cierto es  que esto no es verdad  pues se colocan en circuitos complejos y grandes, básicamente  para que puedan ser usados para  mediciones de corriente y voltaje y no para actuar  como fusibles, pues las características de las resistencias Shunt, impide que se dañen o fundan ante una tensión o corriente alta, lo cual es completamente contrario al de una resistencia fusible .

 

Como vemos  en la imagen anterior , aunque parezcan otra cosa, simplemente este shunt  no es mas que  una  resistencia que se usa para medir corriente .Los tornillos grandes son para conectar los cables principales de alimentación del circuito (quedando en serie con el circuito a alimentar) y los tornillos pequeños son para conectar los hilos que van al  equipo de medida o circuito de control  correspondiente.

 

Precisamente debido a la complejidad, sofisticación , tamaño ultra reducido, costo y difícil manipulación o desarme de muchos circuitos actuales, es muy práctico poder revisar y dar diagnósticos exactos a dichos circuitos y equipos.,y para hacer algo fácil esta labor, los diseñadores e ingenieros agregan estas resistencias SHUNT, y de este modo puedan tomarse mediciones muy precisas que con algunos cálculos,  se conoce certeramente si en el circuito existe flujo de corriente adecuado, valores de voltajes correctos o si de plano ese circuito no está siendo alimentado,pero recuerden: este tipo de resistencias no actúan como fusibles.pues como todos los componentes electrónicos ,( aunque  en raras ocasiones)  puedan dañarse su función principal es ayudar a verificar y obtener mediciones precisas en equipos de alta complejidad y difícil maleabilidad por tamaños ultra reducidos o todo  lo  contrario de  demasiado grandes.

 

 

Cómo actualizar el firmware Marlin y no morir en el intento

Veremos la importancia de tener al día el firmware Marlin de nuestra impresora 3D


What is Marlin?

Marlin es un firmware de código abierto  gratuito    para la familia de impresoras 3d RepRap derivado de Sprinter y grbl  que  se convirtió en un proyecto de código abierto independiente el 12 de agosto de 2011 con su lanzamiento de Github bajo licencia  GPLv3 . Desde el principio Marlin fue construido por y para los entusiastas de RepRap para ser un controlador de impresora sencillo, confiable y adaptable que “simplemente funciona”. Como testimonio de su calidad, Marlin es utilizado por varias impresoras 3D comerciales respetadas  como  Ultimaker, Printrbot, AlephObjects (Lulzbot) y Prusa Research   etc . Ademas Marlin también es capaz de cotrolar las  famosas maquinas CNC ,asi como grabadores láser ,  pues en realidad  en vez extruir material de diferentes propiedades , como lo haría  una impresora 3d,  son variantes de estas al haberse sustituido el extrusor por un láser o una multiherramienta de fresado , corte,etc.

Una clave de la popularidad del fw  Marlin es que se ejecuta en microcontroladores Atmel AVR de 8 bits de bajo costo siendo en su version  2.x   compatible con  placas de 32 bits,  chips  que como sabemos  son el núcleo  de la popular plataforma de código abierto Arduino/Genuino (de  hecho la plataforma de referencia para Marlin es un Arduino Mega2560 con RAMPS 1.4 y Re-Arm con rampas 1.4).

Como producto comunitario, Marlin tiene como objetivo ser adaptable a tantas placas y configuraciones como sea posible, de modo  que sea  altamente  configurable, personalizable, extensible y económico tanto para aficionados como para proveedores de modo  que una implementación  de  Marlin puede ser muy escueta por ejemplo  para su uso en una impresora sin cabeza con un solo hardware modesto pero que  pueda  ampliarse sus características habilitando  según sea necesario para adaptar Marlin a los componentes añadidos.

Resumidamente estas son las principales características:

    • Código G completo con más de 150 comandos
    • Suite completa de movimiento de código G, que incluye líneas, arcos y curvas Bézier
    • Sistema de movimiento inteligente con movimiento de mirada anticipada, basado en interrupciones, aceleración lineal
    • Soporte para cinemática cartesiana, delta, SCARA y core/H-Bot
    • Control del calentador PID de bucle cerrado con ajuste automático, protección térmica, corte de seguridad
    • Soporte para hasta 5 extrusoras más un estampado calefactado
    • Interfaz de usuario del controlador LCD con más de 30 traducciones de idiomas
    • Impresión de tarjetas SD y basadas en host con inicio automático
    • Compensación de nivelación de cama: con o sin sonda de cama
    • Avance lineal para extrusión a presión
    • Soporte para extrusión volumétrica
    • Soporte para mezcla y multiextrusoras (Cíclope, Quimera, Diamante)
    • Soporte para sensores de ancho/de ejecución de filamentos
    • Temporizador de trabajo de impresión y contador de impresión

FDM

Marlin Firmware se ejecuta en la placa principal de la impresora 3D, gestionando todas las actividades en tiempo real de la máquina coordinando los calentadores, motores paso a paso, sensores, luces, pantalla LCD, botones y todo lo demás involucrado en el proceso de impresión 3D implementando  el famoso  proceso de fabricación aditiva llamado Fused Deposition Modeling (FDM), también conocido como Fused Filament Fabrication (FFF). En este proceso, un motor empuja el filamento de plástico a través de una boquilla caliente que funde y extruye el material mientras la boquilla se mueve bajo control informático. Después de varios minutos (o muchas horas) de colocar finas capas de plástico, el resultado es un objeto físico.REPORT THIS ADREPORT THIS AD

El lenguaje de control para Marlin es un derivado del código G donde los comandos de código G le dicen a una máquina que haga cosas simples como “establecer el calentador de 1 a 180o” o “mover a XY a la velocidad F.” Para imprimir un modelo con Marlin, debe convertirse en código G utilizando un programa llamado “slicer”. Dado que cada impresora es diferente, no encontrará archivos de código G para descargar; tendrá que cortarlo  este el propio usuario  obviamente con unsw de slicing 

A medida que Marlin recibe comandos de movimiento, los agrega a una cola de movimiento para ser ejecutados segun las ordenes recibidas. La “interrupción paso a paso” procesa la cola, convirtiendo los movimientos lineales en pulsos electrónicos con precisión en los motores paso a paso. Incluso a velocidades modestas Marlin necesita generar miles de pulsos paso a paso cada segundo. (p. ej., 80 pasos por mm * 50 mm/s a 4000 pasos por segundo!) Dado que la velocidad de la CPU limita la velocidad con la que la máquina puede moverse, ¡siempre estamos buscando nuevas formas de optimizar la interrupción paso a paso!

Los calentadores y sensores se gestionan en una segunda interrupción que se ejecuta a una velocidad mucho más lenta, mientras que el bucle principal controla el procesamiento de comandos, la actualización de la pantalla y los eventos del controlador. Por razones de seguridad, Marlin realmente se reiniciará si la CPU se sobrecarga demasiado para leer los sensores.

Modelado

Mientras Que Marlin solo imprime código G, la mayoría de las segmentaciones solo cortan archivos STL.

Sea lo que sea que utilice para su cadena de herramientas CAD, siempre y cuando pueda exportar un modelo sólido, una segmentación puede “cortar” en código G, y el firmware de Marlin hará todo lo posible para imprimir el resultado final.

Antes de que Marlin pueda soñar con imprimir, primero necesitará un modelo 3D. Puede descargar modelos o crear los suyos propios con uno de los muchos programas CAD gratuitos, como FreeCAD, OpenSCAD, Tinkercad, Autodesk Fusion 360, SketchUp,etc.

Se necesita un alto grado de conocimiento para modelar objetos complejos como un cráneo T-Rex,pero otros objetos pueden ser bastante simples de modelar. Para obtener ideas y probar cosas, explore sitios como Thingiverse y YouMagine e imprima cosas por diversión.

Rebanar o “slicing”

Las segmentaciones preparan un modelo 3D sólido dividiéndolo en rodajas finas (capas). En el proceso se genera el código G que indica a la impresora con minuciosidad cómo reproducir el modelo. Hay muchas segmentaciones de datos para elegir, incluyendo:

Impresión

Marlin se puede controlar por completo desde un host o en modo independiente desde una tarjeta SD. Incluso sin un controlador LCD, una impresión SD independiente todavía se puede iniciar desde un host, por lo que el equipo se puede quitar de la impresora.

 

 

Actualización de Marlin

Para la impresoras  del famoso  fabricante Geetech , esn este link ponen a nuestra disposicion  todo el fw Marlin disponible

 

 
 
Una vez descargado , lo descomprimiremos    y nos iremos a Marlin.ino para que nos lo cargue el interfaz  de Arduino  todos los archivos necesarios:  
 

 

Antes de compilarlo  elegiremos   como placa   “Arduino:1.8.10 (Windows 10)  y la  tarjeta:”Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)”

Intentaremos compilar el fw antes de subirlo a la impresora

 

Como  podemos ver puede que nos lance  el error exit status 1  using typedef-name ‘fpos_t’ after ‘struct’

 

Tendremos que cambiar el literal   fpost_t  por fpost    en los siguientes ficheros , pero al ser un fw  el ide de arduino nos va a dar problemas a la hora de editar los ficheros , así que  lo mejor es editar con nuestro editor de texto favorito los siguientes ficheros

 

  • SdBaseFile.h
  • Configuration.h
  • pins.h

 

 

Una vez hecho esto , cuando  intente compilar el código actualizado  desde el IDE de Arduino,  vera que  ya no encuentra problemas  y por fin  ya podrá actualizar el firmware  en su impresora 3d.