He estado haciendo unas pruebas con los acelerometros de Freescale MMA6262Q y MMA6233Q. Tanto el acelerometro de 1'5 como el de 10 gravedades y funcionan a una tension comprendida entre 2.7 y 3.6v asi que he seguido los pasos de los Datasheet's para construir el circuito e intentar minimizar el prototipo al maximo.
He construido un pequeño circuito/adaptador para poder probar los dispositivos en mis aplicaciones o en cualquier board o circuito, lo que he hecho es adaptarlo al estandar DIP.

Antes de continuar tengo que agradecer a Manolo "Nocturno" que me ha facilitado el package del MMA6262Q para EAGLE, de esta forma que he diseñado el fotolito y he empleado material SMD para su elaboracion... ha quedado como se ve a la derecha. Seguidamente y utilizando el metodo tradicional de insolado de placas, ha quedado un circuito bastante limpio pero a la vez muy diminuto.
En la imagen podeis ver como es el MMA6262Q apoyado en el euro y las dimensiones globales del adaptador (aun queda lijarle los bordes ). Para soldar los componentes he utilizado la estacion de soldadura que tengo aplicandole aire caliente y calentando el pcb. He utilizado este soporte para circuitos con lupa al que yo llamo "soporte para circuitos diminutos", un lapiz de flux y uno de limpiador.


Para poder utlizar este adaptador he colocado bajo unos terminales de pin y asi se puede "pinchar" en cualquier board de pruebas o ponerlo sobre un zocalo DIP en nuesta aplicacion.
MATERIALES
- 2- Resistencias SMD de 1K (1206)
- 3- Condensadores de 100nf (1206)
- 1- Acelerometro bi-axial (x,y) MMA6262Q

program Acelerometro
'Programa acelerometro *********************************************************
'Este codigo recorre los 180º de rango del servo cuando desplazamos en X e Y el
'acelerometro MMA6262Q, la version es de Mikrobasic 7.0.3 (beta)
'
'Creado y verificado por: Julio Montagut
'Web: http://www.jvmbots.es
'
'Valores recogidos en modo analogico (8 bits):
' Horizontal: 76.77
' Minimo: 39
' Maximo: 115
'
'-HARDWARE:
' MCU: PIC 18F452
' Cristal: 4 Mhz
' 1- Servo Futaba S3003 conectado a PORTB.0
' 1- Servo Futaba S3003 conectado a PORTB.1
' - Canal X del MMA6262Q conectado a PORTA.0
' - Canal Y del MMA6262Q conectado a PORTA.1
'*******************************************************************************
dim VAD1, VAD2 as word
AD1, AD2 as byte
Tmp1, Tmp2 as byte
Tmp1A, Tmp2A as byte
aa as byte
'Sub-rutina para generar pulsos a los servos 0-255
Sub procedure Pulsout(dim byref Puerto as byte,dim Pin as byte,dim Pos as Byte)
Setbit(Puerto,Pin)
Delay_Cyc(Pos)
Clearbit(Puerto,Pin)
End sub
main:
ADCON1 = $80 ' Configuracion analogica y Vref
TRISA = $FF ' PORTA como entradas
TRISB=0 ' PORTB como salidas
'Inicializacion
PORTB=0
Tmp1=0x7F
Tmp1A=0x7F
Tmp2=0x7F
Tmp2A=0x7F
while TRUE
'Lectura analogica (10 bits)
VAD1 = Adc_Read(0)
VAD2 = Adc_Read(1)
'Conversion de 10 a 8 Bytes del conversor AD
AD1= byte(VAD1 >>2)
AD2= byte(VAD2 >>2)
'Coeficiente de escala para el recorrido completo
Tmp1=((AD1*2)-20)
Tmp2=((AD2*2)-20)
'Corrector del Margen de vibracion
If (Tmp1<(Tmp1A-2)) or (Tmp1>(Tmp1A+2)) then Tmp1A = Tmp1 end if
If (Tmp2<(Tmp2A-2)) or (Tmp2>(Tmp2A+2)) then Tmp2A = Tmp2 end if
'Envio a los servos
For aa=0 to 2
Pulsout(PORTB,0,Tmp1A) 'Enviamos el tren de pulsos para el servo1
Pulsout(PORTB,1,Tmp2A) 'Enviamos el tren de pulsos para el servo2
Delay_ms(20)
Next aa
wend
end.





