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

Сборка DCC-командной станции для модельной железной дороги на Arduino с бесплатным приложением

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

SparkFun Arduino Pro Mini 328 - 5V/16MHz 1
LMD18200T (H-мост 3А) 1
Печатная плата (PCB) 1
Линейный стабилизатор 7805 (5В) 1
Зенерный диод 3.6В 0.5Вт (1N4732A) 1
Bluetooth-модуль HC-06 1
Резистор 0.1 Ом 2 Вт (токовый шунт) 1
Конденсатор 220 мкФ 16В 1
Конденсатор 10 мкФ 16В 1
Керамический конденсатор 0.1 мкФ 3
Резистор 10 кОм 2
Резистор 4.7 кОм 1
Клеммник 2-позиционный 3.5 мм 1
Клеммник 6-позиционный 2.54 мм 1
Гнездо 4-пин 2.54 мм 1
Гнездо 12-пин 2.54 мм 2

Приложения и онлайн-сервисы

О проекте

В чем уникальность этой системы? Очень простая электронная схема формирует DCC-сигнал и питание путей, но основную работу выполняет приложение на смартфоне! Мощность процессора телефона используется для формирования пакетов команд DCC, что сильно упрощает задачу Arduino.

Обновления:

Сборка DCC-командной станции для модельной железной дороги на Arduino с бесплатным приложением
Сборка DCC-командной станции для модельной железной дороги на Arduino с бесплатным приложением
Сборка DCC-командной станции для модельной железной дороги на Arduino с бесплатным приложением
Сборка DCC-командной станции для модельной железной дороги на Arduino с бесплатным приложением
Сборка DCC-командной станции для модельной железной дороги на Arduino с бесплатным приложением

Это самая эффективная DCC-командная станция: минимум компонентов, максимальные возможности. Сборка на готовой плате (доступна на eBay) и нескольких деталях. Приложение LocoMotive (бесплатно) работает на Android 4.1+. Совместимо с NMRA-декодерами. Система формирует DCC-пакеты в приложении, отправляет их на Arduino, который комбинирует их с тактовыми сигналами DCC.

Общая стоимость деталей ~£20 (покупка на eBay).

Возможности:

Разработано на базе предыдущих работ по беспроводному DCC. Bluetooth-командная станция связана с приемником на Arduino + HC-06 + LMD18200 (2А).

Шаг 1: Скетч Arduino

Полный скетч во вложении. Основной цикл принимает данные по Bluetooth, декодирует текстовые строки в массивы байтов для формирования DCC-пакетов (3 или 4 байта).

void loop() {
  if (bluetooth.available() > 0) {
    inString = bluetooth.readStringUntil('\n');
  }
  if (inString.substring(0,1) == "D") {
    string(); // парсинг и формирование пакета
  }
  delay(20);
}

Функция string() разбирает строку и заполняет структуру сообщения DCC.

Примеры протокола:

Стандарт NMRA: S-9.2.1

LMD18200 требует DCC-сигнал на 핀 DIR, а PWM зажатым в HIGH.

Шаг 2: Схема Fritzing

Arduino Pro Mini получает данные через HC-06, генерирует NMRA-стандартные тактовые циклы. Прием новых данных прерывает последовательность и обновляет пакет.

Список деталей (помимо платы):

Удлинение антенны HC-06: припаяйте твердый медный провод (от заземления сети) длиной 31.2 мм к антенне модуля. Изолируйте катушкой!

Важно: На плате Rx подключен к Rx модуля, Tx к Tx (не перекресто).

Добавлена защита по току через шунт 0.1 Ом. Arduino измеряет ток на A0 (внутренний опорный 1.1В). При превышении 2А подается HIGH на пин 13 (Brake LMD18200). Ток передается в приложение каждую секунду.

if (C > 2000) { // 2 А
  Serial.println("Over Current");
  digitalWrite(13, HIGH); // Brake
}
void send_c() {
  t = millis() - lastmillis;
  if (t >= interval) {
    bluetooth.write(sensorValue);
    bluetooth.write('c');
    lastmillis = millis();
  }
}

Шаг 3: Android-приложение

Инструкции к полной версии во вложении.

Исходный код (Arduino)

Скетч locomotive_dcc_sep19.ino с поддержкой CV read/write, контроля тока, Bluetooth-протоколом.

// 1 Sep 2019 // sketch for Android App 'Locomotive DCC' using LMD18200 h-bridge
// CV read/write facility added
#include <SoftwareSerial.h>
SoftwareSerial bluetooth(8,9); // RX TX
// ... (полный код во вложении, см. исходный XML)

Код включает: генерацию DCC-сигнала через Timer2 (прерывания), машину состояний для преамбулы/сепаратора/байтов данных, парсинг Bluetooth-команд (D, C, G, A, get, add, V, E), функции программирования CV (reset, page preset, write, verify), измерение тока с усреднением.

Корпус и сборка

Сборка DCC-командной станции для модельной железной дороги на Arduino с бесплатным приложением

Схемы

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

  1. MrRobot: Ubuntu Mobile-приложение для управления роботом Rapiro голосом, касанием и встряхиванием
  2. Автоматизированная барная станция «6-Сhooter» на Arduino — Собираем коктейльный робот своими руками
  3. Цифровые кости на Arduino: генератор случайных чисел с LCD-дисплеем и кнопкой
  4. DIY USB-геймпад на Arduino: собственный высокопроизводительный контроллер
  5. Создание анимации и игр на LCD 16×2 с Arduino UNO
  6. Умные самозавязывающиеся туфли с встроенной сборкой энергии
  7. Измерение расстояния в реальном времени: Ардуино-сонар с визуализацией в Processing
  8. Pixel Chaser: игра на один тап с NeoPixel Ring и Arduino Nano
  9. Бесшовное управление яркостью светодиодов с помощью Bolt IoT и Arduino UNO
  10. Портативная метеостанция на Arduino Nano за $10: DHT22, BMP180 и LCD