I could use some help
-
I'm editing the very first question in this thread because I have two things I'd like to say.
-
I realize that this project, removing the control board of a mystery 3D printer called the Xvico Pioneer, and replacing it with a Duet 3D Mini 5+, wasn't the greatest idea. In fact, what I'm doing now is much worse than replacing my mystery board with a BigTreeTech SKR Mini E3 V3.1 (as it turned out) and a TFT35 E3 V3.1 Graphic display.
-
But I also realize there's a real mystery here, because the board in the Xvico, while completely inaccessible, and a real mystery beyond all the information that's "out there," does an amazing job of printing 3D models. At this point I'll be wonderfully impressed if my Duet 3D Mini 5+ does a better job after I, with the help of a small army of super-intelligent moderators and other interesting overtly kind and thoughtful parties associated with Duet3D get it working.
I've been involved in this quest for the truth about this mystery board for almost a year. During that time, I brought the printer out of "retirement," cleaned the bird-doo off of it, used my trusty Cetus Mark 2 to print a few parts for it, and then I started to go all Anet A8-crazy on it.
The Xvico's 2.4 inch color-touch-screen monitor, which could be described as low-rez and ob-tuse, requires zero-knowledge of gcode, which is good and bad. For people like me, who have never coded anything, it's great. But also for people like me, we've missed the boat completely when it comes to knowing how to code because of that.
That's changing as I work my way through this (hopefully) last brain-transplant, and I want to Thank Duet3D for that transformation.
I guess all of my posts, the majority of which are presented in this thread, and my other questions before this became management's solution, have contained clues about the Xvico mystery 3D printer. Maybe you've figured out that I like it for all the wrong reasons (to quote Anthony Bourdain). But also like that tormented man, I don't like the stupidity it reinforces by doing everything for me. I don't like being powerless.
If you want to chime in, or have a chuckle, or solve your problems with your Duet3D board, maybe this thread, or any of my other questions will help.
I help so.
Mac.
And now back to reality. My original question was, and remains: "What do I put (say? write?) in my config (.g) file so X, Y, and Z know that “HOME” is exactly 2mm (along the X and Y axis away from the front left corner) on the bed of my (MYSTERIOUS XVICO PIONEER's) (deleted) bed?"
Mac
-
-
@mac I thought you were going to try and stick to one thread? Or at least post new threads with more specific thread titles?
Posting the files that you need help with would also go a long way to helping people help you. In this case config.g, homex.g, homey.g, homez.g, and/or homeall.g if you use that.
Anyway... see https://docs.duet3d.com/User_manual/Tuning/Bed_origin
Ian
-
@droftarts I don’t know how to add new questions to an existing thread. Otherwise, I wouldn’t have done this.
I need to go take a pill. Later.
Mark
-
; 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 Fri Jun 24 2022 09:54:50 GMT-0700 (Pacific Daylight Time) ; General preferences M575 P1 S1 B57600 ; enable support for PanelDue 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 S0 ; physical drive 0.2 goes backwards M569 P0.3 S1 ; physical drive 0.3 goes forwards M584 X0.0 Y0.1 Z0.2 E0.3 ; set drive mapping M350 X32 Y32 Z32 E32 I1 ; configure microstepping with interpolation M92 X80.00 Y80.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 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X220 Y220 Z240 S0 ; set axis maxima ; Endstops M574 X1 S1 P"io5.in" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin io5.in M574 Y1 S1 P"io6.in" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin io6.in M574 Z1 S2 ; configure Z-probe endstop for low end on Z ; 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 X-42 Y-16 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 S1 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"HotEnd" 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 M575 P1 S1 B57600 ; 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
-
@mac
; homex.g ; called to home the X axis ; ; generated by RepRapFirmware Configuration Tool v3.3.10 on Fri Jun 24 2022 09:54:50 GMT-0700 (Pacific Daylight Time) G91 ; relative positioning G1 H2 Z5 F3600 ; lift Z relative to current position G1 H1 X-225 F1800 ; move quickly to X axis endstop and stop there (first pass) G1 H2 X5 F3600 ; go back a few mm G1 H1 X-225 F360 ; move slowly to X axis endstop once more (second pass) G1 H2 Z-5 F3600 ; lower Z again G90 ; absolute positioning
-
@mac
; homey.g ; called to home the Y axis ; ; generated by RepRapFirmware Configuration Tool v3.3.10 on Fri Jun 24 2022 09:54:50 GMT-0700 (Pacific Daylight Time) G91 ; relative positioning G1 H2 Z5 F3600 ; lift Z relative to current position G1 H1 Y-225 F1800 ; move quickly to Y axis endstop and stop there (first pass) G1 H2 Y5 F3600 ; go back a few mm G1 H1 Y-225 F360 ; move slowly to Y axis endstop once more (second pass) G1 H2 Z-5 F3600 ; lower Z again G90 ; absolute positioning
-
@mac
; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool v3.3.10 on Fri Jun 24 2022 09:54:50 GMT-0700 (Pacific Daylight Time) G91 ; relative positioning G1 H2 Z5 F3600 ; lift Z relative to current position G1 H1 X-225 Y-225 F1800 ; move quickly to X and Y axis endstops and stop there (first pass) G1 H2 X5 Y5 F3600 ; go back a few mm G1 H1 X-225 Y-225 F360 ; move slowly to X and Y axis endstops once more (second pass) G90 ; absolute positioning G1 X47 Y21 F3600 ; go to first bed probe point and home Z G30 ; home Z by probing the bed ; Uncomment the following lines to lift Z after probing ;G91 ; relative positioning ;G1 Z5 F60 ; lift Z relative to current position ;G90 ; absolute positioning
-
@droftarts I wish I knew how you were doing that.
-
@mac When you are posting text in code blocks, the three backticks that mark the beginning and end of the code need to go on a line on their own. I've edited your posts to fix this.
eg
I wish I knew how you were doing that.
I'm an admin, I can do ANYTHING!
Ian
-
@droftarts thank you so much, I'm going to try to learn how to do that.
-
@droftarts X-255? Y-255? my bed's 220 by 220! where is this coming from?
-
@droftarts not anything, my friend, but you can do amazing things, that's for sure.
I used to build houses. that was amazing until I had my accident.
-
@mac said in I could use some help:
X-255? Y-255? my bed's 220 by 220! where is this coming from?
It's -225 not -255
Your bed is 220, so you need to move slightly MORE then 220 to make sure you've hit the endstop in case it's way at the other end of the travel.
So your bed is 220, move -225 and you will always hit the home switch.
-
@mac Assuming you don't want to rewire the machine, or turn it around, the first thing you need to do is define the endstops as 'high end' or 'maximum' endstops. Change the following two M574 lines from X1 to X2 and Y1 to Y2:
; Endstops
M574 X1 S1 P"io5.in" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin io5.in
M574 Y1 S1 P"io6.in" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin io6.inNow when the nozzle homes against the endstops, it will set X and Y to the maximum value set by M208, rather than the minimum:
; Axis Limits
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X220 Y220 Z240 S0 ; set axis maximaBut at the moment, your homing files will make the X and Y axis move towards the LOW end, rather than the HIGH end, so we need to flip these. In homex.g you currently have:
G1 H1 X-225 F1800 ; move quickly to X axis endstop and stop there (first pass)
G1 H2 X5 F3600 ; go back a few mm
G1 H1 X-225 F360 ; move slowly to X axis endstop once more (second pass)These need to change to:
G1 H1 X225 F1800 ; move quickly to X axis endstop and stop there (first pass) G1 H2 X-5 F3600 ; go back a few mm G1 H1 X225 F360 ; move slowly to X axis endstop once more (second pass)
So that the X carriage goes to the maximum end of the axis, hits the X homing switch, backs off 5mm, then moves to touch it again.
You need to make the same changes to homey.g and homeall.g.
If you need to adjust where X0 Y0 is, you change the bed area in the M208 commands. Do the above first, and if you need more help with this part, let me know.
Ian
-
6/24/2022, 2:08:29 PM M208 X-8;200 Y0;202 ; set axis limits Error: M208: X axis maximum must be greater than minimum
-
@mac it should be a colon : between values, not a semicolon ;
Ian
-
@alankilian thanks, man, childhood dyslexia strikes again
-
@droftarts okay, so, now we're talking hard-core editing of the actual config files, correct? Versus using RRF to "edit" them, correct?
So I'm guessing I can just "look" at the files, and high light what I want to change, or delete, and hit ENTER, and that will make the change, then "SAVE" and that will save the whole file with the changes?
And the changed file will become the instructions used? (There's no reloading that needs to happen?)
A little confirmation (or correction), will go a long ways right about now.
Mark
-
@mac Yes, you can edit the files in DWC. Sorry, I should have made that clear. Make sure you make a backup, as any changes will only exist on the SD card.
Alternatively, now that you know you have maximum endstops on X and Y, you could go back to the Configuration tool and change it there.
Did you know you can load the config.json file from a previously created configuration back into the Configuration Tool, and all the settings you made previously will be applied? That can help if you have a lot of changes to do.
Ian
-
@alankilian nice clarification, Alan Killian