How to use the analog hall effect of the bosch seat motor without dio kit

We are trying to use the Bosch seat motor and its hall effect sensor and according to AndyMark you can use the sensor in order to know the precise positioning of the motor. But trying to code it with WPILib we run in to a major problem, we have tried every single analog class in the wpilib but none of them give you to different values in order to measure the motor position. We have looked in to previous posts regarding the usage of the hall effect sensor in it but all of them regarded the use of the DIO kit that at this moment we cant get access to.

If any one knows how to use its analog hall effect sensor we would really appreciate it.
thank you very much team 4416 - Skynet

Here’s a post about making a circuit to replace the DIO kit.

@yotam201410 the sensor is not intended for analog use, as far as I can tell. The post that @Peyton_Yeung links has info on my work with these motors.
Key takeaways:
If you reverse the connections, you will fry the sensor!
The circuit is easy to make
The standard AM circuit doesn’t actually work.

The sensor modulates the current through it in response to magnet motion. I does NOT give directional information.

If you wanted to look at it in an analog fashion you could wire the V+ side to power and put a series resistor from V- to ground. You could then use an AI on the junction. This won’t be able to swing enough to run a DIO, but it should be measurable on the analog side. Processing may be tricky…

Yeah, that’s not an analog output. Unsure of the voltage, but it is two pulse trains, which are normally intended to be counted. A pulse train is a series of voltage pulses thst look like a digital signal of ones and zeros.

Look for a digital input class to count the pulses.

Two pulse trains? Yes. By noting which pulse comes first you can tell the rotation direction.

@DonRotolo, apologies if this feels a bit pedantic… My students also thought the Bosch seat motor was a quadrature encoder, but its not. There’s only one pulse train on one output pin. You have to know which way the motor is turning to figure out its position. Not hard, but it requires some code to choose count up vs count down when you drive the motor forward or reverse. It would be WAAAAAY better if it was a quadrature encoder! Between that and frying multiple sensors this thing gave us so much trouble! Thus, my quest to understand what’s actually going on!

The dark ring just above the Copper commutator is the magnet:
image
Sorry about the low res on these pictures; I took them years ago…
I have partially pulled out the motor so you can see the small black square on the side of the pocket; that’s the Hall sensor. I never managed to get a data sheet from Allegro :frowning:
image

You can look at this sensor as an analog signal; it just won’t work very well and will require quite a bit of programming overhead to convert it into pulses/counts. It really wants to be a digital signal! The one advantage of that method is you only need one series resistor to make it work.

People actually want to use the Bosch seat motors? I thought they were just manufactured e-waste used for a tax deduction. Or is that the throttle motors? Never can remember which is actually the useful one

2 Likes

The Bosch is a nice worm drive motor!

Ok, good info. The automotive window motors I deal with at work or quadrature and, stupid me, just made the assumption.

Nonetheless, it’s a digital signal.

You could use two of these bad boys 90 degrees out of phase to get a quadrature signal. :wink: And legally put them on the same controller. :exclamation: And get a quadrature transition every 625ms at free speed. :man_shrugging: