Shop OBEX P1 Docs P2 Docs Learn Events
PING sensor problems — Parallax Forums

PING sensor problems

TominatorTominator Posts: 5
edited 2008-11-30 17:30 in General Discussion
Hi,

I asked few questions yesterday but it seems that moderators deleted my message (or it was not posted correctly) so I'll repeat myself (but this time I'll save the text so I can post it again).

Problem is that some of my PING sensors went up in smoke the other day I used them (I must say that no other equipment were damaged - only 2 sensors out of 3). I drive them directly from PIC uC without any resistor in series (as suggested in documentation). Is it possible that sensor can be destroyed regardless of internal protection (if it really exist) when uC and PING are driving the same line with different voltages (+5V,0V)? Also, in documentation there is no reference what happens when PING does not detect any object. What happens then? Do I receive 18.5ms pulse, or I receive nothing, or I receive longer pulse? There is no mention of that in documentation. Also, what are the minimum and maximum ranges (two sets of ranges are stated in docs)? Without correct information I cannot accurately measure distance.·Also in programming examples there is a reference that Sig pin should have series resistor connected (1k). Is that true?

Hopefully this time someone will read this post and, maybe,·answer.

Thanks,
Tom.

Comments

  • Bruce BatesBruce Bates Posts: 3,045
    edited 2008-11-25 13:18
    Tominator -

    You may have been on another forum, but this is the first posting you've made on the Parallax Forums. Since this is a PIC related question, might you have been on a PIC Forum somewhere?

    Regrds,

    Bruce Bates

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    When all else fails, try inserting a new battery.
  • TominatorTominator Posts: 5
    edited 2008-11-25 13:27
    It is possible, of course, even stranger things happened last couple of days since I bought myself Nintendo Wii.
  • Mike GreenMike Green Posts: 23,101
    edited 2008-11-25 14:49
    1) It is possible that the PING))) or the PIC input circuitry can be damaged if one device drives the I/O line to one voltage (0V or 5V) while the other device drives the I/O line to the other voltage (5V or 0V) and there is no current limiting resistor.

    2) If there is no received echo, you will see a pulse from the PING))) of approximately maximum length (18.5ms).

    3) The documentation states a range of 2cm to 3m. That would be a typical range. The actual range would depend on temperature, air pressure, and the objects providing the echo (shape, size, materials, texture, etc.)

    4) The series resistor (1K) is optional and its use is intended to prevent the damage mentioned in #1.
  • TominatorTominator Posts: 5
    edited 2008-11-25 15:12
    Thank you for reply Mike. Obviously, it was my error then. I would like to double check with you only the following: when max. length of return pulse passes (18.5ms) PING will switch its Sig pin from output to input immediately. Is this correct? And when you say approximately max. length, what does that means? Will it take longer sometimes?

    Under 3) Yes, one of the documents says it like this. Under ideal conditions 18.5ms is 3m. Or 3m and some cm? Because in programming examples conversion factor will convert 18.5ms to value of 3.15m or so. What is correct?
  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2008-11-25 15:14
    Tominator said...(trimmed)
    I asked few questions yesterday but it seems that moderators deleted my message (or it was not posted correctly) so I'll repeat myself (but this time I'll save the text so I can post it again).
    Hopefully this time someone will read this post and, maybe,·answer.
    As a note...the system indicates you have only made two posts and they are in this thread.· This means there is no way a moderator removed (or moved) any of your posts).· If we had you would see it in the post count.· Either the message was not submitted or it was removed by your own account.· When a moderator removes a post the count does not change.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage
    Parallax Engineering
  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2008-11-25 15:20
    The PING))) Module has an internal series resistor making an external one unnecessary. The I/O pin connected to the PING))) would normally be an output. Once the pin is triggered, that I/O pin should immediately be made an input to read the return pulse width. If the connected pin is still an output you will never see the pulse. The return pulse will never exceed the 18.5 mS because the PING))) will timeout at that point and make its I/O pin an input.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage
    Parallax Engineering
  • Mike GreenMike Green Posts: 23,101
    edited 2008-11-25 15:51
    As I said "The actual range would depend on temperature, air pressure, and the objects providing the echo (shape, size, materials, texture, etc.)"

    The PING))) just reports the time taken for the ultrasound pulse to travel outwards, be reflected, and return to the PING))) (plus some fixed times for generating the pulse and detecting and reporting it). Particularly at the extreme of the range, these factors overwhelm any imposed by the PING))).

    I said "approximately" because I'm sure there's some variation due to manufacturing, to ambient temperature and supply voltage. I'm sure these variations are small, but you seem to be concerned about accuracy while the technique itself (the use of ultrasound for distance measurement) is subject to all sorts of inaccuracies, particularly as the distance increases.
  • SRLMSRLM Posts: 5,045
    edited 2008-11-25 16:49
    A very unscientific test with my Ping showed that it was about .7" off at 12" actual. The reflecting surface was the plastic of my monitor.
  • TominatorTominator Posts: 5
    edited 2008-11-26 07:57
    Chris Savage (Parallax) said...
    The PING))) Module has an internal series resistor making an external one unnecessary. The I/O pin connected to the PING))) would normally be an output. Once the pin is triggered, that I/O pin should immediately be made an input to read the return pulse width. If the connected pin is still an output you will never see the pulse. The return pulse will never exceed the 18.5 mS because the PING))) will timeout at that point and make its I/O pin an input.

    So, then I did not make an error, but the PINGs died anyway. How is that possible? I used 5V as supply for complete circuit. All other equipment is still working (one PING included). It seems quite strange that circuit worked for several minutes correctly then suddenly started smoking. That happened when in software conditions changed and I tried to use PINGs as fast as I could (respecting datasheet timing values). This two PINGs were receiving echo from very close distance and at that point it started to smoke. Smoke originated from big IC in the middle of the back side where QC passed sticker is placed. This sticker came off of this two PINGs due to the heat generated. I am confused because I believe I did not make any errors.

    Any comment is welcome.

    Thanks.

    P.S. Regarding missing post - it is most likely that I pressed cancel instead submit so I appologize that I wrongly accused you guys for deleting my post.

    ·
  • Mike GreenMike Green Posts: 23,101
    edited 2008-11-26 16:00
    What you describe cannot happen under normal operating circumstances. This includes driving the PING))) at maximum speed (about 50 times a second).

    The only circumstance I can think of that would cause this [noparse][[/noparse]other than a defective PING)))] would be subjecting the PING))) to more than 5V, either the supply voltage or the I/O pin. If you think you had a defective PING))), give Parallax Customer Support a phone call or send them an e-mail with as much supporting documentation as possible (circuit diagrams, descriptions of circumstances, etc.)
  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2008-11-26 17:16
    Where is the 5V for the PING))) connected exactly? It really sounds like some sort of power issue. How long was the PING))) working after power-on before the failure?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage
    Parallax Engineering
  • TominatorTominator Posts: 5
    edited 2008-11-27 16:09
    Chris Savage (Parallax) said...
    Where is the 5V for the PING))) connected exactly? It really sounds like some sort of power issue. How long was the PING))) working after power-on before the failure?

    PING was connected directly to 7805 (with capacitor in parallel). All logic circuitry was powered from this device so logic was also at 5V. It was working normally for minutes (cumulative that day for an hour maybe). I did not tell that I had this PCB connected to an H-bridge powering 12V DC motor. Common for this two PCBs was only ground and 12V going to 7805. Between Sig terminal and H-bridge PCB there were PIC uC, and·3 logic circuits. None of them were damaged. As I said it was working normally and then at max. ping speed·started smoking. If there is current limiting resistor built in then I could not damage it as I would damage also the PIC uC if I tried to access the device faster than allowed.

    If you wish I can attach schematics and/or pcb layout if it would help to determine the problem.
  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2008-11-30 17:30
    Attaching schematics won't help you in this case. There is no max speed which in passing will damage the PING))) module. If you're programming is correct, it would be impossible to exceed the PING))) in speed anyway, since inherently it would be setting the rate by the return pulse. Your code would have to wait for the end of the return pulse before it could retrigger the PING))).

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage
    Parallax Engineering
Sign In or Register to comment.