Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Передача задания на расстояние
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Интерфейсы
Evgenius_Alex
Добрый день!

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

Основные требования:

1. Простота
2. Дешевизна
3. Точность. Чёткого критерия пока нет, но в разумных пределах.
4. Гальваническая развязка

Кто сталкивался с подобным, подскажите, пожалуйста!
MegaVolt
Провод.
Сергей Борщ
Ток 0...10 мА. Исходя из названия раздела форума "Вопросы аналоговой техники", под "Заданием" автор темы подразумевает некую уставку. Ничего проще тока в проводе пока не придумано.
Evgenius_Alex
Цитата(Сергей Борщ @ Apr 12 2017, 11:17) *
Ток 0...10 мА. Исходя из названия раздела форума "Вопросы аналоговой техники", под "Заданием" автор темы подразумевает некую уставку. Ничего проще тока в проводе пока не придумано.


Спасибо. Хорошая идея, но нужна простая, недорогая схема реализации этой идеи с гальванической развязкой.
И диапазон 0...20 мА
adnega
Цитата(Evgenius_Alex @ Apr 12 2017, 11:23) *
И диапазон 0...20 мА

XTR116 ?
Мы используем для токового выхода в связке с ADuM1201AR.
Питание подается с внешней стороны, а на нашей лишь стабилизируется ток,
который довольно линейно задается простейшим ШИМ.
Есть возможность детектировать обрыв.
Evgenius_Alex
Цитата(adnega @ Apr 12 2017, 14:39) *
XTR116 ?
Мы используем для токового выхода в связке с ADuM1201AR.
Питание подается с внешней стороны, а на нашей лишь стабилизируется ток,
который довольно линейно задается простейшим ШИМ.
Есть возможность детектировать обрыв.


а обратное преобразование (4-20 мА -> цифровой код для МК) как лучше реализовать?
adnega
Цитата(Evgenius_Alex @ Apr 12 2017, 16:09) *
а обратное преобразование (4-20 мА -> цифровой код для МК) как лучше реализовать?

У нас все сложно: прибор должен питаться от линии 4..20 и при этом падение должно быть не более 12В -
каждый милливатт на счету, а в устройстве еще графический дисплей, журнал событий, HART-модем, 3 выхода NAMUR,
датчики, исполнительный электромагнит и т.п. и весь этот зоопарк с контролем неисправности и во взрывобезопасном исполнении.

Я сделал источник тока на 3.56мА, который заряжает электролит, после которого стоит DC/DC.
Параллельно стоит цепочка из последовательного резистора и стабилитрона.
Из входного тока вычитается 3.56мА и остаток течет через резистор, падение напряжения на котором измеряю АЦП,
и после несложного матана в широком диапазоне могу предсказать ток в линии, независимо от тока потребления устройства,
которое изменяется в широком диапазоне от 1.5 до 5.5 мА.

Если у вас питание не от линии, то просто резистор, и измерять падение на нем.
Evgenius_Alex
Цитата(adnega @ Apr 12 2017, 18:20) *
У нас все сложно: прибор должен питаться от линии 4..20 и при этом падение должно быть не более 12В -
каждый милливатт на счету, а в устройстве еще графический дисплей, журнал событий, HART-модем, 3 выхода NAMUR,
датчики, исполнительный электромагнит и т.п. и весь этот зоопарк с контролем неисправности и во взрывобезопасном исполнении.

Я сделал источник тока на 3.56мА, который заряжает электролит, после которого стоит DC/DC.
Параллельно стоит цепочка из последовательного резистора и стабилитрона.
Из входного тока вычитается 3.56мА и остаток течет через резистор, падение напряжения на котором измеряю АЦП,
и после несложного матана в широком диапазоне могу предсказать ток в линии, независимо от тока потребления устройства,
которое изменяется в широком диапазоне от 1.5 до 5.5 мА.

Если у вас питание не от линии, то просто резистор, и измерять падение на нем.


а откуда питается источник 3.56 мА?
Ydaloj
nRF24L01
Evgenius_Alex
Цитата(adnega @ Apr 12 2017, 18:20) *
У нас все сложно: прибор должен питаться от линии 4..20 и при этом падение должно быть не более 12В -
каждый милливатт на счету, а в устройстве еще графический дисплей, журнал событий, HART-модем, 3 выхода NAMUR,
датчики, исполнительный электромагнит и т.п. и весь этот зоопарк с контролем неисправности и во взрывобезопасном исполнении.

Я сделал источник тока на 3.56мА, который заряжает электролит, после которого стоит DC/DC.
Параллельно стоит цепочка из последовательного резистора и стабилитрона.
Из входного тока вычитается 3.56мА и остаток течет через резистор, падение напряжения на котором измеряю АЦП,
и после несложного матана в широком диапазоне могу предсказать ток в линии, независимо от тока потребления устройства,
которое изменяется в широком диапазоне от 1.5 до 5.5 мА.

Если у вас питание не от линии, то просто резистор, и измерять падение на нем.


хотелось бы как-то проще, к примеру, может есть микросхемы цифровых задатчиков

вход микросхемы - цифровой код
выход микросхемы - сигнал 4-20 мА


XVR
Цитата(Evgenius_Alex @ Apr 13 2017, 11:43) *
хотелось бы как-то проще, к примеру, может есть микросхемы цифровых задатчиков
Т.е. вы хотите прербразовать цифровую величину в ток, передать ее на другой контролер и там преобразовать обратно в цифру? Вам не кажется, что в этой цепочке есть что то лишнее? rolleyes.gif

Почему бу не передать сразу цифру посредством банальнейшего UART'а например?
k155la3
Цитата(Evgenius_Alex @ Apr 12 2017, 11:23) *
Спасибо. Хорошая идея, но нужна простая, недорогая схема реализации этой идеи с гальванической развязкой.
И диапазон 0...20 мА

1. Если Вы собираетесь развязывать аналоговую цепь - это уже непросто. И достаточно дорого.
Есть спец-е микросхемы у Linear, AD - используются в различных датчиках для токовой петли.
Вопрос помухоустойчивости, надежности. Наводки-перенапряжения итд. Не феншуй.
2. Если диапазон 0-20, то отличить нулевой сигнал от обрыва будет проблематично.
4...20 мА.
3. Передавайте цифрой, развязка решается копеечным оптроном.
На приемной стороне - контроллер с встроенным DAC.


Evgenius_Alex
Цитата(k155la3 @ Apr 13 2017, 13:02) *
1. Если Вы собираетесь развязывать аналоговую цепь - это уже непросто. И достаточно дорого.
Есть спец-е микросхемы у Linear, AD - используются в различных датчиках для токовой петли.
Вопрос помухоустойчивости, надежности. Наводки-перенапряжения итд. Не феншуй.
2. Если диапазон 0-20, то отличить нулевой сигнал от обрыва будет проблематично.
4...20 мА.
3. Передавайте цифрой, развязка решается копеечным оптроном.
На приемной стороне - контроллер с встроенным DAC.


а если попробовать передавать сигнал ШИМ (заполнение или частота)?
Т.е. идея такова - на передающей стороне стоит оптрон светодиод-фототранзистор.
Фототранзистор коммутирует источник 24В с определённой частотой/заполнением.
На приёмной стороне также стоит оптрон светодиод-фототранзистор, который принимает этот сигнал ШИМ (заполнение или частота).
Только вопрос какую частоту выбрать и как корректно отличать одну частоту от другой.
k155la3
Цитата(Evgenius_Alex @ Apr 13 2017, 13:45) *
а если попробовать передавать сигнал ШИМ (заполнение или частота)?
. . .

Можно и то и другое, но я бы остановлися на частоте.
(так как для ШИМ нужна полностью симметричная форма сигнала для правильной передачи скважности)
Есть схемы преобразователей частота-напряжения (ПЧН) как "наразвес", так и
интегральные. Зависит от точности, линейности которая Вам требуется.
Если исходный сигнал - в обязательном порядке анлалог, то
на передающей стороне аналоговый ПЧН, на приемной - обратное преобразование ПНЧ.
(ток конвертиурется в напряжение с помощью резистора)


Цитата(Evgenius_Alex @ Apr 13 2017, 11:43) *
. . .
вход микросхемы - цифровой код
выход микросхемы - сигнал 4-20 мА


ps - AD5421
Evgenius_Alex
Цитата(k155la3 @ Apr 13 2017, 14:42) *
Можно и то и другое, но я бы остановлися на частоте.


А каков диапазон частоты лучше выбрать?
насколько должна отличаться одна частота от другой?
Evgenius_Alex
Цитата(k155la3 @ Apr 13 2017, 14:42) *
Можно и то и другое, но я бы остановлися на частоте.


Это я к тому, если не использовать ПЧН, а напрямую заводить частоту в МК.

Какой диапазон частот и шаг изменения частоты лучше взять, чтобы его потом было легко обрабатывать?
XVR
Цитата(Evgenius_Alex @ Apr 14 2017, 10:30) *
Какой диапазон частот и шаг изменения частоты лучше взять, чтобы его потом было легко обрабатывать?
Это зависит от вашего МК. В частности от того, какие у него есть схемы для захвата (обычно они называются как то Capture and Compare или похоже)

Plain
Не озвучив ни тип сигнала, аналоговый он или цифровой, ни его объём, автор снова заморочил всем головы, в том числе и себе.

Методом дедукции, если речь о контроллерах, т.е. готовых блоков промавтоматики, то у таковых все интерфейсы стандартизированы. Если же автор по причине всё той же лени, как в его предыдущих темах, опустил полуслово микро-, имея ввиду всё-таки два микроконтроллера, то даже думать кошмарно, чтобы для организации уникальной и в единственном экземпляре связи их друг с другом придумывать использовать аналоговый сигнал.
Evgenius_Alex
Цитата(Plain @ Apr 14 2017, 14:59) *
Не озвучив ни тип сигнала, аналоговый он или цифровой, ни его объём, автор снова заморочил всем головы, в том числе и себе.

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


Речь идёт о связи двух микроконтроллеров. Хотим передавать 8-битные посылки по UART. Но тогда придётся делать самодельный протокол, чего очень не хочется.
Хотелось бы что-то стандартное.

XVR
Цитата(Evgenius_Alex @ Apr 14 2017, 16:20) *
Речь идёт о связи двух микроконтроллеров. ...
Хотелось бы что-то стандартное.

Для своих контролеров и ШИМ и Токовая Петля (и все, что тут предлагалось) никоем образом не является 'стандартным'. А вот UART как раз является стандартным.
k155la3
Цитата(Evgenius_Alex @ Apr 14 2017, 16:20) *
Речь идёт о связи двух микроконтроллеров. Хотим передавать 8-битные посылки по UART. Но тогда придётся делать самодельный протокол, чего очень не хочется.
Хотелось бы что-то стандартное.

Смею предположить, что ТС "боицца" работать с узлом UART и предполагает, что придется разрабатывать стек протокола наподобие TCP sm.gif

1. Какой у Вас тип контроллера. Если это не военного назначения и все сугубо засрзасекречено ?
2. Предлагаю следующий протокол.
master: 0x55, 0xDH, 0xDL, 0xCH, 0xCL == передать 5 байт,
где:
0x55 - сигнатура заголовка пакета. Можт быть использована для автоопределителя скорости на приеме. А может и не исползоваться.
0xDH 0xDL - данные, те Ваше "задание" аналоговой величины
0xCH, 0xCL - контрольная сумма на 16 бит - любой стандарт.
slave: принять пакет и разобрать. ответ на мастера не требуется (пока этого достаточно)
3. Примеры настройки-прием-передачи по USART дается пркакт. каждым изготовителем процессоров - достаточно взять подходящий appnote
4. гальваноразвязка через оптрон. Чтоб не выискивать быстодействующий - используйте скорость 1200 или даже 600 бод.
Цитата(Evgenius_Alex @ Apr 14 2017, 10:30) *
Это я к тому, если не использовать ПЧН, а напрямую заводить частоту в МК.
Какой диапазон частот и шаг изменения частоты лучше взять, чтобы его потом было легко обрабатывать?

В микроконтроллере master реализуете преобразователь цифровой величины, которую Вам требуется передать,
в частоту. Используется узел таймера. По сути, это управляемый делитель кварцевой частоты, например кварца 32768.
На приемной стороне - реализуете, также на таймере, измеритель частоты или измеритель периода.
Передающая часть - выход таймера соединен с входом оптрноа для гальваноразвязки.
Приемная часть - выход оптрона соединен с входом таймера.
Частота - используйте звуковую или даже меньше. Это зависит от динам. диапазона, который Вы
хотите передавать, линейности, требований к дискретности. 1 ... 100 Hz к примеру.
Изучите список апнотов для Вашего МК.
--------
Не мучьте себя, используйте цифру. Весь цивилизованнй мир использует ЕЕ.
Возни с реализацией аналога или псевдо-аналога на ПЧН - на порядок-два больше sm.gif
jcxz
Цитата(Evgenius_Alex @ Apr 14 2017, 15:20) *
Речь идёт о связи двух микроконтроллеров. Хотим передавать 8-битные посылки по UART. Но тогда придётся делать самодельный протокол, чего очень не хочется.
Хотелось бы что-то стандартное.

Взять стандартный протокол поверх UART. Не? wink.gif

Цитата(k155la3 @ Apr 15 2017, 10:53) *
2. Предлагаю следующий протокол.
...

Ну тогда бы уж что-то путнее предложили, а не.... Где в Вашем "протоколе" кодонезависимость?
2ТС: Поверх UART возьмите например протокол SLIP - простой, кодонезависимый, стандартный.
k155la3
Цитата(jcxz @ Apr 15 2017, 13:35) *
. . .
Ну тогда бы уж что-то путнее предложили, а не.... Где в Вашем "протоколе" кодонезависимость?
. . .

Вы правы несомненно. Протокол в моем посте должен быть в кавычках sm.gif

Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.