Hi all!
My name is Mike and this is my first post on All About Circuits! I am working on trying to bring an old industrial robot back to life and have come across a need to design a circuit. I am very hopeful that I can engage with everyone here to help me along the way.
In my day job I am an industrial controls engineer, designing large control systems using commercial products. I studied Mechanical and Electrical Engineering in college with a focus in control systems and manufacturing. Besides tinkering with electronics, my hobbies are machining, rock climbing, and kayaking. I am definitely out of my comfort zone on this one. I have designed maybe a dozen simple circuit boards, but never a discrete digital logic circuit. My college path mainly covered control theory and I never took a digital logic course. Anything I know has been self taught, so please forgive any glaring errors in my efforts into this so far.
Here is a link to the project log on the robot: https://www.hobby-machinist.com/threads/mikes-scara-robot.84001
Problem Description:
The motors in my robot use shaft angle measuring encoders that have many signals multiplexed into a digital channel. This was a proprietary design of the company that built them. I wish to use them with servo drives that I have access to, however I first need to decode the multiplexed signal to get back the original signals that created it. I have decoded the signal in its entirety, but now I need to design a circuit to do that in real time.
Here is an example of that signal. The A and B channels are traditional quadrature incremental encoder signals. The green trace (channel D) is the multiplexed signal which needs to be decoded into 4 outputs. Ignore the black trace, it was a signal internal to the encoder PCB.

This circuit needs to evaluate states and generate outputs at a frequency ranging from 0-683kHz. For this reason I ruled out micro-controllers with interrupts. This would probably be very easy to do with an FPGA, but I have no experience with them and the cost would make this circuit less attainable. Finally I came to designing a discrete digital circuit using sequential logic.
In my head the circuit would do two things. Identify the pattern present on the green trace (the "Pattern Detector") and produce four outputs based on the pattern detected (the "Output Generator").
To keep this post simple, I have kept most of the details omitted. I have attached a circuit specification (it is still a work in progress) and an appendix that shows the digital states of the circuit I want to design.
What I am looking for:
1) Is this a reasonable thing to try to design? Am I crazy in trying to attempt this?
2) Where would someone start designing a sequential digital circuit? I've watched some videos online about this process and have tried to include that information in the attached specification, however I have to admit I don't really know what I am doing.
3) Once I get some feedback on the first two questions, I have hoping I can find people here to mentor me through the design process. I am serious about completing this and will put in whatever effort is needed to learn this information. If I can design a circuit to do what I need, I will absolutely be building these and putting them to work.
Thanks so much!
My name is Mike and this is my first post on All About Circuits! I am working on trying to bring an old industrial robot back to life and have come across a need to design a circuit. I am very hopeful that I can engage with everyone here to help me along the way.
In my day job I am an industrial controls engineer, designing large control systems using commercial products. I studied Mechanical and Electrical Engineering in college with a focus in control systems and manufacturing. Besides tinkering with electronics, my hobbies are machining, rock climbing, and kayaking. I am definitely out of my comfort zone on this one. I have designed maybe a dozen simple circuit boards, but never a discrete digital logic circuit. My college path mainly covered control theory and I never took a digital logic course. Anything I know has been self taught, so please forgive any glaring errors in my efforts into this so far.
Here is a link to the project log on the robot: https://www.hobby-machinist.com/threads/mikes-scara-robot.84001
Problem Description:
The motors in my robot use shaft angle measuring encoders that have many signals multiplexed into a digital channel. This was a proprietary design of the company that built them. I wish to use them with servo drives that I have access to, however I first need to decode the multiplexed signal to get back the original signals that created it. I have decoded the signal in its entirety, but now I need to design a circuit to do that in real time.
Here is an example of that signal. The A and B channels are traditional quadrature incremental encoder signals. The green trace (channel D) is the multiplexed signal which needs to be decoded into 4 outputs. Ignore the black trace, it was a signal internal to the encoder PCB.

This circuit needs to evaluate states and generate outputs at a frequency ranging from 0-683kHz. For this reason I ruled out micro-controllers with interrupts. This would probably be very easy to do with an FPGA, but I have no experience with them and the cost would make this circuit less attainable. Finally I came to designing a discrete digital circuit using sequential logic.
In my head the circuit would do two things. Identify the pattern present on the green trace (the "Pattern Detector") and produce four outputs based on the pattern detected (the "Output Generator").
To keep this post simple, I have kept most of the details omitted. I have attached a circuit specification (it is still a work in progress) and an appendix that shows the digital states of the circuit I want to design.
What I am looking for:
1) Is this a reasonable thing to try to design? Am I crazy in trying to attempt this?
2) Where would someone start designing a sequential digital circuit? I've watched some videos online about this process and have tried to include that information in the attached specification, however I have to admit I don't really know what I am doing.
3) Once I get some feedback on the first two questions, I have hoping I can find people here to mentor me through the design process. I am serious about completing this and will put in whatever effort is needed to learn this information. If I can design a circuit to do what I need, I will absolutely be building these and putting them to work.
Thanks so much!
Attachments
-
4.1 MB Views: 6
-
29.3 KB Views: 6