Category:Controllers
Designers: | Timothy Schmidt |
---|---|
Tools: | 3D printers, Soldering irons, Drill presses |
Parts: | Resistors, Capacitors, Inductors, Microcontrollers, Transistors, Diodes |
Techniques: | Voltage dividers, Buck-boost converters, Active rectification, Gate drivers, Current sensors, Digital to analog conversion, Analog to digital conversion, Pulse width modulation, PID, Bang bang, MPPT |
Introduction
Industrial control system (ICS) is a general term that encompasses several types of control systems and associated instrumentation used for industrial process control.
Such systems can range in size from a few modular panel-mounted controllers to large interconnected and interactive distributed control systems with many thousands of field connections. Systems receive data from remote sensors measuring process variables (PVs), compare the collected data with desired setpoints (SPs), and derive command functions which are used to control a process through the final control elements (FCEs), such as control valves.
Larger systems are usually implemented by supervisory control and data acquisition (SCADA) systems, or distributed control systems (DCS), and programmable logic controllers (PLCs), though SCADA and PLC systems are scalable down to small systems with few control loops. Such systems are extensively used in industries such as chemical processing, pulp and paper manufacture, power generation, oil and gas processing, and telecommunications.
Challenges
Most devices require some internal logic or digital control. Most devices go about that in entirely incompatible ways. Can a single open inexpensive multipurpose controller replace most single-purpose machine control electronics?
potential functions
- aiming solar panels
- logging power input from mains, solar, wind, etc
- logging power usage from batteries
- maintaining comfortable internal temperature and humidity
- maintaining hot water / refrigerated food
- managing solar oven
- managing internal lighting - individually addressable RGB LED strip allows for full light, night light, simulated sunrise/sunset, simulated lightning, etc.
- managing compost
- laundry?
- dishes?
- managing small indoor garden - light, watering, airflow, humidity - microcosm of all it's normal duties. Room for systems design reuse
- interact with the wifi router / server / TV / workstation
Approaches
We work hard to avoid depending on computers as much as possible - for example: Replimat projects can be drawn with pen and paper and the grids. Where we do depend on computers, we work hard to make sure they're as simple as possible, the same computer everywhere possible, that they run the same software everywhere possible.
Laser additions to open source Marlin 3D printer firmware for Buildlog.net, OpenSLS, and mUVe3D demonstrate adaptability of existing ultra-low-cost 3D printing control solutions to a wider range of problems.
A collection of power, control, cooling, and container components are suggested, which connect the elements common to a variety of machine control problems, as well as additions to increase the range of acceptable input and output voltages. This allows the controller to consume power from a variety of solar panel and battery configurations, and to control peripherals originally designed for other applications (i.e. found, salvaged, or otherwise repurposed equipment).
Parts
- Highly compliant input power/voltage (20 - 72v input into 180W buck converter, suitable to be run directly from solar, salvaged batteries, spotty grid power, buckwired into optional LiPo charger circuit, then to MKS 1.4 power-in):
- https://www.amazon.com/gp/product/B018X03GYA/?tag=replimat-20
- High-current adjustable voltage output (High-power heated bed FET of MKS 1.4 wired to high-amp adjustable buck-boost before the connector)
- https://www.amazon.com/gp/product/B00N8EVQ30/?tag=replimat-20
- https://www.amazon.com/KOOKYE-printer-RepRap-Driver-Graphic/dp/B01HAU7T6K/?tag=replimat-20
- https://github.com/MarlinFirmware/Marlin
- Laser cut coroplast box
- Copper acetate solution - vinegar (white) + hydrogen peroxide + copper
- 0.6mm solder
Interoperability:
Development targets:
- Soldering iron attachment
- Share inductors across HV, buck-boost, etc.
- Printed power connector (PETG printed sprung m3 bolt (printed-in-place spring mechanism) and buna-n or ninjaflex O ring panel mount waterproof connector, crimp-on terminal connector for m3 bolt)
Battery charger
- Inductive load driver - ZVS driver (IRFP260N mosfets - 50A 200V - $3 ea Ebay:
- http://www.infineon.com/dgdl/irfp260n.pdf?fileId=5546d462533600a4015356289dcf1fe2 , inductors, capacitors) - inductive cooking, inductive forge, inductive plastic injection nozzle, inductive laser power supply driver - lux wire from TV CRT yokes, Electrical Discharge Machining, http://www.ebay.com/itm/281814315969 )
- H bridge driver ICs - adjust gate voltage relative to source voltage on the mosfets where source is tied to motor input
- https://www.digikey.com/product-detail/en/NCP5104DR2G/NCP5104DR2GOSCT-ND/1802370
- Instructables: DIY 1kW MPPT Solar Charge Controller
- Github: Open Solar Project Controller
Multimeter
- Hardening - IRFP260N mosfets - 50A 200V mosfets, Higher wattage supplies, smaller board, silicone potted
Inverter
The replimat controller provides digital electronic control for all replimat projects. The controller works in conjunction with software and builds upon 3D printing and desktop fabrication to provide a generalized solution for machine control problems. The controller bolts to any frames and provides connections for motors, switches and sensors, pumps, lights, and other equipment.
Software assumes the presence of a microcontroller and an application processor capable of running Linux or another full OS.
Uses
CNC
-
Plasma cutter schematic
-
Plasma cutting sequence
-
6 step waveform generation
-
Three phase ebike motor controller
This use of the controller includes 3D printing, plasma, waterjet, and laser cutting, milling and lathing as well as many other tasks automated with machine tools.
- Firmware support for Emco CNC lathe w/ 6 axis tool changer and spindle speed control
- Firmware support for Emco F1 CNC mill with quick-change tool post and 90 degree tiltable spindle for side-milling.
- Firmware support for frame auto-drilling machine
Battery management
Current and voltage sense circuits, voltage and current control, as well as a calibrated load enable the controller to manage a wide variety of battery chemistries.
Home automation
ESP8266 integration allows for interaction with IoT devices.
Development
rev1.2
Parts
Part | Quantity | Link |
---|---|---|
ECP5 FPGA | 1 | |
LCD | 1 | Amazon |
2 wire extension cable | 4 | ebay |
3 wire extention cable | 6 | ebay |
4 wire extension cable | 5 | ebay |
2 wire bare extension | 2 | Amazon |
3 wire bare extension | 2 | Amazon |
4 wire bare extension | 2 | Amazon |
Pre-terminated cables w/ JST-XH lugs | 1 | Amazon |
Controller case | 1 | CAD |
LCD case | 1 | CAD |
Software
Summon FPGA tools
RepRapFirmware Wiki page
RepRapFirmware online configuration tool
LPC1768 port
building on Debian
rev1.1
-
Controller
-
Printing
Parts
Part | Quantity | Link |
---|---|---|
MKS Base | 1 | Amazon |
LCD | 1 | Amazon |
2 wire extension cable | 4 | ebay |
3 wire extention cable | 6 | ebay |
4 wire extension cable | 5 | ebay |
2 wire bare extension | 2 | ebay |
3 wire bare extension | 2 | ebay |
4 wire bare extension | 2 | Amazon |
Controller case | 1 | CAD |
LCD case | 1 | CAD |
Software
Klipper
Full installation instructions here.
- Download Octoprint from here
- Extract .img file
- Transfer .img file to SD card using etcher or "dd if=/path/to/file.img of=/path/to/sdcard/device bs=1M"
- edit wpa_supplicant.txt on SD card boot partition
- insert card into Raspberry Pi
- connect power source
- open web browser and connect to octopi.lan
References
rev1
-
Controller rev1 front
-
Controller rev1 rear
-
Laser wiring
Parts
Part | Quantity | Link |
---|---|---|
MKS Base | 1 | Amazon |
LCD | 1 | Amazon |
Controller plate | 1 | CAD |
Extension cables | 2 |
Software
Resources
- OpenSourceEcology: Universal Controller
- PyGestalt - a framework for building controllers for automated tools. It enables you to import your machines as Python modules, and makes it easy to connect machines to browser-based user interfaces
- Electrical Motor Controls for Integrated Systems Applications Manual
- Rapcores
- OpenTechLab FOSS logic analyzer videos
- BotQueue
- ICEStorm FPGA tools project
- MSU ECE Team 7 final report
- http://www.akamaiuniversity.us/PJST8_1_4.pdf
- https://github.com/timschmidt/bailingwire
- Automatic 5-axis NC toolpath generation
- Neuron Lite Plasma Cutter User Manual
- Neuron Simplicity Plasma Cutter User Manual
- cnc.js
- Chiprag CNC News
- Parametric Computer Case Script v0.1
- Asynchrobatic logic for low-power VLSI design
- Permacomputing
- Libre solar - building blocks for DC energy systems
- ECE 480 Team 7 Compact DC/AC Power Inverter
- H-bridge secrets
- Liquid PCB
- Wikipedia: Precision time protocol
- Github: BFree battery-free prototping platform
- Wikipedia: Track transition curve
- Leib Ramp algorithm
- Wikipedia: Euler spiral
- Smooth path planning using biclothoid fillets for high speed CNC machines
- Github: modm
- Stanford: Juan Rivas Davila
- Github: stmbl
- Hackaday: Mechaduino
- ODrive Robotics