I'm hoping this is something simple, that I'm just not getting. I'm using OpenBuilds CONTROL software to run my Arduino UNO based table. I can successfully jog 10mm, or 100mm per jog, but if I take it down to 1mm, or .1mm, the table clicks & nothing moves. I have occasionally seen it "rock" in the direction I expect it to go, but then it falls back to where it just was. I tried dropping acceleration down & it did provide some help (moved at 1mm per step), but it was so slow, there's no way I could use it that way to actually cut anything. Does anyone have any ideas? I can provide additional hardware info if necessary, but not sure what is relevant.
I'm using nema 23 stepper motors (23HE45-4204S) & drivers (DM542Y) from stepperonline.com. An Arduino Uno r3 (running GRBL 1.1f) to drive it, with an optical isolator for the limit switches. Any more hardware info that might help?
Drive system? Belt, leadscrew, chain? Rail system? VSlot, Hywin, what are you running Check for -Loose pulleys/shaft couplers on motor shaft / leadscrews as applicable (belt vs leadscrew) -check all the Mechanical components for play -paste your grbl settings
Another point that might be of help is that this is a new build & this has been an issue since I put it together over the last couple weeks. I'm using belts for my direct drive system on my X & Y (dual stepper motors) axis, with tension adjusters at the end of each belt. Both are tight with no noticeable play. Both axes have this problem. The rails are 2" square steel tube with carriages that ride on them. Some pictures (embedding wasn't working for me, so here are links) Direct Drive: https://photos.app.goo.gl/7TjF8dd8GPQ81nTF7 Stepper: https://photos.app.goo.gl/6r6fYreRUA6R3wYx5 Driver (1 for each motor): https://photos.app.goo.gl/sTwYWtrL3VPyyQZU9 Thanks for the help!!! GRBL Settings: $0=10 ;Step pulse time, microseconds $1=25 ;Step idle delay, milliseconds $2=0 ;Step pulse invert, mask $3=5 ;Step direction invert, mask $4=0 ;Invert step enable pin, boolean $5=1 ;Invert limit pins, boolean $6=0 ;Invert probe pin, boolean $10=1 ;Status report options, mask $11=0.010 ;Junction deviation, millimeters $12=0.002 ;Arc tolerance, millimeters $13=0 ;Report in inches, boolean $20=0 ;Soft limits enable, boolean $21=0 ;Hard limits enable, boolean $22=1 ;Homing cycle enable, boolean $23=3 ;Homing direction invert, mask $24=500.000 ;Homing locate feed rate, mm/min $25=10000.000 ;Homing search seek rate, mm/min $26=244 ;Homing switch debounce delay, milliseconds $27=6.350 ;Homing switch pull-off distance, millimeters $30=1000 ;Maximum spindle speed, RPM $31=0 ;Minimum spindle speed, RPM $32=1 ;Laser-mode enable, boolean $100=5.330 ;X-axis steps per millimeter $101=5.330 ;Y-axis steps per millimeter $102=320.000 ;Z-axis steps per millimeter $110=40000.000 ;X-axis maximum rate, mm/min $111=40000.000 ;Y-axis maximum rate, mm/min $112=500.000 ;Z-axis maximum rate, mm/min $120=600.000 ;X-axis acceleration, mm/sec^2 $121=600.000 ;Y-axis acceleration, mm/sec^2 $122=10.000 ;Z-axis acceleration, mm/sec^2 $130=1244.600 ;X-axis maximum travel, millimeters $131=635.000 ;Y-axis maximum travel, millimeters $132=63.500 ;Z-axis maximum travel, millimeters
Thats pretty bad resolution As you can only move 5 steps in each mm, grbl has to sometimes do nothing while the number catch up to very low resolution to make one physical move to match (so trying to move 0.1mm is LESS than one step, so it can't execute it, it does nothing for like two-three clicks then moves one step to catch up. One step is of course barely visible What is your microstepping set to, choice of belt/pulleys appropriate? And set that to 255 so it stays enabled all the time, helps keep position. In between microsteps with Idle it may jump back or forth to the next fullstep inside the motor By the way, is those carriages based on my old design Plasma cutter - 608 on steel tube version - looks very similar and would be cool if it was
This appears to have solved the problem immediately! My motors are 1.8 degree motors, so 200 pulses/revolution. The lowest setting on my stepper drivers is 400 pulses/revolution, so I believe I'm currently using half-stepping? Increasing the micro-stepping would also increase my resolution above, correct? Is there a "sweet spot" where I should try to get my resolution at? Or just not SO sucky? As far as the belt/pulleys go, I'm using 15mm wide "high strength" belt & a 15T pulley, both with a 5mm pitch. As I said in my other thread that you helped me with, I'm a noob & made a lot of these decisions based on any info I could find, but also on what parts I could get quickly. As a result, any suggestions you have for changes would be appreciated. Unfortunately, since I didn't have access to any precise way to make metal parts (until now) I went ahead and bought the carriages, so I'm not sure if they're based off your design, but there are certainly some design similarities there. I like the ones I'm using, but I imagine I'll be designing some in the future that will fit my needs better. I may use some of your design as a basis for those.
Correct, that would be Half. We like 1/8th or 1/16h (1600 or 3200 steps on the DIP switch table) - which would give you 1/20 or 1/40th of a mm "resolution" That's OK Was just checking that its not something inappropriate, 15T at 5mm pitch is not too bad, I think the halfstepping is easier fix Awesome!
I would go with 8x stepping. This will give X/Y (micro)steps per mm: 21.333333 0.04687499mm per step X/Y max steps/s: 14222.222222 which keeps it at about half the max step rate for GRBL, a sweet spot I think.