Форум ModelldepO

Форум ModelldepO (http://forum.modelldepo.ru/index.php)
-   Arduino (http://forum.modelldepo.ru/forumdisplay.php?f=220)
-   -   Z21 своими руками за 1 вечер и ~800 руб. (http://forum.modelldepo.ru/showthread.php?t=17157)

BR95009 27.05.2015 10:13

Z21 своими руками за 1 вечер и ~800 руб.
 
Всем морген, таг, или у кого чего.

Сначала небольшая преамбула.

Очень мне хотелось управлять стрелками на макете с помощью программы z21. Но покупать за 25000 руб эту коробочку сильно душила жаба.

И в этот напряженный момент на одном великом форуме я увидел тему Дмитрия (kudrdima) про использование ардуино в собственных наработках по DCC.

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

Стал копать глубже и нашел прототип эмулятора z21, сделанного на ардуино одним немецким гражданином.

Решил попробовать построить своими силами. Собственно, о том, что получилось, я вам и расскажу.

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

Для начала, несколько слов про Ардуино, кто не в курсе что это такое.

Ардуино - это семейство микроконтроллеров с сопутствующей вселенной акксесуаров, софта и кучей информации по изготовлению любых устройств от умного дома да веселой одежды. Своего рода, электронный конструктор для взрослых и детей.

Основная фишка в том, что собрать сложное электронное устройство сможет человек, очень далекий от электроники и электрики. При этом даже не нужен паяльник.

Продолжение следует...

BR95009 27.05.2015 12:34

Вложений: 1
Продолжаем.

Сначала инфо, откуда "растут ноги".

Само железо работает под управлением софта, написанного г-ом Philipp Gahtow.
http://pgahtow.de/wiki/index.php?title=Eigenbau

Вот его прототип эмулятора z21.

Херр Гатов написал библиотеку XpressNet для ардуино, которая сама по себе является бомбой и позволяет законектить Ардуино с бустером/коммандной станцией со входом XpressNet (X-Bus) через Master или через Slave слоты.

А дальше, собственно, он написал прогу, которая ловит через сеть LAN пакеты от z21 app и передает их по шине X-Bus командной станции, например, Roco 10764.

К сожалению, его скетч оказался не рабочим.

Тогда на просторах интернета я нашел рабочий скетч от господина Маркуса Хеллера. (взятый у Гатова, допиленный, но все равно черз оппу.)

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

// ================================================== ===================:)

Итак.

Первое: мат часть.

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

Для эксперимента вообще вам понадобится: Роко Мультимыш с команд централе 10764 и еще один такой же кабель для подключения z21.

Либо иное устройство со входом XpressNet (X-Bus) Slave.

Для сборки фундерфавли вам понадобится:

1) Arduino Mega 2560. (http://arduino.ru/Hardware/ArduinoBoardMega2560)

Я покупал ее на сайте BangGood

Цена сейчас - 500 руб. с бесплатной доставкой. Была подешевле из-за курса. Купить просто, как в любом инет магазине. Заказывайте сразу две, не прогадаете, аппетит и панкриатит приходят в время еды. :)

2) Ethernet Shield W5100. (http://www.arduino.cc/en/Main/ArduinoEthernetShield)

Я покупал на Ebay за около 300 руб. Вбивайте в поиск на ебее, сотни их.

3) Arduino Protoshield V5 с бредбордом. (https://www.adafruit.com/products/51)

Опять же на Ebay, сотни их по 125 руб. Примерно такой.

У меня вот такой, с мини бредбордом (дырчатая панелька белая)

4) Набор электронных компонентов из чипаидипа.
Ниже есть схема - в принципе мне по ней все в магазине и подобрали.

Вот накладная, где красным указано количество, которое вам понадобится для сборки. Я покупал с запасом.
Вложение 110915


5) WiFi router. Я с дуру купил такой же, как идет в комплекте с родной z21 (WR740N), что бы при отладке исключить ошибки с этой стороны. Но в итоге, думаю, будет работать, если воткнуть в обычный домашний роутер.

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

Если В дальнейшем в проекте - заменить Ethernet Shield на WiFi shield. Тогда, устройство будет вообще автономным, даже по питанию, тк будет питаться от шины X-Bus. (как впросем и сейчас).

6) Проводочки и перемычки.



Теперь о самой схеме подключения и способе сборки...

kudrdima 27.05.2015 13:01

оффтопик

BR95009 27.05.2015 13:25

Вложений: 5
оффтопик

Вот что получается в итоге:

Вложение 110875


Для взаимодействия с шиной X-Bus нам нужно будет собрать RS-485-интрефейс. Это то, что на фото собрано наверху конструкции на белой макетной плате.

У господина Гатова есть 3 схемы:
1) Master
Вложение 110871

2) Slave
Вложение 116295

3) Loconet Master
Вложение 110872

Нам нужна вторая - Slave.

Вот распиновка разъема X-Bus.
Вложение 110874

BR95009 27.05.2015 13:45

Вложений: 5
Далее все что вам нужно, это собрать все, как на фото.

Используются пины 18 и 19 ардуины мега для связи с мх485.

Вложение 110898 Вложение 110878

Это если по простому. Если же вы заинтересовались и готовы на эксперименты, то пойдем дальше.

Для виртуального прототипирования, перед тем как собирать прототип в живую, и не ошибиться, есть великолепная и абсолютно бесплатная программа:

FRITZING http://fritzing.org/download/

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

Все очень интуйтивно, и удобно. Фото, как это выглядит:
Вложение 110899 Вложение 110900

Также возможен варинат с готовым интерфейсом RS485.

Это самое простое подключение:
Вложение 116298

Alexander 27.05.2015 14:24

Интересно, а какая тогда себестоимость z21 ??? Хотя бы примерно.

BR95009 27.05.2015 14:34

оффтопик


А пока небольшое лирическое отступление в сторону философии.

Первое.

Дух Ардуино предполагает бесплатное использование софта, максимальную открытость и GPL лицензии. По этому сразу оговорюсь: никаких коммерческих целей я не приследую, наоборот все наработки будут предельно открыты, с открытыми исходниками, что бы вы могли дальше дерзать сами, в соответствии с духом сообщества Ардуино.

Устройство, которое у меня получилось, это не законченное изделие. Это просто прототип, открывающий перспективы для дальнейших дерзаний.

Например, можно приделать вместо ethernet шилда wifi шилд, добавить OLED дисплей (что я и планирую сделать), и тогда это устройство уже более удобным в использовании, чем оригинальная Z21.

Простор для творчества - в вашем полном распоряжении.


Второе.

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

При постройке устройства, описанного в данной статье, вы должны понимать, что вы делате это на свой страх и риск
.


---------- Сообщение добавлено в 16:34 ---------- Предыдущие сообщение было в 16:29 ----------

Цитата:

Сообщение от BR95009 (Сообщение 251500)
вы не сожжете: Ардуино, шилды, бустер, рокомышь,

Несколько слов об опасности сжечь что то.

Ардуино не имеет защиты от короткого замыкания, переплюсовки и т.д. (как правило, но есть и модифицированные платы, с защитой).

Как ничего не сжечь?

Ответ дан самой природой: каким образом дикобразы занимаются сексом? Очень-очень медленно и осторожно.

Вот прекрасная статья, где описаны 10 верных способов сжечь ардуино.
http://www.ruggedcircuits.com/10-way...oy-an-arduino/

Там по английски, но есть понятные картинки, чего не надо делать.

Я решил эту проблему просто: заказал по 4 ардуины каждого вида и расцениваю их как расходники.

По проводу X-Bus идет DC 12 вольт для питания устройств, этого напряжения тоже нужно опасаться. На схеме показано питание ардуины от этих 12-ти вольт через джампер на пин VIN ардуины.

Все работает, но,например, если вы запитаете ардуину от VIN пина от 12-ти вольт и воткнете также 5 вольт USB кабель (метод №8 в статье выше) , то сможете спалить не только ардуину, но еще и USB порт компа, а то и весь комп.

По этому, делайте все последовательно, медленно и аккуратно.

Продолжение следует...

BR95009 27.05.2015 17:49

Продолжаем.

Важно!
Перед самым началом экспериментов заливаем в Ардуину пустой скеч. Это поставит все пины в режим Input.

Это нужно для того, что бы не спалить ненароком ничего. Кто его знает, что туда залито, и с какие пины будут запитаны при подаче питания.

Как и что куда фтыкать и подключать.

1) В Ардуино Мега 2650 вставляется сверху Ethernet шилд.

2) В Ethernet шилд сверху вставляется протошилд с бредбордом.


Тут есть нюанс...(тыц)


3) Вставляем X-Bus кабель в разъем Slave на ком станции Роко.

4) Вставляем его же в разъем на вашем прототипе.

Тут важно понимать, запитываете вы ваш прототип от шины 12 вольт X-Bus или от USB порта компьютера.

Одновременно это делать нельзя!


Я бы рекомендовал при отладке питать от USB. А при использовании отлаженного прототипа питать от X-Bus провода.

5) Подключаете витой парой ваш WIFI роутер к разъему на Ethernet шилде.
Можете смело использовать инструкцию по настройке роутера с официальной страницы z21.

6) Подключаем ардуино к USB кабелю и к компьютеру. (проверив пункт 4!)

По подключению - пока вроде все. Впереди - руководство по заливке софта.

Shtirlits 27.05.2015 18:35

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

BR95009 27.05.2015 18:40

Не правильно.

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

Компьютер не нужен для работы этого устройсва.



---------- Сообщение добавлено в 20:40 ---------- Предыдущие сообщение было в 20:38 ----------

Все будет. Спокойно.:)

Shtirlits 27.05.2015 19:41

Цитата:

Сообщение от BR95009 (Сообщение 251517)
устройство, позволяющее рулить с айпадов, андроидов и компов дорогой так, как будто у вас родная z21

в этих айпадах андроидах и компах предусматривается эмулятор родной Z21? или симулятор можно назвать?

BR95009 27.05.2015 19:46

На айпадах - z21 app.

На компах- тоже какая нить прога есть наверняка. Еще не смотрел. Тоже есть для андроида.

BR95009 27.05.2015 20:17

Вложений: 1
В аттаче - файл с макетом прототипа для программы Fritzing.

В файле - TX0 и RX0 заведены на Serial0, вам нужно будет перекинуть на TX1 и RX1 пины меги.

Также добавил скриншоты, как это выглядит http://forum.modelldepo.ru/showpost....94&postcount=6

BR95009 27.05.2015 20:35

Вложений: 2
Итак, теперь прееходим к софтверной части.

Предположим, вы все собрали и получили вот такую штуку.

Теперь нужно залить в нее софт.

Начнем с установки среды програмирования для Arduino.

Скачиваем ее тут: http://www.arduino.cc/en/Main/Software

У меня версия 1.6.1.

Установка очень проста, как и сама программа.

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

Подключив Ардуину к компьютеру, вы выбираете в меню программы "Инструменты/Плата/Arduino Mega or Mega 2560".

Нужно будет выбрать порт.

Вот мои скриншоты, как это выглядит у меня:
Вложение 110903 Вложение 110904

yuri60 27.05.2015 20:43

Цитата:

Сообщение от BR95009 (Сообщение 251483)
Основная фишка в том, что собрать сложное электронное устройство сможет человек, очень далекий от электроники и электрики.

Да-а... уж лучше на аналоге катать.:shock: Прочитал всё - чуть *крыша* не поехала , а ведь и не делал ещё ничего.:cry:

BR95009 27.05.2015 20:46

Вложений: 1
Последняя обновленная библиотека и скетч (1.7_fix): Вложение 119526

Скачиваем, распаковываем, папку библиотекой помещаем в папку librarires в папке со скетчами Arduino.

Сам скетч находится в примерах библиотеки. Для его загрузки откройте пункт меню "Образцы/XPressNet/Z21-multimouse-XBus-slave"

BR95009 27.05.2015 20:48

Вложений: 3
оффтопик


Заходим в программу Arduino IDE, выбираем меню "Добавить библиотеку":
Вложение 110906

Ищем на диске папку Xpressnet, выбираем ее, и импортируем библиотеку. Она появляется в списке. (посмотрите скриншот выше, она там уже есть, в самом низу, тк я ее импортировал до этого).
Вложение 110909

Открываем закачанный скеч.

Все готово к заливке.

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

Должно быть все так, как на следующем скриншоте:
Вложение 110908

Ну вот и все.

Ваш эмулятор z21 готов к работе.

Дальше - как все это подключить и настроить.

leon 27.05.2015 21:43

Вложений: 1
Цитата:

Сообщение от yuri60 (Сообщение 251532)
Да-а... уж лучше на аналоге катать. Прочитал всё - чуть *крыша* не поехала , а ведь и не делал ещё ничего.

Слава богу,а то я подумал что я один такой(прошу прощения за флуд)Вложение 110910

BR95009 27.05.2015 21:58

Возможно, из меня писатель не очень. Я постарался дать все максимально детально, что бы вам было проще.

На самом деле, даже для меня это оказалось не сложно, а я диод от теристра отличить не могу и не знаю, что такое ШИМ и закон ома. :)

pandrey 27.05.2015 22:32

Супер! Спасибо за статейки. Очень впечатляет. Завтра же закажу компоненты все :)

technik 27.05.2015 22:33

Цитата:

Сообщение от BR95009 (Сообщение 251546)
диод от теристра

Не обзывай тиристор, а то симистор придет заступаться за брата ;D

Alexander 28.05.2015 06:08

оффтопик

CRISTOFF 28.05.2015 08:31

оффтопик

diarchy 28.05.2015 08:57

Цитата:

Сообщение от CRISTOFF (Сообщение 251565)
Шилды, бредборды, протошилды и т.п. - все эти термины говорят, что без начальных знаний собрать будет очень сложно...


Шилд (Shield) - плата расширения. На сайте http://shieldlist.org/, представлено описание 244 шилдов для Arduino

Бредборд (Breadboard) - макетная плата для монтажа без использования пайки.

Протошилд (Proto Shield ) - макетная плата для монтажа с использованием пайки

Автор топика дал ссылку на хорошую книгу (https://yadi.sk/d/KEJkRSaigu3Dv), в ней можно много интересного узнать.

P.S. Огромное спасибо автору за отличную публикацию.

BR95009 28.05.2015 09:06

Я же написал в начале- ардуино это конструктор, как лего. Оно все одно в другое вставляется.

Самое сложное для меня было спаять переходник с гнезда rs485 на макетку. :)

Ну и собрать правильно на макетке (белая плата с дырками на фото на верху конструкции) радиодетали.

Но для этого я использовал прогу Fritzing, разместив сначала все на компе, программа проверила правильность на соответствие схеме. И все. Дальше осталось воткнуть детальки согласно рисунку из программы.

Поверьте, это не очень сложно и очень интересно.

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

Я вообще не занимался электроникой до этого. А контролеры были для меня чем то из другой вселенной.

За последние 2 недели я сделал прототип декодера для стрелки и сервы, этот эмулятор z21, разобрался, как рулить жд дорогой с помощью него же, посылая команды прямо из ардуины на рокомыш.

И заодно вкрячил lsd дисплей в ру пульт управления, которого там так не хватало.

Так что смелее, ничего сложного там нет.


Текущее время: 17:21. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
Copyright © ModelldepO.ru 2006 -