Welcome! Log In Create A New Profile


motor movement

Posted by jinx 
motor movement
January 26, 2013 04:22PM
I've almost completed my Prusa i2 build but having trouble moving the motors, I wanted to test the motors but they don't move.

Am using the RAMPS 1.3 with Pololu A4988 driver am powering the arduino from usb and the RAMPS with an ATX 12v18 amps
I'll followed the RepRap wiki wiring diagram, I,ve used a MM the drivers have 4.7v also adjusted the trimpot too no avail I wired the stepper correctly " red, blue, green, black "and all jumpers in place.

I am using the Sprinter firmware on the arduino and pronteface to control the printer, I can connect ok am new to the arduino and all the I've matched the B/rate in both f/ware and pronteface software to run the printer still got a lot off reading to do. Can anyone offer some advice please .

Edited 1 time(s). Last edit at 01/26/2013 04:23PM by jinx.
Re: motor movement
January 27, 2013 05:57AM
In order to rule out firmware issues, I would give the RAMPS test firmware a try:


Once on your arduino, this does not require your computer to command the movements, it simply drives your axes back and fourth a cm or so until it is powered down. This will help rule out any problems software-wise. No need to try the full firmware until the test one works!

Check that your ATX power supply is on and giving 12 volts. How are you signaling the power supply to turn on? ATX power supplies need the green wire from the motherboard to be connected to ground to turn on - if you attach this to RAMPS you can use M80/M81 to turn it on/off.

If the test firmware works, but the actual firmware doesn't first check the "Configuration.h" of the firmware to be sure you have chosen "33" as the board type (33 = RAMPS 1.3 or 1.4).

After that, check your thermistor connections as firmware has a safety feature to shut everything down if it cannot correctly detect the temperatures.
Re: motor movement
January 27, 2013 06:20AM
I CHANGED FIRMWARE to marlin appears to be more helpful, I over come one hurdle with not having a hotend or thermistor connected yet it gave a false reading to the max temp "499" so I changed the temp in firmware to 511 and I could connect and stay on.
But now am having trouble with echo:endstops hit: Y:22.67 this is the same for all the axis am using Mechanical Endstops wired as wiki link suggest. any ideas would be helpful,

thx jinx

Edited 1 time(s). Last edit at 01/27/2013 06:21AM by jinx.
Re: motor movement
January 27, 2013 07:20AM
Please try the test firmware I posted before, as it does not care about endstops or temperatures.

With the test firmware you can get everything moving, and *then* worry about your endstops and temperature calibration
Re: motor movement
January 27, 2013 09:09AM
hi mitchese,
tried to compile the test but got loads of errors on the heater file removed them all then it failed to compile I don't know ardinuo that well to sort it out and the test is for ramps 1.4 and using 1.3,

am tryin to work this out
Reporting endstop status
x_min: open
y_min: open
z_min: open

Re: motor movement
January 29, 2013 07:02AM
RAMPS 1.3 and 1.4 are the same in terms of the test program, which should work on both. If you can't compile and upload the test code, I don't understand how you are able to compile and upload the actual code, since it is essentially the same thing, only more complicated. Below requires a change to Configuration.h before uploading it, so I would expect you will run into the same problem trying to upload the changed code.

When you say you "changed the temperature to 511", do you mean you changed it to stop at 511 degress celsius? If so, this is a bad idea, because your setup is incorrectly detecting the temperature. Your workaround to up the temperature could be a fire hazard, so don't enable your hotend until you have this part fixed! Is the thermistor connected? Is your motherboard correctly defined in Configuration.h (33), is the correct thermistor for your hotend chosen?

If you are having problems with the endstops:
1. What endstops are you using
2. Where are they hooked up and where should they be hooked up? Normally the endstops are all hit when your extruder nozzle is as far left as it will go, the table is as far back as it will go, and the nozzle is as far down as it will go. This is your 0,0,0 position. The endstops should be mounted to support this setup (so X endstop is on the left, Y endstop is at the back, and Z endstop is at the bottom). According to your output, it appears as if they are attached on the wrong pins on the board (?)

With the endstops, you need to check in your Configuration.h file and possibly change the endstop options. Check in this section, "Endstop Settings", there are things which need to be customized to your exact setup: if you are using mechanical endstops (simple switches) then you need to have the pullups. If you are using optical endstops, where a flag must pass between a beam of light, then you should disable the pullups, which is done with this line:
//#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors
// The pullups are needed if you directly connect a mechanical endswitch between the signal and ground pins.
Re: motor movement
February 01, 2013 03:26PM
Just too draw this thread to a close,

The issue with the motors was nothing more than a basic "newbie error" I didn't connect a 12v power to the 5A connector confused smiley,

Mitchese thanks for the replys, I don't know why the test program failed to compile, something with the latest ardinuo interface " I really don't know but the marlin firmware did and all is well so far. As for the temperature I hav,nt an hot end yet so prontrface raised a temperature error so basically the hotend reported 499 and shut the printer down so to get round this I set the I set the max temp to 511 in firmware " for now" while testing.

And once I understood the placing of the endstops all was well "homing has begun".

Re: motor movement
February 01, 2013 04:03PM
Glad to hear you got it working! I'll have to remember that the test program doesn't work with certain versions of Arduino.

As for the endstops, I just answered a very similar question in the mendelmax mailing list, I personally don't use them:

I used to have endstops and Triffid suggested going without them.... man do I ever not miss them!

The endstops are there to tell your printer where 0,0,0 is (which is the front,left corner of your bed, see my video I posted about orientation here: [www.youtube.com] )

If you want to use endstops, you will need 3 of them (for X, Y and Z). Their positions should be as follows:
X carriage should hit the end stop when it is all the way left
Y table should hit the end stop when it is all the way at the back of the printer (counterintuitve, but think that the nozzle is all the way at the front of the printer)
Z should be at the bottom, such that the nozzle is just a hair off your print surface. This I found really difficult to exactly set.

To home your axes, just hit the "home" button, and that axis will drive until it hits the endstop. If it drives the wrong direction, check your firmware to either change the direction of the axis (INVERT_X_DIR et al) or change the direction which it drives home (which should be "-1" for all)

The other alternative, what I use, is I manually move the parts to left, front and bottom, then issue "G92 X0 Y0 Z0"

This essentially defines where home is, until I hit the home button (which I never do -- home will drive to my nonexistant endstop), or issue another G92 command. This is very useful for finding the perfect z height -- set your home, try a print, too high? move down 0.01, set home, try again.

To define zero, just drive down slowly until it touches the table, then move up 0.01 or so (you might have to enable:
define min_software_endstops false //If true, axis won't move to coordinates less than HOME_POS.
so it can drive below where it thinks zero is) If I were starting from scratch and my Z axis was in the middle, I would go down 10cm, down 10cm then down 1, down 1, down 1, down 0.1, 0.1, 0.1 *touch* and then up 0.1 or 0.2.

At this point I would issue the G92 Z0 to set this as the new zero position for Z. From now on, I don't need to change this unless I power the machine down -- when the machine starts all the axes assume they are at zero.

Because of this, I added the command
G1 Z0 F200
at the end of my print so when it finishes it drives the Z back down to zero...if I unplug my printer between prints, it starts up at zero and my nicely tuned "home" for z is preserved.

One note of leveling, you may have to twist _one_ of your z screws to get the bed "level". This is never too far though, maybe a rotation or two depending on how far out of level it is across the bed.
Sorry, only registered users may post in this forum.

Click here to login