Questions about Compass

Could be a few DIY options possible? Something like a rotary version of the capacitive scale on a digital caliper should be relatively achievable. Even easier would be a bunch of magnets pressed into a 3D printed disk and a couple of hall effect sensors to get a quadrature out.

From playing with the mouse sensors, is there anything that you could think of that would make them drift-free, such as a clear grid pattern? Could have one looking at a disc with a printed grid on it.

I don’t think it necessarily would need to be absolute, not that I think about it, it would just need to be drift-free and appropriate linear for the workspace.

1 Like

Here’s something cool I found a few months ago

Magnetic rotary encoders have become really cheap and high performance in the past couple of years. I started using MT6701 (12 bit), MT6835 (21 bit!) from MagnTek for my BLDC /FOC projects and the performance is just awesome . The best part is that you can use them over serial bus (absolute!) - or - use the ABI type output which lets you interface them with any system expecting any regular quadrature encoder. They are sensitive enough to pick up the magnet through a PCB so you can do the assembly single-sided as well. The trick with these is you need to use a diametric magnet, which is a bit harder to find if you want to use hollow-shaft things for passing wires through (like a display, for example).

I would guess that no regular pattern would improve the mouse performance, because in their regular application repeatability is not much of a requirement (you don’t care if your mouse returns exactly to the same position over long travel). I did order some PMW3389 to see if they perform better, they have identical pinout to PMW3360 but have a different internal design (newer part).

1 Like

OK, another dumb question - are there X and Y limit sensors? I see them marked on the PCB but don’t see space on the plastic (I see the Z), maybe I’m missing them

The limit switches for X and Y are mounted on the left stepper mount. They can be a bit hard to spot at first glance!

1 Like

thanks!

I notice the right side is set up for limit switches too, one could add another X-limit there, it wouldn’t need any extra electronics, just wire both X switches in parallel, software would know which one was triggered because it knows which way it is moving.

There’s probably a spot on an idler where we could add a second Y limit

(only asking because I have a bag of a couple of hundred switches in my parts store :slight_smile: )

1 Like

I’m also contemplating building one, but I’m wondering:

  • Is it suitable for very large jobs, or does it loose accuracy on longer jobs, how reliable is the sensors basically is my question? planning on cutting up full sheets (1,25m x 2.25m is the standard where I live) into different shapes, but with a sheet so big with very long cuts, will it misaligned in the end? wondering if anyone tried it…
    -kind of similar question, If I need to do those jobs, in multiple passes for different thicknesses, will things line up correclty?

Totally! A 3D printed rotary hall effects sensor seems pretty cool.

That’s tricky. Are you saying a clear grid pattern on your work surface? Theoretically that could work work, but that would be pretty hard to implement. Also, it is a bit weird (or more specifically, slow) to switch between normal sensing mode and the camera mode (which would probably be the way to utilize a grid pattern). The firmware needs to be reset each time, which takes around 250ms. There might be some sneaky way to get around this, though, or some other alternative approach. I’m not sure. I think there are some more feasible ways to add absolute positioning with additional sensors.

Oh cool! I’ve been meaning to mess around with those. I’m curious to see the performance difference. Have you looked at the datasheets to see if there are any notable differences?

In it’s current state, the error is around 0.1% per unit distance traveled. That may or may not be adequate for your use case. There would likely be some noticeable drift cutting on a full sheet of 1.25x2.25m. It’s the same thing for very large multiple pass operations.

That being said, that error was calculated with a pretty rudimentary sensor fusion algorithm (basically just averaging), so there should be some room to improve that on the software side. You can also use a physical homing bracket to zero off of from the start and act as a reference that can be returned to throughout a design. This can help make multiple pass operations, tool changes, or longer operations more doable. Hope that answers your questions!

I’m more thinking as a way to use the same mouse sensors for some other motion sensing, say watching the rotary motion of a disc connected to a spindle full of string or something. Basically just something that would make the sensors follow the position so accurately that it was effectively drift-less. Some kind of high contrast grid that is consistent enough to have several lines in view of the sensor or something like that. Could be laser printed and then glued into a 3D printed part or something like that.

My random ‘top of mind’ thought was using something like string or GT2 belt around a 3D printed pulley and being kept under tension/spooled up by a little DC gearmotor or something like that, but could just as easily be a clockspring I guess. The motion could be measured using a mouse sensor looking at a pulley, or the hall effects + magnets etc. but it’d come down to resolution. My thought was hall effect but magnet spacing gets awkward and limits resolution so it could be a line follower type photo sensor and printed grid, then my thought was ‘that’s damn close to another mouse sensor…’

I’ve been fascinated by the Compass since I got a video in my YouTube feed. Have been looking at Shaper Origin for awhile but not been willing to spend the money on it so far.

I was also thinking how you’d do edge mapping. Could it be simplified by adding a feature so you simply follow the edge as a trim router would? i.e. use a spring-loaded endstop with a bearing to follow the edge of the workpiece, if that makes sense, and reading out the positioning from the sensors. This way, reading out the camera feed wouldn’t be necessary

Very cool project, Cam!

1 Like

Wouldn’t a standard encoder with a spring-loaded wheel and a string attached be sufficient—similar to the cable retraction mechanism found in household vacuums? This could be a cost-effective solution. All it would require is an encoder and a small microcontroller in the endpoint towers. You could utilize inexpensive USB-C magnetic connectors (these aftermarket parts for smartphones) to link the string to a hub on the machine, allowing the cable to also function as both a power and data line.

Perhaps we should start a new thread focused on the absolute coordination aspect. I believe it could be an exciting project to implement sensor fusion using various sensors on the machine. If you share the PCB files, I could help with the PCB design if you’re interested.

Btw, thank you for choosing not to use a Discord server for discussions about this project! I appreciate it.

Just wanted to pop in to say I’m very excited about the ability to just pop down this machine into the middle a large piece anywhere, mabye with a hot glued corner bracket somewhere, and be able to route a small design like a name or inlay. I’m always surprised about the depth of knowledge on this forum; but I wanted Cam to hear from a tech pleb that what he has currently is really cool.

4 Likes

Ahh ok yeah I see. I guess yeah you could theoretically combine it with a high contrast grid to get some sort of absolute positioning, but taking cost and implementation effort into account it’s hard to say if it’d be worth it. Using hall effect sensors to ready pulley position seems a lot simpler, to me at least hahah.

Yeah, all depends I guess. I’m less worried about absolute positioning as I was about minimizing drift over distance.

I think the issue with the hall sensors would be low resolution. Likely something like 5mm per count unless you started doing something a bit exotic like using the AC value of the field strength etc.

I guess fundamentally it only needs to be there to discipline the mouse sensors against any kind of drift but that’s likely to be much easier if that’s happening more often. Eventually you just end up with that being the positioning system and there being no advantage, I guess, so there’s that.

Yeah, I wonder if I’m maybe getting a bit carried away trying to think of how to make this thing perform like a larger machine. There’s definitely an argument to be made for ignoring an external feedback and just focusing on making it do the mouse-guided side as well as possible. If that means it’s no good for making multiple repeated cuts to fully route out design on a full sheet then so be it, there are other tools for that!

I guess there’s also the approach that you can easily do stuff like a single route at partial depth, trim with a jigsaw, blend any inaccuracy caused by drift at the end of the cut by hand and then use a flush trim bit to bring it all into line…

2 Likes

Hmmm potentially… not sure exactly how that would be implemented, though.

That sounds like a great idea. Seems like there’s a lot of interest in adding that functionality. And yup, just added the PCB files.

Thank you :pray: :blush:

Yeah I mean I’m in the same boat.

Yeahh that’s sort of how I imagine it. It seems like there are a few factors to think about that would determine how crazy precise each sensor (mouse vs. absolute aid) should be to make the most sense in terms of cost and effectiveness.

I mean I’d love to be able to route out full sheets with acceptable tolerance at some point too! That’s the end goal. I’m imagining it’s just going to be a continual process to work towards that. Starting with the most addressable improvements that effect the majority of use cases, and then working in more stretch cases as the community sees fit. For the short term, I’ve got a few things I want to try with the optical flow sensors that should hopefully decrease drift quite a bit. Also something to say about working with as much of the existing hardware as possible for the time being.

2 Likes

Lock the motors and put a flush trim bit in the router?