Skip to content

Nhtools

Nhtools

minsu

Published April 02, 2019

Components

Hardware components

Project description

The tools access control device (which still needs to be named) is designed to allow use of the attached tool to be restricted to inducted members, and to keep track of usage for charging purposes. It's been designed with the aim of being easy to fit to multiple different tools if needed (e.g. lathe and mill), not just the laser cutter - although charging for use is unlikely to be used for other tools. For the Laser cutter, it keeps track of pledged time, and charges by the second for those that didn't pledge, or have used up their pledged time. Any laser usage which isn't covered by pledged time is charged in the same way as the Vending machine, which results in a monthly email, and can be paid off using either the Snackspace jar, or the NoteAcceptor. The hardware consists of an Arduino, Ethernet shield, RFID module, (optional) LCD and relay, and it communicates with a server side process on Holly using MQTT, specifically an instance of the Mosquitto MQTT broker. There is a related tool booking system running on HMS, however the interaction with that is limited; booking a tool in HMS currently has no connection to who can or can't sign on to the laser. HMS can be used by any member to see their use of the laser (and any charges as a result), as well as see if the laser is currently in use or not. Nhtools <https://wiki.nottinghack.org.uk/wiki/File:Tool_system.png>

Hardware

The current device on the Laser cutter is a prototype, built on an Arduino UNO (or clone, I can't remember), wiznet based Ethernet shield and protoshield. The second version (intended for the 3d printer) has been built using a custom PCB, see GitHub for the design, and flickr for photos of the mostly assembled device, minus case. The RFID reader is a MFRC-522 based device purchased from hobby components (HCMODU0016) and connected using SPI, the LCD is a 2x16 I2C display also from Hobby Components (HCARDU0023). The attached tool is controlled by using a relay on the protoshield - this is intended more for isolation, and not to switch any great load. In the case of the laser cutter, the relay on the protoshield is wired back to another relay+contactor inside the laser cutter which is wired in series with the incoming mains. There are two push buttons; one to allow authorised members to record other members as having been inducted, and one to sign off. There is also a status LED that lights up when the signed in member is authorized to give inductions, and flashes after the induct button had been pressed and the system is searching for a card to induct (the original idea was that the induct button would be an illuminated push button). Nhtools, Hardware

Firmware

The source code for the Arduino firmware is on GitHub, The Arduino firmware uses these libraries: The firmware includes a serial based setup menu to configure MAC/IP addresses, set the MQTT topic and tool name; these settings are stored in EEPROM. The idea is to be able to set up the device for another tool without having to change any code. The device can be in one of 6 states (valid transitions shown in the diagram), these are: Nhtools, Firmware <https://wiki.nottinghack.org.uk/images/3/3f/Tool_states.png>    

Documents

Comments

Comments