Connect with us

Voice annunciated test box circuitry

Discussion in 'Electronic Basics' started by mirach, Feb 17, 2005.

Scroll to continue with content
  1. mirach

    mirach Guest

    I am a repair tech for medical equipment and am needing to make some
    test boxes for simple location of the number of a wire that has been
    cut off in a harnesses with as many as 256 wires in them.

    These harnesses have a plug on one end and the cut-off unlabled wires
    at the other end . Up untill now I have used what is called a "light
    box" these boxes have a plug to plug the harness into.. 128 or 256leds
    on them and an internal battery and a lead so that when you touch one
    of the wires with the lead one of the leds will light showing which pin
    on the plug is associated with that wire (each wire is then labled)

    Now with what I would like to build.
    Since you have to look at these wires through a microscope it is very
    time consuming to look up from the scope to see the led every time.
    What I would like to do is replace these leds with something that
    announces the number like "21" "102" "128" etc. with a voice this
    would make labeling much faster.
    Does anyone know of a pre-made IC? or EEprom? that would have 128 or so
    individual areas that could store the voice message for the number and
    be random accessed. would it need some sort of special trigger? As im
    sure you can tell my knowlege is limited in this area, I am just
    starting to work on this project and anyones ideas would be greatly
  2. Lord Garth

    Lord Garth Guest

    I'm sure you'll need to create a circuit to encode all the input lines into
    an 8 bit
    binary number first. From there, you can interconnect it to a PC so that
    speech processor, in WinXP can read the decimal equivalent to you.

    A program should be running that reads the port for input then clears and
    the decimal equivalent to the screen. The Windows accessibility tools
    include a
    audio screen reader that I have only played with at times. (Microsoft Sam
    like the obsolete SC-01 from Federal Screw Works)
  3. Chris

    Chris Guest

    Hi, Mirach. You're definitely heading in the right direction.

    I've done things like this before. In this kind of work environment,
    you don't want to have some kind of contraption no one else can
    understand in exchange for possibly saving a few bucks. The KISS
    principle (Keep It Safe and Simple) applies here. The most important
    thing is reliability, and next that your test fixture will be easy to
    document and calibrate/test.

    If you've got some bucks to spend, nuke the problem by buying a
    Measurement Computing CIO-DI-192 board ($299 USD, providing 192 digital
    inputs to a PC through an ISA slot), and a CIO-DI-96 board ($179 USD
    for 96 inputs). Get some 1K SIPs to use as pullups, and solder them on
    the boards before installing them in the closest junker PC with sound
    card. Then wire it up and write a program in VB to scan the lines and
    output the audio you want to the speakers.

    Something which might give you some flexibility in the cost/hassle
    tradeoff without adding enormous complexity is to get a CIO-DI48 ($119)
    and a CIO-DO48H($179) and use shottky diodes to make a keyboard reading
    matrix. You'll have to put the diode matrix in a blivet box outside
    the PC.

    I would recommend against using the 8255-based DIO-48 for this purpose,
    even though it would be a lot cheaper ($119 USD covers the whole thing
    -- you can program one 8255 to be all inputs, one to be all outputs,
    and you're done) because the I/O are going to be in the "real world".
    Even with proper ESD precautions, the 82C55 is trivially easy to hang
    up, and you don't want to make a test fixture that's going to make you
    look bad because it always messes up. But no matter what route you
    use, you really should use a PC for this test.

    I hope this has been of help. Simple test fixtures like this can
    really help make you look good. If there's a chance of overrunning
    outputs, make sure to place a beep sound between outputs to avoid
    chatter. Remember to spend enough time on the user interface to make
    it user friendly (and don't forget to place your name under your
    supervisor's name prominently on the splash screen ;-) ).

  4. You can buy digital voice recorder chips from windbond
    ( that allow you to record some amount of
    voice. You can cue the voice at any point. Thus, you could record
    yourself saying 1,2,3.. and then cause the chip to replay the individual
    digits on command. You control it using SPI from a microcontroller. They
    go up to 240s of recording time, so you could conceivably record all 256
    numbers, but individual digits are probably easier. You can buy them at
    digikey or futurlec. I'm sure you can also get pre-recorded voices, but
    I didn't spend the time searching.

    As to encoding the data, you could use individual multiplexer chips.
    However, you could also get 8 octal buffers with high impedance outputs.
    Tie each input to a correponding buffer pin, and tie the outputs
    together into a bus, all bit zeros together, ones together, etc. Then,
    select the buffer chips one at a time, and read the bits for that buffer
    in parallel using 8 pins on your microcontroller. Once you have a hit,
    just program the SPI device to output the proper voice codes. 16 bits on
    the final device, 8 for input, 8 for output. Plus, of course, the 3 or 4
    bits for SPI to control the recorder.

    The total part count for this solution would be the voice chip, the
    microcontroller, the buffers, and such. You could run it off of a 9V
    battery, or use a set of rechargable batteries, and build a recharger
    unit for it. Alternately, if it didn't need to be portable, you could
    run it off of a wall wart. Total cost would be around $30 for parts, I
    think, including PCB and enclosure, depending on the cost of the plug.
    If you were to mass-produce these, you could probably make them for $10

    I'll work up an estimate for 10 if you want... ;)

    Robert Monsen

    "Your Highness, I have no need of this hypothesis."
    - Pierre Laplace (1749-1827), to Napoleon,
    on why his works on celestial mechanics make no mention of God.
  5. Meh. Multiplication. You'd need 32 buffers, and 32 pins to select them.
    You need a pin per input. There are probably better ways to do this...

    Robert Monsen

    "Your Highness, I have no need of this hypothesis."
    - Pierre Laplace (1749-1827), to Napoleon,
    on why his works on celestial mechanics make no mention of God.
  6. mirach

    mirach Guest

    Thanks guys for the great responses . I could actually get by at
    present with 128 individual numbers. (we currently arnt working on the
    units with 256 wires). Some of the involved electronics is beyond my
    scope of knowlege, so im not against paying someone to put a couple of
    these together if a price could be worked out that we both could live
    with. I could even send you the empty boxes probably 8"Wide by 6"
    high by 2" deep. and they would probably be assembled without the plug
    (we can wire the actual plugs) so basically its making the boards and
    chips work then I can take it from there. I like the idea of a portable
    device ,this is the way our current light boxes are and it would be a
    plus to be portable. I had originally wondered if you might be able to
    get 128 small cheap 1 or 2 second voice chips that could each be
    triggered by a voltage when that wire is touched . But I may be
    dreaming on that one :) . I was originally thinking of these chips
    replacing the LEDs currently in the boxes. That may be too simplistic
    of an idea since im not sure whats avialiable. Let me know what you
    think guys. And again Thank You
  7. The voice chips are fairly expensive, so I think getting a slew of them
    won't be practical.

    I spent some time attempting to redeem myself by coming up with a simple
    way to input your 256 signals.

    One simple way would be to use a 16x16 grid of NPN transistors, arranged
    in rows and columns. The collectors of all the transistors in a
    particular row would be wired together. All of the bases in a column
    would be connected together, in such a way that all the bases in a
    column could be driven by raising a single pin for that column.

    The plug pin you want to identify is then grounded. The others are left
    to float.

    Now, by powering the columns one by one (through a 1k resistor), you can
    find the grounded plug pin by noticing which row goes to 0, using the
    column number as the low address byte, and the row number as the high
    address byte. If no emitter is grounded, the row will be near logic 1
    due to the diode action of the collector.

    You can walk through the rows by asserting them one at a time, and then
    reading the result with a microcontroller. Once you find the row that is
    low, you know the row and column address, and can thus tell the voice
    chip which digits to say.

    The voice chip will be expensive to run in terms of power, particularly
    if you want volume. However, using an earplug would make it a lower
    power device, thus allowing for the ability to carry it around.

    How big are the plugs?

    Robert Monsen

    "Your Highness, I have no need of this hypothesis."
    - Pierre Laplace (1749-1827), to Napoleon,
    on why his works on celestial mechanics make no mention of God.
  8. Rich Grise

    Rich Grise Guest

    16X 74HC150.

    or 32x 74HC244 and 2X 74HC154, depending on how you want to scan them.

  9. Keep It Simple, Stupid!

    Keep It Safe and Simple, Think It Through, Stupid!

  10. mirach

    mirach Guest


    The plugs are large . The one im looking at is 4"X 1.5" and has 260
    pins in it. This is pretty typical of these plugs,just a little
    different configurations etc. Thanks
  11. mirach

    mirach Guest

    I tried to send you a reply to your email but it came back as
    un-deliverable. Send me another email and an address that i can send to
    and I'll send you some info.

  12. John Fields

    John Fields Guest

    You will need a microcontroller with 16 bits of IO and an IRQ input,
    seventeen 4 line to 16 line decoders, two 8 bit serial-in parallel-out
    shift registers, four 4-bit programmable counters, a 512K Eprom with
    the words 'zero', 'one', 'two', 'three', 'four', 'five', 'six',
    'seven', 'eight', 'nine' burned into it, an 8-bit parallel in DAC, an
    audio amp, a loudspeaker, and a test probe.
  13. and a partridge in a pair tree.

    Actually, those winbond SPI voice chips are very cheap, and are
    addressible for both writing and reading. They have onboard flash too.
    This cuts the complexity quite a bit. Once the voice is programmed, you
    can copy the data from chip to chip. This replaces the DAC, eeprom, and
    all the addressing logic. Just send an SPI command, and it says the
    digit. I think the speaker and amp isn't required, if they use
    headphones. The winbond chips will drive them directly, I believe.

    One could also use one of those phoneme chips (remember "macintalk"?).
    They sound horrible though, unless you take great care in building the
    phoneme string and timing the output.

    The horror is going to be the 256 wires to the plug. Hopefully there is
    a reasonable header connection that can be built.

    Robert Monsen

    "Your Highness, I have no need of this hypothesis."
    - Pierre Laplace (1749-1827), to Napoleon,
    on why his works on celestial mechanics make no mention of God.
  14. John Fields

    John Fields Guest

  15. The ISD400x looks promising. It's $7 at futurlec

    I'm sure you can get it far cheaper in volume, although fururlec tends
    to have alarmingly good prices for certain things. I'm guessing one
    could sample a few as well. It's available it in PDIP, which is nice for
    quick prototypes.

    I reread the datasheet last night. It does have an internal amplifier
    that can be used for a headset. The datasheet has a schematic for a
    small system using it.

    I was hoping they have a version with a prerecorded 'voice model' doing
    digits, but, sadly, they don't appear to.

    Robert Monsen

    "Your Highness, I have no need of this hypothesis."
    - Pierre Laplace (1749-1827), to Napoleon,
    on why his works on celestial mechanics make no mention of God.
  16. John Fields

    John Fields Guest

    2ea HC164 @ 0.50........ $1.00
    4ea HC163 @ 0.50........ $2.00
    1ea 27C256.............. $1.50
    8ea 1% 1/8W R........... $0.25
    1ea LM386............... $0.75
  17. Where is the DAC? Are you planning on using the EEPROM to bitbang a
    filter to get the right sounds? I've seen tricks like that for the PIC.

    Also, you don't include the tools for creating the sounds and burning
    them into the eeprom. He only wants a few of them. The winbond chip has
    a facility to do it itself.

    You could probably clock the counters using an output from the uC. The
    PIC chips, have the option of outputting the instruction clock on one of
    their pins. However, I'm guessing that you would need to divide down the
    output somewhat.

    One advantage of the SPI interface for the winbond chip is that it's
    probably less than a day of work to get working for both record and
    send, and has a facility to cue at any point for either recording or
    playback. I noticed you are using a counter to clock the eeprom. How are
    you going to start at particular digit values? I suppose you could
    preset the counters using microprocessor pins, but that means you need
    extra uC pins and traces for that.

    Maybe outputting a couple of high address pins from the microprocessor
    would work. That way, you could divide the address space up into 16
    chunks, and easily clock through any of them. All you would need is a
    reset line for the counters, and a clock source.

    Robert Monsen

    "Your Highness, I have no need of this hypothesis."
    - Pierre Laplace (1749-1827), to Napoleon,
    on why his works on celestial mechanics make no mention of God.
  18. John Fields

    John Fields Guest

    | Q7|----[128R]--+
    | | |
    | Q6|----[64R]---+
    | | |
    | Q5|----[32R]---+
    | | |
    | Q4|----[16R]---+
    | | |
    | Q3|----[8R]----+
    | | |
    | Q2|----[4R]----+
    | | |
    | Q1|----[2R]----+
    | | |
    | Q0|----[R]-----+---|+\
    +------+ | >--+--
    27C256 +---|-/ |
    | |

    The tools for creating the sounds are a microphone, a PC sound card,
    and whatever editing software came with the card or with Windows. I
    already have an EPROM programmer but if the OP doesn't, oh, well...
    He'll have to work out all the addresses and do a lot of bit-banging
    on the SPI interface to set up the addresses to do the recording, so
    he'll have to, essentially, build a programmer and program each chip
    in real time unless he buys a Winbond programmer.
    You load the starting address of the digit to be spoken into the shift
    registers with two µC IOs, then broadside load it into the counters
    (and through the counters into the EPROM) and clock the counters 'n'
    times until the digit data at those addresses has exited the EPROM.
    You don't need to reset the counters, you need to load them with the
    address corresponding to the start of the audio data for the peculiar
    digit needed and then clock them until the digit data has been played

    To make it work you only need three µC IOs; SERIAL DATA for the shift
    register, ASYNCHRONOUS PARALLEL LOAD for the counter, and CLOCK for
    both of them. With a little judicious programming and counter
    selection, the clock line can be shared with the shift register.
  19. Your resistors are set up for Q0 outputting MSB. Do Windows sound
    programs save bits this way? I've seen gang programmers can be set up to
    reverse the order of bits.

    Do you know what kind of fidelity you'll get with that setup? Not that
    it matters much for digit output, but you want it to be intelligible.
    Or, he could use a simple onboard programmer, and perhaps a simple uC
    program to copy from one device to another using the analog ports. I
    don't think you can gang-program the winbond chip, unfortunately, and it
    doesn't look like the SPI interface allows programming the flash. It
    really is designed to be a voice recorder playback toy.
    You could save the shift registers by using 4 bits to set the high
    address bits, dividing your eeprom up into 16 equal sections. Program
    the digits at those sections, set those bits, and perform a reset when
    you want to start playing a section. It's a couple more uC pins, and
    it's less flexible, obviously, but it saves the shift registers. That's
    a buck!
    You can get the ISD4002 winbond chips from digikey for $5.08 each if you
    buy 25.

    You can get the 20 second verion (which is probably enough for 10
    digits) for $3.27, although it may be more difficult to cue the output,
    since it doesn't have an SPI interface.

    There are also dedicated sound output chips that use external eeprom,
    similar to your scheme, but they seem designed for higher end systems.

    Robert Monsen

    "Your Highness, I have no need of this hypothesis."
    - Pierre Laplace (1749-1827), to Napoleon,
    on why his works on celestial mechanics make no mention of God.
  20. This last bit is in error. I was looking at the european digikey catalog
    by mistake (google took me there.) Those prices are in EUROs.

    Robert Monsen

    "Your Highness, I have no need of this hypothesis."
    - Pierre Laplace (1749-1827), to Napoleon,
    on why his works on celestial mechanics make no mention of God.
Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Electronics Point Logo
Continue to site
Quote of the day