【PMD2018】通電テストOK<ようやく実験にはいれる>

クランク用Xbee基板の通電テストOKとなって、シリコン充填剤を塗布して完成となりました。

LT1167のゲインRG抵抗は、差し替えできるようになってますが、とりあえず100Ωの抵抗をさしてあります。

●クランクのベクトル力をキャリブレーションするために作った
i-Tensionの基板と通電テストもOKとなりました。

 

●動作テストプログラム
秋月のS字ロードセル圧縮方向が出力がでなくて、オーバーフローになってしまいました。中華ロードセルだとそうはならないのですが、E+とE-の抵抗がゼロΩになってして何か回路が普通のロードセルと違っている感じがします。
NUCLEO F446REのプログラムは下記です。
IMUはMPU6050 or 9020にしました。(LSM9DS1より余っているので)

#include “mbed.h”
#include “HX711.h”
#include “MPU6050.h”
#define pi 3.141592
MPU6050 mpu;int16_t ax, ay, az;
int16_t gx, gy, gz;
//DigitalOut gpo(D0);
//DigitalOut led(LED2);
HX711 scale1(PA_6,PA_5);//(DATA,CLOCK)
HX711 scale2(PA_8,PA_7);//(DATA,CLOCK)
HX711 scale3(PA_10,PA_9);//(DATA,CLOCK)[
HX711 scale4(PB_4,PB_3);//(DATA,CLOCK)
HX711 scale5(PB_2,PB_1);//(DATA,CLOCK)
HX711 scale6(PA_12,PA_11);//(DATA,CLOCK)
//HX711 scale7(PB_14,PB_13);//(DATA,CLOCK)
HX711 scale8(PC_2,PC_3);//(DATA,CLOCK)
//AnalogIn scaleRaw(A3);
Timer timec;
Serial pc(USBTX, USBRX); // USB Serial Terminal

float calibration_factor = 1000; //-7050 worked for my 440lb max scale setup
int averageSamples =1;
float ti=0;
int main(void)
{
pc.baud(115200);
pc.printf(“MPU6050 test\n\n”);
pc.printf(“MPU6050 initialize \n”);

mpu.initialize();
pc.printf(“MPU6050 testConnection \n”);

bool mpu6050TestResult = mpu.testConnection();
if(mpu6050TestResult) {
pc.printf(“MPU6050 test passed \n”);
} else {
pc.printf(“MPU6050 test failed \n”);
}
while (true) {

timec.start();
wait(0.2);
mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
//writing current accelerometer and gyro position
double ang_yx=atan2((double)ay,(double)ax)*180/pi;
double ang_yz=atan2((double)ay,(double)az)*180/pi;
double ang_zx=atan2((double)az,(double)ax)*180/pi;
//if (ax<0 && ay>0){ang=ang+180;}
//if (ax<0 && ay<0){ang=ang+180;}
//if (ax>0 && ay<0){ang=ang+360;}

float weight1 =scale1.getGram();
//wait(0.02);
float weight2 = scale2.getGram();
//wait(0.02);
float weight3 = -scale3.getGram();//FP3マイナス
//wait(0.02);
float weight4=scale4.getGram();
//wait(0.02);
float weight5= -scale5.getGram();//Fyマイナス
//wait(0.02);
float weight6= scale6.getGram();
//wait(0.02);
float weight8= scale8.getGram();
timec.stop();
ti=timec.read();
float zero=0;

pc.printf(“%4.0f,%4.0f,%4.0f,%4.0f\n\r”,weight8,ang_yx,ang_yz,ang_zx);
//timec.reset();
//wait(0.1);
}

}

●以後
明日以降、i-Tensionのベクトル力校正してから、クランクのベクトルがでるか実験していきます。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です