Горбушка

Управление Через Usb Очень Сложным Устройством

27 posts in this topic

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

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

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

Напряжение в цепи 12-19 вольт, поэтому про питание от USB можно не думать - питание платы от блока питания будет обеспечено.

Собственно, USB должен всем этим как-то управлять...

Проблема проста - я знаю MySQL, PHP и много всякого бреда, но ничего не понимаю в вышеописанном... Если у кого-то есть опыт - поделитесь... Готов читать книги и учиться...

Основная проблема в том, что цепь должна иметь именно цифровое управление, т.к. управлять придётся огромным количеством объектов разных типов (светодиоды, двигатели, магнитные переключатели).

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

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

Ну и для энтузиастов расшифрую что это за устройство - это модель железной дороги. Соответсвенно нужно при подъезде к красному сигналу понижать напряжение до остановки, а по зелёному плавно его включать. Макет должен обеспечивать работу нескольких составов. Семофоры тоже планирую управлять с компьютера, думаю на ПО это сделать будет проще, чем на логике и МК. Так же надо будет включать/выключать освещение, переключать стрелки и т.д.

Share this post


Link to post
Share on other sites
КЭС    1391

По-любому нужен синтез МК и ПО на ПК. Для "стыковки" проще использовать СОМ-порт или через преобразователь USB-COM.

Share this post


Link to post
Share on other sites

Приглашаем на вебинар «Создание беспроводных устройств на системах-на-кристалле семейства SimpleLink компании TI»

Компания Компэл, совместно с Texas Instruments приглашают 26 июня принять участие в вебинаре, где инженер по применению беспроводных технологий компании TI расскажет, как на новых беспроводных системах можно реализовать несколько полезнейших в повседневной жизни функций для ваших устройств. С развитием элементной базы TI становится возможной реализация более удобных, функциональных и безопасных систем, недоступных ранее. Вебинар проводит инженер по применению беспроводных технологий в TI Мари Хернес(будет дублированный перевод).

Подробнее...

По-любому нужен синтез МК и ПО на ПК. Для "стыковки" проще использовать СОМ-порт или через преобразователь USB-COM.

У планшета с COM-портом тяжко :crazy:

я интересуюсь той же темой, пишите - чем смогу - помогу :)

Да если бы я знал что писать... Пока только появилась идея и сама железка ТТ ГДРовская... Т.к. все вагоны тупые и умею ехать и умеют не ехать - и родился план управления напряжением на рельсах с компа (аналоговых способов не вижу, а ставить 100500 резисторов и крутить руками - убейтесь). Ну а там подтянулись стрелки, семафоры и прочее...

Собственно, надо с чего-то начать. Т.е. купить плату, которая сможет преобразовывать последовательный сигнал в параллельный (или как-там называются правильно), ибо хочется по USB передавать сигнал формата: "Выход 1 подать напряжение, выход 6 выключить напряжение, выход 4 плавно поднять напряжение" и в обратную сторону: "Получен сигнал с датчика 1, получен сигнал с датчика 6", а не передавать каждый раз состояние каждого выхода/входа как это делается на COM-порту... Дальше купить пачку светодиодов, сесть за комп и до посинения эксперементировать с ней...

Честно говоря, вот сейчас пишу и понимаю, что надо брать учебник за 11 класс и вспоминать вообще как устроен компьютер... С сайтом могу сделать что угодно, линукс настроить, а как сигнал идёт по проводам - ничего не знаю. :dance2:

В идеале хочется купить плату с N-выходами, каждый из которых имеет ID, а по USB передавать этот ID и команду изменение состояния выхода. Ну и соответсвенно, чтобы она брала питание от внешнего источника, ибо даже 12В я от USB ей не дам в таком колличестве. Так же с возможностью плавного изменения выходного напряжения...

Проблема в колличестве... Ибо семафоров будет минимум штук 20, участков пути тоже 20 (это уже 20 выходов с изменяемой мощьность и 40 выходов на семафоры вкл/выкл), а ещё стрелки, семафоры входные на 4 сигнала (жёлтый + жёлтый мигающий на стрелках). Освещение города - ещё выхода 2-3... Итого порядка 200-300 выходов, а ещё порядка 50-100 входов... Плата получается приличной по размеру, но проблема скорее в её покупке, ибо сам в жизни не спроектирую.

Так что думаю вопросов 2:

1) Какую плату покупать

2) Что почитать по ПО, ибо я знаю только WEB...

P.s. про железку сразу писать не стал, ибо многих может смутить... Так что можно считать просто сложным ЧПУ-станком...

Edited by Горбушка

Share this post


Link to post
Share on other sites
forbidden11    75

Мне кажется основная проблема как раз в софте для ПК. Что до платы то я бы взял AT90USB162, к ней десяток-другой регистров (зависит от количества необходимых выходов). Хотя если подумать то и меги 8-й хватит, и кстати с I2C можно попробовать для уменьшения кол-ва проводов.

Для начала нужно точно посчитать необходимое количество выходов и входов (если есть). Затем прикинуть чем управлять (реле, транзисторы... зависит от тока).

Все выходы дискретные или на некоторых требуется плавное изменение напряжения ?

Share this post


Link to post
Share on other sites

Видео вебинара «Уникальный подход MORNSUN к разработке DC/DC-преобразователей. Что на выходе?»

На сайте КОМПЭЛ доступны материалы вебинара, посвященные последнему поколению DC/DC преобразователей с фиксированным входом R3 от MORNSUN. Вы можете посмотреть видеозапись, ознакомиться с презентацией и ответами на вопросы.

Подробнее...

forbidden11, я уже писал, что основная часть выходов дискретная - вкл/выкл, но порядка 20 выходов нужны с изменяемым напряжением...

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

Что касаемо регистров, меги 8-й и I2C - можно расшифровать, ибо не знаком с такими понятиями...

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

Софт - это понятно, что проблема и ещё какая, но тут уже вопрос времени и только... Главное включить 3-4 светодиода как нужно, а там дело пойдёт...

Edited by Горбушка

Share this post


Link to post
Share on other sites
forbidden11    75

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

Для аналоговых выходов потребляемый ток ? Изменение полярности ? Диапазон выходного напряжения ?

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

С реверсом проблем нет, а вот изменяемое напряжение усложнит схему (я так понимаю что захочется плавно изменять скорость движения состава).

Мега8 это контроллер, который можно подключить к USB порту. Для AT90USB162 есть даже готовые библиотеки для работы с USB.

I2C это шина, применив ее можно уменьшить количетсво проводов т.е. для упавления 50 светодиодами не тянуть 51 провод, а обойтись 4-мя всего. Кроме того для I2C есть готовые микросхемы - расширители портов.

Share this post


Link to post
Share on other sites

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

Количество портов могу сказать лишь приблизительно, т.к. сам макет ещё даже не нарисован - я лишь начал подготавливать почву для него.

Диапазон выходного напряжение 0 - 19 Вольт. Не выше.

Реверс должен быть только на тех выходах, где есть плавное понижение/повышение напряжения. Опять же до -19 Вольт.

Потребляемая нагрузка - на дискретных выходах это электромагниты и светодиоды. Электромагнит при этом нужно намагнитить на несколько мс пока стрелка не перейдёт в новое положение. Увы, параметров потребления для стрелок не указано.

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

Share this post


Link to post
Share on other sites
forbidden11    75

"Так же смогу назвать максимальный выход блока питания, от которого и будет всё это работать." не совсем правильно.

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

Share this post


Link to post
Share on other sites

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

По экспериментам блок питяния тянул 5 составов, в реальной ситуации ему тянуть максимум 2 состава + освещение светодиодами. Может я что-то не знаю, но мне кажется 3 электродвигателя создают большую нагрузку, чем 100 светодиодов =)

В любом случае завтра расколупаю вагоны и посмотрю что на двигателях написано про потребление.

Share this post


Link to post
Share on other sites
forbidden11    75

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

...мне кажется 3 электродвигателя создают большую нагрузку, чем 100 светодиодов =)...

В любом случае завтра расколупаю вагоны и посмотрю что на двигателях написано про потребление.

Подгонять проект под существующий блок питания не очень хорошая идея.

Не знаю сколько потребляют двигатели но 100 раздельно управляемых светодиода в сумме потребуют 2А. При 19в питании это уже примерно 38Вт.

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

Share this post


Link to post
Share on other sites
КЭС    1391

+1

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

Share this post


Link to post
Share on other sites

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

Вы правда верите, что хоть где-то в мире сохранилась инструкция по вагонам 15-летнец давности? О_о

А блок питания: 0-12 вольт 1А постоянный и 16 вольт 1А переменный... Что-то мне казалось он куда мощнее... Значит блок питания добавляем в список покупок :(

Я прошу прощения, а может не стоит изобретать велосипед?

http://opendcc.org/index_e.html

http://www.rocrail.net/

С превеликим удовольствием использовал... Вот только блок управления 4 стрелками этой программкой от Roco стоит 31 000 деревянных... У меня стрелок 10 будет, это 90 тысяч... А ещё управление составами тысяч на 120... Да я уж лучше машину на эти деньги куплю, сколько этот макет стоить будет...

Вариант с микроконтроллерами стоит 4-5 тысяч... Цена кусающаяся, но приемлимая... А покупать готовые решения - безумно дорого...

Edited by Горбушка

Share this post


Link to post
Share on other sites
Tesla    46

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

Share this post


Link to post
Share on other sites

Тут проблема уже в размерах... Макет ТТ настолько маленький, что внутри локомотивов с трудом размещается двигатель, места под декодеры там нету... И опять же, декодер нужено к чему-то подключать - к плате локоматива... А её там нет - простые контакты на колёсах и моторчик...

Edited by Горбушка

Share this post


Link to post
Share on other sites
Tesla    46

Вот это H0, правда, но представление о размерах даёт:

post-11878-0-13162300-1357651364_thumb.jpg

Специально для малогабаритных TT, вроде, ещё меньше есть.

P.S. этот декодер называется Hornby R8249 и имеет размеры 17x10x3.5мм

Edited by Tesla

Share this post


Link to post
Share on other sites

Вот это H0, правда, но представление о размерах даёт.

Стоп, т.е. к декодер просто припаивается между контактами на рельсы и мотором? Никаких плат не нужно?

Хорошо, а как тогда управление идёт? По радиоканалу или по рельсам?

И какие команды этот декодер умеет выполнять? С чего идёт управление у Вас?

И как вся эта система работает? На рельсах постоянно максимальный ток, а скорость движения регулирует декодер?

Edited by Горбушка

Share this post


Link to post
Share on other sites

Горбушка, что-то я вас не понимаю!

у вас цифровая система управления? или старая аналоговая? или её вообще нет?

вам надо:

дискретные входы и выходы. Входы - наличие на участке, срабатывание прочих датчиков. Выходы: на управление теми же семафорами, стрелками, питанием...

аналоговые входы (замеры тока и напряжения). Не знаю, проще контроллер участка сделать и с него данные в шину передать (rs-232 или что угодно).

ПО для компьютера, которые всем этим будет управлять. Вот только зачем? что хотите в итоге получить?

ПО для МК сделать мне проще :) Но всё это на один МК заводить - муторно! проще разделить на задачи и поставить несколько МК

Share this post


Link to post
Share on other sites

У меня сейчас старейшая аналоговая система... Питаний на рельсах больше - оно едит быстрее... Я хочу сделать систему цифровой...

Share this post


Link to post
Share on other sites

у.... как всё запущено :)

не думаю, что вы всё это осилите. как с точки зрения электроники и написания софта для МК, так и для ПК

надо масса денег и еще больше времени!

Share this post


Link to post
Share on other sites
Tesla    46

Попробую вкратце рассказать. Стандарт называется Digital Command Control (DCC), принцип работы - в передаче по одной паре проводов (рельсы) и питания, и сигналов управления. Одновременно можно управлять несколькими локомотивами, на практике их количество ограничено только мощностью "бустера" (передатчика), причём разделение макетов на изолированные участки для этого не требуется (каждому локомотиву назначен индивидуальный цифровой адрес). Кроме локомотивов, по той же паре проводов можно управлять аксессуарами (стрелками, светофорами и т.д.), причём, как правило, декодеры аксессуаров питаются по отдельной линии питания (возможно даже от отдельного источника), а по рельсам получают только сигналы управления, что позволяет минимизировать мощность бустера настолько, чтобы её было достаточно лишь для питания локомотивов.

Для реализации такой системы не обязательно покупать дорогой софт и комплектующие, потому что существуют два открытых проекта: www.rocrail.net - программное обеспечение, opendcc.org - аппаратное обеспечение. Покупные придётся использовать только локомотивные декодеры, в силу требуемых габаритов. У того декодера, который я показал на фото, изначально был стандартный разъём, его можно подключить к многим локомотивам вместо специальной заглушки (например, к локомотивам Pico), но если локомотив такого разъёма не имеет, можно просто припаять нужные провода прямо к декодеру, благо они все подписаны в инструкции. А командную станцию (по сути, устройство сопряжения рельсов с компьютером) я собирал по схеме с этого сайта: http://opendcc.org/elektronik/opendcc/opendcc_e.html , правда, в процессе понял, что пожадничал, и стоило купить готовую)

Share this post


Link to post
Share on other sites

Поискал по Вашему совету - нашёл Hornby DCC Select Controller. Стоит это чудо всего 100 фунтов, в России продаётся порядка 7 тысяч, что вполне разумно. Декодеров в продаже так и не нашёл :(

Соответственно, если я покупаю Hornby DCC Select Controller, ставлю софт, паяю декодеры (я так понимаю, они порядка 200-500 рублей стоят) - что ещё потребуется для макета?

Вот только так и не вкурил - как её потом с компом подружить?

Share this post


Link to post
Share on other sites
croc19    22

Посмотри в сторону Аурдино. Не придется разбираться с усб. А управлять локомотивами можно и по радиоканалу.

Модули радиоканала для нее есть на ебее. Язык тоже простой. Допаяешь платку дешифратора на сколько нужно стрелок

и прочего, чем можно по проводам управлять. Проще некуда.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Сообщения

    • Саш, дело не в винтажности, а скорее в технологиях и примененных материалах в части серий DS  Diatone. Полистай ветку, там Спиридонов давал TS параметры НЧ дина Диатонов DS-77z серии с трехслойной структурой дифуззора и мощной магнитной системой . Да и СЧ\ВЧ динамики сделаны из серьезных материалов. К сожалению, на ряду с возросшим спросом на линейку моделей Диатонов, продавцы отреагировали моментально, выставив ценник довольно высоко. Не надо забывать, что покупка "вслепую" таких аппаратов - большой риск + надо еще сразу прикидывать замену подвесов в НЧ и  наверное еще переделка кроссов
    • @ZLOdeyB@sil@ я собирал в один тройник печку кухонную, чайник, утюг , нагрузка нормальная получалась, даже с запасом  
    • Ты как обычно , дурак и не лечишься! Где ты увидел 2,2 ком там резистор. Ясно написано 750 ом и 2200,0 это электролит параллельно и объединено кавычкой. Был бы резистор 2,2 ком и подписал бы 2,2 ком , а так 2200,0. Ещё раз подтверждается,что практики нет ни какой,один теоретический бред несёшь всегда! И тема эта ни какого отношения не имеет к Корректору МС.Просто создал автор дубль тему ( Корректор Василича) и все разговоры те же что и в основной теме о ММ  корректоре ламповом на 6Н17Б+6Н16Б а создание дубль темы запрещено правилами.. Все корректоры ламповые являются ММ корректорами , для МС  просто трансформатор на вход ставится или каскад  транзисторный с коэф.ус. 5-10 раз . Вот и весь МС.
    • Уважаемый @ARV простите меня за этот код: lcd_dat(((checkcrc()/100)%10)+48); lcd_dat(((checkcrc()/10)%10)+48); lcd_dat((checkcrc()%10)+48); Хочется что-то сказать в свое оправдание.... Но на ум ничего не приходит.По всей видимости торопился, когда писал ответ на форум и скорей всего от незнания. Если я правильно понимаю, то возвращаемое значение функции должно быть присвоено глобальной переменной?  uint8_t crc_2; // объявлена глобально int checkcrc() // функция посчета значения контрольной суммы { uint8_t crc =0; for (uint8_t i=0; i<(sizeof term_code / sizeof term_code[0]); i++) //for (uint8_t i=0; i<8; i++) { crc = _crc_ibutton_update(crc, term_code[i]); } return crc_2=crc; }   Или есть другой способ отобразить, в данном случае, возвращаемые данные на LCD_дисплее? lcd_dat('R'); lcd_dat('C'); lcd_dat('_'); lcd_dat('2'); lcd_dat('='); lcd_dat(((crc_2/100)%10)+48); lcd_dat(((crc_2/10)%10)+48); lcd_dat((crc_2%10)+48); Подскажите пожалуйста. @Starichok  обязательно найду и разберусь в сути вопроса, но без учителя у меня уйдет много времени. В интернете находил такую информацию, но я ее читаю, а она от моей головы отскакивает как от стенки горох. Слишком уж много непонятных слов для меня (пока). Мне бы решение этого вопроса на бумагу переложить (подсчитать вручную с помощью карандаша и бумаги).  Если не получится самостоятельно разобраться, пойду в институт к своему преподавателю по математики, попрошу ее растолковать мне эту методику. Она нам всегда говорила, что красивей математики может быть только музыка.
    • Статья в ВРЛ N104 "Источники стабильного тока и их применение."  
    • Когда то долго искал. Ришад Шафиев и Гунеш,1984 год