Close



Results 1 to 7 of 7
  1. #1

    Question Feedback and Marlin Firmware

    Hello all,

    First post in this section... anyway...

    I'd like to know if there is any facility in the Marlin firmware for any feedback on the absolute position of the X and Y axis as it is stepped? I have seen a bed auto levelling arrangement for the Z axis, which would be a absolute feedback above the bed, now I'd like to see if I could implement that for the X and Y axis.

    I was thinking about wrapping a shaft in paper printed with black lines, like a barcode, wrapping it in matte sticky tape, and using an optical sensor, even a barcode reader, modified to suit. This would give me (potentially, firmware allowing) an absolute position of where in the X and Y space my print head happens to be, and confirm whether the steps taken as commanded by the GCODE have resulted in the right position. If not, adjustments are made until the head hits the right position in X and Y space.

    Thoughts? Constructive critique? Abuse? (I'd rather no abuse...).

    Thanks!

    Boris.

  2. #2
    Technologist
    Join Date
    Oct 2013
    Location
    Honolulu, HI
    Posts
    199
    Hi Boris,

    M119 will get you the current positions of x,y,z and e. In Repetier host the x,y and z positions are shown in real time on the printer screen by the movement buttons.

    Cheers,

    KDog

  3. #3
    Is that where the printer has been directed to go by the GCODE, or the feedback from where the printer actually is?

    I suspect the former. I need the latter.

  4. #4
    Technologist Kingoddball's Avatar
    Join Date
    Oct 2013
    Location
    Syd - Aust
    Posts
    193
    M119 - This is system based positioning - If the belt slips or gets stuck, the system "Thinks" its at "X/Y/Z Coords".

    What Boris is saying is an actual positioning where it KNOWS where it is, not just judges by steps traveled.
    It may be hard to implement it, may never happen? It's a good and tough project to work on, wish you luck!

  5. #5
    Staff Engineer old man emu's Avatar
    Join Date
    Oct 2013
    Location
    Narellan, New South Wales, Australia
    Posts
    912
    Boris,
    Not criticizing you for wanting to know where your extruder is in global co-ordinates, but WHY?

    All your printing is done relative to the printing surface (system-based co-ordinates) . As long as the controller knows where z = 0 is, it does not matter for the rest of the print if the point where the controller determined its Z = 0 position was at (5,7,0), (5, -2, 0) or (-3, 2,0). The controller will say to itself "Ah! There's Z = 0. +X must be to the right of that point, and +Y is 90 degrees anti-clockwise from the line (Y = 0) [you'll have to think about that Y = 0 line so it makes sense].

    As long as your X or Y extremities don't end up outside your printer bed boundaries, the print will be OK. That's why the endstops are used to physically define X = 0 and Y = 0.

    Old Man Emu

  6. #6
    Technologist Kingoddball's Avatar
    Join Date
    Oct 2013
    Location
    Syd - Aust
    Posts
    193
    A basic reasoning: If the printer slips, misses a tooth (easy to happen on old printed pulleys), the system can see this and auto correct itself, so prints might not get ruined/missed steps.
    The theory is sound, putting into practice will be harder.


    Looks like Boris is an old school robotics nerd

    Edit:
    I think a move toward embedded ARMEL cores could be a good move - More horsepower
    R-Pi maybe. I've had a thought of using an R-Pi with a Ninja Crust to allow an ATMEGA on the ARMEL chip. First problem is that it's a 328P.

    Once we get past that - Next, create a shield as the Crust has all pins available.
    Then add Pololu's and then make it happen!
    Network access, horsepower and ATMEGA all in one.
    Last edited by Kingoddball; 02-05-2014 at 08:35 PM.

  7. #7
    Student BlackDragon's Avatar
    Join Date
    Dec 2013
    Location
    St. Louis, MO
    Posts
    21
    I see where you are going with this.
    Look around the internet. You can find rotary counters that are designed to do just this. The usually involve a slotted wheel that goes on the shaft you are monitoring, that pass through some type of sensor (usually IR, sometimes a Hall sensor). The sensor would then be tied to your system (I would recommend using spare pins on JP4). Spin one direction and you step up a counter. Spin the other way, and you count down.

    The only trick is knowing where to start. You would probably zero your print head, then initialize the counters for the tracker.

    Your other option is to use metal gears for your drive system, then you really don't have to worry about slippage/skipping.

Posting Permissions

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