0
\$\begingroup\$

First I am not an electrical engineer, but I am on a mission, so please forgive my lack of resources and ability to explain my concepts.

I am designing a device for people with blindness. Currently it just blinks faster when objects are nearer, but I want to have it output a tone/frequency dependent on distance. To do that, I have to convert these short pulses into long pulses. The voltage of the long pulses must be dependent on the voltage of the short pulses. How short are the pulses? Well the speed of light short, only a few nanoseconds in duration, but still enough to light up an LED or output a beep to a speaker. Currently I am using the short pulse to charge a capacitor that triggers the next range finding sequence. When objects are near it the sequence occurs quickly and you hear many beeps, when objects are far away the beeps slow to 1hz. This method is not good for battery duration. Instead I want the range finding sequence to only sample the distance once every second and then output a specific tone based on this distance. The tones would be tuned to a persons ability to hear and thus allow them to learn to distinguish exact distances.

The first thing I tried was applying a lowpass filter, but even if I got this working correctly this just causes the tone to taper off really quickly. Hence the tone is not consistent. Here are my signals with a lowpass filter applied. The first signal is distance measuring at ~1ft (30cm), and the second is at ~7ft (2m). The maximum range will be up to 40m in the daylight.

enter image description here

Here is a photo of an ideal signal conversion. The short pulses converted into a long consistent voltage that I can transform into tones based on differing voltages. The bandpass of the signal doesn't have to be precise but long enough in duration for someone to hear the the unique tone. 500ms to 900ms would likely be perfect. enter image description here

\$\endgroup\$
18
  • 1
    \$\begingroup\$ Would you prefer to do it in an MCU (programming skills required but easy to tweak) or discrete? \$\endgroup\$
    – winny
    Dec 10, 2021 at 11:04
  • \$\begingroup\$ If the pulse duration is proportional to distance, integrate the pulse and sample at end of the pulse. Then you can use this voltage to generate a tone proportional to distance or whatever you need. \$\endgroup\$
    – Antonio51
    Dec 10, 2021 at 11:13
  • \$\begingroup\$ Use a monostable. \$\endgroup\$
    – Andy aka
    Dec 10, 2021 at 11:14
  • \$\begingroup\$ Are you using this kind of sensor ? st.com/en/imaging-and-photonics-solutions/… \$\endgroup\$
    – Antonio51
    Dec 10, 2021 at 11:21
  • 3
    \$\begingroup\$ Doing this fully in the analog domain certainly has a beauty to it but from the practical and especially v2.0 development perspective I'd definitely drop a microcontroller in there. You can also apply correction curves, calibration etc very easily with one. \$\endgroup\$
    – vaizki
    Dec 10, 2021 at 15:25

1 Answer 1

1
\$\begingroup\$

Proposition (first draft) for a sampler ToF (to be adapted ... only idea).

Input pulses are short. Switched current source to be updated ...

enter image description here

Inverted input pulse ... Added also resistor at the output to see decay effect.

Update : with this . Op-amp AD8601, "slow".

enter image description here.

The sampling function can be done, as fast as possible after the pulse (rising or falling edge triggered), by ATTiny85 ADC.

The reset of the capacitor may be done also by ATTiny85 (FET switch ?), before "asking" ToF function.

Attiny85 may complete the tone generation with voltage measured just after the end sampling phase. Using also low power capabilities for long time battery. Then go "sleeping", if necessary.

You could use also, as suggested, a VCO as NE566 but lower voltage.

\$\endgroup\$
1
  • \$\begingroup\$ Thank you for such a thorough explanation. Do you think there is an IC that has a similar function? I will build this and start testing. \$\endgroup\$
    – Tech-Com
    Dec 10, 2021 at 22:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.