Jump to content

Ultrasound bed levelling on UM1


Recommended Posts

Posted · Ultrasound bed levelling on UM1

The nearest measurement is 2cm and the resolution is 0.3cm.

The real question is the repeatability. You could overcome the above by mounting the sensor at say 2cm and then do something like when the measurement goes from 2.1 to 2.4 assume it is at 2.4cm and use that value,

The problem is will it repeatedly and reliably go from 2.1 to 2.4 at the same distance? There is always slop in repeated measurements. If the slop is +-0.005 cm, it would work. If the slop is 0.1 cm (1mm), probably won't work.

resolution and repeatability are usually related with repeatability being defined in the minimum resolution or half of it If that is the case for this sensor, 0.3cm or +-3 mm or even +-1.5mm isn't going to be good enough when your first layer is on the order of 0.3mm

So it is a good idea but I doubt that sensor has the resolution and repeatability required.

 

  • Link to post
    Share on other sites

    Posted · Ultrasound bed levelling on UM1

    Yes, putting the sensor up to 2cm was my idea and then work around the 0.3 resolution and see if there's a way to hack around that. It's a pretty much small distance, but it makes a huge difference when you plan on printing at 0.06 :D

     

  • Link to post
    Share on other sites

    Posted · Ultrasound bed levelling on UM1

    You could do it, but not with the HC-SR04. It runs at only 40 KHz, which gives you a wavelength of about 8.5 mm. For this application you'd want a wavelength smaller than .1 mm, which puts you up in the low MHz. I'd want at least 5 MHz, and 20 or 30 would be better. My family's business includes industrial ultrasound, and we typically use 5-20 MHz for imaging fine details in steel. I've seen people go as high as 100-200 MHz (yes, this is radio-frequency audio). So it's doable. The circuit design is tricky -- think of smacking a piezoelectric crystal with several hundred volts at these frequencies. But the current requirements are low. The data acquisition is demanding -- you need an A/D converter sampling at least 2x your signal frequency; I usually prefer 10x for that.

    It would be an interesting project.

    Steve

     

  • Link to post
    Share on other sites

    Posted · Ultrasound bed levelling on UM1

    Good idea or pure crazyness?

     

    Pure crazyness!

     

  • Link to post
    Share on other sites

    Posted · Ultrasound bed levelling on UM1

    I'm looking in regards of IR sensors and laser sensors.

    I believe an accuracy of 0.05 would be good to start with.

    In order to not mess with Marlin it could be hooked up to another Arduino or a Teensy.

    Any ideas on high precision sensors to use? Keeping it within a decent budget of course :D

     

  • Link to post
    Share on other sites

    Posted · Ultrasound bed levelling on UM1

    Ultrasonic is not the ideal sensoring technology here.

    You can get much more precise results using inductive or optical sensors. Also, they cost much less and are easier to use :)

    40 kHz is a no go for anyone who has cats or dogs around...

    /edit:

    Throwing a bunch of possible solutions your way:

    http://ch.mouser.com/Sensors/Proximity-Sensors/_/N-7h7mq/

    ;)

    I plan on doing some research about this myself soon. Please keep us posted if you find something useful!

    /edit:

    The easiest thing to do (by far) is to simply have a metal "probe" part on the printhead and a metal counterpart on the bed. Put a test voltage on the probe and measure the counterpart. The moment the probe touches the counterpart (distance = 0 -> bed levelled) you get a signal on the counterpart...

    All you have to do is use some spring loaded part for the probe so that it doesn't matter if you crash the probe into the counterpart.

    This isn't my idea. I've seen that on youtube. No clue where exactly...

     

  • Link to post
    Share on other sites

    Posted · Ultrasound bed levelling on UM1

    Perhaps I could hook to one of the printhead screws an industrial micro sensor which operates at 24v and glue on the printing platform some thin metal pieces.

    I'm living in another city than where my 3d printer is located, i'm going to run some tests as soon as i get there.

    I have seen several thread about adding some weight to the print bed. What if that weight is added in the form of servo motors which could be then used to create a self levelling printing bed?

     

  • Link to post
    Share on other sites

    Posted · Ultrasound bed levelling on UM1

    I've been thinking about this on and off.

    One problem with the electrical probing or even mechanical probing with the tip is anything stuck on the tip will lead to inaccurate measurement.

    Ideally, you would level the bed just before print with everything at temperature

    The problem for me is that the nozzle seems to weep plastic even if it is retracted. So it will almost always be difficult to use the nozzle in the measurement.

    BTW, Antiklesys , marlin has "mathematical" leveling if you can give it the distances to the nozzle at various points. It uses the measurements to adjust the platform through the Z axis to check the platform and nozzle in "virtual" level. It obviously needs good Z accuracy.

    Here is an extreme demo:

     

  • Link to post
    Share on other sites

    Posted · Ultrasound bed levelling on UM1

    some interesting stuff here: http://gtocs.blogspot.com/2012/04/garys-diy-cnc-touch-probe.html

    Wonder if we could miniaturize and 3d print something then clip onto the nozzle head for measuring.

     

  • Link to post
    Share on other sites

    Posted · Ultrasound bed levelling on UM1

    Hi Anon4321, that is pretty cool, but I suspect putting a motor on the print head would lead to other unpleasant side effects.

    But yeah, if we find the right lightweight sensor we're good to go I suppose :)

    I have an idea regarding laser levelling, but I'm not sure of the accuracy, I'll have to research a bit more on it

     

  • Link to post
    Share on other sites

    Posted · Ultrasound bed levelling on UM1

    There are some ingenious solutions for the probe.

    I was thinking of simply having the probe magnetically attached or manually clipped to the head only during measurement. Then the probe can't impact the head weight during printing very much.

    Someone came up with a way that through a series of moves of the build plate to the extreme Z causes the probe to lower and then a second series of x/y movements cause the probe to raise. Each position is maintained with magnets and springs.

    I mean c'mon.... someone had their head in the game with this solution:

     

    http://www.thingiverse.com/thing:89146

    Although, if it were me, I would just have the lever on the build plate controlled by a servo so you don't need to have the extreme Z movements and there wouldn't be the risk of the mechanism causing issues at the extreme Z if you are printing something near the volume limit.

    But still, that is some amazing out-of-the-box thinking and with the exception of a few pieces like the magnets and switch and springs, a 3D printable solution.

     

  • Link to post
    Share on other sites

    Posted · Ultrasound bed levelling on UM1

    Nice solution, but imho waaaaaay overengineered.

    Using a microswitch gives you the advantage that you can probe a glass, PEI, Kapton or whatever surface, instead of needing an electrically conductive counterpart on the bed corners.

    You don't have to reach the corners of the bed with the probe but can take any space close to the corners that are easy to reach.

    Big plus for the microswitch...

    Using small magnets you can easily make something that you can clip-on for levelling, and take away for printing.

    Doing that manually is easy and quick so I don't think it's even necessary to automate that.

     

  • Link to post
    Share on other sites

    Posted · Ultrasound bed levelling on UM1

    Jonny,

    Do you think microswitches have the repeatability required?

    I guess UM believes so since that what the UMs use.

    Do you think there is a particular microswitch that is particularly well suited for this?

     

  • Link to post
    Share on other sites

    Posted · Ultrasound bed levelling on UM1

    There is something to be said for an automated solution. I'm lazy and want to be able to control the UM remotely.

    However, getting a nice design even if manual would be a good start..

     

  • Link to post
    Share on other sites

    Posted · Ultrasound bed levelling on UM1

    I have a similar setup as a tool setter on a CNC machine, with a microswitch, so why not?

    Or a touch probe like on a Datron CNC machine, that swivels down. Is there an extra IO on a UM2 Board?

    Only problem is.. I'm a mechanical man, wouldn't have the slightest idea how to implement it in the firmware

     

  • Link to post
    Share on other sites

    Posted · Ultrasound bed levelling on UM1

    I'm not sure about the UM2 but the UM1 board has two outputs for R/C type servos which you can control through gcode.

    In fact, the mathematical leveling I mentioned before can automate the lowering of the probe through the servo outputs. I believe for sensing it actually uses the Z stop input. So if you had a microswitch mounted manually, you just put in in series (what if NO, I guess parallel) with the upper Z switch (I believe).

    I would suspect that the UM2 also has the same servo outputs.

    Here is the more traditional way: http://www.thingiverse.com/thing:225584 There are some pics on connecting to the UM1 board. However, I believe that there are explicit connections in the middle of the board for servos. Maybe marlin uses a different servo number.

    Marlin has all this built-in. However, you might have to configure marlin for the specific setup. See the instructions for the gcode required to initiate the mathematically leveling process.

     

  • Link to post
    Share on other sites

    Posted · Ultrasound bed levelling on UM1

    Errr sorry, that doesn't do the leveling just the distance.

     

  • Link to post
    Share on other sites

    Posted · Ultrasound bed levelling on UM1

    Wait, it may or may not....

    You can see the beta leveling on a UM1 here :

    See the notes at the end of the marlin repo: https://github.com/ErikZalm/Marlin

    Anyway, once you have all the stuff setup, you just use G29 to initiate and use the leveling transform.

     

  • Link to post
    Share on other sites

    Posted · Ultrasound bed levelling on UM1

    Well I've got some ideas for a UM2 probe now :mrgreen:

     

  • Link to post
    Share on other sites

    Posted · Ultrasound bed levelling on UM1

    I think I just found the simplest way to level the bed:

    Use an alu bed and have it connected to one of the Arduino's digital IO, while GND is connected to the printhead.

    As soon as the nozzle hits the bed that could be coded to light up a LED light.

    It would work just as a simple switch and nothing more than a LED and two wires is needed (and ALU bed of course...or alternatively 4 aluminium tinfoil pieces could be glued to the bed and have a wire connected to them, but then we would need to take in account the alu foil height).

    This should be an extremely simple implementation and we could perhaps even integrate a function in Marlin to detect the bed height before the start of a print in order for the firmware to auto throw-in the Z compensation as in the video shown before.

    I'm up to testing this out myself granted someone helps me tweak the firmware for this mod :D

     

  • Link to post
    Share on other sites

    Posted · Ultrasound bed levelling on UM1

    I think I just found the simplest way to level the bed:

    Use an alu bed and have it connected to one of the Arduino's digital IO, while GND is connected to the printhead.

    As soon as the nozzle hits the bed that could be coded to light up a LED light.

    It would work just as a simple switch and nothing more than a LED and two wires is needed (and ALU bed of course...or alternatively 4 aluminium tinfoil pieces could be glued to the bed and have a wire connected to them, but then we would need to take in account the alu foil height).

    This should be an extremely simple implementation and we could perhaps even integrate a function in Marlin to detect the bed height before the start of a print in order for the firmware to auto throw-in the Z compensation as in the video shown before.

    I'm up to testing this out myself granted someone helps me tweak the firmware for this mod :D

     

    I tried this in early UM2 development. But the connection between the nozzle and the alu bed is not that great. I automated it, and sometimes it won't make a connection at all and press down on the bed hard.

     

  • Link to post
    Share on other sites

    Posted · Ultrasound bed levelling on UM1

    Oh Daid, you anticipated me :) I created a post in the Marlin firmware section to discuss this further.

    I understand the issue you describe, I don't have an UM2 so I can only guess, but could the cause be the nozzle or bed being dirty with the printing material and not making a stable connection?

    Would touch sensitive sensors placed on the bed be a solution for this?

    They can easily be made at home with tinfoil and the nozzle would just have to press on them (so no need of electrical connection between nozzle and bed).

     

  • Link to post
    Share on other sites

    Posted · Ultrasound bed levelling on UM1

    It's always a question of whether you want to automate it or just make it easier for manual handling.

    I'm working on a similar idea. I will keep it all manual, but my goal is to have an accurate, simple to use and simple to reproduce way to visualize when you hit the right spot.

    So in the end: You turn the thumbscrew until an LED lights up. The actual levelling procedure is still the same, but instead of having to use some paper sheet or good eye measure, you can just watch an LED and turn the screw until it lights up.

    For me, that's a good enough solution for a simple problem.

    With my super-high-ultra-premium Z-stage I'm planning, I don't think I'll have to re-level the platform that often anyways.

    (capacitive) Touch sensor could be a viable solution. But it's definetly not low-tech enough so that people can easily reproduce it.

    Imho it should be something simple like "connect some wires here and there, put an LED there and you're good to go".

     

  • 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
    • Our picks

      • UltiMaker Cura 5.7 stable released
        Cura 5.7 is here and it brings a handy new workflow improvement when using Thingiverse and Cura together, as well as additional capabilities for Method series printers, and a powerful way of sharing print settings using new printer-agnostic project files! Read on to find out about all of these improvements and more. 
         
          • Like
        • 16 replies
      • S-Line Firmware 8.3.0 was released Nov. 20th on the "Latest" firmware branch.
        (Sorry, was out of office when this released)

        This update is for...
        All UltiMaker S series  
        New features
         
        Temperature status. During print preparation, the temperatures of the print cores and build plate will be shown on the display. This gives a better indication of the progress and remaining wait time. Save log files in paused state. It is now possible to save the printer's log files to USB if the currently active print job is paused. Previously, the Dump logs to USB option was only enabled if the printer was in idle state. Confirm print removal via Digital Factory. If the printer is connected to the Digital Factory, it is now possible to confirm the removal of a previous print job via the Digital Factory interface. This is useful in situations where the build plate is clear, but the operator forgot to select Confirm removal on the printer’s display. Visit this page for more information about this feature.
          • Like
        • 0 replies
    ×
    ×
    • Create New...