Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов

Компоненты и материалы

Arduino Due × 1 с https://www.arduino.cc
TFT 3.2" 400x240 SD Touch Module с Shield для Arduino Due × 1 Использовал от Elechouse
RTC DS3231 × 1 Часы реального времени с Ebay
GPS uBlox Neo 6M × 1 GPS-модуль с Ebay
PS2 джойстик для Arduino × 1 Снова с Ebay
Датчик температуры DHT22 × 1 Датчик температуры и влажности
Bluetooth-модуль HC-05 × 1 Bluetooth HC-05 с Ebay
DRV8825 × 2 Драйверы шаговых двигателей
Двигатели NEMA 17 SY42STH47-1684B × 2 44 N·cm крутящий момент
PCB (печатная плата) × 1 Прототипная электронная плата
Ремни и шкивы × 2 2 шкива 40 зубьев, 2 шкива 10 зубьев и ремни для вашей телескопической монтировки
Резистор 1 кОм × 10
Конденсатор 100 мкФ × 1
Электронные компоненты × 1 Провода + Переключатели (x3) + Разъемы (2x5pin для RA & DEC, 12 VDC и USB для программирования)

О проекте

Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов
Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов
Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов
Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов
Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов

Описание

Первый в мире автономный Arduino-базированный телескопический Goto-контроллер.

Все доступные открытые системы управления телескопами либо используют Raspberry Pi, который потребляет много энергии, либо используют Arduino как расширение для компьютера, смартфона или планшета. rDUINOScope — первый автономный Arduino-устройство, позволяющее любителям астрономии наслаждаться ночным небом.

Исходная идея — создать дешевую и простую в сборке альтернативу коммерчески доступным GOTO-продуктам вроде SkyWatcher, Orion, Vixen и других. Таким образом, аппаратная архитектура построена на плате Arduino DUE и дешевых датчиках, доступных на рынке. Инструкции по сборке и руководство пользователя созданы на сайте проекта. В сердце системы — плата Arduino DUE, загруженная программным обеспечением, которое постоянно развивается для добавления функционала.

rDUINOScope с Stellarium:

Детали

rDUINOScope — это открытая, основанная на Arduino Due система управления телескопом (GOTO). Проектируемая как автономная система, rDUINOScope не нуждается в ПК, планшете или телефоне, а также в интернет-соединении для работы и предоставления потрясающих видов!

По сути, в ней есть база данных с ЛУЧШИМИ 250 небесных объектами (каталоги Мессье и Hidden Treasures) и 200 звездами, она рассчитывает их положение на небе и наводит телескоп. Реализованные процедуры выравнивания позволяют получить опыт «всегда в окуляре» при наведении на выбранные объекты, и как только объект в окуляре, система продолжает его отслеживание.

Однако, если вы хотите воспользоваться преимуществами своих электронных устройств, rDUINOScope использует Bluetooth-коммуникацию (беспроводная настройка) для подключения ко всем электронным устройствам и приема команд на основе протокола связи MEADE LX200.

Система работает со шаговыми двигателями всех типов и может быть установлена как на DIY-монтировки, так и на коммерчески доступные продукты вроде SkyWatcher, MEADE, Orion, Vixen и др.

Функциональность:

Что внутри rDUINO SCOPE?

rDUINOScope Github

Инструкции по сборке

Шаг 1 — Подготовка

Прежде чем начать, важно понять, как работает программное обеспечение, чтобы иметь возможность вносить изменения и настраивать его под себя. В конце концов, это одна из самых значительных сил этого проекта!

Для понимания этой части вам нужно скачать код из файлов проекта, вместе с файлами «libraries»... или просто скачать весь пакет с: https://rduinoscope.co.nf/downloads.php. Все указанные номера строк относятся к коду версии V2.1. Boiana EQ.

Вы должны знать, как работает код Arduino. Обычно программа Arduino имеет 2 секции — SETUP() и LOOP(); SETUP() выполняется в начале программы и в основном инициализирует систему; LOOP() — это постоянная функция цикла, которая срабатывает много раз в секунду. Чтобы убедиться, что у нас есть экраны, сенсорный ввод и т.д., и экран не мерцает из-за LOOP(), нам нужно придумать механизм, чтобы Arduino знал, что от него ожидает пользователь. Таким образом, в секции LOOP() вы увидите очень небольшую часть кода, которая только говорит «Consider Touch.. или Consider Time...» и т.д. Остальная активность происходит внутри этих функций, что позволяет нам менять поток программы так, чтобы экраны не обновлялись много раз в секунду.

Вычисления: Я использовал информацию из интернета о том, как рассчитывать положение небесных объектов. Большинство информации я собрал по следующей ссылке: https://www.stargazing.net/kepler/altaz.html — описывает необходимые формулы и подход к расчету часового угла (HA), зная местоположение, текущее время и прямое восхождение (RA) и склонение (DEC) небесного объекта.

Создав код для расчета HA /строка 678: void calculateLST_HA() /, я использовал эту страницу для проверки: https://www.jgiesen.de/astro/astroJS/siderealClock/, а на более поздней стадии, когда добавил БД с объектами Мессье, использовал Stellarium (https://www.stellarium.org/) для тех же проверок.

Главная проблема, которую я обнаружил, была не в самих формулах, а в том, как Arduino обрабатывает типы переменных и, в частности, точность вычислений.

Теперь, когда у нас есть HA и DEC, рассчитанные для данного объекта, мы хотим заставить монтировку навести телескоп, и для этого нам нужно как-то знать, насколько именно должны повернуться моторы. Чтобы добиться успеха, мне нужно знать отношение червяка к шестерне — то есть, сколько оборотов должен сделать червяк, чтобы шестерня сделала 360°. У меня Vixen Super Polaris, и быстрый поиск в интернете كشف, что она использует 144-зубчатую шестерню для валов RA и DEC. Я создал простой Excel-файл (*.XLS - https://rduinoscope.co.nf/downloads/Gears_Stepper_Calculation.xlsx) для расчета того, насколько должны поворачиваться моторы после расчета HA и DEC, и как часто «пускать» моторы для компенсации вращения Земли.

Gears_Stepper_Calculation.xlsx

Та же математическая модель, использованная в XLS, также реализована в коде, поэтому вам нужно просто подставить значения для вашей монтировки в начале кода (строки 34-37).

// ЗДЕСЬ ИДЕТ ИНФОРМАЦИЯ О МОНТИРОВКЕ, ШЕСТЕРНЯХ И ПРИВОДЕ
// ... используется для расчета соотношения HourAngle к микрошагам
// ОБНОВИТЕ ЭТУ ЧАСТЬ СООТВЕТСТВЕННО ВАШЕЙ НАСТРОЙКЕ
// ---------------------------------------------
// NB: RA и DEC используют одно и то же отношение шестерни (144 зуба в моем случае)!
//----------------------------------------------
int WORM = 144;
int REDUCTOR = 4; // редукция 1:4
int DRIVE_STP = 200; // привод шагового двигателя имеет 200 шагов на оборот
int MICROSteps = 16; // буду использовать режим 1/16 микрошага для сидериальной скорости - также определяет НИЗШАЮ скорость.

Теперь, когда мы рассчитали соотношения, код будет знать, насколько поворачивать моторы, чтобы навести телескоп на соответствующие координаты, и какая тактовая частота нужна, чтобы монтировка могла отслеживать объект. Функции, заботящиеся об этом, начинаются на строке 906 и строке 917:

void Sidereal_rate(){ }
void cosiderSlewTo(){ }

Соображения: Знаете, это не готовый потребительский продукт. Он позволяет вам настроить его под свои нужды и поэтому очень гибок, но с гибкостью приходят некоторые недостатки. Я включил этот раздел «Соображения», чтобы убедиться, что они не выпадут из вашего списка дел.

if (SLEW_RA_microsteps > RA_microSteps){
 digitalWrite(RA_DIR,STP_BACK);
 digitalWrite(RA_STP,HIGH);
 digitalWrite(RA_STP,LOW);
 RA_microSteps += RA_mode_steps;
 }else{
 digitalWrite(RA_DIR,STP_FWD);
 digitalWrite(RA_STP,HIGH);
 digitalWrite(RA_STP,LOW);
 RA_microSteps -= RA_mode_steps;
 }

ДЕЙСТВИЕ: Пересмотрите следующие части кода: void consider_Manual_Move(int xP, int yP), void cosiderSlewTo() и void Sidereal_rate().

Планирование действий: Теперь мы достигли точки, где нужно спланировать действия для фактической сборки rDUINO Scope GoTo системы. Приблизительная оценка — вы сможете завершить систему за 2-3 дня, если у вас есть всё необходимое (железо, инструменты и материалы). Мне потребовалось около 4-5 месяцев, учитывая, что я мог работать только ночью (не каждую), и мне пришлось сделать много исследований. Сборка всего вместе заняла примерно:

Шаг 2 — Материалы

Теперь, когда мы знаем, как в принципе работает программа, нужно спланировать закупки и получить необходимые материалы.

Спецификация материалов (BOM): Большинство материалов я покупал у китайских поставщиков в интернете. Некоторые решил купить локально, в основном потому, что они считались хорошими к наличию, и я хотел избежать задержек: GPS, Bluetooth и джойстик. Это обошлось примерно в 190 USD, что действительно мало по сравнению с тем, как дорого стоит купить такую систему у производителей. Список материалов с ценами и местами покупки на сайте проекта: https://rduinoscope.co.nf/rDUINO_step2.html, но список также доступен на этом сайте в разделе «КОМПОНЕНТЫ».

Если вы найдете их дешевле или быстрее — настоятельно рекомендую сделать это.

Дополнительно, в зависимости от вашего дизайна, могут понадобиться: 40-пиновый кабель с разъемами для TFT, пластиковые болты для крепления джойстика, USB-кабель для обеспечения программируемости Arduino Due внутри коробки, вентилятор и другие.

Если у вас этого нет дома (как у меня), вам также нужно купить паяльные материалы, припой, кусачки, цифровой мультиметр и прочее.

Необходимое ПО: Важная часть сборки rDUINOScope — загрузка и установка Arduino IDE и всего связанного ПО (драйверы, определения плат, библиотеки). Следуйте списку ниже для установки на ваш компьютер:

Теперь вы должны иметь возможность скомпилировать код и загрузить его в Arduino Due после подключения Arduino к компьютеру.

Примечание: Если вы не знаете, как работает Arduino IDE и что нужно сделать для программирования Arduino, обратитесь к сайту и урокам: https://www.arduino.cc/en/Tutorial/HomePage

Шаг 3 — Сборка

Для более детальных инструкций посетите сайт проекта: https://rduinoscope.co.nf/rDUINO_step3.html

Теперь время создать щит-плату (Shield board). Это плата с распиновкой, которую вы ставите поверх Arduino DUE. Некоторые компоненты должны быть на этой плате, а некоторые лучше разместить на корпусе. Мой расклад такой:

Как подключить компоненты к ARDUINO DUE:

Компонент .... Аппаратный пин .... Пин Arduino

GPS

RTC

Bluetooth

DHT

Динамик

PS2

Деклинация DRV8825

Прямое восхождение DRV8825

TFT-экран

Правильно... Теперь мы готовы собрать щит-плату. Возьмите прототипирующую PCB и оцените, как ее разрезать, чтобы она держала все компоненты, имела место для проводки и имела распиновку, припаянную так, чтобы её можно было поставить поверх Arduino. Обратите внимание, что вам нужно припаять все пины, используемые Arduino, и соединить их либо с компонентами на щит-плате, либо с разъемом на этой щит-плате, чтобы компоненты, установленные на корпусе, также могли быть подключены.

Ниже фото процесса:

Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов
Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов
Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов

Когда это было сделано, я подключил плату и протестировал щит! Он не работал! :( Я проверил проводку и выяснил, что создал мост между 2 соединениями и мне пришлось это исправить. Обратите внимание, что с этого момента я начал проверять каждую пайку на проблемы, так как мне действительно повезло не сжечь Arduino или что-то еще неправильной проводкой. NB: Убедитесь, что вы проверили все соединения! Следуйте следующей схеме проводки для DRV8825 и приводов моторов, так как это важно.

Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов

Убедитесь, что вы используете подходящий блок питания (12В, 1.6А) и подключаете драйверы моторов ПЕРЕД включением питания! NB: Никогда не подключайте драйверы моторов, когда DRV8825 под нагрузкой — это может сжечь драйверы!

Теперь, когда все компоненты припаяны на месте, я также предлагаю подключить драйверы моторов, загрузить программу в Arduino и протестировать всю установку. Она должна работать без сбоев в этот момент.

Теперь вы должны иметь возможность поиграть с программой и познакомиться с пользовательским интерфейсом. Для помощи с интерфейсом я создал страницу USER'S GUIDE на сайте проекта: https://rduinoscope.co.nf/guide.html

Ваша установка должна выглядеть примерно так:

Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов
Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов

Шаг 4 — Упаковка в корпус

Когда щит-плата готова, возьмите коробку и начните размещать все оставшиеся компоненты и планировать, где нужно сверлить отверстия и какой формы и размера. Лучший способ вырезать отверстия — маленький канцелярский нож (по крайней мере для меня). Неважно, круглое или квадратное отверстие. Легко вырезать маленьким острым ножом.

Единственное исключение — экран, где действительно нужно длинное, ровное и квадратное отверстие. Я попросил помощи, и мой отец сделал это на своих станках.

Когда вы довольны раскладкой и считаете ее выполнимой, начните вырезать отверстия. Это долгий процесс и создает немного беспорядка, но не должен занять больше 2-3 часов. Иногда я использовал дрели, когда нужно было сделать круглые отверстия, например: разъем 12В, разъемы моторов RA и DEC.

Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов

Подготовьте клеевой пистолет и начните клеить компоненты в коробку, как показано ниже:

Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов
Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов
Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов
Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов

Теперь всё подключено и уложено в коробку, кроме компонентов на передней панели. Я решил поставить туда TFT-экран, PS2 джойстик и переключатель Day/Night. Когда я подошел к TFT-экрану, я создал простое ленточное кабельное соединение с male и female разъемами и подключил его к экрану. Однако это не сработало! Причина в том, что пины зеркалировались, и TFT-экран перестал работать. Таким образом, я решил решить проблему с помощью некоторых сложных преобразований 2D в 3D и разобраться с разъемами, которые у меня были с ленточным кабелем.

Коротко о длинном: Это не ракетостроение, но дало мне немало хлопот, пока я не нашел решение. Некрасивое решение, но оно работало и работает уже год. Ниже вы можете увидеть, что я имею в виду.

По сути, то, что вы видите здесь:

Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов
Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов
Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов

Это сработало как часы и позволило мне закончить коробку!

Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов
Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов
Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов
Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов
Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов
Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов

Шаг 5 — Немецкая экваториальная монтировка

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

Я использую Vixen Super Polaris 80-х годов, и нижеприведенный метод работает для него. Напоминаю, что решения, принятые вами в ШАГЕ 1, где вам нужно было изменить значения в коде, теперь повлияют на нашу работу. Ниже вы можете увидеть мою настройку шкивов и ремней.

Я купил 2 комплекта для своей настройки. Я просто не был уверен, как это сработает, и поэтому купил комплект с редукцией 1:4 и комплект с редукцией 1:3. Размер ремня также должен быть разным, потому что редукция влияет на расстояние между шкивами. Признаю, что с хорошим планированием и дизайном можно решить заранее, как действовать, и сэкономить деньги, но я спешил. Мне нужно было заставить это работать!

Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов

После того как шкивы, ремни и монтировка оказались передо мной, я решил, что лучший подход для меня — использовать редукцию 1:4, потому что всё идеально вписывалось на монтировке, и начал работать над корпусом мотора. Через полдня у меня получилось это:

Я протестировал всю установку и должен был внести изменения в ПО (обновить значения переменных до 4 на строке 35), чтобы они отражали мое окончательное проектное решение. Протестировал снова — всё работало как часы.

Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов
Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов

Мне пришлось подождать хорошую звездную ночь, чтобы 제대로 протестировать, но пока ждал, я понял, что что-то не так!

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

Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов

Наконец, мой rDUINOScope Vixen SP выглядит так, как я чувствую, что он должен выглядеть — как Ferrari!

Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов
Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов
Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов

Файлы

Код

Фрагмент кода #1 (Plain text)

// ЗДЕСЬ ИДЕТ ИНФОРМАЦИЯ О МОНТИРОВКЕ, ШЕСТЕРНЯХ И ПРИВОДЕ
// ... используется для расчета соотношения HourAngle к микрошагам
// ОБНОВИТЕ ЭТУ ЧАСТЬ СООТВЕТСТВЕННО ВАШЕЙ НАСТРОЙКЕ
// ---------------------------------------------
// NB: RA и DEC используют одно и то же отношение шестерни (144 зуба в моем случае)!
//----------------------------------------------
int WORM = 144;
int REDUCTOR = 4; // редукция 1:4
int DRIVE_STP = 200; // привод шагового двигателя имеет 200 шагов на оборот
int MICROSteps = 16; // буду использовать режим 1/16 микрошага для сидериальной скорости - также определяет НИЗШАЮ скорость.

Фрагмент кода #3 (C/C++)

if (SLEW_RA_microsteps > RA_microSteps){
 digitalWrite(RA_DIR,STP_BACK);
 digitalWrite(RA_STP,HIGH);
 digitalWrite(RA_STP,LOW);
 RA_microSteps += RA_mode_steps;
 }else{
 digitalWrite(RA_DIR,STP_FWD);
 digitalWrite(RA_STP,HIGH);
 digitalWrite(RA_STP,LOW);
 RA_microSteps -= RA_mode_steps;
 }

GitHub

https://github.com/dEskoG/rDUINOScope

Схемы

Как подключить шаговые моторы и DRV8825 и соединить их с Arduino DUE

Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов

Как подключить все датчики и соединить с Arduino DUE

Набор проекта Arduino Due: TFT, GPS, RTC, датчики, Bluetooth и джойстик — полный список компонентов

Производственный процесс

  1. Высокоскоростная фотография капель воды на Arduino Nano — DIY-триггер для вспышки
  2. Сборка Bluetooth-робота-шпиона на Arduino с управлением с телефона
  3. FlickMote: жестовое IR-пульт для умного дома на Arduino 101 и ультразвуковом датчике
  4. DIY Arduino TV-B-Gone: универсальный пульт для выключения любого телевизора
  5. Создание пользовательских LED-часов с будильником — видно с 12 метров
  6. JX Wave Generator — Генератор сигналов на Arduino с DDS AD9833 и OLED-дисплеем
  7. Find Me: Умный поисковик вещей на Arduino и Bluetooth
  8. Оптимизированные решения питания для проектов на Arduino
  9. Сборка DIY VR-скейтборда на Arduino, Google Cardboard и Bluetooth
  10. Подключение Arduino Mega к GPS-модулю NEO‑6M: пошаговое руководство