Автор Тема: Кто-нибудь работает с АТмегой?  (Прочитано 3867 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн 4887

  • Ветеран
  • *****
  • Сообщений: 623
  • Репутация: +12/-0
  • Откуда: Киев
  • Имя: Андрей
Кто-нибудь работает с АТмегой?
« : 09 Сентября 2013, 16:40:54 »
В общем, читал NEM670/671, долго думал, но ничего внятного не нашел. Нет, принципы кодирования сигнала ясны, но нигде нет значения команд. Как управлять локом (включить/выключить свет и т.п.), переключать стрелки? Какие именно команды (байты) шлет рокомышь?Единственное, что пришло в голову - нужно собрать "подслушивалку локоразговоров", другими словами - жучок, почти как у шпионов. Научившись принимать и распознавать пакет данных DCC, можно будет собрать самому аксессуарный декодер. Меня интересует связка стрелка-светофор или несколько стрелок/светофоры, например для двойного съезда. Такой декодер сможет работать (зависит от фантазии) или в полуавтономном режиме или подчиняться командам DCC в составе полноценного гранд-макета (вдруг доживу). Набросал программку распознавания сигнала DCC, но еще не проверил. Не на чем, сначала нужно все спаять на макетке.Я один в этом безумии?

Оффлайн atom8

  • Ветеран
  • *****
  • Сообщений: 542
  • Репутация: +6/-0
  • Откуда: Питер
  • Имя: Александр
Кто-нибудь работает с АТмегой?
« Ответ #1 : 09 Сентября 2013, 17:04:43 »
На нашем форуме - все может быть. Советую обратиться на scaletrainsclub к Онегину или Василию.

Оффлайн kestrel

  • Ветеран
  • *****
  • Сообщений: 2243
  • Репутация: +29/-9
  • Имя: Сергей
Кто-нибудь работает с АТмегой?
« Ответ #2 : 09 Сентября 2013, 17:34:19 »
В большинстве случаев самодельный декодер (учитывая стоимость вашего времени которое вы можете потратить на другое вместо длительного мытарства с отладками) обойдется дороже покупного декодера. Если вы только не поставили себе задачу сделать такой декодер который не будет иметь промышленных аналогов.
Не знаю как Василий, а вот Женя Онегин точно в этом "собаку съел".

Оффлайн ailcat

  • Ветеран
  • *****
  • Сообщений: 1554
  • Репутация: +60/-3
  • Незлобный гоблин
  • Откуда: Москва
  • Имя: Алексей
Кто-нибудь работает с АТмегой?
« Ответ #3 : 09 Сентября 2013, 18:16:27 »
Про время - это точно!
Наш паровоз в тупик летит - в овраге остановка...

Оффлайн t2029

  • Ветеран
  • *****
  • Сообщений: 1196
  • Репутация: +58/-0
  • Откуда: СПб
  • Имя: Дмитрий
Кто-нибудь работает с АТмегой?
« Ответ #4 : 09 Сентября 2013, 19:43:22 »
Можно обратиться к творениям небезизвестного Куфера (opendcc.org). У него есть целых два варианта DCC снифера.

Antonio

  • Гость
Кто-нибудь работает с АТмегой?
« Ответ #5 : 09 Сентября 2013, 21:11:29 »
Arduino mega2560 это то?
есть такое у меня. Декодер сделать можно, но не вижу смысла. А вот написать какую-нибудь прикладную задачу - другое дело.
Например, автоматическая сортировка вагонов. Но это пол-дела.
Другая половина, более серьезная, как это "воткнуть" в систему.

Оффлайн ailcat

  • Ветеран
  • *****
  • Сообщений: 1554
  • Репутация: +60/-3
  • Незлобный гоблин
  • Откуда: Москва
  • Имя: Алексей
Кто-нибудь работает с АТмегой?
« Ответ #6 : 09 Сентября 2013, 23:48:06 »
Цитата: Antonio
Например, автоматическая сортировка вагонов. Но это пол-дела.
Это не пол-дела. Это 98% дела (а на реальной ж/д - и вовсе 99,999%)
Цитата: Antonio
Другая половина, более серьезная, как это "воткнуть" в систему
Это-то как раз достаточно просто (уж если дело идет о паяльнике) - достаточно обособить маневровые пути и реализовать DCC "своими силами".
И пусть система думает, что вся сортировка - это один блок-участок (на вход). Ну, пусть и еще один (на выход).
Закатил поезд на вытяжку, переключил маневровые пути на локальное управление - и гоняй лок по "common"-адресу, пока не разберешь все вагоны. Загнал (вручную) лок на нужный путь с сформирвоанным составом, прицепился - вышел на вытяжку - и "постучался" в систему через датчик занятости (можно с приемником транспондера, чтоб автомаршруты поддерживать), запрося главный ход...
Гораздо проще, чем надежно считывать номер вагона (миниатюрный RFID транспондер с нужным радиусом действия - 1-3 см, не больше и не меньше - искать задолбаешься. А другие варианты ненадежны).
Наш паровоз в тупик летит - в овраге остановка...

Оффлайн ailcat

  • Ветеран
  • *****
  • Сообщений: 1554
  • Репутация: +60/-3
  • Незлобный гоблин
  • Откуда: Москва
  • Имя: Алексей
Кто-нибудь работает с АТмегой?
« Ответ #7 : 09 Сентября 2013, 23:59:28 »
Цитата: 4887
В общем, читал NEM670/671, долго думал, но ничего внятного не нашел. Нет, принципы кодирования сигнала ясны, но нигде нет значения команд. Как управлять локом (включить/выключить свет и т.п.), переключать стрелки? Какие именно команды (байты) шлет рокомышь?
Все четко расписано в разделе 9 и, что важно - в смежных! Правда, там расписано только для "коротких" адресов, когда весь пакет 3-байтовый. И даже команды перечислены. Ссылку в одной из моих тем давал Kestrel...
Цитата: 4887
Я один в этом безумии?
Если бы...
Наш паровоз в тупик летит - в овраге остановка...

Оффлайн 4887

  • Ветеран
  • *****
  • Сообщений: 623
  • Репутация: +12/-0
  • Откуда: Киев
  • Имя: Андрей
Кто-нибудь работает с АТмегой?
« Ответ #8 : 10 Сентября 2013, 00:19:31 »
Перерыв от пайки, да и кухню нужно проветрить, все-таки скоро ужин...На Скэйле прочитал всю ветку, но нужной информации не нашел, задал в личке, жду ответа. Хотя особенно не надеюсь. Как я понял, для тех людей это их бизнес и открывать его кому-попало врядли будут.О времени. У меня нет жестких временнЫх ограничений: это ведь не моя ежедневная обязанность, читай, работа. Это увлечение. А оно всегда приносит удовольствие. Или от результата или от самого процесса. Ведь тут самое главное - чувство удовлетворения от вещи, сделанной собственными руками!О стоимости. Передо мной не стоИт задача переплюнуть массовое промышленное производство дядюшки Лю. Убежден, что собрать один-два декодера (но именно таких, какие нужны мне для конкретной задачи) будет все-таки проще, чем приспосабливать купленное изделие.Что касается творений небезизвестного Куфера (opendcc.org)... Наверное, это здОрово, но там все на Си, а я работаю на Ассемблере.

Antonio

  • Гость
Кто-нибудь работает с АТмегой?
« Ответ #9 : 10 Сентября 2013, 02:58:01 »
Цитата: ailcat
Гораздо проще, чем надежно считывать номер вагона (миниатюрный RFID транспондер с нужным радиусом действия - 1-3 см, не больше и не меньше - искать задолбаешься. А другие варианты ненадежны).
Именно так и делаю. Есть у меня и миниатюрные RFID метки, есть и RFID считыватели размером с 2*2 см. - Но это относится к первой половине "пол-дела".
Она проста, так как нужно просто посидеть и написать алгоритм, точнее приладить готовые программки.Сложнее как данные с Arduino передать в шину DCC.
Я нашел пару способов - через контроллер NCE Minipanel сразу в управляющую шину NCE. Для меня это просто, и в силу ряда причин уже не интересно.
Второй путь запустить LocoNet Sever под управлением JMRI. - читал как делают, но сам не пробовал.

Оффлайн ailcat

  • Ветеран
  • *****
  • Сообщений: 1554
  • Репутация: +60/-3
  • Незлобный гоблин
  • Откуда: Москва
  • Имя: Алексей
Кто-нибудь работает с АТмегой?
« Ответ #10 : 10 Сентября 2013, 14:31:01 »
Цитата: Antonio
есть и RFID считыватели размером с 2*2 см
Только даже они читают метку аж до  10-15 см (как повезет, конечно - могут и с 2 см не прочитать). То есть риск считать метку соседнего вагона (если она мощнее или антенна лучше) - весьма и весьма велик.
Вы уж простите, но был у меня период, когда пришлось столкнуться с подобной задачей - правда, в промышленном объеме. В итоге пришли к печальному выводу, что коробки с линейным - вдоль считывателя - размером меньше 12-15 см можно маркировать только штрих-кодом, потому что даже на небольшой скорости очень часто читалась радиометка чужой коробки.
Цитата: Antonio
Сложнее как данные с Arduino передать в шину DCC
НИКАК.
1) обратная связь в шину DCC не передается (кроме транспондинга - да и то результаты расшифровки ответа отправляются опять-таки не по DCC).
2) в софт проще отдавать по USB или COM (JMRI, как и RC, такой вариант обратной связи поддерживают).
3) проще (и разумнее) поступить именно как я описал выше - создать локальную DCC-станцию и "отсекать" сортировочные пути от магистральных путей. Форматы описаны достаточно подробно. Главное - маневровый лок должен быть с "коротким" адресом, чтобы были простые трехбайтовые командные посылки
Отредактировано ailcat (2013-09-10 10:35:26)
Наш паровоз в тупик летит - в овраге остановка...

Antonio

  • Гость
Кто-нибудь работает с АТмегой?
« Ответ #11 : 10 Сентября 2013, 18:17:04 »
Цитата: ailcat
ожно маркировать только штрих-кодом
Решение по RFID - это и есть модельное решение. Конечно, оно не идеальное, но другого практического (а не теоретического) способа я не вижу.
А для реальной жизни штрих-коды - самое то, тем более, что они изначально и придумывались для вагонов, а потом уже в магазины перебрались. Про шину, это я так, не буквально. Речь шла о том, как команды с выхода Меги передавать на исполнение.
Про пункт 3 в той формулировке, что у Вас, я бы не считал проще (и разумнее). Спорить не могу, так как не могу подкрепить практикой.
Но я нетерпением жду когда у Вас что-нибудь получится и Вы нам это покажете.

Оффлайн ailcat

  • Ветеран
  • *****
  • Сообщений: 1554
  • Репутация: +60/-3
  • Незлобный гоблин
  • Откуда: Москва
  • Имя: Алексей
Кто-нибудь работает с АТмегой?
« Ответ #12 : 10 Сентября 2013, 18:41:04 »
Цитата: Antonio
Речь шла о том, как команды с выхода Меги передавать на исполнение
"В лоб" передавать на ПК с программой через COM или USB. По-моему, проще некуда.
UPD:
вариант с локальной станцией был бы проще - чтоб JMRI "проглотила" сортировку - каждому вагону придется присваивать адрес и прописывать маршрут. В "локальной" DCC можно сделать это в разы проще (чуть не на сдвиговых регистрах)
Цитата: Antonio
Но я нетерпением жду когда у Вас что-нибудь получится и Вы нам это покажете.
Да я сам в шоке от себя. Умудрился перепутать эмиттерный повторитель с открытым коллектором. И долго думал, что же тут не так. Спасибо педевикии - подмогнула :)
По ходу, моя жажда универсальности сыграла со мной одновременно и злую, и добрую шутку - с биполярными светофорами случился обломинго (либо общий анод, либо дорого. В итоге решил "методом Чапаева" - 20-рублевые чип-драйверы с ОК в 2 колодки, а на случай биполярных светофоров - их выдергивать и ставить в те же колодки дорогущую плату-драйвер); а побочным эффектом оказались "лишние" 4 сигнала (2 светодиодных и 2 полумостовых - можно, например, задействовать их для управления переездом посреди перегона).
Осталось изучить саму АТмегу (разбирался только с z80 и пиками, да и то было давненько), и готовиться к сборке в железе...
Отредактировано ailcat (2013-09-10 14:44:14)
Наш паровоз в тупик летит - в овраге остановка...

Оффлайн 4887

  • Ветеран
  • *****
  • Сообщений: 623
  • Репутация: +12/-0
  • Откуда: Киев
  • Имя: Андрей
Кто-нибудь работает с АТмегой?
« Ответ #13 : 10 Сентября 2013, 23:35:21 »
Цитата: ailcat
Осталось изучить саму АТмегу (разбирался только с z80 и пиками, да и то было давненько), и готовиться к сборке в железе...
В ней ничего особенного нет. Мне когда-то по бешеному блату привезли книжку DI Halt - AVR Учебный курс. Там и объяснения есть и примеров достаточно. Можно еще Ревича почитать, весьма неплохо изложено, пожалуй, как и у Халта. Да и в инете информации навалом.

Оффлайн ailcat

  • Ветеран
  • *****
  • Сообщений: 1554
  • Репутация: +60/-3
  • Незлобный гоблин
  • Откуда: Москва
  • Имя: Алексей
Кто-нибудь работает с АТмегой?
« Ответ #14 : 11 Сентября 2013, 03:29:39 »
Цитата: 4887
В ней ничего особенного нет
у Атмела своебразный подход к прерываниям и стеку. Чем-то напоминает реализацию i8080 бухим пианистом, "допиленную" сбрендившим математиком. У PIC'ов было на голову проще и логичнее (на пиках вообще можно было переходы на прерываниях устраивать путем подмены адреса возврата - очень удобно, кстати. И их автокеширование регистров при прерываании - тоже песня!).
Ну и притча во языцах - фьюзы (прекрасный способ превратит чип в кирпич, так и не поняв почему). Впрочем, теоритически это сильная вещь...
В остальном - по описанию вроде камень как камень, ничего особо экзотического (кроме кучи "лишних" команд - впрочем, он вроде как оптимизирован под наприсание программ Си, а не на ассемблере, как пики).P.S. Макулатуры накачал - правда, переводная в формате mobi отсутствует, что есть грустно (с экрана дежавю читать - это жесть)...
Наш паровоз в тупик летит - в овраге остановка...