Matlab - MPU6050 CAPTURA DE DATOS EN TIEMPO REAL

 
Vista:

MPU6050 CAPTURA DE DATOS EN TIEMPO REAL

Publicado por MPU6050 (2 intervenciones) el 23/09/2019 05:16:59
Bueno, me encuentro desarrollando un proyecto con el cual deseo capturar datos del sensor MPU6050, lo estoy realizando en un guide, pero las gráficas de aceleración que me dan son muy extrañas, ya que no muestran una curva si no un trazo extremo, es decir si inclino el sensor un poco la curva va hacia arriba hasta un límite y si lo giro al lado opuesto vuelve y baja de la misma forma.

Revisé en los registros pero no encuentro como puedo suavizar eso, ya que el código que se utiliza en arduino ha una curva mucho más apropiada.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
function pushbutton2_Callback(hObject, eventdata, handles)
set(handles.uipanel3,'visible','on');
a=arduino;
mpu=i2cdev(a,'0x68'); %mpu adress is normally 0x68
writeRegister(mpu, hex2dec('6B'), hex2dec('00'), 'int16'); %reset
 
n=300; %cycles
data=zeros(n,14,'int8'); %prelocating for the speed
j=1;
a1 = animatedline(handles.axes1);
a2 = animatedline(handles.axes2);
a3 = animatedline(handles.axes3);
while(j<=n)
    x=1;
    for i=59:72 % 14 Data Registers for Accel,Temp,Gyro
        data(j,x)= readRegister(mpu, i, 'int16');
        x=x+1;
    end
    Acel=swapbytes(typecast(data(j,:), 'int16'));
 
    addpoints(a1,j,double(Acel(1)));
    addpoints(a2,j,double(Acel(2)));
    addpoints(a3,j,double(Acel(3)));
    j=j+1;
    drawnow limitrate
    pause(0.0001);
end
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JESUS DAVID ARIZA ROYETH
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

MPU6050 CAPTURA DE DATOS EN TIEMPO REAL

Publicado por JESUS DAVID ARIZA ROYETH (1818 intervenciones) el 23/09/2019 13:30:06
verifica los datos en el puerto serie del software de arduino y mira si se están transmitiendo con los mismos valores,. porque al parecer no.

esto lo puedes agregar con Serial.print()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

MPU6050 CAPTURA DE DATOS EN TIEMPO REAL

Publicado por Carol Sanchez (2 intervenciones) el 23/09/2019 15:32:02
Es justo ese el problema, aunque estoy revisando los mismo registros del sensor en los dos programas en matlab no me toma los datos de una forma fluida solo va de un extremo a otro.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar