homeofmaking / OpenLaserSafety

OpenLaserSafety is a controller pcb and software that intends to check safety measures for a laser cutter.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OpenLaserSafety Logo

What is OpenLaserSafety?

OpenLaserSafety is a controller that aims to check various status inputs that are found around (self-built) laser cutters. It then outputs one master "OK" or "NOT OK" signal that can be used to input on most laser controllers (usually through a "door open" or "water protect" input that will stop the laser if not pulled high or low).

OLS was initially designed to replace the hand soldered first version of a laser safety system used at Munich Maker Lab. We designed this new version with simplicity and adaptability in mind. It should work 'out of the box' with very little config changes for most self-built laser cutters out there.

Features

  • Supported inputs
  • Outputs
    • Master output via dry relays
    • i2c TLC59116 LED-driver support for status LEDs
  • Software allows easy configuration of all inputs and thresholds
  • Inputs are using cheap but robust KF301 terminals
  • On board Wemos D1 mini for user-code
    • Master output and uart from safety uC
    • Runs user software e.g. to log status remotely
  • Power management
    • On board converters for 5V and 3.3V
    • Up to 40V input voltage
  • Low-cost BOM with all parts available on jlcpcbs assembly service

Pictures

This is what version 1.1 looks like. easyeda_HQNySO02Kl

Supporters & Sponsors

Version 1.0 of the PCB has been sponsored by jlcpcb.

jlcpcb-300

License

The hardware in this repository is licensed under the Solderpad Hardware License version 2.1. Software is licensed under the Apache License 2. These licenses are permissive and qualify for the Open Source Hardware definition. Please refrain from using the OpenLaserSafety brand, including logo and name.

Credits & Attribution

Description of PINs

uC Pin PCB Header PCB Name FW Name Log Name Notes
PA0 H10 WA T OUT N/A (DMA) T2
PA1 U8 PRESS SENS N/A (DMA) PRE
PA2 U5 MISC ANA. IN 2 N/A (DMA)
PA3 U6 MISC ANA. IN N/A (DMA)
PA4 H17 LID2 DI DOOR1_GPIO_PIN/TYPE D1 Inverter #FIXME swapped
PA5 H12 FIRE DET FIREALARM_GPIO_PIN/TYPE FIRE Optocoupler
PA6 H9 WA T IN N/A (DMA) T1
PA7 H13 MISC3 DI SPAREIO1_GPIO_PIN/TYPE
PA8 U9 WATERFLOW Timer htim1 FLOW
PA9 TX Uart huart1
PA10 TX Uart huart1
PA11 H18 VENT DI EXHAUST_DIGITAL_GPIO_PIN/TYPE Inverter
PA12 H16 LID1 DI DOOR2_GPIO_PIN/TYPE D2 Inverter #FIXME swapped
PB0 U7 SPARE IO SPAREIO1_GPIO_PIN/TYPE
PB1 H7 EXT UNL. EXTUNLOCK_GPIO_PIN/TYPE UNL
PB12 H14, H15 MASTER MASTER_OUT_Pin/Port Dry Relays
PB12 - - - D5 Pin on Wemos D1
PB13 H11 MISC2 DI SPAREIO3_GPIO_PIN/TYPE
PB14 H8 MISC1 DI SPAREIO4_GPIO_PIN/TYPE
PB2 U11 ONEWIRE N/A

Development

This project was initially started using STM32CubeIde but it is intended to move away from that over time. To build the stm software clone the repository, change to the directory Software and run make. To import the project into STM32CubeIde in the IDE select File -> Open Projects from File System and then select the Software folder in the git checkout.

About

OpenLaserSafety is a controller pcb and software that intends to check safety measures for a laser cutter.

License:Other


Languages

Language:C 99.5%Language:Makefile 0.3%Language:Assembly 0.2%Language:C++ 0.0%