Hello community,
I am interested in an arduino project including a draw wiring incremental encoder. But I have a problem in choosing the appropriate one and I need some help, those devices are a bit expensive for an arduino project to waste the money. Following my search, I will write down what I have found so far, in case it might help others as well.
Draw wiring encoder:
It is a sensor based on an encoder which is connected to a wire one can draw. When the wire is pulled by the user, the encoder rotates and there can be a very accurate counting of the distance of the wire. There are two types of encoders, the absolute and the incremental one, based on the output signal. The absolute provides the exact position, while the incremental adds up steps (when the string is pulled) or subtracts steps (when the string is released). I am interested in the incremental one.
Here are some links for better understanding:
- What’s the Difference Between Absolute and Incremental Encoders?
- How Rotary Encoder Works and How To Use It with Arduino
- Using Rotary Encoders with Arduino
There are also different types of incremental draw wire encoders based on the output driver. So far I came across to the following types:
NPN output collector
PNP output collector
Push Pull (HTL)
RS422 (TTL)
Voltage output
Line driver output
which I am not familiar with (and I have the impression that some of them are the same... ).
As said above, serious draw wire encoders cost quite some money, they are really accurate and sensitive (to my understanding). And I am not willing to pay upfront unless I am sure it works. Having done my search, I found some lets say 'low cost' that I could use in my project. Unfortunately, the description is not very accurate and confusing. Here is a link of one:
https://www.aliexpress.com/item/32999507320.html
As one can see, both in the technical data and the selection guide, the aforementioned types (even more actually) can be selected.
According to this
NPN and PNP are old types and have been replace by HTL and TTL. To my understanding
HTL should be provided by 8 - 30 VDC which is not suitable for arduino (I also am not sure what the output voltage will be)
TTL can be provided by either 4,75 - 5,5 VDC which is suitable for arduino or 8 - 30 VDC which is not suitable for an arduino. TTL would also provide the same input voltage as output, so if connected to arduino, 5 VDC would be provided to the draw wire encoder and 5 VDC would be its output.
And then come NPN and PNP Output collectors for which I believe whatever the input is, the output will be - the difference is on the High vs Low signal.
In this youtube video, someone is using an NPN encoder (check the technical data at 1:15 ) with the arduino:
I wasn't able to find any video with an draw wiring incremental encoder + arduino .
Here Which are the incremental electronic interfaces? one can find a bit more information on the different output of the encoders.
At the point I am between an NPN and the TTL based on the assumption than both can work with the arduino 5 VDC. The 5VDC arduino input will also be the output driver's voltage towards the arduino. It seems that TTL is better, there is less interference but this looks like it will not be my problem - my project has the draw wire encoder very close to the arduino, the connecting cable will not be long. However I am not sure about the amps, will there be any problem for the arduino? The technical data says that current consumption will be <= 60mA , is this ok with an arduino?
To kind of summarise the questions:
- which type of output driver should I select?
- what problems may arise due to the amps?
Any views will be helpful, thank you in advance
Nikos
