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

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


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

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

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

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

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

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

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

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

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

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

РЭ Houston Control Center

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

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

les03

03 Урок. Знакомство маховиком

Модуль УДМ (управляющий двигатель-маховик) (рисунок 1):

Рисунок 1. Модуль УДМ

При движении по орбите многим спутникам требуется точная ориентация определенными гранями в нужном направлении - относительно Земли, Солнца, звезд или как-то иначе. Например, чтобы навестись камерой ДЗЗ на Землю или солнечными батареями на Солнце. На малых же аппаратах для обеспечения заданной ориентации спутника в пространстве относительно центра масс чаще всего используются двигатели-маховики.

Двигатель-маховик - электромеханическое устройство, представляющий собой электромотор с насаженным на его ось вращения колесом. Двигатель вращается, то ускоряясь, то замедляясь, и по закону сохранения кинетического момента, вращается быстрее или медленнее сам космический аппарат. Так как в условиях космоса внешние силы отсутствуют и количество движения не может изменяться, вращение маховика по часовой стрелке приводит к вращению всего космического аппарата против часовой стрелки. Таким образом управляя двигателем и вращением двигателя-маховика мы можем управлять движением вокруг центра масс (по сути, вращением) всего аппарата.

В нашей модели свободное вращение конструктора ОрбиКрафт 3D, и, следовательно, маховика, возможно только вокруг одной оси - вертикальной. Поэтому на одноосный Орбикрафт 3D устанавливается только один маховик ориентации.

Для работы с двигателем маховика используются следующие функции (на языке C):

motor_set_speed ( uint16_t num, float RPM)

Задать скорость вращения маховика. В качестве аргументов функция принимает порядковый номер маховика и скорость в об/мин.

Аргументы

[in] num - номер устройства согласно UniCAN, для маховика с адресом 0xA значение num=0, для 0xB num=1, для 0xC num=2. 
[in] RPM - угловая скорость вращения, об/мин

Следующая функция позволяет запросить текущую скорость маховика:

motor_request_speed ( uint16_t num, float *pRPM)

Значение записывается в переменную pRPM. Единицы измерения: об/мин.

Аргументы

[in] num идентификатор устройства
[out] pRPM угловая скорость вращения, об/мин

Пример кода проверки двигателя-маховика на языке С

Motor_test.c
#include <stdio.h>
#include <stdint.h>
#include "libschsat.h"
 
void control(void){
const int num = 0;	/* motor number #0 */
float rpm = -2000;	/* -2000 ... +2000 */
printf("Enable motor #%d\n", num);
printf("Manage speed motor #%d\n", num);
while (rpm <= 2000) {
	printf("<<< Set speed to %f\n", rpm);
	motor_set_speed(num, rpm);
	Sleep(1);
	rpm += 200;
}
printf("<<< Set speed to 0\n");
motor_set_speed(num, 0);
Sleep(1);
printf("Disable motor #%d\n", num);
}

Эта программа уже загружена в БВМ. Откройте WEB-интерфейс, найдите ее и запустите (рисунок 2):

Рисунок 2. Программа проверки двигателя-маховика на Web-интерфейсе

Запустите программу и протестируйте работу маховика. При запуске программы он разгонится до -2000 об./мин, затем раз в секунду будет уменьшать скорость вращения на 200 об./мин., пока не дойдет до ноля, а затем станет вращаться в противоположную сторону, увеличивая скорость вращения на 200 об./мин. раз в секунду.

Рисунок 3. Пример полученных данных

На случай необходимости экстренной остановки маховика полезно иметь следующую программу загруженную в Орбикрафт 3D.

Motor_stop.c
#include <stdio.h>
#include <stdint.h>
 
void control(void){
    motor_set_speed(0, 0);
}

Просмотр графика скорости вращения маховика

Запустите Houston App и подключитесь к нему по WiFi как рассказано на этой странице.

В этом режиме на вкладке Wheel можно посмотреть график изменения скорости вращения маховика (рисунок 4):

Рисунок 4. График изменения скорости вращения маховика

Пользовательский API

Справочник по пользовательскому API со всеми функциями работы с ОрбиКрафт 3D находится на странице Пользовательский API

les03.txt · Последние изменения: 2023/03/06 12:31 — maria.milkina

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