Hot answers tagged

42

Imagine the encoder is a 12-bit encoder sitting right at the mid-scale transition between 0x7FF and 0x800. If the inner workings of the encoder consist of something like a code wheel with 12 independent photodiodes, all 12 bits would have to change at once, for a negligible movement. Since there are mechanical tolerances, some of the bits would change before ...


32

It's hard to know exactly how your specific unit works, but in general there is a timing sensor that is used to read back the mirror's position, as in the diagram below. It doesn't continuously read every position but only once per face change. The measured error is used to compensate the firing of the laser circuit. There are more detailed patents on the ...


31

The device Spehro Pefhany's answer builds out of two pots is actually available as a single unit, for example the ALPS RDC803101A. If you turn it, you get two sawtooth signals that are 180° out of phase, so when one output is in its “dead zone”, you can use the other one instead to determine the position. This model also has no detents, so no clickyness at ...


20

In Gray code, the transition between two adjacent values only changes a single bit. This is a huge advantage in any sort of mechanical or optical encoder, because it's virtually impossible that you can make two or more bits change state at exactly the same time under all circumstances. This becomes even more important if you're going to sample the data by, ...


16

The best continuous rotation sensor I've used is the AMS series. Something like this might suit your purpose. Of coursed they can't support infinite output values, but associated with an MCU you can set it to mid scale each time you turn your unit on, or remember last settings. There are also plenty of relatively cheap optical encoders that would allow ...


15

I'll give you some advice, but the first thing you need to do is be aware that you're trying something that may well be beyond your abilities. .03 degrees (1/2 milliradian or 2 minutes of arc) requires a great deal of care, and probably access to a good machine shop. In order: 1) You are correct to be leery of microstepping. It simply will not give you the ...


14

I have not seen something like that, does not mean that it does not exist. It does not particularly lend itself to construction with normal pot designs, including modular ganged pots, because the leads usually come out of one side. There are pots without end stops, however they have a dead angle. Expensive long-life ones are called 'servo pots'. You ...


13

Detents are slight "clicks" the encoder will make when you turn it. Think of what it feels like when you scroll your mouse wheel (hopefully mouse wheels you've used have detents :P). They provide some sort of feedback (audible/touch) mechanism for the user to what a discrete step in the encoder is. More information: Wikipedia - Detent


13

By the limited information you give and the (not too great) photo, it seems it is a mechanical encoder, not an optical one. You don't give any information about the equipment it is mounted on, but 15 years of continuous operation may be quite a lot for a mechanical encoder. Probably the contacts have worn out and there is no reliable way to fix them using ...


12

What you're doing is possible, but I don't see how you're going to do it cheaply. .05 degrees (3 minutes of arc) implies a resolution of 7200 counts/rev, or the equivalent of 13 bits (8192). Worse, since you're trying to make a position loop, you'll need at least one extra bit of resolution, or a 14-bit system. The problem lies in the fact that your ...


12

To refer to the original question, in SATA it is used to reduce the EMI emitted by the bus. If you look at the way 8b/10b encoding works, you'll see that it is entirely possible to have the same 10b word encoded throughout the message for certain 8b input values. For example, the input 00100011 always encodes to 1001110001. So a message that consists ...


11

You left out the all-important information about how fast the pulses will be coming in, so I'll just assume the worst cases pulses are still slow enough for properly written firmware to catch. I have found a few tricks to doing quadrature decoding in firmware: Don't try to catch individual changes, poll at regular intervals instead. Assume that the ...


10

Looks like a gray code rotary encoder. There is a nice tutorial here of a two output version. Good to wrap your head around. You've got four outputs, so it's a four bit gray encoder. There are some truth tables of those outputs here and shown below. But, now that you know what you're looking for you'll find a plethora of information. It'll make your head ...


10

Neither. You should use a potential divider: simulate this circuit – Schematic created using CircuitLab edit: Just to add, this will give a 0-4V wave at 24Vin, and a 0-2V wave at 12Vin. This is still fine, because the Atmega32 (supplied at 5V) will see anything above 2V as a "1".


10

You've mentioned that you see the value fluctuating by 1. Let's assume for now that this is due to physical limitations in the measurement. For a binary code, you could get unlucky in some situations. Say you are stopped almost exactly on the transition between values 15 and 16 (in binary, 01111 and 10000). So it is switching between the two values. However,...


9

The simple answer for an encoding like 8b/10b is that it ensures that the encoded data stream has at least a certain amount of data transitions. Without such encoding a long stream of 0's or 1's would tend toward looking like trying to send DC through the channel. The same philosophy applies to Manchester encoding where the net bandwidth to transmit ...


8

Desired result 1st Full enough details to build one of a 160 Mbps at 1 metre free air LED to PIN diode link here Free Space Optical Communication Link Using LEDs ECE 4007 Senior Design Project Section L01, FSO Group Adam Swett Clayton Huff Trang Thai Nguyen Trinh May 1, 2008 Receiver: Transmit circuit BUT see text: Through air optical ...


7

Yes, a rotary encoder can be added to any motor, including a servo that has been modified for continuous rotation, and used for position control. However, this is a bit counter-intuitive, since the servo's internal circuitry already provides position control, using the integrated potentiometer as a rotary sensor. Disconnecting this positioning mechanism, ...


7

The function you are looking for is normally referred to as a Priority Encoder. A priority encoder can cope with more than one signal being active and still give the correct result for the highest number active device. If your system can guarantee that one and one input only will be active you can use a simpler solution as suggested by Dave Tweed in the ...


7

The width of the HSYNC signal was 6 us, out of spec of 2.8 ... 5.3 us for AD725. The mother circuit had the location to source this signal (as video processor outputs 4.7 max, and prolongation of the pulse was introduced down the circuit), and I reused this signal. Now circuit works properly in both NTSC and PAL mode. Small dot crawling and ripple exists, ...


6

You have a very high resolution optical encoder and it's detecting real movements just as it's meant to. What's the problem? Why do you have such a high resolution encoder if you don't want to measure such tiny movements? These two things seem like a contradiction. If you don't want to be able to measure such small movements, I have three suggestions: ...


6

The key is how a quadrature encoding works: two signals are out of phase, so you can detect direction by which signal follows the other one. Combined, they have 4 states they pass through, but they will do so in opposite order for the opposite direction. I.e. 00-01-11-10- for right, 00-10-11-01- for left. As you see, they'll pass both the 01 and 10 states ...


6

I'm not sure of the mechanics of what you describe but if it slides on a specific legth bar you can use an optical sensor that reads either slots on the bar or reflective areas (like a shiny sticker every 2cm) Another idea is the use of a small wheel that has a similar optical sensor and by reading the wheel movement you can calculate the distance.


6

That's not a great algorithm in your handler. You should have ZERO ifs. No decisions. Store your AB state, i.e., 00 or 01, then append your next state, i.e 0001 means AB went from 00 to 01,thus B changed from 0 to 1. Make this a +1. If starting from 00, and you change to 10, then call this a -1. Build a 16 element array of all possible transitions ...


6

A worm gear drive can take care of what you are looking for. By selecting the size of the gears you can control the resolution and by controlling the mesh of the gears the accuracy can be guaranteed. Direct drive the worm for best results and add an encoder that will provide the needed resolution.


6

Harmonic drive is often said it has zero backlash. https://en.wikipedia.org/wiki/Harmonic_drive


6

As long as the rotation speed is consistent on short timescales it is possible to work out the current position from the timing of pulses on the "beam detect". Simplistically the time between pulses would give the the rotation speed and then combining the known rotation speed with the time since the last pulse would give the current position. One thing to ...


6

How do I get the distance multiplier? You measure or calculate how far your device will go for e.g. one full rotation, e.g. in cm. Then you take that length and divide it by the number of pulses per revolution the encoder delivers and you got your distance multiplier in cm/pulse. How do I get initial position? The encoder itself can only tell you the ...


6

I know nothing about these chips but a quick look at the AS5147 datasheet bottom of page 8 shows: Figure 1. AS5147 RMS output noise. Assuming that 14-bits is 360° then 0.082° is \$ \frac {0.082}{360} = 0.000228 \$ or an error of 0.0228%. Note that this is the RMS noise value. You'll have to figure out how that relates to the max and min values. Meanwhile ...


6

What you may find useful is a multi turn potentiometer. Bourns manufactures them in different ranges of resistance. They come in various sizes, small and volume knob size too. They help in precise control of resistance. There are others too, with a dial inside and outside too, from Bourns. I could get a big multi turn potentiometer for my project for ...


Only top voted, non community-wiki answers of a minimum length are eligible