Close



Page 1 of 9 123 ... LastLast
Results 1 to 10 of 89
  1. #1
    Technician
    Join Date
    Oct 2013
    Location
    South Australia
    Posts
    50

    Auto_Bed_Leveling with positive Z_PROBE_OFFSET_FROM_EXTRUDER

    Trying to work out how to use auto bed leveling without the use of a servo.
    A micro switch has been added to a bracket and the nozzle acts as a lever to activate the micro switch when it touches the bed.

    Hardware has been made and tested to a point where a small part has been printed.
    A number of issues still need to be resolved. One issue is the deflection caused by the probing. This is being looked at now to reduce the amount of deflection as much as possible.

    Configuration.zipMarlin_main.zip

  2. #2
    Student
    Join Date
    Mar 2014
    Location
    Vienna
    Posts
    47
    regpye,

    that sounds interessting, could you please post a photo for us to understand the hardware setup better? I use auto bed leveling with a servo right now, but I´m always open to try other solutions.

  3. #3
    Super Moderator Roxy's Avatar
    Join Date
    Apr 2014
    Location
    Lone Star State
    Posts
    2,182
    Quote Originally Posted by ciutateivissa View Post
    regpye,

    that sounds interesting, could you please post a photo for us to understand the hardware setup better? I use auto bed leveling with a servo right now, but I´m always open to try other solutions.
    Actually, It would be very interesting to see the .STL files so we can understand how this thing is built. But with that said, I'm looking at what has been done to support it in the Marlin_Main.cpp file. I have some comments:

    Question #1: Why is there a servo defined in Configuration.h if there aren't any servo's used?

    Question #2: Why are you using the very very first version of the Marlin code base that had Auto_Bed_Leveling? Probably, the right way to view that code base is as 'experimental'. It worked, but it had problems. Many of the issues have been worked out concerning the X_PROBE_OFFSET and Y_PROBE_OFFSET now. (Right now I have my origin in the back right because the code base you are using had issues with probing the X & Y in negative space) And given you are doing a positive Z_PROBE_OFFSET which nobody else has done yet, you want the benefit of the best thinking on this OFFSET topic. Can I encourage you to go get the latest code base, cross your configuration.h over to it and enable both:

    #define ENABLE_AUTO_BED_LEVELING
    #define AUTO_BED_LEVELING_GRID

    And we start from there???
    Last edited by Roxy; 04-27-2014 at 09:52 AM.

  4. #4
    Technician
    Join Date
    Oct 2013
    Location
    South Australia
    Posts
    50
    Quote Originally Posted by Roxy View Post
    Actually, It would be very interesting to see the .STL files so we can understand how this thing is built. But with that said, I'm looking at what has been done to support it in the Marlin_Main.cpp file. I have some comments:

    Question #1: Why is there a servo defined in Configuration.h if there aren't any servo's used?

    Question #2: Why are you using the very very first version of the Marlin code base that had Auto_Bed_Leveling? Probably, the right way to view that code base is as 'experimental'. It worked, but it had problems. Many of the issues have been worked out concerning the X_PROBE_OFFSET and Y_PROBE_OFFSET now. (Right now I have my origin in the back right because the code base you are using had issues with probing the X & Y in negative space) And given you are doing a positive Z_PROBE_OFFSET which nobody else has done yet, you want the benefit of the best thinking on this OFFSET topic. Can I encourage you to go get the latest code base, cross your configuration.h over to it and enable both:

    #define ENABLE_AUTO_BED_LEVELING
    #define AUTO_BED_LEVELING_GRID

    And we start from there???
    Answer to question 1. Servo was used on previous model, and was not changed. (oversight) Works OK with it still activated, just no servo on the machine.
    Answer to question 2. Have been using the old version for quiet a while with no real issues. Should move over to a later version I suppose.

    The setup I have now is working and has done a test print OK. There are some things that need tidying up though. I guess it would be best to use the later version and overcome any other problems along the way.

  5. #5
    Super Moderator Roxy's Avatar
    Join Date
    Apr 2014
    Location
    Lone Star State
    Posts
    2,182
    Quote Originally Posted by regpye View Post
    Answer to question 1. Servo was used on previous model, and was not changed. (oversight) Works OK with it still activated, just no servo on the machine.
    Answer to question 2. Have been using the old version for quiet a while with no real issues. Should move over to a later version I suppose.

    The setup I have now is working and has done a test print OK. There are some things that need tidying up though. I guess it would be best to use the later version and overcome any other problems along the way.
    OK... Can you switch to the new code base and verify things still work for you? The Auto_Bed_Leveling in the current code base is better. And it will be much easier to support you and get everything right because that is what most people are using. If there is a real reason to get this going on the old code base, that can be done but at least for me, I would prefer to deal with the current code.

    If you can get it limping along and sort of working with the new code base we can get this polished pretty quickly. What I'm thinking is if it works at all, you post the configuration.h and marlin_main.cpp along with a description of what is wrong and we can make some changes to the code and re-post it. You compile and load the new firmware and report back if things are better or worse... I'm thinking with 4 or 5 iterations, it will be going.

    What about the .STL file? Can you post that? It would be interesting to see what we are trying to get going!

  6. #6
    Technician
    Join Date
    Oct 2013
    Location
    South Australia
    Posts
    50
    Quote Originally Posted by ciutateivissa View Post
    regpye,

    that sounds interessting, could you please post a photo for us to understand the hardware setup better? I use auto bed leveling with a servo right now, but I´m always open to try other solutions.
    Hotend1.jpgHotend2.jpgHotend3.jpgHotend4.jpg
    The hotend is like a hinge. When the nozzle touches the bed the hinge moves to activate a small micro switch. A light spring returns the hotend to it's printing position (only 2mm movement)
    The hotend shown in these photos is working well, but I have noticed that it could be better,so I have designed another one that has a longer arm to increase the leverage and reduce the movement needed to activate the switch. The short version as shown works, but there is some deflection when the probing takes place as the X carriage is extended.
    Yesterday I re-designed and printed the new part and I will try and test it out with the settings I have presently (although the settings are not perfect yet)
    Attached Images Attached Images

  7. #7
    Technician
    Join Date
    Oct 2013
    Location
    South Australia
    Posts
    50
    Some other photos to show a bit more
    Micro switch triggered by lever
    .Hotend6.jpg


    Another machine with a few small changes
    Picture 005.jpgPicture-006.jpg


    Very first test print
    Picture-045.jpg

    One of my test machines, just finished first test print.
    Picture-046.jpg

  8. #8
    Staff Engineer old man emu's Avatar
    Join Date
    Oct 2013
    Location
    Narellan, New South Wales, Australia
    Posts
    912
    refpye,

    You might find it easier and quicker to download thing 167440 and thing 167430 from Thingiverse and then watch the three videos starting with http://www.youtube.com/watch?v=awsI9bMndJA

    Old Man Emu

  9. #9
    Super Moderator Roxy's Avatar
    Join Date
    Apr 2014
    Location
    Lone Star State
    Posts
    2,182
    The problem is his Z_PROBE_OFFSET is positive. The firmware doesn't expect the case where you drive the nozzle into the bed to take a measurement. So we need to make a few tweaks to the firmware! I can hardly wait!!!

  10. #10
    Technician
    Join Date
    Oct 2013
    Location
    South Australia
    Posts
    50
    Quote Originally Posted by Roxy View Post
    OK... Can you switch to the new code base and verify things still work for you? The Auto_Bed_Leveling in the current code base is better. And it will be much easier to support you and get everything right because that is what most people are using. If there is a real reason to get this going on the old code base, that can be done but at least for me, I would prefer to deal with the current code.

    If you can get it limping along and sort of working with the new code base we can get this polished pretty quickly. What I'm thinking is if it works at all, you post the configuration.h and marlin_main.cpp along with a description of what is wrong and we can make some changes to the code and re-post it. You compile and load the new firmware and report back if things are better or worse... I'm thinking with 4 or 5 iterations, it will be going.

    What about the .STL file? Can you post that? It would be interesting to see what we are trying to get going!
    OK, I will take your advise and use the latest code. Where is the best place to obtain it?

    I will share the STL files, however I am still working on the design to see what works the best. I have just printed a new design that I haven't tried out yet and will probably have that all tested within the next few days. With the current hardware design it does work, however I have noticed that there is some deflection caused by the extended arm of the X axis (becomes a long lever) and that causes a small amount of flex while probing. To overcome this I have re-designed to give much less pressure while probing.
    When I have tested and found the improvement I will post the STL files. Photos are a way of seeing how it works and I have posted several in another few replies already in this thread.

    The test machine is a highly modified SmartRap. The SmartRap uses fishing line for the drives of both X and Y. I changed that to use GT2 belts. Also the SmartRap uses a servo and RAMPS for the auto bed leveling. I have changed that to use Printrboard (because I have a lot of them left over) and no servo.

    first1.jpg
    This machine is using RAMPS, servo and the old Marlin code.

    Picture-046.jpg
    This machine is using Printrboard, no servo, old version of Marlin.
    This is the very first test print with settings as in the uploaded firmware files. (old Marlin)
    Both machines are using my design of extruder that is geared while the original machine design uses direct drive extruder.
    All these machines use a Bowden delivery system for the filament feed.

    Picture-019.jpg
    Photo of the hinge parts that carry the hotend.
    There are two micro switches. One is for the X limit and the other is for the Z limit and probing
    The yellow zip tie is for tying the loom to keep the wiring tidy.

    Picture-014.jpg
    X limit switch.
    Attached Images Attached Images

Page 1 of 9 123 ... 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
  •