CNC Torch Table Z Height Control: Difference between revisions
(→BOM) |
|||
Line 39: | Line 39: | ||
| 1 || Sensor-probe || to be selfmade, from a thick piece of copper wire and a BNC-cable (but a commercial version also exists) | | 1 || Sensor-probe || to be selfmade, from a thick piece of copper wire and a BNC-cable (but a commercial version also exists) | ||
|- | |- | ||
| 1 || 5-pole DuPont connector breadbord-ribbon-cable, female2male || [http://www.ebay.de/itm/40Pcs-Jumper-Male-To-Male-Dupont-10Cm-For-Breadboard-Arduino-Wire-Ribbon-Cable-K-/232313092546?hash=item3616f079c2:g:OngAAOSwB09YIaoi] | | 1 || 5-pole DuPont connector breadbord-ribbon-cable, female2male, for the rotary encoder || [http://www.ebay.de/itm/40Pcs-Jumper-Male-To-Male-Dupont-10Cm-For-Breadboard-Arduino-Wire-Ribbon-Cable-K-/232313092546?hash=item3616f079c2:g:OngAAOSwB09YIaoi] | ||
|- | |- | ||
| 1 || 1-pole DuPont connector breadbord-ribbon-cable, female2female || [http://www.ebay.de/itm/40pcs-Dupont-10CM-Male-Female-Jumper-Wire-Ribbon-Cable-for-Breadboard-Arduino-/172744904370?hash=item2838660eb2:g:xEEAAOSwZQRYcPmJ] | | 1 || 1-pole DuPont connector breadbord-ribbon-cable, female2female, for elongate the SW-pin and connect it to the ICSP-port of the Arduino Nano. || [http://www.ebay.de/itm/40pcs-Dupont-10CM-Male-Female-Jumper-Wire-Ribbon-Cable-for-Breadboard-Arduino-/172744904370?hash=item2838660eb2:g:xEEAAOSwZQRYcPmJ] | ||
|- | |||
| 1 || 4-pole DuPont connector breadbord-ribbon-cable, male2male, for the TB6600 || [http://www.ebay.de/itm/40Pcs-Male-To-Male-Wire-Ribbon-Cable-Jumper-For-Breadboard-Arduino-Dupont-10Cm-L/232313504951?_trkparms=aid%3D222007%26algo%3DSIM.MBE%26ao%3D2%26asc%3D20160323102634%26meid%3Dd7e9a168a23d45d1a1cd8b1d5e8d2f56%26pid%3D100623%26rk%3D1%26rkt%3D6%26sd%3D232313092546&_trksid=p2047675.c100623.m-1] | |||
|- | |- | ||
| 1 || D3D universal axis, as testrig or torch-mount || [http://opensourceecology.org/wiki/D3D_Universal_Axis] | | 1 || D3D universal axis, as testrig or torch-mount || [http://opensourceecology.org/wiki/D3D_Universal_Axis] | ||
Line 47: | Line 49: | ||
| 1 || TorchHeightCTRL_V.02 pcb || can be ordered from Aisler as readymade project [https://go.aisler.net/case06/torchheightctrl_v-02] (but you have to register there to see the project) | | 1 || TorchHeightCTRL_V.02 pcb || can be ordered from Aisler as readymade project [https://go.aisler.net/case06/torchheightctrl_v-02] (but you have to register there to see the project) | ||
|- | |- | ||
| Set || Set of electronic parts for soldering on the pcb || can be ordered from Mouser as readymade | | Set || Set of electronic parts for soldering on the pcb || can be ordered from Mouser as readymade projec01t24 and can be accessed at [http://www.mouser.de/tools/projec0tcartsharing.aspx] (there you have to type in as project-key 64fff8ecbf) | ||
== Wiring Schema == | == Wiring Schema == |
Revision as of 17:34, 8 August 2017
Automatic capacitive sensing version of CNC Torch Table Height Controller
This is the automatic height levelling version based on the new TorchHeightCTRL_V.02 pcb. (All Sources on GitHub: [[1]])
Design rationale
The new pcb is an all-in-one board, that adds some peripheral interfaces to the application, like for endstop or a future direct user interface (Display).
In the automated version the 0mm-distance / start-position should be found automatically by homing. From this it will take a sample and then goes to 30mm height and take another sample for calibration. Then it will go into a loop and trying to balance the distance around a pre-set default-value of 15mm. But if you then push the button of the jogwheel you switch from autobalancing- into manual-mode and change this 15mm-default-value by turning the jogwheel. Pushing again switches back into autobalancing mode.
BOM
Quantity | Part | Supplier | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Arduino Nano V3 with USB-cable | [2] | |||||||||||||||||||||||||||
1 | TB6600 stepper driver | [3] | |||||||||||||||||||||||||||
1 | KY-040 Rotary Encoder | [4] | |||||||||||||||||||||||||||
1 | Knob for rotary encoder (must be 3d-printed on your own !!!) | [5] | |||||||||||||||||||||||||||
1 | Power-Supply | [6] | |||||||||||||||||||||||||||
1 | Stepper Motor 17HS19-2004S, Nema17, with 2A and 59Ncm holding torque | [7] | |||||||||||||||||||||||||||
1 | Mechanical EndStop | [8] | |||||||||||||||||||||||||||
1 | Sensor-probe | to be selfmade, from a thick piece of copper wire and a BNC-cable (but a commercial version also exists) | |||||||||||||||||||||||||||
1 | 5-pole DuPont connector breadbord-ribbon-cable, female2male, for the rotary encoder | [9] | |||||||||||||||||||||||||||
1 | 1-pole DuPont connector breadbord-ribbon-cable, female2female, for elongate the SW-pin and connect it to the ICSP-port of the Arduino Nano. | [10] | |||||||||||||||||||||||||||
1 | 4-pole DuPont connector breadbord-ribbon-cable, male2male, for the TB6600 | [11] | |||||||||||||||||||||||||||
1 | D3D universal axis, as testrig or torch-mount | [12] | |||||||||||||||||||||||||||
1 | TorchHeightCTRL_V.02 pcb | can be ordered from Aisler as readymade project [13] (but you have to register there to see the project) | |||||||||||||||||||||||||||
Set | Set of electronic parts for soldering on the pcb | can be ordered from Mouser as readymade projec01t24 and can be accessed at [14] (there you have to type in as project-key 64fff8ecbf)
Wiring Schema
Power SupplyWarning: The phoenix-contact powersupply connector has NOT the same configuration than the connector of the same type on RAMPS-boards !!! Dont use the plug of a powersupply that was previously configured for use with a RAMPS-board and has 2 x 12V. The TorchHeightCTRL_V02 board has 1 x 5V and 1 x 12V and will be blown immedately if you give 12V to the 5V line !!!
TB6600The TB6600 gets connected to J3 on the TorchHeightCTRL_V.02 pcb.
The power lines should be connected directly with a 12V line of the powersuplly, as mentioned above.
Rotary Encoder KY-040The Rotary Eccoder pins GND, 5V, DT and CLK get connected with J7 on the pcb. If you turn the pcb that you can read the labl "J7 Jog" in the right orientation the pins on J7 are (from left to right): 5V, GND, DT, CLK. There is one more pin on the KY-040, labelled as "SW". This is a button-press-funktion. Unfortunately the pcb-design was initially intended for another type of rotary encoder, which had not this function, so its not incorporated in the original design. But there is however a workaround (without soldering) for now. The SW pin must be connected to one pin of the ICSP-port on top of the Arduino Nano. (Note: This pin is also part of the UEXT-port, which is not used now. But later we should replace it with another free pin, e.g. pin D9.)
EndStopThe mechanical EndStop gets connected to J5 on the PCB. The Pinout of J5 is (from left to right): GND, DATA, 5V
Capacitance-Sensor-ProbeThe SensorHead-Probe gets connected with a coaxial cable with BNC-connector, where the Sensing-Ring is connected to the inner wire. You can get an impression on how the probe is made from the video at [16].
FirmwareArduino-Code on Github:[[17]]
Manual adjustable version of CNC Torch Table Height ControllerThis is a simple POC-version that allows a manual adjustment of the Z height by turning a jog wheel (see demonstration video on youtube: [18]). The wheel can be 3d-printed [19] and is connected to a rotary encoder of type KY-040.
- demonstration video on youtube: [20]
Design RationaleWith this rig it should be possible to manually operate the torch table height by following its slowly moving and regulate the height personally. This can be useful even if in the full version there is a capacitive sensor doing automatically that task, but one may use it then for setting the starting height or use it in other applications where a frequent manual control is an appreciated option. The rotary encoder gives up to 20 pulses per revolution to an Arduino-Mega, which translates it into a number of motor steps and triggers these by a TB6600-based stepper-driver. A RAMPS 1.4 may act as a connection layer on top of the Arduino, but can also be omitted. We will show here which pins to wire on the Arduino and on the Ramps as well. The firmware consist only of a few lines of Arduino-code, which makes it easy to extend and modify. BOM
WiringThere are 3 kind of connections: - Power-supply to Ramps/Arduino - Rotary Encoder to Ramps/Arduino - TB6600 to Ramps/Arduino
Power-supply to Ramps/Arduino1. Ramps: Connect a 12V/5A-Line to the MSTBA4-Port an the Ramps, by using a phoenix-contact plug. This will provide power for Motor as well as board-power for the Arduino-Mega. 2. Arduino standalone: The Arduino musst be supplied with 5V to 12V. This can be done by the USB-connection to a desktop-pc or by a standard wall-wart ac/dc-adaptor (5V, 2A) for the Mega.
RotaryEncoder to Ramps/ArduinoThe KY-040 RotaryEncoder has 5 Lines: GND, +5V, SW, DT, CLK. Connect these either to the AUX2 port of the Ramps, or directly to the corresponding digital I/O ports on the Arduino-Mega. GND --> GND 5V --> 5V SW --> D44 DT --> D42 CLK --> D40 TB6600 to Ramps/Arduino, Motor and PowerThe TB6600 stepepr driverhas three phoenix contact like connectors, - one 6-pin to the Ramps - one 4-pin to the motor - one 2 pin to power-supply
Make a bridge between ENA- and DIR-, together with a second bridge from DIR- to PUL-. The PUL- contains a second cable which goes towards GND on the Ramps Extruder E0 port. So in total there are 4 wires going either to the Ramps or directly to the Arduino-Mega: 1. Ramps: ENA+ --> EN DIR+ --> DIR PUL+ --> STEP PUL- --> GND
2. Arduino-Mega: ENA+ --> D24 DIR+ --> D28 PUL+ --> D26 PUL- --> GND
In the case of a bipolar stepper motor with 4 wires two of them are the ends of one coil. Connect them like this:
The 2-pin connector has the lines 12V+, 12V-. Connect these to a power-supply which can deliver at least 5A. The TB6600 stepper driver is rated for up to 4A and 9-36V DC. That means you can instead of 12V also connect 24V or more towards it. FirmwareArduino-Code on Github: [32]
|