Оглавление:

Как построить Cubesat с Arduino и акселерометром: 5 шагов
Как построить Cubesat с Arduino и акселерометром: 5 шагов

Видео: Как построить Cubesat с Arduino и акселерометром: 5 шагов

Видео: Как построить Cubesat с Arduino и акселерометром: 5 шагов
Видео: Балансирующий робот своими руками на ардуино и шаговых двигателях 2024, Ноябрь
Anonim
Как построить Cubesat с Arduino и акселерометром
Как построить Cubesat с Arduino и акселерометром

Нас зовут Брок, Эдди и Дрю. Основная цель нашего класса физики - путешествовать с Земли на Марс, моделируя орбиту вокруг Марса с помощью Cube Sat и собирая данные. Цель нашей группы в этом проекте - собрать данные с помощью датчика акселерометра, который будет прикреплен к нашей Arduino внутри Cube Sat, который будет вращаться по орбите "Марса", чтобы найти гравитационную силу на этой планете. Некоторыми возможными ограничениями для этой конкретной задачи могут быть код, работающий неправильно, акселерометр не собирает данные и предел, который может весить CubeSat. Хотя есть много других, с которыми может столкнуться любой человек, именно с ними столкнулась наша группа. Видео нашего финального проекта и тестирования можно найти здесь https://www.youtube.com/embed/u1_o38KSrEc -Eddie

Шаг 1: Список материалов

Список материалов
Список материалов
Список материалов
Список материалов
Список материалов
Список материалов

ВСЕ ПЕРЕЧИСЛЕННЫЕ МАТЕРИАЛЫ РАБОТАЮТ ВНУТРИ CUBESAT

1. Arduino и кабель питания https://www.amazon.com/Elegoo-EL-CB-001-ATmega328…: arduino разработан, чтобы сделать электронику более доступной для художников, дизайнеров, любителей и всех, кто интересуется созданием интерактивных объектов или сред.

: разрешить подачу питания на ваш Arduino и компьютер и обратно

2. Макетная плата

: плата для изготовления экспериментальной модели электрической схемы.

МАТЕРИАЛЫ, ПРИКРЕПЛЕННЫЕ К ПЛИТНОЙ ПЛИТЕ

1. Акселерометр Arduino

: прибор для измерения ускорения или для обнаружения и измерения вибраций.

2. Модуль SD-карты Arduino

: позволяет добавить в проект запоминающее устройство и регистрацию данных.

3. Провода Arduino

: передает код по всей Arduino и макетной плате

4. Светодиодная подсветка

: светодиод - это небольшой источник света (это означает «светоизлучающий диод»), который работает с относительно небольшой мощностью.

-Рисовал

Шаг 2: Необходимые инструменты и правила техники безопасности

НЕОБХОДИМЫЕ ИНСТРУМЕНТЫ

1. Нож Exacto

- мы использовали точный нож, чтобы вырезать и проследить форму Arduino и макетной платы через пенополистирол, чтобы защитить Arduino и макетную плату в случае аварии

2. Пистолет для горячего клея

- мы использовали пистолет для горячего клея, чтобы приклеить пенополистирол к сторонам нашего Cubesat, чтобы обеспечить безопасность наших Arduino и макетной платы

3. Пенополистирол

- мы использовали куски пенополистирола, чтобы закрепить Arduino и макетную плату по бокам нашего Cubesat, а также обеспечить подушку, если Cubesat уронят или встряхнут.

МЕРЫ БЕЗОПАСНОСТИ

1. Первая мера безопасности, которую мы внедрили, заключалась в том, чтобы не прикасаться к 3D-принтеру, когда он печатал Cubesat. 3D-принтер будет очень горячим, и важно не прикасаться к нему.

2. При использовании ножа для вырезания кусков пенополистирола нам пришлось подкладывать картон под ним, чтобы не повредить столы. нам также приходилось носить очки при использовании ножа на случай, если что-то летит нам в лицо или вокруг нашего рабочего места.

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

4. Как только вы прикрепите Cubesat к орбитальному аппарату, обязательно предупредите людей вокруг орбитального аппарата, что вы будете тестировать ваш Cubesat, и наденьте защитные очки, чтобы убедиться, что все части тела и люди находятся в безопасности.

-Рисовал

Шаг 3: Как:

Как
Как
Как
Как
Как
Как

Как построить CubeSat

1. Чтобы начать процесс построения CubeSat, вам необходимо найти модели CubeSat размером 10x10x10 и иметь под рукой файл STL.

2. Когда вы нашли модель, которая будет безопасно удерживать макет и Arduino, вам необходимо загрузить файлы на флэш-накопитель, чтобы вы могли получить доступ к файлам на 3D-принтере.

3. После того, как нужные файлы будут загружены на флеш-накопитель, вы можете подключить флешку к компьютеру, к которому подключен 3D-принтер.

4. При печати убедитесь, что вы выбрали правильные файлы и все провода, коды и входы правильно подключены между компьютером и 3D-принтером. это обеспечит правильную печать CubeSat и все идет по плану.

5. Назначьте каждому члену группы определенное время для эффективной проверки состояния принтера и CubeSat, чтобы выявить любые проблемы, с которыми вы можете столкнуться. возможность иметь возможность проверять прогресс каждые 2-3 часа, обеспечит достаточную помощь, чтобы исправить любые проблемы и наблюдать за прогрессом, который будет достигнут.

-Эдди

КОД:

#include #include #include #include

const int MPU = 0x68; int16_t AcX, AcY, AcZ, Tmp, GyX, GyY, GyZ; двойной шаг, крен;

Данные файла;

void setup () {

pinMode (10, ВЫХОД); // должен установить вывод 10 на вывод, даже если он не используется; // настраиваем вывод 7 на загорание светодиода SD.begin (4); // запускает SD-карту с CS, установленным на вывод 4 Serial.begin (9600); Serial.println (F («тест BMP280»)); Wire.begin (); Wire.beginTransmission (MPU); Wire.write (0x6B); Wire.write (0); Wire.endTransmission (истина); Serial.begin (9600); } void loop () {Wire.beginTransmission (MPU); Wire.write (0x3B); Wire.endTransmission (ложь); Wire.requestFrom (MPU, 14, истина);

int AcXoff, AcYoff, AcZoff, GyXoff, GyYoff, GyZoff; int temp, toff; двойной t, tx, tf;

// Коррекция данных ускорения AcXoff = -950; AcYoff = -300; AcZoff = 0;

// Температурная поправка toff = -1600;

// Коррекция гироскопа GyXoff = 480; GyYoff = 170; GyZoff = 210;

// считываем данные ускорения AcX = (Wire.read () << 8 | Wire.read ()) + AcXoff; AcY = (Wire.read () << 8 | Wire.read ()) + AcYoff; AcZ = (Wire.read () << 8 | Wire.read ()) + AcYoff;

// считываем данные о температуре temp = (Wire.read () << 8 | Wire.read ()) + toff; tx = temp; t = tx / 340 + 36,53; tf = (t * 9/5) + 32;

// считываем данные гироскопа GyX = (Wire.read () << 8 | Wire.read ()) + GyXoff; GyY = (Wire.read () << 8 | Wire.read ()) + GyYoff; GyZ = (Wire.read () << 8 | Wire.read ()) + GyZoff;

Данные = SD.open ("Log.txt", FILE_WRITE); // открывает файл под названием "Журнал"

// получение тангажа / крена getAngle (AcX, AcY, AcZ);

// отправляем данные через последовательный порт Serial.print ("Angle:"); Serial.print ("Шаг ="); Serial.print (шаг); Serial.print ("| Roll ="); Serial.println (рулон);

Serial.print ("Температура:"); Serial.print ("Температура (F) ="); Serial.print (tf); Serial.print ("| Температура (C) ="); Serial.println (t);

Serial.print («Акселерометр:»); Serial.print ("X ="); Serial.print (AcX); Serial.print ("| Y ="); Serial.print (AcY); Serial.print ("| Z ="); Serial.println (AcZ);

Serial.print ("Гироскоп:"); Serial.print ("X ="); Serial.print (GyX); Serial.print ("| Y ="); Серийный принт (ГрГ); Serial.print ("| Z ="); Serial.println (GyZ); Serial.println ("");

Data.print (шаг); Data.println (рулон);

Data.print (tf); Data.println (t); Data.print (AcX); // записывает данные Acel в файл Data.print (","); // выводит запятую в файл Data.print (AcY); Data.print (","); Data.print (AcZ); Data.print (","); Data.print (GyX); Data.print (","); Data.print (ГрГ); Data.print (","); Data.println (GyZ);

задержка (1000); }

// преобразовываем данные ускорения в высоту тона / крена void getAngle (int Vx, int Vy, int Vz) {double x = Vx; двойной y = Vy; двойной z = Vz;

}

}

КОД (ПРОДОЛЖ.):

-это код, который мы использовали для сбора данных с акселерометра и SD-карты.

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

-У нас долгое время были проблемы с кодом, но приведенный выше код - это последний использованный нами код, который дал нам данные, которые мы использовали для нашей презентации.

-этот код собирает данные с акселерометра и передает информацию на SD-карту.

- SD-карта была вставлена в USB и вставлена в компьютер. оттуда информация была помещена в наш компьютер.

-Брок

ПОДКЛЮЧЕНИЕ ARDUINO:

- при подключении Arduino мы боролись с плохими проводами и Arduino.

- нам пришлось несколько раз исправлять проводку нашего Arduino из-за неправильной проводки.

- чтобы обеспечить правильную разводку и кодировку, убедитесь, что ваши провода полностью закреплены и ваш код обрабатывается правильно.

ДИАГРАММА ФРИТЦИНГА:

- диаграмма фритзинга была простой и понятной.

- мы столкнулись с проблемами со схемой, когда модуль SD-карты не входил в программу фритзинга. из-за этого нам пришлось искать в Интернете загружаемую часть, чтобы включить ее в диаграмму

- мы дополнили диаграмму, включив в диаграмму правильные части и программы

-Рисовал

Шаг 4: результаты / извлеченные уроки

На нашем графике видно явное повышение температуры, вероятно, из-за того, что нагревателю требуется время для достижения максимальной температуры.

В этом проекте мы столкнулись с физикой центростремительной силы, удерживающей CubeSat на орбите.

-Брок

Рекомендуемые: