Jump to content
Ultimaker Community of 3D Printing Experts
Sign in to follow this  
rcarrier31

Migbot

Recommended Posts

I just got a migbot s-1, i had another printer before this one, i cannot get the settings right on it, to make it go home i had to reverse the steppers, but at the home position it is at 300,0,0, also when i print something on the z axis, it is doulbe the original size, i know it has to be the settings, but i am lost here.

I guess i forgot to mention its running mariln firmware, i am new to the 3d world, sorry if this is a newbie question.

 

Share this post


Link to post
Share on other sites

I thought someone else might answer.

I don't know how many different configurations Marlin supports. And I don't know migbots. But one way to do home (the way I understand best) is to have a homing switch click when table is just barely touching nozzle. Is that what you did?

I would hookup pronterface - do you have that installed? And do various gcode commands with pronterface to see how the migbot behaves. Especially I would work on the home command. You can build your own version of Marlin here:

http://marlinbuilder.robotfuzz.com/

I think you need to be more specific in your questions. You can usually change steps/mm either with jumpers near the stepper drivers or using the above marlinbuilder.

Does your migbot have a ulticontroller or simlar? In otherwards can you print through SD card inside the printer or is USB the only way?

 

Share this post


Link to post
Share on other sites

There are quite a few people with knowledge about marlin, but I've never heard about migbot. It's not that I don't want to help you, it's just that I cant.

 

Share this post


Link to post
Share on other sites

Ok here is the issue, on pronterface when i get the steppers going in the right direction, the endstops work the exact opposite.

#define INVERT_X_DIR true // for Mendel set to false, for Orca set to true

#define INVERT_Y_DIR false // for Mendel set to true, for Orca set to false

#define INVERT_Z_DIR true // for Mendel set to false, for Orca set to true

This is the settings that makes the steppers go in the right direction

// Sets direction of endstops when homing; 1=MAX, -1=MIN ( I have tried these both ways)

#define X_HOME_DIR 1

#define Y_HOME_DIR 1

#define Z_HOME_DIR 1

The machine is supposed to goto the back left for home position, instead it goes to the right front.

 

Also this is how i have the endstops configured to make it go home( Wich is back left)

ENDSTOP SETTINGS:

// Sets direction of endstops when homing; 1=MAX, -1=MIN

#define X_HOME_DIR 1

#define Y_HOME_DIR -1

#define Z_HOME_DIR -1

 

This makes it go home, but everything in pronterface is backwards, Does that matter?

 

As you can tell i am a newbie to this, if anyone can help me i woulld be greatful.

 

Share this post


Link to post
Share on other sites

Ah! This is much more clear. But I don't know the answer.

Well let's see - if movements are backwards in pronterface than definitely change the "invert" signals until that part is right then don't touch that and move to the next thing (homedir and endstops). You might have to plug endstops to a different connector maybe?

 

Share this post


Link to post
Share on other sites

Only problem with that, the printer wants to home at front left.

Where there are no endstops, and when i bought the printer it worked fine,

until i erased the firmware on accident, so i know there is correct settings somewhere.

The main reason i got this printer was the large build area, and the well made case.

its build area is 300x220x220

 

Share this post


Link to post
Share on other sites

DISCLAIMER: DO THIS AT YOUR OWN RISK. I ACCEPT NO RESPONSIBILITY FOR ANY DAMAGE, INJURY OR DEATH THAT RESULT FROM USING THIS INFORMATION

I'm by no means an expert with Marlin but I believe that Marlin assumes the coordinate system is if X increases to the right that Y increases in the direction that is 90 degrees counterclockwise around the 0 point of X.

So for most printers, this means that 0,0 is the front left corner.

If I were you, I would try to contact manufacturer for help and the correct settings for Marlin.

If that option isn't available then as long as BOTH axes are reversed as far as the pronterface is concerned, things should work. However, if only one axis is reversed then anything you print will be mirrored around the other axis if my brain is working.

Given the way Marlin assumes the positive axes are oriented with respect to one another and that your printer has the end-stops at the back left, the only way to get 0,0 at the back left would be to rotate the coordinate system 90 clockwise. This means switching the X and Y axes.

How did pronterface work before you flashed the firmware? Did the controls orient correctly? Right moves right and top moves back?

If so then I don't see how 0,0 could be the back left corner.

Since Marlin is open source, the manufacturer could have customized the crap out of it so it is very important to try to contact the manufacturer or their support forums.

However, if that simply isn't available there MAY be a way to configure Marlin to support your printer:

First, changes these until the XY axes move correctly with respect to Pronterface (right should move right and up should move back):

#define INVERT_X_DIR true // for Mendel set to false, for Orca set to true

#define INVERT_Y_DIR false // for Mendel set to true, for Orca set to false

 

Next change these until homing moves the extruder to the left and back (I think the settings shown are what you need (basically, X homes to 0 and Y homes away from 0 where 0,0 is front left):

#define X_HOME_DIR -1

#define Y_HOME_DIR 1

Now when you home the printer, the extruder should go to the back left to hit the end-stops. Now the problem is that when the end-stops are hit in the back left, Marlin will think it is at 0,0 as most (UM) printers have the end-stops in the front left. So we need to have Marlin use a different point for home. In poking around in the source, I found that Marlin has these available BUT I'm not absolutely sure that they do what you need. So you have to roll the dice...

In configuration.h, find this line and uncomment it:

//#define MANUAL_HOME_POSITIONS // If defined, MANUAL_*_HOME_POS below will be use

Then find these lines:

#define MANUAL_X_HOME_POS 0

#define MANUAL_Y_HOME_POS 0

#define MANUAL_Z_HOME_POS 0

and define as (assuming you said the build area is X=300 Y=220 Z=220):

#define MANUAL_X_HOME_POS 0

#define MANUAL_Y_HOME_POS 220

#define MANUAL_Z_HOME_POS 0

I BELIEVE (again I'm no expert) that this configuration will give you a coordinate system where 0,0 is the front left with X increasing to the right and Y increasing towards the back of the printer with X homing to the left and Y homing to the back and when the end-stops are hit, Marlin will set the position as 0, 220

Hopefully, this will work for you and pronterface will match the printer and nothing will be mirrored.

Good luck.

 

Share this post


Link to post
Share on other sites

First, do you have it moving in the correct directions when you use pronterface?

If not, you need to try various values for these:

#define INVERT_X_DIR true // for Mendel set to false, for Orca set to true

#define INVERT_Y_DIR false // for Mendel set to true, for Orca set to false

 

Share this post


Link to post
Share on other sites

OK, I just tried this on my UMO, when I configure these values as shown:

#define X_HOME_DIR -1

#define Y_HOME_DIR 1

X homes to the left and Y homes to the back, basically it homes to the back left.

Recheck you have these values, recompile and flash the firmware.

 

Share this post


Link to post
Share on other sites

I also tried the last set of values:

 

#define MANUAL_HOME_POSITIONS // If defined, MANUAL_*_HOME_POS below will be use

#define MANUAL_X_HOME_POS 0

#define MANUAL_Y_HOME_POS 220

#define MANUAL_Z_HOME_POS 0

and it is workling, sorry it's hard to see the controller but you can see that the printer homes to the back left (and then moves to the center to set the Z pos, this is because I have the Z probe code enabled (the white thing on the extruder)). Then (again it's hard to see) but I manually move the position to near 0,0 so you can see that it is still in the the front left. https://onedrive.live.com/redir?resid=E241C60ECD4F971A!29602&authkey=!ACwyYQyqRJ3_1Kk&ithint=video%2cmp4

So, using these settings, you can get it to work. If you can't I don't know what to tell you.

 

Share this post


Link to post
Share on other sites

Do you know what type of controller the printer uses? Like RAMPS 1.4?

Either the switch isn't working or it isn't being clicked or it isn't configured correctly for pull up or down or the pin number is wrong. Or the homing direction isn't correct.

Take pictures of the controller and printer mechanics (all four corners, from inside looking out assuming that is where the switches are).

 

Share this post


Link to post
Share on other sites

I don't understand. You said the printer has end stop switches on the back left position. So I wouldn't expect the right side to have a mechanical end stop.

When there is only one end stop on each axis, Marlin uses software end stops on the opposite end. However, the printer needs to be set up correctly and you might not be there yet.

Is the printer homing correctly now? Meaning does it go to the back left and the platform moves up to the nozzle and everything stops?

 

Share this post


Link to post
Share on other sites

OK, turn off the machine and push the extruder to the back left where if I understand you is the home position that should engage two end stops for X & Y.

Power the printer on, connect USB cable and go into pronterface and connected to the printer.

Below the window that shows the printer response messages, enter the following line and press return or the send button:

M119

This should output the status of the endstops like:

> M119

< Reporting endstop status

< x_min: TRIGGERED

< x_max: open

< y_min: open

< y_max: TRIGGERED

< z_min: open

< z_probe_min: TRIGGERED

< z_max: open

 

Share this post


Link to post
Share on other sites

It's strange that they didn't give you the version to use directly....

Anyway, open pins.h and search for MOTHERBOARD == 33. In the version I have, the section that defines the pins is overloaded to handle a number of printers so you need to wade through the ifs to find the pin definitions for MOTHERBOARD == 33

In my version, it looks like the applicable section is the #else to a #if MOTHERBOARD == 77 which in itself is in a larger if (or two) which reference MOTHERBOARD == 33

Find the applicable definitions for

X_MIN_PIN and X_MAX_PIN and reverse the pins.

Then do the same for Y_MIN_PIN and Y_MAX_PIN

In my version it looks like these are the defs:

#define X_MIN_PIN 3

#define X_MAX_PIN 2

and

#define Y_MIN_PIN 14

#define Y_MAX_PIN 15

and you need them to be

#define X_MIN_PIN 2

#define X_MAX_PIN 3

and

#define Y_MIN_PIN 15

#define Y_MAX_PIN 14

 

Based on the output of M119, the controller thinks you are at X_MAX when you are really a X_MIN and that you are a Y_MIN when you are really at Y_MAX.

Recompile and upload. Then repeat the steps above. Turn off, push the extruder to back left, turn on, connect and issue M119

Hopefully, you will see that the X_MIN and Y_MAX end stops are triggered.

If they are then turn it off and move the extruder to the center, turn on and with your finger on the power button, home the printer. Hopefully it will home and stop and not braaaaaaahaaaaahaaaaa.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Our picks

    • How to 3D print with reinforced engineering materials
      Ultimaker is hosting a webinar where we explain how you can achieve and maintain a high print success rate using these new reinforced engineering materials. Learn from Ultimaker's Product Manager of Materials and top chemical engineer Bart van As how you can take your 3D printing to that next level.
      • 0 replies
    • "Back To The Future" using Generative Design & Investment Casting
      Designing for light-weight parts is becoming more important, and I’m a firm believer in the need to produce lighter weight, less over-engineered parts for the future. This is for sustainability reasons because we need to be using less raw materials and, in things like transportation, it impacts the energy usage of the product during it’s service life.
        • Like
      • 12 replies
×

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!