Skip to content
Snippets Groups Projects
Select Git revision
  • aefbe2ea78d5bd2762f8b867399403ef85f98244
  • main default protected
2 results

assy_rotary_axis.f3z

Blame
  • Forked from Jake Read / machineweek-2023
    Source project has a limited visibility.

    UrumbotXY

    This project is a corexy 2D motion system using serialstep


    CoreXY

    For a simple coreXY motion system, here is the list of parts you need to make:


    It is advised to 3D print capstan_motor and capstan_pulley, while all other parts can be machined or laser cut. 3D models files are available under ./files/3d, and dxf files under ./files/2d.

    For assembly, you will also need:

    • 2x NEMA 17 motors
    • 9x bearings
    • 8x V bearings
    • 4x small bearings
    • M5 screws (structure and bearings)
    • M5 nuts and washers
    • M3 screws (string tensioners)
    • M3 nuts and washers

    Here is the main frame after assembly:


    Note how the string is inserted on the capstans. The string can be attached to temporary anchor points to provide enough tension during this step. Inside capstan_pulley, you should insert a small bearing at the top and bottom. Use appropriate washers to have the correct height; there are 4 levels on capstan_pulley, and they should be aligned between each levels of capstan_motor.


    Here is a video of the motion at constant speed:


    Pen plotter

    Pen:


    Drawing:


    Circuitboard Milling

    Dec. 17-19, 2021. Set up CoreXY for milling, using a linear axis for z-travel and a spare Roland MDX-20 spindle. Keep the original python code, removing the homing step and changing speed to 5 mm/s.

    Run a text file for xy motion. Start, -10.0,-10.0:-10.8,-10.0: -0.8,0.0: 0.0,0.0.

    Axis setup:


    As constructed, end effector responded to sideways force with ~20N/mm. This led to about 0.5 mm oscillation while milling - not stiff enough. Added a clamp to stiffen, which allowed milling of traces. Adjustment of z-axis for milling was accomplished by manual adjustment of bit in collet. Z-axis motor was energized in order to constrain z-motion. Good enough to demonstrate.


    Movie:


    Closeup of traces: Using 1/64" bit and 0.8 mm horizontal separation of paths, at a 45 degree angle, the calculated trace width is 0.3 mm. Looks pretty close to this.


    This machine is close to being able to mill circuitboards. For the first try, the stiffness of the end effector wrt sideways force seems to be the limiting factor, rather than the xy stiffness. Next step: a better arrangement of z-stage and full incorporation of the z-motion into the software.

    Small-excursion z-axis design:

    A cam translates the spindle by flexing the beam a few mm. Total excursion at the spindle is about +/- 2 mm.



    Metrology - components and assembled parts.

    Initial results and setups are here, temporarily.

    Fishing line: 3.3 kN

    Seven-strand stainless: 11 kN

    Jan 14, 2022

    Using the limited z-excursion setup above, tested g-code parsing python code and ran PCB milling linetest. Results below are comparable to Roland SRM20 using the same endmill. Cutting was interrupted by a python write timeout error: "serial.serialutil.SerialTimooutException: write timeout" Code used is urumbu_gcode_1.14.22.py . Spindle speed in these tests is 16kRPM.


    Jan 15, 2022

    Added an ESC to control the BLDC motor. We can use the same board used for servo control. Like the servo, the ESC accepts positive pulses 1-2 ms wide, 20 ms period. To arm, apply 1ms pulses for one second, and then apply pulse length for desired speed. With 12V supply, no load speed is 17kRPM at 1.40 ms pulse length. These pulses need to be applied continuously to run the motor. (this is typical ESC behavior, I think.) Details in Rob's documentation.


    Linear axis

    Assembly:


    Constant speed:


    Acceleration: