Component recommendations: Rotate a servo using signal from a linear encoder
-
Greetings all. I'm looking for some help on what components to start with for a small project. Details below:
( I've played around with Raspberry Pi, and am a proficient Python coder but a beginner a beginner on the M5Stack system. )
-
I read a signal from a vernier calliper in real time using a setup like this:
https://www.instructables.com/Caliper-Data-Interface/
This signal represents a real time measurement of linear displacement of a machine component. -
The signal feed from the calliper is passed to a Python function (currently on a Raspberry Pi) to work out the displacement
Din mm. -
A function
fis and applied toDto return an angleR;R = f(D). This happens in the Python code (currently on a Raspberry Pi). -
Finally a small 9g micro-servo (~3V) (in fact, a prism mounted on the servo) is rotated by the angle
R.
The setup works on a Pi but is a mess of wires and breadboards. I'd like to use M5Stack to make a portable and field-usable device.
Some requirements:
- System should have a screen and button interface to select different functions
fand various modes (calibration, operation etc). Once of the cores, but not sure which one. Happy to go with the most powerful one. - System should have a battery module with enough to power the servo. System should be rechargable, and once charged, should not require external power in operation. Which battery module?
- Do I need any other components to read the encoder signal or generate the servo signal?
- What kind of wiring? Encoder has a 4 wire ribbon, and servo has a 3 wire ribbon.
Would appreciate your help to get me started.
Many thanks,
Zed Bee
-
-
For a Start M5Stack uses Micropython and so you already know how to program it
What kind of Linear encoder are you thinking of
-
@ajb2k3 said in Component recommendations: Rotate a servo using signal from a linear encoder:
For a Start M5Stack uses Micropython and so you already know how to program it
What kind of Linear encoder are you thinking of
Many thanks @ajb2k3.
Linear encoder: it'll be a set of digital vernier calipers with a 4-pin data output - very similar this post by Martin Thalheimer: https://shorturl.at/anNRU
Level shifting: Same as in Martin's post, my encoder outputs a 1.5V signal, while microcontrollers typically require a higher voltage input 5V(?). Ideally, I'd like an M5Stack component to handle the level shifting, rather than making another circuit board dangling between the devices .
Updated question
- Have a linear encoder with a 1.5v signal output similar to https://shorturl.at/anNRU
- Have a 5v micro servo
- Need to read the displacement
don the encoder, and rotate the servo by an anglea = f(d) - Need help selecting the correct M5Stack components that:
-- includes a microcontroller, screen & buttons interface, and rechargeable battery (one of the cores. Which one?)
-- reads the 1.5v signal from the encoder and handles the level shifting internally (or doesn't need level shifting?)
-- runs a Python script that applies the transformationa = f(d)(the core)
-- rotates servo by anglea(servo controller).