The Work Meter is a simple PIC circuit that records the amount of time that an piece of equipment has be in operation both in the current session and over its lifetime. This project was initiated so that we can better understand the usage of the Laser Cutter and the degree of wear that is occurring to the CO2 laser.
The circuit is generic and could be used with any device that can provide a signal when it is active.
The Work Meter attaches to the laser cutters power supply to draw power and monitor the control signal to the laser. The meter uses a standard 1602 LCD display to show the amount of time that laser has been active since the cutter was last powered up as well as an total time including previous sessions.
The meter uses the PICs EEPROM to store the total usage time and implements a simple wear leveling algorithm to prolong the life time of the EEPROM memory (theoretically 60 years!).
The brightness of the LCD display changes from dim when idle to bright when active.
The circuit is based around a PIC 16F87 micro-controller executing at 8Mhz using its internal oscillator.
A standard 1602 LCD module is connected to PORTA using a 4-bit interface (D4-D7 plus RS, R/W & E) that can both read and write to the display. The cathode of the LED backlight is connected to ground through a load resistor and an NPN transistor driven by the PIC's hardware PWM output allowing software control over the brightness level.
Measurements taken from the laser cutter shows that the control signal is 8V and 'active low' so the circuit uses a simple voltage divider (with a zener diode as extra protection) between the raw input and the sense pin on the PIC.
The ICSP pins on the PIC are accessible to allow easy programming and debugging.
The firmware for this project has been written in PIC16F assembly code for MPASM and is built using MPLAB (but could be built in MPLAB X).
The code is released under a Create Commons Attribution-Non Commercial 4.0 International (CC BY-NC 4.0). The terms of this license are described here.
The source code is held in a Google Code project here:
Prototype acrylic enclosure cut on the laser cutter.
For more information contact either:
- Andrew Jacobs
- Simon Green