Shop OBEX P1 Docs P2 Docs Learn Events
using identifying constants — Parallax Forums

using identifying constants

computoncomputon Posts: 6
edited 2005-07-20 13:40 in BASIC Stamp
I am working on an application where I have a partial circuit. Any one of 48 different "items" can be used to complete this circuit, and I need to know which one does. I've tried using identifying resistors inside these "items" to complete the circuit, and capacitors to figure out which "item" it was, but it's been way too unreliable.

A friend of mine thinks resistors aren't the way to go, since if the contacts aren't touching just so, it could give a different reading, which may confuse one "item" with another, even with very widely spaced resistances.

Does anyone have any ideas on what I could do? Any help would be appreciated. Thanks.

Comments

  • YanroyYanroy Posts: 96
    edited 2005-07-19 17:56
    Can you have multiple points of contact with the rest of the circuit?· If you can use the item you're inserting as a set of jumpers, you could have 6 of them and encode an ID for the piece in binary by leaving these jumpers open or closed.
  • computoncomputon Posts: 6
    edited 2005-07-19 18:23
    I'm not sure if I'm understanding you right, but wouldn't I then need one pin per jumper, for a total of six pins necessary for this? I didn't go into too much detail before, but I actually have six of these partial circuits per Basic Stamp, plus 9 other circuits. That would multiply it to 36, for a total of 45 pins necessary. Is there any way I can do it with just the one set of contacts? Thanks.
  • Philip GamblinPhilip Gamblin Posts: 202
    edited 2005-07-19 19:02
    A 74C150 is the base part number for a 16 to 1 mux. Three of those and 7 lines from the stamp will let you select 1 of 48 items.
  • YanroyYanroy Posts: 96
    edited 2005-07-19 19:07
    If the number of contacts per item is the problem, then this idea isn't going to help you.· But if the problem is the number of I/O pins on the stamp that it would require, look into using a shift register.· It would allow you to load the ID from the item in parallel and then serially clock the value into the stamp (using only·3 I/O lines on the stamp).· I can't remember the part number of the one that I use all the time... it's something in the 7400 series logic chips (and I imagine there's quite a few different shift registers in that family).· If you think 3 I/O lines per circuit is too much, investigate multiplexing those 3 lines to multiple shift registers.· That way you could have the 3 generic I/O lines plus 3 pins worth of address to a multiplexer to allow you to interface with 8 of your items using only·6 I/O lines!
  • computoncomputon Posts: 6
    edited 2005-07-19 19:58
    I'm not sure how the 74C150 would help me--I don't want to select an item. I want to be able to identify which "item" is on the circuit.

    Yanroy, what you're suggesting is that I have 6 jumpers per "item" input into a shift register, and multiplexing the three output lines to multiple (how many?) shift registers. Is that correct? If I have the BS managing multiple circuits which are all multiplexed together, how do I know which circuit sent in the information? This is also important to my application. Also, I'm not sure if using six contacts per item is feasible.

    Is there any other way of doing what I need?

    If not, and I'm going to need to take an approach similar to that which Yanroy suggests, can anyone recommend a reputable electronics prototyping firm to do the job?
  • Bruce BatesBruce Bates Posts: 3,045
    edited 2005-07-19 20:12
    computon -

    I'm not sure I get the picture of what an "item" really is, but for the sake of my suggestion below, we'll assume it's nothing more than a black box with external contacts on it. Everyone seems to be trying to identify the black box ("item") by its value, based on your lead-in. That may be unnecessarily restricting, only you will know.

    Here my thought which ignores its inherent value. Stick an I-Button or small prom/eeprom inside, and every "item" will have an ID rather than a value. Now when it's inserted in the circuit you "read" a "sense" contact and determine from that what it is. Simple enough to put a reference table in the Stamp program to cross reference from ID to value(s).

    Just a thought outside the box.

    Regards,

    Bruce Bates
  • YanroyYanroy Posts: 96
    edited 2005-07-19 20:33
    In light of what bruce said, let me clarify my assumptions:·I, too, have been assuming you have some kind of black box.· I was suggesting you have 6 (or maybe 7 for a common ground) contacts on the outside that somehow are connected to your circuit.· Some of these will be connected to ground, some of them will be not connected (these connections will be made inside the item and represent your ID number for that item).··It will allow you to have 64 unique items.· These bits can then be loaded into a shift register.· You can either multiplex the 6 lines to a single shift register (which may be a really big and/or a lot of multiplexers) or you can have a shift register for each of the six measurement points in your design and just multiplex the three lines needed to interface with the shift registers (my preference for both complexity and cost).· If you get a 8x1 multiplexer, it will have a 3 bit address.· This address will select which of the items you are measuring.· Since you have to "ask" the shift register for the item's ID and you know what address the multiplexer is being given, you know which of the measurement points you're reading.

    From how you phrased the question about my proposal, I don't think you quite understand what a multiplexer is.· It doens't just combine signals from multiple inputs and pass them to a single output - It's more like an addressable switch.· You tell it which of the inputs to pass through by giving it different addresses.· Of course, this means you'd have to go through and poll each one of the shift registers in turn to read all the different possible places an item could be plugged in.

    If 6 or 7 contacts per item is prohibitively high, perhaps an EEPROM in each one (as bruce suggested) is the way to go, though it strikes me as expensive and I doubt you could do with less than 4 contacts (power, ground, data, clock).

    I hope I made myself clearer and didn't confuse you further [noparse]:)[/noparse]


    Post Edited (Yanroy) : 7/19/2005 8:37:25 PM GMT
  • Philip GamblinPhilip Gamblin Posts: 202
    edited 2005-07-19 21:07
    Yeah my suggestion was uselss. But I'm not sure what you're trying to accomplish. Sorry.
  • Bruce BatesBruce Bates Posts: 3,045
    edited 2005-07-19 21:14
    Gents -

    At first I imagined that you would need at least one contact. Not quite so. It just occurred to me that there is a NO external contact solution.

    This is just a non-specific overview. Inside the "item" is a wound coil circuit which is not internally connected to the "item". Inside the "carrier" is an ocscillator. Each "item" will have a different coil, and thus a different resonant frequency. The carrier oscillator starts winding up, with ever increasing frequencies, until it "sees" the feedback from the resonant frequency of the "item" in a "receiver" loop coil. Not unlike RFID but much more localized, and I'd guess a good deal cheaper.

    The (so called) big money is in the carrier which is a one time expense per unit. The coils should be cheap enough and one might even wind them by hand, if this is not a production effort.

    Just another approach.

    Regards,

    Bruce Bates
  • computoncomputon Posts: 6
    edited 2005-07-20 07:06
    Sorry guys, I may not have been very clear in my question, but I think Bruce answered it. Thanks. Now I have a questions about that no external contact solution: how close would the oscillator and coil have to be to be "seen"? Something like this might be even better for my application if the two parts don't have to touch.
  • Paul BakerPaul Baker Posts: 6,351
    edited 2005-07-20 13:02
    I think I understand Bruce's approach, though the exact circuit is still a bit fuzzy.

    My understanding (if Im not spot on with Bruce, I think this method may also work) is you are creating an air core transformer. The base has inductor near the surface the object will be placed. That inductor is energized with perferably a sinusoid AC signal. That inductor will have a natural reactive response to the energizing signal. An object contains an inductor and a capacitor in series, the combination of the inductor and capacitor is set to a specific frequency so that it's reactive resistance is a minumum at that frequency. The frequency can be set by changing the value of the inductor or capacitor. Perfereably the initial energizing signal will be a frequency that does not match any object, so that an object placed near the receiver coil will resist the coil's energization field. This should be detectable by the reciever as an effective change in the receiver coil's reactive resistance. Once this "object detection" has occured, the energization signal's frequency is ramped until the matching frequency for the object is found, and the object's identity is known.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·1+1=10

    Post Edited (Paul Baker) : 7/20/2005 1:17:06 PM GMT
    372 x 385 - 29K
  • Paul BakerPaul Baker Posts: 6,351
    edited 2005-07-20 13:40
    computon said...
    Now I have a questions about that no external contact solution: how close would the oscillator and coil have to be to be "seen"? Something like this might be even better for my application if the two parts don't have to touch.
    As close as possible, Im thinking like two sheets of 1/8" lexan (receiver, object boxes). But the real answer is: it depends on how sensitive of a sense circuit you use. BTW, any ferrous object placed near the reciever coil will register as an object, but the frequency ramping will show its not a true object.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·1+1=10
Sign In or Register to comment.