Results 1 to 7 of 7
Thread: Feedback and Marlin Firmware
-
02-04-2014, 12:13 AM #1
- Join Date
- Dec 2013
- Posts
- 18
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.
-
02-05-2014, 05:22 PM #2
- 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
-
02-05-2014, 05:28 PM #3
- Join Date
- Dec 2013
- Posts
- 18
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.
-
02-05-2014, 06:19 PM #4
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!
-
02-05-2014, 07:31 PM #5
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
-
02-05-2014, 07:37 PM #6
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.
-
02-06-2014, 12:41 AM #7
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.
Printer will print perfect...
06-14-2024, 10:44 AM in Tips, Tricks and Tech Help