Shop OBEX P1 Docs P2 Docs Learn Events
impact sensors — Parallax Forums

impact sensors

stvtechclassstvtechclass Posts: 9
edited 2010-01-19 21:25 in General Discussion
im in desprate need of help!!!
· im trying to make an impact sensor by using a MEMSIC 2125 dual-axis accelerometer. its being used to measure how hard a pool cue hit the target cue ball (for billiards)
does anybody have any recomendations on what kind of microcontoller chip i should use?
im thinking about getting the·BASIC Stamp 2 module (item code BS2-IC) but im not sure if this is the best choice for the job
im desperate!!
any posts concerning my dilema are welcome

Comments

  • abcdabcd Posts: 22
    edited 2010-01-10 19:05
    Well, I think that the BS2SX would be a good option. It's relatively cheap and slightly faster than the BS2 (more handy when recording the impact). But that's just my opinion...I haven't used anything > BS2SX.
  • Mike GreenMike Green Posts: 23,101
    edited 2010-01-10 19:10
    It's against forum rules to post the same message in more than one forum. Please go back and delete your thread in the Sensors forum. Use the X icon in the upper right-hand corner of your original message.
  • stvtechclassstvtechclass Posts: 9
    edited 2010-01-10 19:11
    thanks

    do you think programming is the same difficulty?

    because i have adequite experience with programming, but to program this accelerometer to be an impact sensor is kinda over my head
  • Mike GreenMike Green Posts: 23,101
    edited 2010-01-10 19:17
    Have you done your research on what you want to measure? For example, the Memsic 2125 module produces a 100Hz PWM signal. I don't know how quickly this reacts to a change in acceleration, but you're not going to see any change faster than 100 times a second (10ms). What sort of g forces to you expect to see? What's the expected rate of change of acceleration? Is two axes going to be enough? Do you need a 3 axis sensor?

    Programming a BS2 and programming a BS2sx is essentially the same. There are a few new statements for the BS2sx, but you can ignore them if you want. The biggest change is that some of the constants used for timing are different. The BASIC Stamp Syntax and Reference Manual lists the different constants needed for the different Stamp models. The Stamp Editor's help files also have that information.
  • stvtechclassstvtechclass Posts: 9
    edited 2010-01-10 19:25
    i· mean, im able to program the accelerometer to do all the other stuff, like measure tilt, rotation, angle, etc., but impact sensors are an unknown programing concept to me

    i previously contemplated·using a carbon microphone to measure the vibration because the granules of carbon will cause more or less resistance depending on the vibration. i planned to monitor the voltage spikes it sent out and determine the impact that way, but the amount of time that requires more time than i have.

    im trying to find a simpler solution, but the resources i currently have available to me ae slim to none

    so i need to find a solution, and quick
  • stvtechclassstvtechclass Posts: 9
    edited 2010-01-10 19:30
    i definanatly acknowledge your point as a vary valid one, but thats the kind of things that i need to find out.

    im doing all of this for a senior project, so essentially, all of my ideas so far are not very good ones..... im sure i could find a simpler solution, but this is a senior project, so it doesnt have to be absolutely perfect, it just has to get the job done
  • kwinnkwinn Posts: 8,697
    edited 2010-01-10 19:39
    I think most accelerometers would not be very good for this task. The peak force involved in striking a ball with the cue is fairly high and the rise and fall times are very fast. You would need a sensor capable of handling the high peak force and a fast data acquisition system.
  • abcdabcd Posts: 22
    edited 2010-01-10 19:47
    I do not know if you have taken Physics, but you can use the Impulse formula to calculate an approximation of the impact (of course you'll have to disregard friction in this case, unless you know the friction constant).

    You can use the PING sensor to measure the distance. Since J (impulse) = Force*t = mass*acceleration*time. Since acceleration = distance/(t^2), you just need time.

    Use the PING to find the initial distance and store that as a variable. Then, maybe have a simple loop with IF..THEN with the PING. In the loop, use a different var to hold the distance now. Once the distance changes after you hit the ball, it can begin a subroutine.

    The subroutine can then create a counter for time until distance = 0.

    Next, at the end, create a debug window that plugs in all the vars: mass of the target ball*(distance/time^2)*time. Time should be in seconds.

    I have never used the PING before, so I do not know how it will work out, but you can try this Physics application. It will not be super accurate, but maybe close enough for your needs.

    Post Edited (abcd) : 1/10/2010 7:52:51 PM GMT
  • LeonLeon Posts: 7,620
    edited 2010-01-10 19:50
    Accelerometers are made that are suitable for that sort of thing. Check those from ADI, ST and Freescale. A fast MCU will be needed,

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM

    Post Edited (Leon) : 1/10/2010 8:07:40 PM GMT
  • stvtechclassstvtechclass Posts: 9
    edited 2010-01-10 19:52
    if an accelerometer is not an ideal substitute for an imact sensor, than what would you use?

    Solid-State? another type of Peizo-Electric sensor?
    my teacher has been of no help, and my knowledge of electronics and programming is extremely vast, considering my age, but this is the subject that im trying to explore.
    links are extremely helpful, so if there is a place that you think can help me with my project, please dont hesitate to post a link to that spot
  • abcdabcd Posts: 22
    edited 2010-01-10 19:55
    Well, I guess you could continue using the Memsic 2125. Just convert the vibration amounts (if possible) to numbers and find the peak, which would be the collision.

    If you know what units the numbers (that the accelerometer gives) are in, you can display that number + its units.
  • LeonLeon Posts: 7,620
    edited 2010-01-10 20:10
    ADI makes 70g MEMS accelerometers. You need to calculate the approximate value you will get in your application before you start your design, it shouldn't be all that difficult knowing the force applied and the masses of the cue and ball, as well as the properties of the cue tip.

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
  • stvtechclassstvtechclass Posts: 9
    edited 2010-01-10 20:14
    okay
    so·i can do one of 2 things..

    1.·i use that physics theory you mentioned earlier and write it as a program, i could theoretically continue to use my MEMSIC 2125, even though it will not produce results as fast?
    and
    2. i can convert the vibrations into measurements

    okay ill definatly try these

    any other ideas?
  • abcdabcd Posts: 22
    edited 2010-01-10 20:17
    I think you should do the vibrations idea first, since the product description for the Memsic includes this. I think this vibration is more accurate than using the accelerometer to calculate the acceleration.

    If you feel that you want to try the Physics, you can buy the PING, which is $30.
  • abcdabcd Posts: 22
    edited 2010-01-10 20:20
    Leon said...
    ADI makes 70g MEMS accelerometers. You need to calculate the approximate value you will get in your application before you start your design, it shouldn't be all that difficult knowing the force applied and the masses of the cue and ball, as well as the properties of the cue tip.

    Leon

    The only trouble would be starting the mechanism for beginning the time counter (that is if we still use the J = F*t). Using acceleration to begin it would be difficult (if it started at constant velocity, then it would be late. However, it could work if you begin it as a subroutine triggered by a non-zero amount of vibration.

    So, this would be another idea you could play with.
  • stvtechclassstvtechclass Posts: 9
    edited 2010-01-10 20:20
    okay i will do that

    so i should just write the program like a conversion factor?
  • abcdabcd Posts: 22
    edited 2010-01-10 20:23
    Well..if you can find (maybe from a tutorial) what units that the accelerometer displays your vibration in, you can just use DEBUG, display the peak vibration, and place your units afterwards. It's not so much conversion on your part..it's just communicating what the number means to your classmates/teachers.

    EDIT: I think using vibration will require more research than the PING; I'm having some trouble finding the units of it. If you're up to a challenge, try the accelerometers first.

    Post Edited (abcd) : 1/10/2010 8:36:14 PM GMT
  • LeonLeon Posts: 7,620
    edited 2010-01-10 21:03
    If you find that none of the MEMS accelerometers can handle the forces involved, this should do the job (up to 30,000 g):

    www.intertechnology.com/Kistler/Accelerometers_Model_8044.htm

    It's probably quite expensive.

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
  • stvtechclassstvtechclass Posts: 9
    edited 2010-01-10 21:17
    im looking for something along these lines
    impact sensor
    at the bottom of the page
  • DaveGDaveG Posts: 84
    edited 2010-01-12 16:24
    An alternative approach would be to glue the Memsic on top of the cue ball and measure the acceleration of the mass of the ball. F = ma. However, it would only work if the ball rotates a small number of degrees before it leaves the cue stick.

    Dave G
  • abcdabcd Posts: 22
    edited 2010-01-12 22:52
    Yeah..it probably won't hit the target ball if it rolls on top of the accelerometer. Even if that is okay, you would have to have long wires to connect back to the breadboard.
  • LeonLeon Posts: 7,620
    edited 2010-01-13 01:38
    Putting it inside the ball with a radio transmitter would work.

    Leon

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Amateur radio callsign: G1HSM
  • abcdabcd Posts: 22
    edited 2010-01-13 23:45
    stvtechclass - I was really curious as to how this would work, so I bought my own Memsic 2125. I'll start trying it on some other stuff (I don't have billiard balls) similar to your project this weekend (hopefully, if I get a chance).
  • ercoerco Posts: 20,260
    edited 2010-01-14 01:39
    In addition to trying to calibrate an impact sensor for hundreds of Gs,·you'll have a modified ball with some funky physical deviation from a simple pool ball sitting on a table. Wires, internal batteries, something. Another approach would be to mount your target ball as a pendulum: make something like a swingset A-frame that you can tape down, hang·your pool·ball on a low-friction pivoted rod, so it almost touches the table. Now you have your choice of measurement. It can wind up a spring as it swings around, or you can hook an accelerometer to the ball/pendulum, you can have no spring and count revolutions. You can interface a Stamp to read something quantifiable. Sketch attached.

    Alternatively, knock the free-rolling ball onto some kind of guide track to make it go straight up. The faster it goes, the higher it goes, like ringing the bell at the county fair.

    Or, have the free-rolling ball break two light/laser beams a known distance apart. Use a stamp to measure the time (a cheapie stopwatch would actually be better) and calculate the ball's speed.


    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·"If you build it, they will come."
  • stvtechclassstvtechclass Posts: 9
    edited 2010-01-18 02:19
    okay i got the accelerometer to sense motion and vibration.it simulates what they when they ship a fragile object. if the light is on then the chances are that its probably damaged .when it senses motion or vibration, a light turns on until you reset it.i can make it sense the presence of it, but i cant get it to measure the amount of motion or vibration. how can i do this?
  • FranklinFranklin Posts: 4,747
    edited 2010-01-19 21:25
    You will do that in code but since we don't know how you have it connected to the stamp or what your code looks like now it would be hard to make recommendations. I'm pretty sure the accelerometer will output a signal in proportion to the acceleration.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    - Stephen
Sign In or Register to comment.