Перейти до змісту

Рекомендовані повідомлення

Дублёр очень хорош. Какая порода?
Посилання на коментар
https://forum.zdsimulator.com/topic/58-rail-driver-trenazher-mashinista/page/15/#findComment-75126
Поділитись на інші сайти

А я и не знаю даже. 3 года назад взяли по объявлению на Авито и теперь вот "ездит" со мной периодически :)
Посилання на коментар
https://forum.zdsimulator.com/topic/58-rail-driver-trenazher-mashinista/page/15/#findComment-75140
Поділитись на інші сайти

RUSHPIL

А корпус сами делали или покупали?

Посилання на коментар
https://forum.zdsimulator.com/topic/58-rail-driver-trenazher-mashinista/page/15/#findComment-75397
Поділитись на інші сайти

Три сообщения назад ясно сказано — корпус покупной.
Посилання на коментар
https://forum.zdsimulator.com/topic/58-rail-driver-trenazher-mashinista/page/15/#findComment-75399
Поділитись на інші сайти

  • 3 тижня через...
Обновился до версии 53.004, проблема все та же. При ручной передаче в терминал все отлично, но данные из сима не идут.
Посилання на коментар
https://forum.zdsimulator.com/topic/58-rail-driver-trenazher-mashinista/page/15/#findComment-76195
Поділитись на інші сайти

проблема все та же

 

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

 

Тестовая сборка: http://my-files.ru/5x02r2

Посилання на коментар
https://forum.zdsimulator.com/topic/58-rail-driver-trenazher-mashinista/page/15/#findComment-76458
Поділитись на інші сайти

Ну что-же, тест шаговых двигателей пройден, но результат немного не порадовал. Использовались двигатели 28byj-48.

1. Редуктор двигателей 1/64, что для приборов немного медленно.

2. Люфт двигателей дает вранье на 2-3 км/ч

3. 6 приборов, сидящих на 1-ой Atmega16, дают дрожание стрелок, играть конечно можно, но в идеале каждый прибор должен иметь свой контроллер, пускай даже Attiny2313. Быстродействие процессора тут ни к чему, потому-что он ждет паузы между шагами, у этого двигателя они составляют аж 3300 us в полношаговом режиме.

Ну а так вроде-бы ничего. Надо будет дособирать 2-ой блок с амперметрами и лампами и посмотрим.

видео https://drive.google.com/open?id=0BxL2Uty_fV1fV2F1VGpNcTQxU0U

фото https://drive.google.com/open?id=0BxL2Uty_fV1fMm9yNFJaRk5WVDA

примерная схема с исходником https://drive.google.com/open?id=0BxL2Uty_fV1fTTdTenE4bXNQMGM

Посилання на коментар
https://forum.zdsimulator.com/topic/58-rail-driver-trenazher-mashinista/page/15/#findComment-76554
Поділитись на інші сайти

Отлично выходит!

Жаль, что редко появляетесь.

Я по своей наивности тоже обманулся с 28byj-48. Не проведя никаких тестов заказал 6 штук с Али. Один у меня валялся до этого. И вот пока они шли с Китая я начал тестить возможность их применения на одном таком двигателе. Крутил на полушаге согласно спецификации. Естественно убил меня первым делом люфт. На моей шкале это вылилось враньем в 0,2 кгс/см*2. Во воторых обязательное применение ULN2003 и ток потребления всего этого дела. На скорость пожаловаться не могу, т.к. крутил только одним мотором варьируя паузу между переключениями портов для коммутации обмоток. В итоге, почитав изыскания виртуальных пилотов, остановил свой выбор на шаговом двигателе X27.168 для приборных панелей автомобилей:

http://savepic.net/8438846m.jpg

 

Потребление в 20 мА дает возможность подключаеть его непосредственно к микроконтроллеру. Режим полушага состоит из 6 переключений портов (против 8 переключений у 28byj-48). Отсутствие люфта, подобного у 28byj-48. Размеры и масса меньше. Вал около 1 мм в диаметре, что удобно для насаживания стрелок.

Я заказал один на Али. Поэкспериментировал и мне он понравился. Заказал еще 6 штук. Пока идут прикидываю, как это всё дело будет управляться. Идея в том, что данные с компа приходят в головной контроллер по UART. На каждый мотор (читай МАНОМЕТР) будет свой контроллер на Atmega48pa. Головной контроллер раздербанивает строку, пришедшую с компа, на фрагменты с нужными параметрами, переводит эти параметры из формата строки в числовой формат и по SPI отсылает их в контроллеры управления шаговиками. Они в свою очередь по прерыванию SPI считывают эти параметры и в основном цикле крутят вправо или влево в зависимости от сравнения пришедшего параметра с переменной-счетчиком.

 

Еще у летчиков-виртуальщиков подглядел замечательную идею для датчиков начального положения. Идея в том, что датчиков этих НЕТ. Контроллер запитывается через обычный диод. За диодом ставим фильтрующий конденсатор на 4700 мкФ. Перед диодом шину питания заводим на ногу компаратора микроконтроллера через делитель. В итоге:

при пропадании напряжения (его снижении) перед диодом компаратор уловит этот момент и вызовет прерывание, в обработчике которого мы сохраним значение переменной, отвечающей за положение стрелки, в EEPROM. В момент просадки напруги (отключения питания) процесс сохранения в EEPROM обеспечит конденсатор, стоящий после диода. Таким образом при следующем включении питания читаем из EEPROM и приравниваем переменную отклонения стрелки к сохраненному значению до отключения и даём понять микроконтроллеру, с какого места нам плясать надо.

 

Поэтому 6 моторов 28byj-48 теперь пылятся на столе. Жду X27.168.

 

Вот тут пара тем с форума немецких коллег по цеху. Правда там речь об ихнем симулятору Zusi, но задачи ставят аналогичные. Тоже реализация на шаговиках:

http://forum.zusi.de...hp?f=25&t=13044

http://forum.zusi.de...hp?f=25&t=12360

 

Несколько вопросов:

 

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

Быстродействие процессора тут ни к чему, потому-что он ждет паузы между шагами, у этого двигателя они составляют аж 3300 us в полношаговом режиме.

 

1. Почему не на полушаге? Плавность и точность значительно выше.

 

2. Я не силён в Cи, поэтому хочу спросить про алгоритм по обработке шаговиков. Шаговики обрабатываются последовательно в основном цикле?

 

3. Самый главный - Вы значение уравнительного резервуара брали из:

 

1.

http://savepic.net/8391742m.jpg

 

ИЛИ

 

2.

http://savepic.net/8390718m.jpg

 

Никак не могу найти адрес хранения значения УР, которое отображается на блоке индикации КЛУБ. Вот то, что на первом рисунке нашел. Но мне надо значение, которое на втором скрине. У Вас как с этим дела обстоят?

Змінено користувачем Vivan755
Посилання на коментар
https://forum.zdsimulator.com/topic/58-rail-driver-trenazher-mashinista/page/15/#findComment-76572
Поділитись на інші сайти

Мне кажется напрямую к контроллеру не надо, все-таки индукция, пусть и не большая может дать глюк. А без датчиков нуля мне кажется не обойтись, иначе любой пропуск шагов, мусор в передаче данных, сбой EEPROM приведет к потере нуля. Кстати UART надо подтягивать к 5 В, иначе 3.3 В с переходника USB-UART на длинных проводах у меня глючили.

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

2.

3. В двух словах не скажешь, написал отдельно. https://drive.google.com/open?id=0BxL2Uty_fV1faldGM3VybDlsYzA

Посилання на коментар
https://forum.zdsimulator.com/topic/58-rail-driver-trenazher-mashinista/page/15/#findComment-76589
Поділитись на інші сайти

Ещё раз просьба ко всем — вражеских обозначений не использовать. 4700 мкФ — это 4700 мкФ, 3,3 В — 3,3 В, с разделением пробелом и русскоязычными единицами. Основные языки форума — русский и украинский.

Никто не использует микроамперметры? Никаких нулей ловить не надо, на ШИМ цепляются отлично, пусть и погрешность определённая есть, но она ерундовая.

Посилання на коментар
https://forum.zdsimulator.com/topic/58-rail-driver-trenazher-mashinista/page/15/#findComment-76591
Поділитись на інші сайти

Проблема как всегда с моей невнимательности, запускал не из Program Files и не под админом. Так что смело заявляю, работает все, система Win 8.1 x64, Arduino UNO R3, сим 53.004. Правда есть один нюанс, либо в дисплее, либо в коде ардуины. Не выводит старший разряд значения следующего ограничения скорости (на третьем скрине Sp3=43. вместо 143).

 

 

1.

http://savepic.net/8422493.jpg

 

 

2.

http://savepic.net/8425565.jpg

 

 

3.

http://savepic.net/8415325.jpg

 

 

P.S.

Если тут еще есть те, кто не знает формат вывода данных в UART, то вот что удалось расшифровать:

http://savepic.net/8425562.jpg

 

 

http://savepic.net/8405085.jpg

 

 

Единственное, что не могу понять, предназначение трех нулей в конце. В ходе поездки никак не менялись, на дисплей не выходят. Дело за "малым", разделить строку на переменные и строить приборную панель :rolleyes:

P.P.S Автору сего чуда огромное спасибо за возможность осуществить давнюю мечту!

Змінено користувачем moskal.il
Большие картинки прячьте под спойлер.
Посилання на коментар
https://forum.zdsimulator.com/topic/58-rail-driver-trenazher-mashinista/page/15/#findComment-76592
Поділитись на інші сайти

Что уже на дисплее отображается скорость, давление и километраж? Где скачать код или программу? А то дисплей светится, но без показателей.
Посилання на коментар
https://forum.zdsimulator.com/topic/58-rail-driver-trenazher-mashinista/page/15/#findComment-76605
Поділитись на інші сайти

Где скачать код или программу?

 

Все, что выводит и принимает данные взято отсюда

Тут версия, в которой организован вывод и на светодиоды и на дисплей. http://rghost.ru/7bR6yTSvD
Посилання на коментар
https://forum.zdsimulator.com/topic/58-rail-driver-trenazher-mashinista/page/15/#findComment-76633
Поділитись на інші сайти

Мне кажется напрямую к контроллеру не надо, все-таки индукция, пусть и не большая может дать глюк.

Я ничего не заметил при тестах. У в авиасимуляторщиков тоже напрямую подключены. Посмотрим...

 

В двух словах не скажешь, написал отдельно. https://drive.google...aldGM3VybDlsYzA

 

Благодарю за такой развернутый ответ!

 

if(UR>count_motor2)

{

motor2_right();

}

Это условие для выхода на подпрограмму motor2_right()? После выполнения подпрограммы возвращаемся обратно, так? Вчера мальца переделал свой код, позаимстовав немного идею обработки из Вашего кода.

 

А вот с поиском ячеек памяти по Вашему описанию я так и не понял. Правда использую Artmoney. Ячейка ураванительного резервуара - динамическая. Ищем адрес указателя на нее. У меня находится на неё указатель с динамическим адресом. После перезапуска и его адрес уже не действителен. Приходится искать по-новому. Пробую покурить ваш мануал еще раз. Может таки дойдет. У меня в файле конфигурации адреса прописаны четко. Например:

&H90C1318

&H8FB4F18

&H7B4CB4

Как сюда добавить смещение в +30 при постоянно меняющемся указателе пока не догнал. Надо операцию вычисления добавлять в код?

 

Правда есть один нюанс, либо в дисплее, либо в коде ардуины. Не выводит старший разряд значения следующего ограничения скорости (на третьем скрине Sp3=43. вместо 143).

 

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

 

 

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

 

Это указатель задатчика скорости на ЭП1М. Должен отображать заданную скорость, но не на дисплее, а на модуле вывода скорости, который подключается к Arduino.

 

Никто не использует микроамперметры? Никаких нулей ловить не надо, на ШИМ цепляются отлично, пусть и погрешность определённая есть, но она ерундовая.

 

Неспортивно. Для нас помимо результата еще сам процесс наступания на грабли с последующий сатисфакцией от решения проблемы важен. ШИМ колхозно будет выглядеть в виде миллиамперметров в качестве манометров. Я думаю даже штатные амперметры ТЭДов и напругу КС посадить на шаговики. Шкалы уже начал отрисовывать в ФШопе.

Змінено користувачем RUSHPIL
Посилання на коментар
https://forum.zdsimulator.com/topic/58-rail-driver-trenazher-mashinista/page/15/#findComment-76637
Поділитись на інші сайти

Вдогонку тест манометра ТЦ на шаговике X27.168. Связь двух Arduino по SPI интерфейсу:

 

Alex-B, с какой периодичностью у Вас из компьютера программа отправляет данные?

Посилання на коментар
https://forum.zdsimulator.com/topic/58-rail-driver-trenazher-mashinista/page/15/#findComment-76647
Поділитись на інші сайти

Еще заметил одну вещь, на тепловозах без КЛУБ-У ограничения скорости на дисплей не выходят, только текущая.
Посилання на коментар
https://forum.zdsimulator.com/topic/58-rail-driver-trenazher-mashinista/page/15/#findComment-76651
Поділитись на інші сайти

Это условие для выхода на подпрограмму motor2_right()? После выполнения подпрограммы возвращаемся обратно, так?
Да, верно.

Значит по трейнеру:

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

COM порт - выбираем порт нашего переходника UART

Скорость COM - должна быть такая же, как в прошивке контроллера

Задержка передачи - это как раз периодичность отправления данных в мсек

Настройки - там множители приборов для градуировки шкалы, например скорость 80*1,5=120 - на самом деле скорость 80, но на шкалу, по шагам она ляжет как надо. Необходимо использовать дробные числа. Задержка шагов приборов это пауза между шагами мксек (передается по буферу 57-ым и 58-ым байтом). Ну и лампа бдительности может для красоты мигать в мсек.

Теперь поиск данных. К каждой игре нужен свой подход, поэтому определенных правил нет. Например в MSTS вообще все адреса динамические, так что статические это скорее исключение. Давайте тогда с конца начнем, Вы находите динамичесий адрес значения, например ТМ - это 8-байтное число double с точкой. Оно находится в динамическом блоке (довольно маленьком или запиханном между других процессов), который винда предоставляет при запуске игры. Он каждый раз разный в зависимости от настроения винды. Но игра все-таки знает про него, точнее про адрес его начала. Он хранится в статических адресах процесса и для пневматики 0x05340e68(манометры), а для электрики 0x06622ec4(лампы компрессоров, вентиляторов,...).(Версия игры 53,005). Когда вы в редакторе памяти посмотрите на эти указатели, то увидите там 4-байтный адрес (который надо читать задом наперед) того динамического блока, который валяется на просторах оперативки. Он будет тем самым началом, от которого надо написать смещение. Неприятность в том, что смещения разные для каждого локомотива, поэтому сам локомотив, выбранный в настоящий момент игроком вам надо будет искать по сигнатуре (уникальной последовательности чисел в памяти), либо считывать его из окна "zdsimulator.exe". 1-ый вариант мне нравится больше. Все смещения в файле "zdsim503.txt". Я просто не понял на каком языке у вас трейнер для игры. А вообще может подойдет моя? Расшифровку буфера и сам трейнер я уже выкладывал.

Посилання на коментар
https://forum.zdsimulator.com/topic/58-rail-driver-trenazher-mashinista/page/15/#findComment-76654
Поділитись на інші сайти

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

Повторю свой вопрос: с какой периодичностью у Вас из компьютера программа отправляет данные (в миллисекундах)?

 

Я просто не понял на каком языке у вас трейнер для игры.

 

Написан на VB 2010.

Посилання на коментар
https://forum.zdsimulator.com/topic/58-rail-driver-trenazher-mashinista/page/15/#findComment-76661
Поділитись на інші сайти

Да, без привязки никак, отвязаться от версий игры с помощью "поиска сигнатур" для пневматики и электрики тоже не выход, т.к. они все дырявые с большим количеством нулей. Да, если у вас VB 2010, то мой исходник на C# наверное вам не поможет.

А по поводу программы я уже писал. Задержка передачи - это как раз периодичность отправления данных в мсек. Вам остается только вбить туда желаемое значение. Кстати, у вас моя программа запускается? А то у меня XP. Всё никак не переберусь на новый комп.

Посилання на коментар
https://forum.zdsimulator.com/topic/58-rail-driver-trenazher-mashinista/page/15/#findComment-76675
Поділитись на інші сайти

Alex_B, есть мысли как ячейки памяти в тренажере сделать статическими вместо динамических с нужными нам параметрами? Держу связь с разработчиком тренажера Вячеславом и ищем путь сохраенения значений параметров при перезапуске тренажера. Вячеслав вывел для теста значение УР в информационную строку вверху, где отображаются обороты дизеля ТЭМ18Д, позиция контроллера и т.д. Ячейка памяти все равно динамической осталась :(
Посилання на коментар
https://forum.zdsimulator.com/topic/58-rail-driver-trenazher-mashinista/page/15/#findComment-76912
Поділитись на інші сайти

Все же я думаю это ни к чему. Во первых помимо zdsimulator есть msts, World of Subway 1,2,3 (тоже кстати довольно неплохая игра про метро) и может какие-то еще игры. А там всё динамическое. Поэтому к этим играм тоже надо будет прикрутить пульт. А во вторых переход на новую версию не так страшен. Надо просто заново найти указатели на пневматику и электрику, и если есть новые локомотивы, то пробежаться по схемам и написать смещение. В принципе это не так сложно. И потом у меня есть мысль не только читать, а записывать ячейки памяти в процессе игры, например положение крана, контроллера напрямую. Это бывает полезно в случае резкого перемещения рукоятки скажем из 1-го в 5-ое, и если игра в этот момент слегка тормознет, то MCabMapper не отработает положение и будет сбой позиций. А так будет точная синхронизация ручки пульта и ручки в игре. Я вобщем-то не бог весть какой программист и практически 60% кода заимствовал из интернета. А делать из динамических статические это очень нагло вмешиваться в память процесса, как правило грозит синим экраном, без разработчика не вариант. Кстати лампы вентиляторв, компессоров и пр. тоже надо буде переводить в статические... Вобщем мне кажется вполне можно работать с динамикой.
Посилання на коментар
https://forum.zdsimulator.com/topic/58-rail-driver-trenazher-mashinista/page/15/#findComment-76975
Поділитись на інші сайти

Видео законченного проекта https://drive.google.com/open?id=0BxL2Uty_fV1fMWFkU3MzVkE2SVU

Его лучше скачивать, а то Google Диск при просмотре урезает качество.

Схемы с прошивками и программа-трейнер https://drive.google.com/open?id=0BxL2Uty_fV1fMjZpRGVISHo5amc

Схемы скорее для ознакомления, собранные на Atmega8 и 16. Если у кого-то появится мысль повторить, то надо будет дорабатывать их "напильником" (заменять некоторые компоненты своими, подгонять под свои двигатели и.т.д).

Вобщем играть на этом пульте можно, но как я и думал 4 амперметра скажем на ЧС8 перемещаются довольно медленно. Но с другой стороны таких машин только 2 - ЧС7 и ЧС8. На остальных один или два амперметра, так-что терпимо. Основная проблема это как всегда корпуса. Поэтому пришлось остановиться на "ламинатно-гробообразном варианте".

Следующий этап теперь - допиливание программы под MSTS и World of Subway 1,2,3. и запись данных пульта напрямую в память, скорее всего через комбинации клавиш и MCabMapper.

Посилання на коментар
https://forum.zdsimulator.com/topic/58-rail-driver-trenazher-mashinista/page/15/#findComment-77111
Поділитись на інші сайти

  • 3 тижня через...

Подскажите пожалуйста подробнее как подключить модуль скорости к ARDUINO. Какие компоненты помимо индикатора там применяются? Если можно, так же подробно как и подключение светодиодов к ARDUINO. Буду очень признателен.

 

 

http://savepic.net/7697219.jpg

 

 

Посилання на коментар
https://forum.zdsimulator.com/topic/58-rail-driver-trenazher-mashinista/page/15/#findComment-77964
Поділитись на інші сайти

Схема модуля:

http://savepic.net/6452660m.jpg

 

Фьюзы конфигурации микроконтроллера:

http://savepic.net/6477239m.jpg

 

Прошивка микроконтроллера:

http://rgho.st/8tTCZJpcF

 

Схема соединения между модулями:

http://savepic.net/8498412m.jpg

 

Модуль скорости запитывается от Arduino.

 

Таким он получился у меня:

http://savepic.net/8492268m.jpg

Змінено користувачем RUSHPIL
Посилання на коментар
https://forum.zdsimulator.com/topic/58-rail-driver-trenazher-mashinista/page/15/#findComment-77990
Поділитись на інші сайти

Приєднуйтесь до обговорення

Ви можете написати зараз та зареєструватися пізніше. Якщо у вас є обліковий запис, авторизуйтесь, щоб опублікувати від імені свого облікового запису.
Примітка: Ваш пост буде перевірено модератором, перш ніж стане видимим.

Гість
Відповісти на цю тему...

×   Вставлено із форматуванням.   Відновити форматування

  Дозволено використовувати не більше 75 емодзі.

×   Ваше посилання було автоматично вбудована.   Відображати як звичайне посилання

×   Ваш попередній контент було відновлено.   Очистити редактор

×   Ви не можете вставляти зображення безпосередньо. Завантажуйте або вставляйте зображення за посиланням.

×
×
  • Створити...

Важлива інформація

Ми розмістили cookie-файлы на ваш пристрій, щоб допомогти зробити цей сайт кращим. Ви можете змінити налаштування cookie-файлів, або продовжити без зміни налаштувань.