Reset x/y/z

Need help troubleshooting hardware issues... talk here

Reset x/y/z

Postby dwittenberg » 2016-Dec-Mon-00-Dec

This seems fairly easy, but how do you reset x/y/z to the correct places? Right now they are all messed up after a firmware reset and nothing seems to have helped so far, I figured there has to be some low-level way to force this back to what it should be? It's a Printrbot Plus.

Any suggestions welcome, so far nobody can seem to help, this is very frustrating!

Dan
  • 0

dwittenberg
Levelling print bed...
 
Posts: 27
Joined: 2013-Sep-Sun-23-Sep
Reputation: 0

Reset x/y/z

Sponsor

Sponsor
 

Re: Reset x/y/z

Postby RetireeJay » 2016-Dec-Mon-08-Dec

Exactly what do you mean by a "firmware reset?" Did you actually re-flash the firmware on your board? If so, what was the reason for doing so?

I'm not quite sure I understand the problem. But there are three numbers that the 'bot uses for each axis:

1) Steps per millimeter. This is the "scale" and determines how big your print will be. For several years now, Printrbots have been shipped with GT2 belts, which have 80 steps per mm on the X and Y axes. If you have a really old Plus and you've never replaced the belts and pulleys, then your steps/mm may be different. The steps per mm on the Z axis depends on the type of screw used to actuate Z. In all cases, (X, Y, Z; new or old) you should use the steps per mm that are calculated from the hardware you are using. The steps per mm are in EEPROM, stored in the M92 parameters. You read out the EEPROM with M503 command; you can make changes with M92, and then store back into EEPROM with M500. See viewtopic.php?f=18&t=2763.

2) Location of origin. Consumer-grade 3D printers never have sensors that tell the printer where the printhead is actually located. They work by doing a "home" command first, and then keeping track of the steps moved away from home. Every time you power down the printer, the information about "home" is lost, so every time you turn it on it's necessary to do a "homing" sequence. Most slicers, by default, incorporate this homing sequence into the beginning of the G-code for printing a part. But you also can do it yourself, using the little "home" icons on the User Interface screen (that's how I do it).

3) Limits of travel. This is essentially the bed size in X and Y, and the available height in Z. Every version of firmware available has pre-defined default limits set up internally. Unfortunately, not every version of Marlin has available EEPROM settings that would allow you to change those limits. When you do an M503, look for a line in the resulting log file that says it's defining the limits of travel. This will probably be called Max Position and probably be defined as M211. If you have this available in your EEPROM, you can change the numbers. If your version of Marlin doesn't have it available in EEPROM, and you are sure that your limits of travel are wrong, then you'll have to flash a different version of Marlin that either does have the right limits or allows you to change them.
  • 0

Printrbot Plus operational January 2013
Brass threaded rods (5/16" X 18) & nuts for Z axis
GT2 belts & pulleys
Cable chain to reduce probability of fatigue failure in wires
E3D V5 Hot End, 0.4mm nozzle, also 0.8 and 0.25 in use occasionally
PB fan mount + 40mm fan -- using printed mount adapter, not the E3D supplied fan
Injection molded extruder gears
Optical Z "endstop" (custom designed and built)
Have used many pounds of T-Glase filament. Now also doing some work with Ninjaflex SemiFlex
Print on glass with Scotch Craft Stick or other glue stick
User avatar
RetireeJay
My next printer is...
 
Posts: 4682
Joined: 2013-Jan-Wed-13-Jan
Location: Greenville, SC
Reputation: 477

Re: Reset x/y/z

Postby dwittenberg » 2016-Dec-Tue-01-Dec

Great detailed info, I'll do some more checking and see what the EEPROM says, kinda thinking some values were set wrong in the flash update. The reason for the update was it was really old and was having some issues so it was suggested to go to the latest version.
  • 0

dwittenberg
Levelling print bed...
 
Posts: 27
Joined: 2013-Sep-Sun-23-Sep
Reputation: 0

Re: Reset x/y/z

Postby dwittenberg » 2017-Feb-Tue-20-Feb

Ok so back to trying to fix this. It's a Printrbot Plus v2. from 2013. I can't remember the original problem now but when we were looking realized the firmware was a couple years old, so figured it would be good to update it. After updating, when I click the home for the X axis it appears to reset correctly. When I click Y Home, it goes back and continues going back ever after hitting the stop switch, and Z does about the same thing, it actually goes up, and just keeps going up. For the heck of it I tried flashing the firmware again using the pbFU app, but that didn't change anything, it continue to perform the same actions. I wish I could just re-flash it with the old firwmware, but I couldn't find it poking around on the printrbot page, and not sure exactly what I'd be looking for, and the tool doesn't really tell you what it's flashing, just does it all "magically" so not even sure what version it has on there right now. FWIW, the fan and heater controls still appear to work as expected, so it's just the Y and Z axis controls for Home that appear messed up.

I'd love to be able to get my kid using this again, he's learned a lot, but it's basically a door stop right now, so any help appreciated!

Thanks!
Dan
  • 0

dwittenberg
Levelling print bed...
 
Posts: 27
Joined: 2013-Sep-Sun-23-Sep
Reputation: 0

Re: Reset x/y/z

Postby dwittenberg » 2017-Feb-Tue-21-Feb

Trying to run some of the G codes manually in Cura, I'm also seeing odd behavior. If I run G0 Z10 S1 it's all good. I run that a bunch of times it goes up. I run G0 Z-10 S1 and it goes down. However, it only goes down to about 35mm off the bed, and stops saying it hit the end stop, but it's obviously nowhere near the shutoff switch, so not sure why it thinks that's it. I tried to turn it off and manually lower the head assembly down to the bed, but when I do a Z10 a couple times, it still won't go back down past about 35mm.

Dan
  • 0

dwittenberg
Levelling print bed...
 
Posts: 27
Joined: 2013-Sep-Sun-23-Sep
Reputation: 0

Re: Reset x/y/z

Postby RetireeJay » 2017-Feb-Tue-22-Feb

Printrbot changed their definition of where to find the Y "endstop" switch. Originally, as on your 2013 Plus, it was at Y = 0. But more recent Printrbots have had the endstop switch at Y = Max. That could explain the searching in the wrong direction on Y. I'm not sure about Z. Use M119 to check the status of the Z stop as seen by the board.

Are you still using a Rev D board, or Rev F? If you put Rev F firmware onto a Rev D board, or vice versa, then the Y endstop will NEVER be found, because they changed the mapping of the pin assignment. You can tell if you have Rev F firmware by issuing an M909 command (read the "digipots"). If the firmware answers that command, then you have Rev F firmware (although I don't know what the returned value will be if you are running it on a Rev D board; it might even hang up!)

You can find a fairly good library of Printrbot-specific versions of Marlin at https://github.com/Printrbot/Marlin/releases. Scroll down until you find one that matches your situation. If you can't find an exact match, you may need to download the source code and compile it yourself. I had good success with PlatformIO, editing with Notepad++, although that was several months ago. See this long thread (I'm starting you in the middle, but you still need to read a lot to fully understand what to do). viewtopic.php?f=22&t=10160#p65585
  • 0

Printrbot Plus operational January 2013
Brass threaded rods (5/16" X 18) & nuts for Z axis
GT2 belts & pulleys
Cable chain to reduce probability of fatigue failure in wires
E3D V5 Hot End, 0.4mm nozzle, also 0.8 and 0.25 in use occasionally
PB fan mount + 40mm fan -- using printed mount adapter, not the E3D supplied fan
Injection molded extruder gears
Optical Z "endstop" (custom designed and built)
Have used many pounds of T-Glase filament. Now also doing some work with Ninjaflex SemiFlex
Print on glass with Scotch Craft Stick or other glue stick
User avatar
RetireeJay
My next printer is...
 
Posts: 4682
Joined: 2013-Jan-Wed-13-Jan
Location: Greenville, SC
Reputation: 477

Re: Reset x/y/z

Postby dwittenberg » 2017-Mar-Sun-20-Mar

That's awesome info, and I think what I needed! I do have a Rev D board, so guessing it's got the newer firmware, though I couldn't tell for sure. M909 came back as unknown, but:
> M115
< FIRMWARE_NAME: Marlin V1 FIRMWARE_URL: https://github.com/Printrbot/Marlin/ PROTOCOL_VERSION: 1.0 MACHINE_TYPE: Printrbot Plus EXTRUDER_COUNT: 1 SERIAL_NUMBER: 553333343835151783

I don't see that it shows which version was there. Plus the github link is very handy too, so I'll check on it more but at first glance it looks fairly straight-forward. I'll probably try and compile it on my linux box since I'm more familiar with Linux/gcc/vim. I didn't see a release for RevD specifically, but maybe this one:
https://github.com/Printrbot/Marlin/rel ... unified-v3

Might do it, but I'm afraid to apply it and brick it. I'm not as familiar with these boards to know if you can still keep flashing it even if it gets the wrong or bad firmware ?

Thanks again!
Dan
  • 0

dwittenberg
Levelling print bed...
 
Posts: 27
Joined: 2013-Sep-Sun-23-Sep
Reputation: 0

Re: Reset x/y/z

Postby RetireeJay » 2017-Mar-Sun-21-Mar

The Unified firmware is very serviceable for Rev D boards. I don't know if it can be compiled to support the Z probe and G29 command, as Unified was completed just about the same time as the probing came out. I'm sure it will work with a switch on the Z channel.

Unfortunately the location in the source code for changing the identification string that gets printed out is very obscure and in a different file from practically all the other things that might need adjusting, so it's very rare for the identification string to be kept up to date or tell you anything meaningful.

The fundamental components of the flash memory are capable of thousands (or tens of thousands) of re-writes, so the only way you'll brick the board is by what you send to it. And even then, there's a recovery possible. Normally, you program the memory through the USB port, which actually requires a small bootloader firmware to be present, but you can use a hardware ISP programmer that doesn't require a single byte of code to be operable.
  • 0

Printrbot Plus operational January 2013
Brass threaded rods (5/16" X 18) & nuts for Z axis
GT2 belts & pulleys
Cable chain to reduce probability of fatigue failure in wires
E3D V5 Hot End, 0.4mm nozzle, also 0.8 and 0.25 in use occasionally
PB fan mount + 40mm fan -- using printed mount adapter, not the E3D supplied fan
Injection molded extruder gears
Optical Z "endstop" (custom designed and built)
Have used many pounds of T-Glase filament. Now also doing some work with Ninjaflex SemiFlex
Print on glass with Scotch Craft Stick or other glue stick
User avatar
RetireeJay
My next printer is...
 
Posts: 4682
Joined: 2013-Jan-Wed-13-Jan
Location: Greenville, SC
Reputation: 477

Re: Reset x/y/z

Postby dwittenberg » 2017-Mar-Sun-16-Mar

Man that thread is confusing, a couple hours into it I'm still trying to figure out what versions of what to use, since the information is outdated and the Git repo's have moved, finding even which is the actual right repo is confusing, then some of the compile errors I'm seeing people talk about but it's in the older code. I'm working with the platformio but Arduino IDE has better luck it seems, but so far still not having a working version. It would be cool in the github readme if someone wrote the current, actual working instructions. Hopefully I can figure out through all the mis/old information what's right.
  • 0

dwittenberg
Levelling print bed...
 
Posts: 27
Joined: 2013-Sep-Sun-23-Sep
Reputation: 0

Re: Reset x/y/z

Postby dwittenberg » 2017-Mar-Sun-17-Mar

So I installed the Arduino IDE (1.8.1), installed the Teensyuino Loader (1.35), Modified the Configuration.h MOTHERBOARD to:
#define MOTHERBOARD BOARD_PRINTRBOARD

I get it to compile with a few errors bout re-defining USBCON, which seems ok. I then tell it to upload and I get the box from Teensy that pops up and says "Presss Button on Teensy to manually enter Program Mode". I've tried what I've done before, which is:
1) Turn on the Printrbot
2) Add the Boot Jumper
3) Press the Reset button

but nothing appears to happen. Tried on OSX and Windows 10, and with Windows it at least beeps letting me know it has disconnected/re-connected, but it doesn't take off from there. I did try taking the new .hex file and using Cura to flash it but it doesn't like that either.

Any other ideas how to get it to actually flash it? I did re-flash using the pbFU utility, and that works, but is obviously applying the wrong code.

Thanks!
Dan
  • 0

dwittenberg
Levelling print bed...
 
Posts: 27
Joined: 2013-Sep-Sun-23-Sep
Reputation: 0

Re: Reset x/y/z

Postby RetireeJay » 2017-Mar-Sun-20-Mar

The Printrboard uses a bootloader that's not compatible with the Arduino / Teensy uploader; you have to use FLIP (that is, you use FLIP if you're on a Windows machine).
In Arduino, IIRC, you hold down the shift key, or select a global setup option for the program to tell you where the hex file is when you compile. I recommend copying the hex file from the place that Arduino puts it into another directory where you have control because Arduino will delete the hex file when the program exits.

As far as I know, the instructions for using FLIP in our Printrbottalk Wiki here are good (even though other parts of the Firmware Update wiki are a bit out of date). If you've installed it correctly, then when you turn on the board, install the jumper, and hit the reset switch, then you should see "AT90USB128DFU" in Device Manager. That's what FLIP will talk to.

BTW, there's a difference between "Warnings" and "Errors". Compiling Marlin will show you tons of Warnings, but they don't affect the end result. If you are OCD, you could track down every instance where Marlin defined a variable but didn't use it, but why bother? Errors, on the other hand, prevent generation of a hex file.
  • 0

Printrbot Plus operational January 2013
Brass threaded rods (5/16" X 18) & nuts for Z axis
GT2 belts & pulleys
Cable chain to reduce probability of fatigue failure in wires
E3D V5 Hot End, 0.4mm nozzle, also 0.8 and 0.25 in use occasionally
PB fan mount + 40mm fan -- using printed mount adapter, not the E3D supplied fan
Injection molded extruder gears
Optical Z "endstop" (custom designed and built)
Have used many pounds of T-Glase filament. Now also doing some work with Ninjaflex SemiFlex
Print on glass with Scotch Craft Stick or other glue stick
User avatar
RetireeJay
My next printer is...
 
Posts: 4682
Joined: 2013-Jan-Wed-13-Jan
Location: Greenville, SC
Reputation: 477

Re: Reset x/y/z

Postby dwittenberg » 2017-Mar-Mon-02-Mar

Understandable with the warnings and errors, compiled C code for many errors so seems standard. So some good progress anyway. I was able to set the MOTHERBOARD in the Configuration.h to the BOARD_PRINTRBOT since in boards.h it had that and _REVF that seems the best choice ? I changed the name to My 3d Printer so I could tell the firmware for sure. I'm using M115 P0 to get that info, btw. So after changing those and using FLIP to flash, I can run M115 and see that it says My 3d Printer now, so it's getting my flash code, but the axis are still messed up. For instance, going up for Z makes the printer go down. Trying to decipher from the older posts on the code, I can't tell what else I would need to do to get the right older code, was there something else I missed?

Dan
  • 0

dwittenberg
Levelling print bed...
 
Posts: 27
Joined: 2013-Sep-Sun-23-Sep
Reputation: 0

Re: Reset x/y/z

Postby dwittenberg » 2017-Mar-Mon-02-Mar

Forgot the output

Code: Select all
> M119
< Reporting endstop status
< x_min: TRIGGERED
< y_min: TRIGGERED
< z_min: open
  • 0

dwittenberg
Levelling print bed...
 
Posts: 27
Joined: 2013-Sep-Sun-23-Sep
Reputation: 0

Re: Reset x/y/z

Postby dwittenberg » 2017-Mar-Mon-04-Mar

Searching through the code I found the invert options, got those flipped to true, and that seems to have helped. I'm wondering what are some of the other default options for this RevD board that aren't as fatal as invertion, but are still going to cause issues? It does seem Z is still having some issues I'm not sure about. I tried running up and down by 10 and sometimes it would "bind" up for the lack of a better term, like the motor was stuck. If I run them all the way up, and back down, it still has some issues, but not all the time. Hard to explain, and very odd. I'll try and play a bit with it more tomorrow but figured I'd update.

Dan
  • 0

dwittenberg
Levelling print bed...
 
Posts: 27
Joined: 2013-Sep-Sun-23-Sep
Reputation: 0

Re: Reset x/y/z

Postby RetireeJay » 2017-Mar-Mon-06-Mar

As I mentioned earlier in this thread, Rev D and Rev F boards are not firmware-compatible. They changed the physical pin on the Atmel associated with the Y stop. Also, Rev F has "digipots" replacing the physical potentiometers on the Rev D board.

Look for physical causes for binding. On a Plus, you have to have the carriage reasonably perpendicular to the vertical smooth rods; if it's canted at too much of an angle, you can get binding. You fix that by turning one of the Z screws by hand (with power off). Ideally, you should adjust the two Z screws so that when you move the printhead across from X Min to X Max the clearance between the bed and the nozzle stays exactly the same. There can be other causes for binding, like cables that are interfering or poor lubrication, etc.
  • 0

Printrbot Plus operational January 2013
Brass threaded rods (5/16" X 18) & nuts for Z axis
GT2 belts & pulleys
Cable chain to reduce probability of fatigue failure in wires
E3D V5 Hot End, 0.4mm nozzle, also 0.8 and 0.25 in use occasionally
PB fan mount + 40mm fan -- using printed mount adapter, not the E3D supplied fan
Injection molded extruder gears
Optical Z "endstop" (custom designed and built)
Have used many pounds of T-Glase filament. Now also doing some work with Ninjaflex SemiFlex
Print on glass with Scotch Craft Stick or other glue stick
User avatar
RetireeJay
My next printer is...
 
Posts: 4682
Joined: 2013-Jan-Wed-13-Jan
Location: Greenville, SC
Reputation: 477

Re: Reset x/y/z

Postby dwittenberg » 2017-Mar-Mon-21-Mar

Physical binding yes, but it didn't seem like that and now not sure it was. Those would have been too obvious to find. I re-flashed it with the older Unifed code (last published one before Rev F) and it mostly works "fine". It keeps locking up rather frequently, usually it doesn't get more than a minute or two into the print before it stops. I need to debug that and see what's going on. For the binding though, it doesn't explain what was going on with that but does show it's not a physical binding issue, it's something in the config/code.

I didn't get much time to test today, I'll dig some more later this week, but at least it's starting to sorta function, more than it was for the last 6 month!

Dan
  • 0

dwittenberg
Levelling print bed...
 
Posts: 27
Joined: 2013-Sep-Sun-23-Sep
Reputation: 0

Re: Reset x/y/z

Postby blort » 2017-Mar-Tue-21-Mar

is it a plus metal? if so you may want to just get a rev F board that's up to date and cut your losses.

if it's a plus of the wooden variety, you might even want to go with a generic RAMPS board or something that you could more easily transfer over to a larger frame when the wooden one gets worn.

if you go RAMPS with a mainline marlin install, you can change your E-steps and all the other variables to match what PBHQ set up for you by default via M commands the same way you set Z height calibration.
  • 0

blort
Levelling print bed...
 
Posts: 39
Joined: 2015-Jul-Tue-10-Jul
Reputation: 2

Re: Reset x/y/z

Postby RetireeJay » 2017-Mar-Wed-06-Mar

blort wrote:is it a plus metal? if so you may want to just get a rev F board that's up to date and cut your losses.

if it's a plus of the wooden variety, you might even want to go with a generic RAMPS board or something that you could more easily transfer over to a larger frame when the wooden one gets worn.

if you go RAMPS with a mainline marlin install, you can change your E-steps and all the other variables to match what PBHQ set up for you by default via M commands the same way you set Z height calibration.

My Plus is a wooden one from 2012/2013 era, and I'm currently using a Rev F board on it. I took the Printrbot "legacy" code for the Rev F board and customized the compile (which it appears dwittenberg is very capable of doing). References on what I did are here and here and here.
  • 0

Printrbot Plus operational January 2013
Brass threaded rods (5/16" X 18) & nuts for Z axis
GT2 belts & pulleys
Cable chain to reduce probability of fatigue failure in wires
E3D V5 Hot End, 0.4mm nozzle, also 0.8 and 0.25 in use occasionally
PB fan mount + 40mm fan -- using printed mount adapter, not the E3D supplied fan
Injection molded extruder gears
Optical Z "endstop" (custom designed and built)
Have used many pounds of T-Glase filament. Now also doing some work with Ninjaflex SemiFlex
Print on glass with Scotch Craft Stick or other glue stick
User avatar
RetireeJay
My next printer is...
 
Posts: 4682
Joined: 2013-Jan-Wed-13-Jan
Location: Greenville, SC
Reputation: 477


Return to Troubleshooting talk

Who is online

Users browsing this forum: No registered users and 1 guest