Welcome! Log In Create A New Profile

Advanced

X Carriage moves to X+ even when you press X-

Posted by Bluemetal 
X Carriage moves to X+ even when you press X-
February 08, 2014 04:19PM
I have a Prusa 1 (Sanguinololu 1284P) that runs perfectly with an older Marlin version from about a year ago. I am now installing a Panelolu2 ( [www.think3dprint3d.com] ) for independent printing so I have followed the site recommendations to use Arduino 0023 and the T3P3 forked version of Marlin ( [github.com] ).

I looked at the Marlin files from a year ago and transferred all the settings that I could identify to the new T3P3 Marlin. I have also used a spare 1284P so I can keep the older one safe. Compiled and uploaded and the panel works well. It can read files from the MicroSD and everything seemed fine.

I connected to the printer with Pronterface and the Z axis moved correctly though much less than expected, so did the Y. I thought that was some confusion with the steps in the configuration file. Then the X axis moved towards X+ if you asked to move to X+ and also when you wanted to go to X-. The printer also totally ignored the end stops (photo type). I tried changing the settings like direction and such but there are so many new parameters in the newer Marlin version that I think I am missing something. Even if the steps/mm are wrong the axis behavior should have not changed that much.

I have put the old 1284P back and the printer works flawlessly, so we can eliminate a mechanical cause. I downloaded a fresh version of Repetier Host and the printer behaves well with the old firmware and oddly with the new one, so we can eliminate the external software. All that remains is the firmware. I have played a lot with Marlin last year, but I cannot imagine a setting that would cause the axis to always move in the same direction irrespective of where you commanded it to go. I will keep trying to find our why the endstops are ignored and will re-calibrate steps/mm, but if anyone has some ideas of where to look for the cause of the weird X axis behavior, please share it here.
Re: X Carriage moves to X+ even when you press X-
February 08, 2014 04:34PM
I think your problem is linked to the end stop. Its sounds like the axis is trying to move away from the end stop but the end stop is still triggered. I maybe totally wrong but I would try to resolve the endstop issue and see if that fixes it.
Re: X Carriage moves to X+ even when you press X-
February 08, 2014 05:39PM
The incorrect distances were caused by a missing comma in the steps/mm line in the firmware. That had no impact on the movement direction of x-axis and end stops.

The triggering of endstops shows both on the LCD panel and on Repetier Host and with the original copied settings (all axis inverting set to false) there is no triggering.

If I invert the MIN end stops (I have no MAX end stops) like below, then any movement towards the negative direction will not occur and the panels will display "endstops hit: X ", "endstops hit: Y " or "endstops hit: Z " at the first movement towards the negative direction. That means that the not hit end stops are the opposite of what they should be and confirms that they all should be set to false. The firmware is just ignoring the actual triggering.

I have checked the pin assignment in the firmware (pins.h) and everything matches (pins 18,19 and 20 for the end stops). "Uncommenting" DISABLE_MAX_ENDSTOPS has also no effect. I have tried the new version of Marlin to see if it is something specific to the T3P3 version and the same problem is there.

const bool X_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool Y_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool Z_MIN_ENDSTOP_INVERTING = true; // set to true to invert the logic of the endstop.
const bool X_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Y_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
const bool Z_MAX_ENDSTOP_INVERTING = false; // set to true to invert the logic of the endstop.
//#define DISABLE_MAX_ENDSTOPS
//#define DISABLE_MIN_ENDSTOPS

Edited 1 time(s). Last edit at 02/08/2014 06:02PM by Bluemetal.
Re: X Carriage moves to X+ even when you press X-
February 08, 2014 08:27PM
Did you enable pullups for the endstops?

#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors

Edited 1 time(s). Last edit at 02/08/2014 08:33PM by brnrd.
Re: X Carriage moves to X+ even when you press X-
February 08, 2014 08:42PM
Quote
brnrd
Did you enable pullups for the endstops?

#define ENDSTOPPULLUPS // Comment this out (using // at the start of the line) to disable the endstop pullup resistors

Yes, they are enabled.

Edited 1 time(s). Last edit at 02/08/2014 08:43PM by Bluemetal.
Re: X Carriage moves to X+ even when you press X-
February 09, 2014 07:40AM
Hi Bluemetal

What do you get when you issue M119 in your host program? that should show what endstops are open/closed.

Cheers

Tony

Edited 1 time(s). Last edit at 02/09/2014 07:40AM by T3P3.


DuetWifi.: advanced 3d printing electronics
Re: X Carriage moves to X+ even when you press X-
February 09, 2014 09:27AM
Quote
T3P3
Hi Bluemetal

What do you get when you issue M119 in your host program? that should show what endstops are open/closed.

Cheers

Tony

Hello Tony,

They report that all 3 are reported open. They still report open even if the end stop is triggered. I can see that the end stop led goes off on triggering which also means that they are powered and getting hit correctly. All 3 are ignored by the firmware. The printer works fine with another 1284P with an older version of Marlin (reducing the chances of something mechanical/electrical).

The pins on the Prusa 1284P Sanguinololu ( 18 x, 19 y and 20 z ) are all at 0.15V when open and go to 4.9V when closed.

Edited 2 time(s). Last edit at 02/09/2014 10:15AM by Bluemetal.
Re: X Carriage moves to X+ even when you press X+ It is a fuse problem!
February 09, 2014 11:00PM
I have now tested the printer with below combinations:

1. Marlin from 2 sources (Original ErikZalm at [github.com] and T3P3 at [github.com])

2. With and without Panelolu2 defined in configuration.h

3. Arduino 0023 (like recommended by T3P3) and Arduino 1.05

4. Bootloader from Sanguino from here ( [ryanmsutton.com] ) and Maniacsbug Mighty 1284P ( [github.com] )

Some combinations are not possible as the Mighty 1284P only works on Arduino 1.+

The results are that with the Mighty 1284P the axis move the right way and end stops are recognized, while the other bootloader causes that weird error. I then found out this site
( [dcgtek.blogspot.com] ) where he explains that the end stops and x axis are also the JTAG port in the 1284P and if you do not deactivate it with the right fuses when you burn the boot loader you will not be able to use the printer. Problem solved!

Thank you all for the suggestions.

Edited 1 time(s). Last edit at 02/09/2014 11:54PM by Bluemetal.
Sorry, only registered users may post in this forum.

Click here to login