Close



Page 65 of 76 FirstFirst ... 1555636465666775 ... LastLast
Results 641 to 650 of 757
  1. #641
    FIX "endstops hit" error with Auto Leveling G29 command on Marlin 1.0.2
    There are a lot of guyz out there who, like me, decided to try Auto Levelling with their 3D printer, using Marlin firmware, and many have been getting the error "endstops hit" at the very end of the Auto Levelling check. I wasted several hours looking at the (mostly) BS promulgated via google, and was getting a bit pissed off erally. Nut, having been a programmer for over 20 years I thought "how hard can it be" (apologies to Jeremy Clarkeson). The answer was, luckily, not very. I checked through the code and got a feel for exactly what happens in Marlin, specifically with the Auto levelling additions. Looking at other places where the endstop is hit, I found the intriguingly named Function "endstops_hit_on_purpose()", hmm, this looks promising I thought - and it was indeed. I found the end of the G29 Auto Levelling code in "Marlin_main.cpp", added this line - AND IT ALL WORKS.
    It's very easy to fix - open "Marlin_main.cpp" in a text editor, and search for "#endif // AUTO_BED_LEVELING_GRID" then add the line "endstops_hit_on_purpose()" directly after - that's it folks.

    "Marlin_main.cpp"
    #endif // AUTO_BED_LEVELING_GRID // original code
    endstops_hit_on_purpose(); // line added by Geoff_Cohen - FIXES "endstops hit" error with Auto Leveling G29 command on Marlin 1.0.2
    st_synchronize(); // original code

    Plus, it's really VERY EASY TO LEVEL my 3D Solidoodle 2 printer. First Manually Home the printer - either press the Home button or enter a G28 command. Then enter G29 for auto levelling - the 3D printer software (Repetier in my case) status display shows how level the bed is - then just tweak the adjustment screws and run G29 & G29 again, until it's level - it is no longer necessary to be both level and at the correct height - just being level is enough, with the auto levelling software/hardware doing the rest. This is what a level bed will look like (the "Z" numbers on the right side)
    14:06:55.795 : Bed x: 20.00 y: 20.00 z: 0.09
    14:07:01.427 : Bed x: 142.00 y: 20.00 z: 0.08
    14:07:07.073 : Bed x: 142.00 y: 150.00 z: 0.08
    14:07:12.800 : Bed x: 20.00 y: 150.00 z: 0.07
    14:07:12.818 : Eqn coefficients: a: 0.00 b: -0.00 d: 0.08
    14:07:12.818 : planeNormal x: -0.00 y: 0.00 z: 1.00
    So my printer is level within .02mm, pretty damn impressive IMHO - plus, it doesn't matter if the Z zero position varies slightly, the Auto Levelling will compensate every time. It's best to run the Auto level test with the Bed at operating temperature - as it may expand or even warp to some degree.

  2. #642
    Super Moderator Roxy's Avatar
    Join Date
    Apr 2014
    Location
    Lone Star State
    Posts
    2,182
    Quote Originally Posted by Geoff_Cohen View Post
    So my printer is level within .02mm, pretty damn impressive IMHO - plus...
    Did you use the G29 T option? That helps to visualize where things are. It is good when the nozzle moves all the way corner to corner and the Z axis hardly has to move in order to compensate.

  3. #643
    Hello,

    I solved the error message "endstop hit" thanks the fix to add that line in the marlin_main.cpp.
    But even I still have several problems with the auto leveling.

    I use the G28 command to home all axes. Here I find that the lcd shows the positions in the x-axis, y-axis and z-axis, which shows that the extruder is in the middle of the table and at a certain height. However in Repetier-Host put that all axes are in position 0.
    Then I run the G29 command, going the x-axis carriage to the position of the first measuring point, down a few millimeters instead of up, and then down lowing the arm without leaving enough space so that it is no positioned well in the measurement position, so I have to manually press to prevent breakage. And the rest of the measuring points are made without problems.
    But, this is where the biggest problem occurs, in the printer LCD shows the values of x, y, z axis which I think are real, but in the log of repetier host a value of 0 is shown on the x-axis, in the y axis and in the z. And as repetier showed values of 0 in the x, y and z axis, and it not allow me to move those axes to the minimum positions.


    I don´t know what I have misconfigured in the configuration.h file; although it seems that the problem is communication between the printer and the Repetier-Host.

    Configuration.h

  4. #644
    Try another G28 command after the G29 - it's what I had to do to get G29 working correctly

  5. #645
    I still do not get repetier show me the values that appear on the LCD. Using the command G28, G29 and then again G28.
    When It finish I get this result:

    In the LCD: x: 142.0 Y: 47.0 and z: +11.8
    In Repetier-Host: x:0 y:0 z:0

    Log of Repetier-Host:
    10:11:53.485 : Base x: 30.00 y: 30.00 z: 11.67
    10:12:04.516 : Base x: 140.00 y: 30.00 z: 12.19
    10:12:15.985 : Base x: 140.00 y: 140.00 z: 11.81
    10:12:27.548 : Base x: 30.00 y: 140.00 z: 11.21
    10:12:27.548 : Eqn coefficients: a: 0.01 b: -0.00 d: 11.61
    10:12:27.548 : planeNormal x: -0.01 y: 0.00 z: 1.00

    Is there any way or G code that allows me to pass the printer values to Repetier?

    And another thing I do not understand is that when I ran the G29 command after the G28, the servo arm does not go down first and then the carriage moves to the position of the first measuring point.

  6. #646
    Technologist
    Join Date
    Oct 2014
    Posts
    114
    Did you do an M114 in repetier and see where it thinks the machine is.
    Make sure the bed size is correct and the home position too.






    Quote Originally Posted by Deividmaxx View Post
    I still do not get repetier show me the values that appear on the LCD. Using the command G28, G29 and then again G28.
    When It finish I get this result:

    In the LCD: x: 142.0 Y: 47.0 and z: +11.8
    In Repetier-Host: x:0 y:0 z:0

    Log of Repetier-Host:
    10:11:53.485 : Base x: 30.00 y: 30.00 z: 11.67
    10:12:04.516 : Base x: 140.00 y: 30.00 z: 12.19
    10:12:15.985 : Base x: 140.00 y: 140.00 z: 11.81
    10:12:27.548 : Base x: 30.00 y: 140.00 z: 11.21
    10:12:27.548 : Eqn coefficients: a: 0.01 b: -0.00 d: 11.61
    10:12:27.548 : planeNormal x: -0.01 y: 0.00 z: 1.00

    Is there any way or G code that allows me to pass the printer values to Repetier?

    And another thing I do not understand is that when I ran the G29 command after the G28, the servo arm does not go down first and then the carriage moves to the position of the first measuring point.

  7. #647
    Thanks very much for your help. With that I can work and get the auto leveling operate as I want. With this and more G codes I can fix several bugs like the Repetier values and the problem that the arm does not move down before the first point to when executing the G29.

    But I just found another bug I think. It happens when I heat the second extruder to achieve a certain temperature. Once the extruder reaches the temperature, the heater is turned on and off to keep that temperature. When this occurs the servo starts shaking consuming much power to the RAMPS.

    At first it work well connecting the 5V and VCC pins. But the servo shaking and my printer restart.
    So I have powered the servo pins with a LM7805 and keeps happenig. I've also changed the pin D11 to D6 pin with the same results.


    I do not know if there is aa bug on Marlin or it´s a problem with my RAMPS.

  8. #648
    Super Moderator Roxy's Avatar
    Join Date
    Apr 2014
    Location
    Lone Star State
    Posts
    2,182
    That doesn't sound good! But for sure, lots of people are using RAMPS boards with Auto Bed Leveling. Something simple is wrong.

  9. #649
    I think that this is a bug of marlin.
    I have reviewed all the connections, I have even taken the Ramps and I reviewed the board. Everything works fine.


    Servo vibrations seem to engage the pwm output used with extruder to maintain the temperature. Watching the LED that indicates that the extruder is warming, flashing agrees with the vibrations of servo.


    I have tried using the PROBE_SERVO_DEACTIVATION_DELAY function, but something worse happens. The servo is lowered to the measurement position and vibrate.


    I'm trying to find some other way to turn off or remove power from the servo once no longer needed.

  10. #650
    Student
    Join Date
    Mar 2015
    Posts
    13
    Hello all. I've been printing, off and on, for a couple of years. However, my prints were hit and miss. Sometimes perfect, sometimes not so much. Lot's of time and filament wasted.
    I am now in the process of getting my printer just right. Mechanical problems have plagued me, mostly from lack of experience. But, I am solving them one by one. I think this beckdac will help me, but I need some 101 guidance on exactly how to make the change. Here's what I'm thinking.
    Download beckdac and unzip.
    Load files into arduino.
    Copy old configh file.
    Delete new configh file from beckdac.
    Paste my old configh into beckdac.
    Will that work?

    Thanks to all that respond. I really appreciate it a LOT!

    Bob Keyes

Page 65 of 76 FirstFirst ... 1555636465666775 ... LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •