Design Consideration for MMA7260

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Design Consideration for MMA7260

9,919 次查看
vignesh
Contributor I

Hi All,

      I am new to Accelerometer. Just got my Sample piece (MMA7260), thanks to Freescale!

      Since I am familiar with 8051 architecture, I am planning to build a sample/evaluation circuit with 8051. I have some queries related to ADC.

      Do I need to consider the Impedance matching, if yes what is the value of MMA7260.

      What should be my sample frequency? That is, should it be “N” times the “Internal Sampling Freq(11KHz)” or the Band width (Z-150Hz, X,Y-350Hz) ?

       …and any other thing I need to consider while designing ?

                 Thanks in Advance,

                  Vignesh Baliga

标签 (1)
0 项奖励
回复
7 回复数

1,669 次查看
rhinoceroshead
Contributor I
I'll tell you what I think, but I'm interested to see what others on this forum say as well...  I've heard people say things that I didn't agree with many times concerning this.
 
When you say 'impedance matching' - to me, that really only applies when you are trying to maximize the power transfer from one circuit to another as with a power line or a transmission line.  When you maximize power, you make the load impedance exactly the same as the source impedance and there lies the sweet spot that allows the largest amount of power possible to transfer from the source to the load.  However - at this sweet spot, only half of the source voltage is spread across the load impedance.  So if you are using a 5 volt microcontroller and the source to be measured is 5 volts, then the highest voltage you would read on the AD pin would be 2.5 volts.  Since the AD converter measures voltage, what we would really like is for the voltage transfer to be as high as possible.  To get this, we would like the source to be very low impedance and the load to be very high impedance - not a match!  The AD converter (the load) has a very high impedance already, so all we need is for the source (the accelerometer) to be low impedance.  So, a buffer amplifier may be necessary to accurately measure high impedance sources.  If there is a lot of noise around, then it is advisable to slightly lower the impedance right in front of the microcontroller pin with a shunt resistor that is still much larger than the impedance of the source, but less than the impedance of the AD pin.
 
There is one other factor that makes it interesting though.  When the microcontroller is first turned on, the port is a high impedance digital input and if the voltage is allowed to float around somewhere in the middle for a long time (as with debugging), then the CMOS input can partially drive both the N and the P mosfets and can waste power.  I suspect that once I even ruined a port this way, but I'm not quite sure if that's what caused it.  Also - if you set a pin to output then you will have a low impedance load connected to a low impedance source and you will get efficient power transfer between your microcontroller and source and likely destroy both of them.
 
As for sampling frequency, the Nyquist sampling theorem says that you must go at least twice the bandwidth of the signal being sampled.  Any signals that are higher than half the sampling rate will show up as an alias of some lower frequency and will surely corrupt your data.  The way I have most often seen this done is to place a single-pole low pass filter right before the AD input pin and then sample at some frequency more than twice the cutoff frequency of that filter.  That single-pole filter can also act to slightly lower the impedance of the wire between the source and the microcontroller to reduce noise.
 
Ouch, I didn't mean to post such a dry answer.  To make it short, get the source impedance as low as possible, put a medium impedance low pass filter right in front of the pin and sample at over twice the frequency of that filter's cutoff.

Message Edited by rhinoceroshead on 2006-07-03 10:32 AM

0 项奖励
回复

1,669 次查看
vignesh
Contributor I
Hello Rhino,
      Thanks for the reply, Will experiment with a Buffer amplifier. Just completed making the footprint and an evaluation type PCB for MMA7260.
       About the sampling freq, I was planning to sample at around 10 times the signal freq. to get better resolution of the signal. But was not sure as source signal freq. :-)
       The datasheet indicates the Bandwidth response for X & Y is 350Hz, and for Z it is 150Hz, So now thinking of using around 4KHz as sampling freq. But not sure of Impact of internal sampling freq of the sensor (11KHz). My present assumption is that the Internal sampling freq is used to sense the variation in capacitance caused due to vibration, and the sensed data is converted in to voltage later the 1K + 0.1uF Low pass filter removes any noise caused by switching capacitor (as mentioned in datasheet) and the internal sampling freq. Of course the accelerometer seems to have a Filter and some signal conditioning part. Also mentioned in the datasheet is to take care while selecting the ADC sample rate as not to interfere with Internal sampling freq (11KHz).
       As you have mentioned, to observe the Cutoff freq of the low pass filter. I think 4KHz would be fine, though I may be flooded with lots of data (on 8 bit-uC). But right now I intend to analyze the data on a PC, but later hopefully this will be done on an ARM processor.
        Will check with the Oscilloscope ..and see what is shows up ? :smileyhappy:

Hi Roco, had a look at some of the Eval boards and sample ckts Freescale have on the web page. I am not familiar with these controller, the example ckt I saw used MC68HC908KX8 so was guessing that MMA7260 and HC908 are kind-of compatible. :-)  ..by the way, (Off topic) how much will a HC908 series controller cost (if bought from a retail seller), hear a store fellow mentioned a price that is something like 16 Times the price of AT89s52 !!! I guess he dint have it (HC908) and dint want to accept that.
                      Thanks guys..
                      Vignesh Baliga
0 项奖励
回复

1,669 次查看
mauricio2346
Contributor II
hi!.  in this moment i have a little aplication PCB of this accelerometer.   i have a problem:  i have to test it if i have burn in soldering process.    how it should be the output signal on oscilloscope?.   when i test it on my tek 2213A i couldn't find any signal of working, so i tested it with other oscilloscope.  this time the signal was similar to electric noise, every time i moved the accelerometer repeatly.   anybody can help?, how can i test it?
0 项奖励
回复

1,669 次查看
JimDon
Senior Contributor III
What you are seeing sounds right - the signal will seem very noisy, however as you tilt the device, the average level should change.

What gain settings have you set?


0 项奖励
回复

1,669 次查看
mauricio2346
Contributor II
hi.  i've set the g-select1=1 and g-select2=1 (fixed on PCB).  when i tilt the accelerometer the noisy signal changes a little, and a little peak apears sometimes.    i'm thinking that this device burnt.   while i was asking for help in college, a teacher said to me that i can test this sensor mounting it on the shaft of dc motor.   as motor is turning, a signal is generated by the accelerometer (as sine signal).   it would work?
so, i was thinking if there's a kind of amplifier stage to the output signal.   maybe would help.
0 项奖励
回复

1,669 次查看
bigmac
Specialist III
Hello,
 
The g-select setting that you have gives the lowest sensitivity and highest input range (+/-6g).  If both g-select inputs were set to zero, this would give the most sensitive range (+/-1.5g).
 
The easiest way to check the operation of the device is to make a static measurement, using gravity as the source of acceleration in a single direction.  This is actually mentioned in the MMA7260 datasheet.
 
With 0g applied to an axis, its DC output level should be Vdd/2 (+/-10%).  By rotating the device so that gravitational acceleration is applied to a single axis, you should be able to observe the DC output level either increase or decrease, depending on the orientation of the device.  For your current g-select settings, the nominal output variation from 0g to 1g should be 200mV.  For the maximum sensitivity setting, the nominal output variation would be 800mV
 
This test should be done for each of the three axes, in turn.
 
Regards,
Mac
 
0 项奖励
回复

1,669 次查看
rocco
Senior Contributor II
Excellent reply, Rhino.

Just for reference, for what it may be worth, Freescale hooks the MMA1260D and MMA6261Q accelerometers to the MC9S08GT60 ADC inputs with only a 1K series resistor and a 100nF capacitor to ground. I assume the resistor/cap is an anti-alias filter.

I assume that the output of the MMA7260 is the same as on the MMA1260D and MMA6261Q.

This is on the SARD1 board that comes with the ZigBee kit. I have a schematic of the SARD1, but a search of the freescale website did not turn it up.
0 项奖励
回复