Multiplexer as a Position Sensor: How?

Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
4 replies · 2K views
Allan C.
Messages
3
Reaction score
2
Purpose:
Create a position sensor using LEDs.
Goal:
Increase or decrease a pulse width in response to direction of movement.

Chips Involved:
1) Clock.
2) 2x DM74150 (16×1 Multiplexers.)
3) 2x SN74193 (4-bit Binary Counters.)
4) 1x SN74LS112 (Negative Edge Master Slave JK Flip-Flop.)
5) 1x SN74LS122 (Retriggerable Monostable Multivibrator)
6) 2× 7404 (Hex Inverter {Technically, I only need one chip.})
7) 1× 7408 (4 × 2 input AND gates)

In order to sum up what I’ve already concluded… I’m looking for an incremental encoder.
I just need help figuring out the flow of data. What is happening first, second, third, etc.

I hope that helps explain what I need help with. Again, I would be most grateful for anybody’s help.

I have done enough preliminary research to have a basic idea of how things are supposed to work. However, I’m trying to understand the underlying principle of operation (stated above)

Thank you
 
Engineering news on Phys.org
Allan C. said:
Purpose:
Create a position sensor using LEDs.
Goal:
Increase or decrease a pulse width in response to direction of movement.

Chips Involved:
1) Clock.
2) 2x DM74150 (16×1 Multiplexers.)
3) 2x SN74193 (4-bit Binary Counters.)
4) 1x SN74LS112 (Negative Edge Master Slave JK Flip-Flop.)
5) 1x SN74LS122 (Retriggerable Monostable Multivibrator)
6) 2× 7404 (Hex Inverter {Technically, I only need one chip.})
7) 1× 7408 (4 × 2 input AND gates)

In order to sum up what I’ve already concluded… I’m looking for an incremental encoder.
I just need help figuring out the flow of data. What is happening first, second, third, etc.

I hope that helps explain what I need help with. Again, I would be most grateful for anybody’s help.

I have done enough preliminary research to have a basic idea of how things are supposed to work. However, I’m trying to understand the underlying principle of operation (stated above)

Thank you

Welcome to the PF, and thanks for your PM reply that this is not for schoolwork. I'll leave it in the EE forum for now. :smile:

Can you say a bit more about the project? Do you have a sketch that you can share? When you say you want to sense position with LEDs, does that mean you turn them on one at a time and have light sensors that look for blocked paths from LEDs to sensors?
 
Yes, Thank You.

I wasn't really sure where this needed to be posted.
Here are a few photos to give an idea of what is to happen.

POSITION_SENSOR.jpg

Digital_Board.jpg


The LEDs will constantly be transmitting. They look for a blocked path.
When it moves to the right it will produce a square wave from 0% - 100% duty cycle.
When it moves to the left it will go from 100% - 0% duty cycle.

I am understanding that there are two channels.
Based on which channel lead/lags the other... the multiplexers have out puts at their (A, B, C, & D) outputs. (Note: This is probably an incorrect assumption.)

My main question is that...
What Feeds What?

1) Does the up counter (74193) feed the multiplexer (74150) as a switch? Therefore, selecting that LED.
2) Does the position of the blocked LED translate into a binary code? Therefore, selecting the condition of the multiplexer as a whole.

Asked another way:
1) Does the (74193) feed the binary selection to the multiplexer for the positions?
2) Or does the (74150) feed the counter with it's corresponding binary number?

The process as I understand it:
1) Clock Feeds Counter.
2) Counter counts up and outputs a binary number.
3) The binary number is fed to the (74150). Therefore, selecting the LED position.
4) Multiplexer outputs it's data.
5) Data enters the (74LS122)... and I'm not really sure what happens here.
6) Some signal runs back to the counter, multiplexer, and a JK Flip Flop (74LS112).
7) I believe this triggers the condition of looking at either multiplexer and determining which LED was blocked before.
8) Once it determines what way the blocked LED is traveling... it "okays" the data and says to increase/decrease your pulse width.

The following is a block diagram of the circuit. The pinouts may not be in the correct places on the block diagram.
Block_Diagram.jpg


I am having a little bit of trouble following the process and would like to verify that I am thinking about this in the correct fashion.

Thank you again.
 
  • Like
Likes   Reactions: Greg Bernhardt
Solved.
Thanks.
 
  • Like
Likes   Reactions: berkeman
That's great news! The problem you presented in your post was pretty imposing. Glad you worked your way through it. :smile:
 
  • Like
Likes   Reactions: dlgoff