Saturday, January 14, 2017

AutomaTron

AutomaTron by Humanoido
I designed and built AutomaTron, a model-bot to simulate a 25-ton industrial press robot and demonstrate multi-axis programmable motion control. This “industrial automatic” member of the Zylatron family is a working model, capable of supporting the full gamut of machine parameters.

Scaled ratio is 1 ton to 1 ounce, maintained with 3 unmodified 3.4 kg/cm 180 degree servos. In scaled terms, it can handle up to 42 tons. This R&D unit is lightweight, portable, and breadboarded to facilitate rapid changes, improvements, testing, and debugging as needed.

I built a tiny PLC to control X-Y-Z axes driven by hobby servos interfaced to a miniature SSC. Multiple axes can achieve singular or plural states. Expansion is provided for up to 8 axes. An autonomous Light Curtain (ALC) safety feature is made from infrared beam detectors wired to the MCU. Breaking the transmitter-receiver beam results in safety effects, which are hardware (and/or software) programmed to OSHA regulations. ALC options halt the zaxis RAM, return the RAM to a previous state, RAM home, or move to a new location.

Audio signals, programmed from one MCU modulated output port, feed to a piezoelectric element. In high decibel mode, the Decibel Generator Unit (DGU) feeds output through an optional LM386 analog amplifier wired at 200x. AutomaTron is powered by a surplus miniature analog power supply, wall power converter, or batteries.

I designed MMOS, a simple Micro Motion Operating System. It derives efficient higher ordered modular code snippets to accomplish motion control. MMOS commands talk to the servos, PLC, PUP, DGU, ALC, SSC, LCD, LED, EPROM, RAM, MCU, SCS, ABU, LDS, and DGU. The OS modular aspect includes comment featuring, which makes programming by a succession of authors feasible and easy. This section is embedded in MMOS as SDE - Self Documentation Engine. MMOS code can do repeat version burns to EEPROM. MMOS documentation is saved with uploading software to the host computer.

The PLC "head" was fabricated from a PIC-based 16 I/O 16C57 computer affectionately know as the "Electrical Cabinet." It includes a Grayhill 96 series black matrix keyboard, 4 x 5 matrix encoder, and low drain green LCD for display. The PLC commands a memory slave board with a series of operating screens, programmed on-the-fly or presaved.

PLC User Programs (PUP) can be generated through AutomaTrons keyboard using the User Program Interface (UPI), embedded in the MMOS and Modular PBASIC code drivers. Keyboard code can turn 16 hard keys into 80 total keys using special designed function modes. This is reminiscent of Clive Sinclair’s marvel of achievement TS-1000 keyboard. In effect, the PLC functions as an advanced mini-terminal.

Motion control is accomplished with degrees of pulse width modulation. Homing is programmed with 1.5 ms pulses sent every 20 ms on each axis. Forward and reverse motion is achieved along the closed loop servo Self Calibrating System (SCS) with subroutines. Features include constant, or varied acceleration, velocities in ± directions, and a self calibrating Automatic Backlash Unit (ABU).

RAM motion (up or down) is controlled with the x-axis. Backguage (forward or back) is managed with the y-axis. Backgauge height is controlled by a third dimension Z vector. Repeatability matches typical 25 ton presses. Limit switches are experimental; soft microswitches, Hall Effect devices, induction detectors, and optical vision recognizers.

Setting the gains is automatic. Self Tuning Servos (STS) were created by programming in Test Mode (TM). Debugging is by Stop Gap (SG) where lines of code, subroutines, or modules are executed individually. The code Line Display Subroutine (LDS) shows a line by line execution of the program.