I could use some help
-
@mac said in I could use some help:
@fcwilt Hey, Frederick, I gotta turn in. 4:30 comes awfully early tomorrow morning.
This was a great session. I think we accomplished A LOT.
If you have time tomorrow, let's try some more, okay?
Glad to and I agree it's time to sleep.
Good night, mac.
-
@fcwilt thanks again!
-
@mac Wow, this thread is a journey.
Another way to get the steps per mm correct is to know what type of belt you have, and count the number of teeth on the pulley. If there's no marking on belt, measure the distance between 10 teeth on the belt, in millimetres, then divide by 10 to get the tooth pitch. This is the distance between teeth. Usually (but not always) it's 2mm. If the manufacturer used cheaper MXL belt, it would be 2.032mm.
The pulley on the Y axis in your picture looks quite small; I'd guess a 16 tooth pulley, but it's worth checking. I'm pretty sure the motors are 200 steps per revolution, and you are now using x16 microstepping.
Then use this formula:
steps_per_mm = (motor_steps_per_rev * driver_microstep) / (belt_pitch_mm * pulley_number_of_teeth)For example
step per mm = ( 200 * 16 ) / ( 2 * 16 ) = 100Which seems to be close to what you are seeing, but then that's just me guessing at the numbers from the pictures, so please check.
I'm not sure why when you posted your video yesterday it was going so fast, and I got you to set steps per mm to 40. Maybe settings got changed without restarting. But slow is better than fast and crashing!
Ian
-
@droftarts Good morning, 10 teeth on the Y-belt measures 9/16th of an inch, which converts to 17.4625mm's. Divided by 10 gives my belt a pitch of 1.74625 something or others.
The pulley does indeed have 16 teeth. So, 200 steps X's 16 teeth is 3200 something or others, 1.74625 something or others X's 16 teeth gives us 27.94mm, I think, and 3200 divided by 27.94 equals 114.5311 something or others after a full revolution of the belt? Is that what we have?
I remember you giving me those lower M92 numbers (?), correct? Frederick was surprised by the higher number in that line of gcode in the config.g.
I remember entering your lower numbers into the code. Apparently, I didn't save it after I made the changes?
At this point, Frederick has done an enormous amount of work on this problem. We were working on all of this until late last night measuring the full travel of the Y-axis.
Here are the results: From the endstop at the back of the printer, all the way to as far as the bed can roll towards the front of the printer is 18 inches, or, 457.2mm's. Interestingly, DWC called that travel 350.0 something or others.
So that's where the journey has lead us so far. I'm enjoying it. Coding can be a nail-bitter, but when it works, it's great!
-
-
-
@droftarts you see? It was there! But somehow it was changed. Probably my bad.
-
@mac From your image, I'm seeing around 12.5 teeth to an inch. 1 inch = 25.4 mm, so...
25.4 / 12.5 = 2.032mm. So I think the belt could be MXL, but MXL has a trapezoidal shape to the tooth, and yours look more rounded, so I think more likely it is 2mm GT2 belt.I'd stick with 100 steps per mm on X and Y for now. You can always measure prints, or the bed movement, if it needs to be more accurate.
Ian
-
@mac I think, for clarity, can you post your current config.g, homeall.g, homex.g, homey.g and homez.g please?
Ian
-
@droftarts I remember buying GTS belts for my BLV-Anet, so that’s exactly what it is. I replaced the oem belt on this XVico about two weeks ago.
-
; Configuration file for Duet 3 Mini 5+ (firmware version 3.3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.3.10 on Mon Jun 27 2022 12:50:38 GMT-0700 (Pacific Daylight Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Frankenstein's Cinderella" ; set printer name ; Network M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0.0 S1 ; physical drive 0.0 goes forwards M569 P0.1 S0 ; physical drive 0.1 goes backwards M569 P0.2 S1 ; physical drive 0.2 goes forwards M569 P0.3 S1 ; physical drive 0.3 goes forwards M584 X0.0 Y0.1 Z0.2 E0.3 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X100.000 Y100.00 Z4000.00 E420.00 ; set steps per mm M566 X900.00 Y900.00 Z60.00 E120.00 ; set maximum instantaneous speed changes (mm/min) M203 X6000.00 Y6000.00 Z600.00 E1200.00 ; set maximum speeds (mm/min) M201 X500.00 Y500.00 Z200.00 E250.00 ; set accelerations (mm/s^2) M906 X600 Y600 Z600 E600 ; set motor currents (mA) M84 S0 ; Disable motor idle current reduction ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X220 Y220 Z240 S0 ; set axis maxima ; Endstops M574 X2 S1 P"!^io5.in" ; configure switch-type (e.g. microswitch) endstop for high end on X via pin !^io5.in M574 Y2 S1 P"!^io6.in" ; configure switch-type (e.g. microswitch) endstop for high end on Y via pin !^io6.in M574 Z2 S1 P"!^io2.in" ; configure switch-type (e.g. microswitch) endstop for high end on Z via pin !^io2.in ; Z-Probe M950 S0 C"io3.out" ; create servo pin 0 for BLTouch M558 P9 C"io3.in" H5 F120 T3600 ; set Z probe type to bltouch and the dive height + speeds G31 P500 X15.875 Y0.625 Z2.5 ; set Z probe trigger value, offset and trigger height M557 X5:190 Y5:215 S10 ; define mesh grid ; Heaters M308 S0 P"temp0" Y"thermistor" T100000 B4092 ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out0" T0 ; create bed heater output on out0 and map it to sensor 0 M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S33 ; set temperature limit for heater 0 to 33C M308 S1 P"temp1" Y"thermistor" T100000 B4092 ; configure sensor 1 as thermistor on pin temp1 M950 H1 C"out1" T1 ; create nozzle heater output on out1 and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S100 ; set temperature limit for heater 1 to 100C ; Fans M950 F0 C"out3" Q500 ; create fan 0 on pin out3 and set its frequency M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"out4" Q500 ; create fan 1 on pin out4 and set its frequency M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on ; Tools M563 P0 S"optional" D0 H1 F0 ; define tool 0 G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C ; Custom settings are not defined ; Miscellaneous M501 ; load saved parameters from non-volatile memory M911 S21 R23 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool v3.3.10 on Mon Jun 27 2022 12:50:38 GMT-0700 (Pacific Daylight Time) M98 P"homeZ.g" M98 P"homeX.g" M98 P"homeY.g" ; Uncomment the following lines to lift Z after probing ;G91 ; relative positioning ;G1 Z5 F60 ; lift Z relative to current position ;G90 ; absolute positioning
; homex.g ; called to home the X axis ; ; generated by RepRapFirmware Configuration Tool v3.3.10 on Mon Jun 27 2022 12:50:38 GMT-0700 (Pacific Daylight Time) G91 G1 H1 X-230 F3600 G1 X15 G1 H1 X-10 F360 G90 G1 X110 F3600 ; this just moves X to the centerline of the bed - doesn't matter where - it can be any place at all that suits you.
; homey.g ; called to home the Y axis ; ; generated by RepRapFirmware Configuration Tool v3.3.10 on Mon Jun 27 2022 12:50:38 GMT-0700 (Pacific Daylight Time) G91 G1 H1 Y-230 F3600 G1 Y15 G1 H1 Y-10 F360 G90 G1 Y110 F3600 ; this just moves Y to the centerline of the bed - doesn't matter where - it can be any place at all that suits you.
homez.g
G91 ; relative movements G1 H1 Z-250 F3600 ; fast move toward Z endstop G1 Z10 ; backup off a bit G1 H1 Z-15 F360 ; slow move toward Z endstop G90 ; absolute movements G1 Z10 F3600 ; move to 10mm off the bed to allow X and Y movements
The above is current on 6-28-22 at 7:15 AM, PST.
-
@mac what is currently working, and not working? Maybe go through the commissioning guide. If something doesn’t work, make a note and move on to the next.
https://docs.duet3d.com/en/How_to_guides/CommissioningIan
-
@mac
Morning.
Now that we know the end-to-end travel of the Y axis is some 350mm you need to edit the homeY.g file.
Notice the G1 H1 X-230 command.
That is not moving enough to move the entire 350mm if it needs to.
So change the -230 to -360, save, re-boot and re-home Y to see if it moves to the Y endstop twice and then back to near the center of the bed.
If that all works then we can proceed to figure out what is wrong with the X stepper.
I await the results of the Y homing test.
Frederick
-
@droftarts @fcwilt @alankilian
Here's what we learned last night:
The Y-axis / bed can roll all the way to the rear edge of the pulley. That's where I placed the beginning of my metal ruler. You can hear the bed activate the endstop when it gets to the rear side of the spindle that goes through the pulley. Moving the bed back creates that beautiful second click that indicates the message has been sent, and the bed is backing away from the endstop.
When the bed is all the way to 0 on the metal ruler, which goes back to front of the printer, the endstop is fully depressed. When the rear edge of the bed is at the center of the Y-pulley spindle, it is contacting the endstop, and when it is at the rear of the spindle, the endstop is fully activated, but not fully depressed. Those events happen between 0 and 12.75mm's (rear to front).
Pushing the bed as far to the rear as it can go takes it to -.238mm's (to the rear of 0).
Pushing the bed to the front of the printer takes it to 457.2mm's. DWC reports that the bed is at 350.0mm's.
Pushing the bed to 247.65mm's puts the rear line of the bed directly under the nozzle.
Pushing the bed to 25.4mm's puts the rear line of the bed over the front of the Y-motor. At that point, the front line of the bed is under the nozzle.
Important: The foot that pushes against the Y-endstop is still 73mm's in front of it. This means that the bed has to go another 73mm's to the rear to contact the endstop. It also means that the bed is 15.875mm's to the rear of the nozzle.
So this is what we need to communicate to the firmware, I gather, so that it can move the bed accordingly.
Any help getting there would be appreciated.Mac
-
@mac
It should not be possible to move the bed left and right.
It should only move forward and back.
I'm confused by what you posted.
Thanks.
Frederick
P.S. Don't forget the required change to homeY.g and the testing thereof.
-
@fcwilt I just posted the measurements I've been collecting over the last four hours. Maybe they will be helpful? Maybe they will have some impact on what I just read in your post? I'm all for moving forwards, but it's nice to know the route ahead beforehand?
-
@fcwilt understandable, because I have the printer sideways so I can read the metal tape measure. I'll edit the post.
-
@mac said in I could use some help:
@fcwilt understandable, because I have the printer sideways so I can read the metal tape measure. I'll edit the post.
OK I understand what you were describing now.
Frederick
-
@mac said in I could use some help:
@fcwilt I just posted the measurements I've been collecting over the last four hours. Maybe they will be helpful? Maybe they will have some impact on what I just read in your post? I'm all for moving forwards, but it's nice to know the route ahead beforehand?
My first goal today is to get the Y axis working in all regards.
We have gotten it moving in the right directions.
We have determined how far it can travel.
Now we need to get Y homing working.
Once that is done we need to move on to getting the X axis working, then the Z axis.
It is essential that all three axes work correctly and home correctly before we can move on to the next phase.
Frederick
-
@fcwilt essential work sounds like fun! I'm all in.