Arduino Forum

Topics => Science and Measurement => Topic started by: sigurdild on Oct 13, 2019, 10:27 pm

Title: Linear encoder reading in micrometers
Post by: sigurdild on Oct 13, 2019, 10:27 pm
Hello

I am working on a one axis traverse system, where a precise readout of the relative position is important.

I was planning to use an encoder like this:

https://www.rls.si/en/rlb-linear-component-magnetic-encoder-system

I would prefer the 13 bit version but as i understand it the arduino can only handle 10bit.

I would also like the microcontroller to run a stepper motor and brake.

Should I use a ESP32 for this task instead with the 12bit encoder?

Also any suggestions to a stepper driver allowing microstepping is appreciated.

Thanks in advance!
Title: Re: Linear encoder reading in micrometers
Post by: wvmarle on Oct 14, 2019, 04:15 am
You may also consider using an external ADC such as the 16-bit ADS1115.
Title: Re: Linear encoder reading in micrometers
Post by: jremington on Oct 14, 2019, 04:37 am
Quote
as i understand it the arduino can only handle 10bit.
Your understanding is not correct. You are probably thinking of the Arduino analog inputs.

The encoder is digital, with a standard A/B/Z output, and as such, any of those encoders is compatible with Arduino. However, the electrical interface is TTL and may require level shifting (https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019MNOSA2) (e.g. a 1K pullup resistor) for the Arduino CMOS inputs. 
Quote
any suggestions to a stepper driver allowing microstepping is appreciated.
Buy one compatible with the current rating of the stepping motor you have in mind. Pololu has a good selection.
Title: Re: Linear encoder reading in micrometers
Post by: sigurdild on Oct 15, 2019, 08:20 am
Thank you both very much!