Adding a rotation axis (bottle cutter)
Thanks to the hackability of LaOS, Fablab Amersfoort now has a Rotation axis.
It can be switched in or out relatively easy because we uses the Z-axis outputs for this and altered the firmware to use these pins for the Y axis. Basically we make the firmware think it's moving the Y axis but it's actually moving the Z axis.
To make the firmware think it was controlling the Y axis we changed the pins in /laser/LaosMotion/LaosMotion.cpp:
// Inputs; DigitalIn xhome(p8); // p8 DigitalIn yhome(p16); // p17 DigitalIn zmin(p16); // p15 DigitalIn zmax(p16); // p16 // motors DigitalOut enable(p7); DigitalOut xdir(p23); DigitalOut xstep(p24); DigitalOut ydir(p27); // p25 DigitalOut ystep(p28); // p26 DigitalOut zdir(p29); // p27 DigitalOut zstep(p30); // p28 DigitalOut estep(p29); // NOK: CAN, (TODO) DigitalOut edir(p30); // NOK: CAN, (TODO)
See http://redmine.laoslaser.org/projects/laos/wiki/CompilingFirmware on how to compile the firmware yourself.
Our current Morntech lasercutter had it's own motor stepper drivers (we didn't use pololu's). These external stepperdrivers got 5v through J15 en J21 (which connected the + output to the VPP. VPP got his 5v trough the VMOT input. Now this needed to change because the pololu (or our rotation motor) requires 24v.
- disconnected the J15 and J21 jumpers,
- and connected 2 pins on the pololu footprint to get 3.3v to the external X & Y drivers; pin 10 (VDD) to pin 14.
- We removed the MBED (for it's own safety).
- Wired the 24v of our power supply to the VMOT input.
- Connected the 24v ground to the 5v ground on our power supply.
- We checked that there wasn't going 24v to any of the MBED pins.
- We put the MBED back in.
Then we needed a way to disable the Y axis endstop, otherwise it wouldn't get past the homing step on startup. The easiest way to do this seemed to connect our unused Z-axis endstop (Z- for example) to GND.
RE: Adding a rotation axis (bottle cutter) - Added by peteruithoven over 4 years ago
I reapplied the changes to the latest firmware version in a separate branch: