Hello,
So I'm trying to design a circuit that would be simple at the core, but I have a few contains so I'm really trying to maximize the efficiency. The basic design will consist of two wires in, two wires out in a daisy chain fashion. Essentially an "ON" signal (or high) will be sent from one end, the first IC will see the constant power source and know it is the first unit, it will then register it's own address and send a negative pulse down the line (lo or "OFF"). IC two will get an on indication, call it for say a 3ms count, and then see the single negative 1 count, and then a steady on again, say 3ms again (I'd go 6 to differentiate, but let's keep it tight so the cycle doesn't take forever). IC #2 sends OUT (+) 3ms, (-) 0.5ms, (+) 0.5ms, (-) 0.5ms, and then constant (+). This then ripples down both directions of the line, IC #1 gets the pulse from IC #2 so it knows it's not the last unit, and IC #3 gets the two pulse and carries on the cycle. The last IC doesn't get a return pulse and thus knows and keeps a constant on to illuminate an LED set to pulse at a predetermined interval when the circuit is on.
So a basic talk and check circuit that flashes a light. (Stop right here for a second, there's probably lots of ways to do this and this might seem overkill or complex, although I can't go into specific details, I am confident this part of the project requires this much complexity, although I am known for over engineering so if you have a better simpler solution please don't be shy).
So if we look at the circuit, say clamp a scope on the two wires between unit two and three and say there are four units:
(Imagine each symbol is a half millisecond time give the above template, spaces only to ease reading)
++ ++ ++ -+ -+ ++ ++ ++ | ++ ++ ++ -+ -+ -+ ++ ++ ++ | ++ ++ ++ -+ -+ -+ -+ ++ ++ ++ | ++ ++ ++ ++ ++ ++ ++ ........ infinite.
{IC #3 doesn't see the power on or IC #1 so that's why all we see on the scope is what #2 transmits and everything else down the line that returns on the open bus}
{another thing to mention here is that the ICs should have some memory, but I don't imagine this data link process will take more than a few seconds, and can be adjusted to tighter intervals to limit that with practical testing. So as long as power is up the ICs should store their address in volatile memory, if the last IC drops out there should be a reset, everything put to rest, the addresses cleared and say a reset counter... that can get complicated so we'll take that for now. If an IC is added, removed anything, the process will automatically continue, a new IC would see power, get the data link count and add itself on, one being removed will cut the data link and reset}
So yes some redundancy on there maybe some polish which I'm grateful for advice, however primarily looking for the main guts at this point.
Adding complexity and constraints:
Okay, so the two biggest constraints are
1) only two wires, I'd love to use one but that adds an avenue I don't want to go down with completing the circuit so it's two wires for now.
2) size, space, component quantity... is all extremely limited (same old dance right?). Okay but I'm talking an ideal space of literally as small as possible. Like if I could have a single IC with only room for say 6 smd pins that would be ideal. Pinky to thumb size, okay manageable, worst case scenario... well theatrically it could be as large as 50mmx100mmx50mm, so I could run mechanical relays and the whole nine but the purpose is to get this as small as reasonably practicable and cost effective in simplicity.
The complexity is as follows:
1) must be symmetrical and 'polar'. Alright so the "chip" must be able to be connected "Unisex" but the chip must decipher it's orientation (left side in right out or vice versa, A in B out what ever it is, turn it around and it is opposite right in left out or B in A out).
2) ideally the primary input source would be an analogue out (into this circuit), it will be high (max output) for normal operation. Again ideally, this analogue will be controlled and the ICs will also register this and control an additional output. I'm thinking a servo motor, a simple position that correlates to the voltage of the analogue control, if the analogue control is zero the servo motor would be at "Max" position. When analogue is max the servo would be automatically zero, let's call these home and rest. Analogue max = Servo Home, Analogue zero = Servo Rest. Each IC is to have its own servo (potentially 2 or 4 but mostly just one -hopefully- unless I have to use two).
Each IC will also have a storage capacitor to aid in servo control, led flash, and just smooth power interruptions etc but that's fine tune fluff; obviously various capacitors, transistors, and resistors will be required but as few and small as possible. It goes without saying that if the ICs are disconnected then all the servo motors go rest to shut down the production (micro servos, low power draw, low load/torque required). (It is at this point that I'm realizing the ICs will probably have to continue pulsing the "4" (-+ -+ -+ -+ ) so that the data link is in check, scratch that... the last IC will continually have to pulse the code and all the ICs upto 1 will read the integrity).
If we've gotten this far in wish list then that is fantastic, I'm thinking the whole servo thing is going to be a challenge to say the least.
Practically speaking, let's say the Analogue puts out +12vdc, perhaps we monitor +12vdc through +6 or +7vdc to allow voltage to run the ICs and the led with some drop. So Analogue is controlled between +6-12vdc where 6vdc and less = 0vdc (for the purposes of the servo motor position). One last thought on the servo motor, to save from "individually" calibrating each motor, the motor could auto calibrate. It could either have a home stop and a load/torque monitor and measure the range between and use that, or just a home position or again home torque and rest torque so the IC can see if the servo is being strained it will hold that as it's min/max position and be self adjusting if conditions change or parts wear out.
Designer notes:
• I see two practical functions of a "storage" capacitor.
1) energy bank to be collectively pooled together and used as required
2) isolated to the use of one IC
• Most likely the servos would be spring returned to rest, and powered to home
• Polarity will be constant as far as +/- so if a wire is + it will always be + but L/R polarity can change
• The led takes place of an IC. (if there are four ICs, then the led would plug in as if it were IC #5. Please not it literally is just an LED, perhaps an LED and a resistor, because otherwise each circuit would be slowly resisted/impeded down to nothing; but ideally I would not have to put the resistor with the led... not the end of the world I guess and probably doesn't make sense, but again that's a design consideration for the big picture. Although the ICs would have two outputs one for data to communicate and one for last IC to flash so yes that should work to incorporate the resistor for the flasher).
• Anywhere from one to say one hundred (100) ICs might be linked. I doubt it'll be used for more than 50 but it's important to note that ideally this circuit should be of reliable construction to operate in this manor with even 200 or 500 of these units connected with all the same cookie cutter requirements/constraints.'
• I'm hoping the current can be minimal, as with the design constraints, I am looking at using 30awg wire, possibly an armature wire for the two input and two output daisy feeders.
• Well I believe that is all. Like I say I did design a crude 'relay' based circuit to handle the "connection polarity" and that would power one relay and isolate the other and power the IC and that's where this magic comes in. But if using an IC the two relays can be simply replaced so it's not even beneficial adding a schematic/drawing.
Thank you very much for any assistance, and your time in reading this and conjuring some ideas.
So I'm trying to design a circuit that would be simple at the core, but I have a few contains so I'm really trying to maximize the efficiency. The basic design will consist of two wires in, two wires out in a daisy chain fashion. Essentially an "ON" signal (or high) will be sent from one end, the first IC will see the constant power source and know it is the first unit, it will then register it's own address and send a negative pulse down the line (lo or "OFF"). IC two will get an on indication, call it for say a 3ms count, and then see the single negative 1 count, and then a steady on again, say 3ms again (I'd go 6 to differentiate, but let's keep it tight so the cycle doesn't take forever). IC #2 sends OUT (+) 3ms, (-) 0.5ms, (+) 0.5ms, (-) 0.5ms, and then constant (+). This then ripples down both directions of the line, IC #1 gets the pulse from IC #2 so it knows it's not the last unit, and IC #3 gets the two pulse and carries on the cycle. The last IC doesn't get a return pulse and thus knows and keeps a constant on to illuminate an LED set to pulse at a predetermined interval when the circuit is on.
So a basic talk and check circuit that flashes a light. (Stop right here for a second, there's probably lots of ways to do this and this might seem overkill or complex, although I can't go into specific details, I am confident this part of the project requires this much complexity, although I am known for over engineering so if you have a better simpler solution please don't be shy).
So if we look at the circuit, say clamp a scope on the two wires between unit two and three and say there are four units:
(Imagine each symbol is a half millisecond time give the above template, spaces only to ease reading)
++ ++ ++ -+ -+ ++ ++ ++ | ++ ++ ++ -+ -+ -+ ++ ++ ++ | ++ ++ ++ -+ -+ -+ -+ ++ ++ ++ | ++ ++ ++ ++ ++ ++ ++ ........ infinite.
{IC #3 doesn't see the power on or IC #1 so that's why all we see on the scope is what #2 transmits and everything else down the line that returns on the open bus}
{another thing to mention here is that the ICs should have some memory, but I don't imagine this data link process will take more than a few seconds, and can be adjusted to tighter intervals to limit that with practical testing. So as long as power is up the ICs should store their address in volatile memory, if the last IC drops out there should be a reset, everything put to rest, the addresses cleared and say a reset counter... that can get complicated so we'll take that for now. If an IC is added, removed anything, the process will automatically continue, a new IC would see power, get the data link count and add itself on, one being removed will cut the data link and reset}
So yes some redundancy on there maybe some polish which I'm grateful for advice, however primarily looking for the main guts at this point.
Adding complexity and constraints:
Okay, so the two biggest constraints are
1) only two wires, I'd love to use one but that adds an avenue I don't want to go down with completing the circuit so it's two wires for now.
2) size, space, component quantity... is all extremely limited (same old dance right?). Okay but I'm talking an ideal space of literally as small as possible. Like if I could have a single IC with only room for say 6 smd pins that would be ideal. Pinky to thumb size, okay manageable, worst case scenario... well theatrically it could be as large as 50mmx100mmx50mm, so I could run mechanical relays and the whole nine but the purpose is to get this as small as reasonably practicable and cost effective in simplicity.
The complexity is as follows:
1) must be symmetrical and 'polar'. Alright so the "chip" must be able to be connected "Unisex" but the chip must decipher it's orientation (left side in right out or vice versa, A in B out what ever it is, turn it around and it is opposite right in left out or B in A out).
2) ideally the primary input source would be an analogue out (into this circuit), it will be high (max output) for normal operation. Again ideally, this analogue will be controlled and the ICs will also register this and control an additional output. I'm thinking a servo motor, a simple position that correlates to the voltage of the analogue control, if the analogue control is zero the servo motor would be at "Max" position. When analogue is max the servo would be automatically zero, let's call these home and rest. Analogue max = Servo Home, Analogue zero = Servo Rest. Each IC is to have its own servo (potentially 2 or 4 but mostly just one -hopefully- unless I have to use two).
Each IC will also have a storage capacitor to aid in servo control, led flash, and just smooth power interruptions etc but that's fine tune fluff; obviously various capacitors, transistors, and resistors will be required but as few and small as possible. It goes without saying that if the ICs are disconnected then all the servo motors go rest to shut down the production (micro servos, low power draw, low load/torque required). (It is at this point that I'm realizing the ICs will probably have to continue pulsing the "4" (-+ -+ -+ -+ ) so that the data link is in check, scratch that... the last IC will continually have to pulse the code and all the ICs upto 1 will read the integrity).
If we've gotten this far in wish list then that is fantastic, I'm thinking the whole servo thing is going to be a challenge to say the least.
Practically speaking, let's say the Analogue puts out +12vdc, perhaps we monitor +12vdc through +6 or +7vdc to allow voltage to run the ICs and the led with some drop. So Analogue is controlled between +6-12vdc where 6vdc and less = 0vdc (for the purposes of the servo motor position). One last thought on the servo motor, to save from "individually" calibrating each motor, the motor could auto calibrate. It could either have a home stop and a load/torque monitor and measure the range between and use that, or just a home position or again home torque and rest torque so the IC can see if the servo is being strained it will hold that as it's min/max position and be self adjusting if conditions change or parts wear out.
Designer notes:
• I see two practical functions of a "storage" capacitor.
1) energy bank to be collectively pooled together and used as required
2) isolated to the use of one IC
• Most likely the servos would be spring returned to rest, and powered to home
• Polarity will be constant as far as +/- so if a wire is + it will always be + but L/R polarity can change
• The led takes place of an IC. (if there are four ICs, then the led would plug in as if it were IC #5. Please not it literally is just an LED, perhaps an LED and a resistor, because otherwise each circuit would be slowly resisted/impeded down to nothing; but ideally I would not have to put the resistor with the led... not the end of the world I guess and probably doesn't make sense, but again that's a design consideration for the big picture. Although the ICs would have two outputs one for data to communicate and one for last IC to flash so yes that should work to incorporate the resistor for the flasher).
• Anywhere from one to say one hundred (100) ICs might be linked. I doubt it'll be used for more than 50 but it's important to note that ideally this circuit should be of reliable construction to operate in this manor with even 200 or 500 of these units connected with all the same cookie cutter requirements/constraints.'
• I'm hoping the current can be minimal, as with the design constraints, I am looking at using 30awg wire, possibly an armature wire for the two input and two output daisy feeders.
• Well I believe that is all. Like I say I did design a crude 'relay' based circuit to handle the "connection polarity" and that would power one relay and isolate the other and power the IC and that's where this magic comes in. But if using an IC the two relays can be simply replaced so it's not even beneficial adding a schematic/drawing.
Thank you very much for any assistance, and your time in reading this and conjuring some ideas.