Its awesome!!! i'm making a usb mouse with a MMA7260QT accelerometer and a pic microcontroller. I've read the AN3397 and implemented the algorithm, but i still have some noise problems.
Lamentablemente en mi pais, los PICs son los unicos MCU accesibles :(
El problema es q obtengo una señal muy ruidosa, a pesar de q hago 128 promedios. Asiq estoy implementando un filtro digital. Pero esto hace q la calibracion no sea buena. Ya no se que hacer para solucionar esto.
But what about errors that also get integrated? Consider a single accelerometer in the x-axis. It will measure an acceleration of (Ax + Eax) where Eax is a small finite error in measurement. After double integration, the result for position is (X + Eax * t^2), where the position error grows (drifts) geometrically with passing time. But if the source error, Eax, is constant, might it not be experimentally determined and nulled (removed) from the calculation?
A double integration of the acceleration is not sufficient to detect position if you are not measuring or controlling the orientation of your sensor. Your "mouse" would detect a change in position even if it's not moving just changing the orientation. PS. What does the board so big?
Freescale actually has a couple of options to do this...
The accelerometer can deliver an analog signal that gets read in an Analog To Digital module incorporated in the Microcontroller. The S08QG Microcontroller does this.. (this is the way the demo was done)
A second option is to use a FSL accelerometer that deliver the acceleration in a digital way. so you dont need the ADC in the MCU.
this doesnt use a "ball" or an laser to detect movement, it uses a 3 axis accelerometer which detects movement and acceleration, that means we could do the movement in mid air and still detect the motion
Ohh, well that makes much more sense! Thanks. So would this particular device be able to detect a three dimensional range of movement? The graphic program that guy is using makes it seem just like a mouse.
Hi, thanks for visiting... We tested the algorithm in a flat surface (two axes) no longer than 40 x 40 cm; it is a proof of concept so far, for dead reckoning or similar applications different algorithms or finest adjustments might apply.
I invite you to look at AN3397 application note in the Freescale Website.
Fantastic
aytradeco 2 years ago
Hi!!! do you speak spanish?
Its awesome!!! i'm making a usb mouse with a MMA7260QT accelerometer and a pic microcontroller. I've read the AN3397 and implemented the algorithm, but i still have some noise problems.
How did you do to obtain such a clean move?
cheers!!
zspikes 2 years ago
Hola, si se hablo español.
As a matter of fact, this is NOT a PIC. Its a Freescale S08QG MCU. If you are using a PIC, maybe thats your problem ;)
rtacamericas 2 years ago
Lamentablemente en mi pais, los PICs son los unicos MCU accesibles :(
El problema es q obtengo una señal muy ruidosa, a pesar de q hago 128 promedios. Asiq estoy implementando un filtro digital. Pero esto hace q la calibracion no sea buena. Ya no se que hacer para solucionar esto.
saludos!
zspikes 2 years ago
ashaahahahahahahahallol
rroge5 2 years ago
Nice desktop man what operating system do you use and how do you get that cursor effect?
BritishRider 3 years ago
How do you get position..?can you explain in detail because we tried double integration but drift errors too high to get reasonable accuracy..?
max225592 3 years ago
In that demo the accuracy didn't matter... you can do that with big errors.... I'm sure if he made the same movement twice the output would varry
bboysil 3 years ago
you are kind of right... accuracy isnt critical, you do have a certain error but in normal operation, you can get pretty accurate results.
rtacamericas 2 years ago
But what about errors that also get integrated? Consider a single accelerometer in the x-axis. It will measure an acceleration of (Ax + Eax) where Eax is a small finite error in measurement. After double integration, the result for position is (X + Eax * t^2), where the position error grows (drifts) geometrically with passing time. But if the source error, Eax, is constant, might it not be experimentally determined and nulled (removed) from the calculation?
strange3141 2 years ago
A double integration of the acceleration is not sufficient to detect position if you are not measuring or controlling the orientation of your sensor. Your "mouse" would detect a change in position even if it's not moving just changing the orientation. PS. What does the board so big?
albbonomi 3 years ago
the board was developed for demo purposes. It has LEDs and a debugging interface... just for fun, not a final product
rtacamericas 3 years ago
you know...you could just go buy a mouse.
Pharts 4 years ago
that is correct ! but this mouse can be used "in the air" since its based on acceleration not on a reflexion
rtacamericas 3 years ago
I want to buy a mouse like this!
Somebody has to make one first..
Maticus2009 3 years ago
Logitech has something like this. I think it is called the MX air, but at $150 I would just buy a regular mouse. :)
JRproducts 3 years ago
excuse my ignorance, but how does the analog of the accelerometer get turned into digital? Thanks.
labyrinth564 4 years ago
It's called an ADC (Analogue to Digital Converter). They can be integrated into PIC's and other micro controllers. Look up ADC on Wiki.
wasssup1990 4 years ago
Freescale actually has a couple of options to do this...
The accelerometer can deliver an analog signal that gets read in an Analog To Digital module incorporated in the Microcontroller. The S08QG Microcontroller does this.. (this is the way the demo was done)
A second option is to use a FSL accelerometer that deliver the acceleration in a digital way. so you dont need the ADC in the MCU.
rtacamericas 4 years ago
can we measure/calculate a speed or distance of any vehicle (car, bicycle, spaceship etc) by this method. maybe we can apply
v = integral(a) formula
isalpha 4 years ago
Sorry, this may sound a little dumb, but how is this different from a mouse?
ompenarnie 4 years ago
this doesnt use a "ball" or an laser to detect movement, it uses a 3 axis accelerometer which detects movement and acceleration, that means we could do the movement in mid air and still detect the motion
rtacamericas 4 years ago
Ohh, well that makes much more sense! Thanks. So would this particular device be able to detect a three dimensional range of movement? The graphic program that guy is using makes it seem just like a mouse.
ompenarnie 4 years ago
looks like a really viable option for next gen mouse controllers, i wonder if any company should same interest?
Prowler1 4 years ago
what is the distance you can move, with respect to your starting point, before the accelerometer error becomes too large?
bonker1980 4 years ago
Hi, thanks for visiting... We tested the algorithm in a flat surface (two axes) no longer than 40 x 40 cm; it is a proof of concept so far, for dead reckoning or similar applications different algorithms or finest adjustments might apply.
I invite you to look at AN3397 application note in the Freescale Website.
Cheers,
Oscar
rtacamericas 4 years ago
Cool, I'm working on a project that is very similar...
It will connect to a televison instead of a monitor...
RISCnothing42 5 years ago
Great ! make sure you share your work ! what MCU and sensor are you working with ?
rtacamericas 5 years ago