les08 [ОрбиКрафт 3D]

Инструменты пользователя


Боковая панель

Назначение ОрбиКрафт 3D

Сборка ОрбиКрафт 3D

Интерфейсы конструктора ОрбиКрафт 3D

Работа с ОрбиКрафт 3D по УКВ

Работа с ОрбиКрафт 3D по Wi-Fi

Работа с ОрбиКрафт 3D через WEB-интерфейс

Полезная нагрузка на базе Arduino

ОрбиКрафт 3D (трехосный) на стенде полунатурного моделирования

Среда разработки

РЭ Houston Control Center

Лабораторная оснастка

Обратная связь

les08

08 Урок. Калибровка датчика угловой скорости (ДУСа)

Код на C.

gyro_calib.c
#include <stdio.h>
#include <stdint.h>
#include "libschsat.h"
 
void control(void){
 
    float gyro_x = 0, gyro_y = 0, gyro_z = 0;
    uint16_t tmp=0;
 
    Sleep(1);    
    gyro_set_offset(tmp, gyro_x, gyro_y, gyro_z);
    Sleep(1);
    gyro_request_raw(tmp, &gyro_x, &gyro_y, &gyro_z);
    printf("Before fix: %f %f %f", gyro_x, gyro_y, gyro_z);
    Sleep(1);
    gyro_set_offset(tmp, gyro_x, gyro_y, gyro_z);
    Sleep(1);
    gyro_request_raw(tmp, &gyro_x, &gyro_y, &gyro_z);
    printf("After fix: %f %f %f", gyro_x, gyro_y, gyro_z);
    uint8_t data[0];
    send_unican_message(25, 2656, data, 0);
}

Код на Python

gyro_calib.py
from libschsat import Libschsat
import time
 
lib=Libschsat()
 
time.Sleep(1)
lib.gyroSetOffset(0, 0, 0)
time.Sleep(1)
gyro_x, gyro_y, gyro_z=lib.gyroRequestRaw(2)
print('Before fix' + str(gyro_x) + ';' + str(gyro_y) + ';' + str(gyro_z))
lib.gyroSetOffset(gyro_x, gyro_y, gyro_z)
time.Sleep(1)
lib.gyroRequestRaw(gyro_x, gyro_y, gyro_z)
print('After fix' + str(gyro_x) + ';' + str(gyro_y) + ';' + str(gyro_z))
lib.sendMsgAndWaitAnswer('0xA60','0xF','0x19',0,[],'0x118')
les08.txt · Последние изменения: 2022/11/25 18:38 — ekaterina.manucharova

Инструменты страницы