svenhb / GRBL-Plotter

A GCode sender (not only for lasers or plotters) for up to two GRBL controller. SVG, DXF, HPGL import. 6 axis DRO.
https://grbl-plotter.de/
GNU General Public License v3.0
669 stars 177 forks source link

Z axis as stepper motor PU/PD #400

Closed Marmadoc closed 4 months ago

Marmadoc commented 4 months ago

I try to understand how Z Axis Pen Up/Down works I have stepper 24 BYJ 48 12V. When I press Z jogging 10z motor moves a little next stops and start moves again and finally stops. Stops jogging on mouse is OFF on picture is my setup for Z axis GRBL Plotter1 My mechanical design is 10mm up and 10m down for pen holder. I calculated that 1mm it is 102 steps (#102 GRBL) How to use setup to get movement different than 2mm - I tried 20mm but not move that much. Thx in advance

svenhb commented 4 months ago

If you import a graphic, each path starts with a "pen down" to start drawing and ends with a "pen up": Here you can define the absolute positions for your Z axis, If you want full range of 20 mm you may set Z-safe = +10 (above "workpiece" = paper) and Z-engrave = -10 mm (below workpiece-surface): image

Be sure your $102 is correct: if you press the upper "5" does it move 5 mm upwards, and 5 mm downwards if you press the lower "5". If not, you need to check your $102 setup (using micro-steps?) or the motor is too weak and needs more current from the motor driver. image

Perhaps show some pictures of your Z axis. Is it belt or screw driven? If screw driven I assume your $102 is too small: Stepper-motor usually have 200 steps/turn, with micro-stepping perhaps 800 to 1600. Pitch of the screw perhaps 2 mm/turn = 400 or 800 steps per mm.

Marmadoc commented 4 months ago

Thank you svenhb. My pen holder and motor is on picture. Evry 180 deg it moves 10mm (10mm up and 10mm down). 180deg of motor shaft it is 1019 steps, so 1mm it 102 steps. (#102) I still do not understand why when I click 10Z motor moves a little next stops and start moves again and finally stops. the same when (Move Pen to upper position) $J=G90 F5000 Z#GMAZ and (Move Pen to lower position) G90 G0 Z#GMIZ Pen Thx Adam

svenhb commented 4 months ago

motor moves a little next stops and start moves again

I assume you watch the pen-holder or z-axis but not the motor axis itself...

I assume, the motor is fixed with the two platic screws and the black disk pushes the red lever? image

I think friction at the guide axes and the "non-perfect" shape of the disc is the problem. Also the relation between motor-turn and z-movement is probably not linear

svenhb commented 4 months ago

At the red marked positions, the lever won't move, because the radius doesn't change: image

Also the connection between disc and motor axis doesn't look solid

Marmadoc commented 4 months ago

It is motor only - one click on Z 10. https://github.com/svenhb/GRBL-Plotter/assets/69551886/c7b033ee-43a9-4f58-81ee-eedc5057d319 Why it stops in the middle?

svenhb commented 4 months ago

Perhaps the gear is broken, can you check with a motor without gear?

Marmadoc commented 4 months ago

I found what is wrong. Your F for Z10 is 1000, For Z 5, 2, 1 is 500. When I changed F to 500 for Z 10 - all works OK. It is for 24 BYJ 48 12V, and not for NEMA17 i.e. 24 BYJ 48 12V step angle is ~5.625 before reduction gears. F1000 is too fast for this motor. Nema17 step angle is 1.9 deg - and this motor can handle speed F1000. For 24 BYJ 48 12V I calculated max speed ~460. About mechanical design. I'm sure it is sturdy. Plastic mounting screws are in brass inserts. No motor movement at all. Z movement non-linear. It is very close to linear, and even it is not shouldn't be any problem. It is not X or Y Axis - where precision is required - but pen movement Up and Down - I do not think it is a problem. Bottom line - this system with step motor is much nicer than servo. I'm happy with this. Only I added limit switch and G code starts with homing cycle ( only Z axis). From this point I know exactly pen holder position. I would be more happy if my blocks are made from aluminum - not 3D plastic printing, but it is very expensive for one off design. Thx Ada

svenhb commented 4 months ago

So the problem was steploss, because of to high feedrate? Good you found the reason. If you set $112 (https://github.com/gnea/grbl/wiki/Grbl-v1.1-Configuration#110-111-and-112--xyz-max-rate-mmmin) to 460, you are safe: any higher F value will be cut off.

The idea of different speeds for the Joystick is, to get a smooth repetition, If you keep "pressing" a move "button", the command will be sent again after 0.5 sec. during this time the previous sent command sould be almost finished otherwise you get a start-stop-start-stop motion or you fill the grbl buffer too much and the movement doesn't stop if you release the button.

Marmadoc commented 4 months ago

Thank You. BTW where is jogging setup? I.e $J=G91 Z5 F500

svenhb commented 4 months ago

image

Marmadoc commented 4 months ago

Another hidden gem - Thank You