Как из импульса 1мс сделать импульс в 1мкс?

Обсуждаем цифровые устройства...
aptemah
Встал на лапы
Сообщения: 83
Зарегистрирован: Чт дек 05, 2013 23:04:16

Как из импульса 1мс сделать импульс в 1мкс?

Сообщение aptemah »

Для цифрового термометра нужно подавать импульсы длительностью в 1мкс. Управляется это всё контроллером, с которого импульс можно сделать только не меньше 1мс. Как сделать, чтобы импульс длительностью в 1мс преобразовывался в импульс длительностью 1мкс? Импульс отрицательный, т.е. во время импульса провод "сажается" на землю.
Дополнительный вопрос: как "прочитать" таким же медленным контроллером импульсы? Нужно отличать 2 типа импульсов: 1мкс и 15мкс, соответственно, логические 1 и 0.
FVisitor
Родился
Сообщения: 2
Зарегистрирован: Пт окт 17, 2014 07:41:27

Re: Как из импульса 1мс сделать импульс в 1мкс?

Сообщение FVisitor »

только при условии, что период следования импульсов >1мс - например используя задержку открытия диода
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: Как из импульса 1мс сделать импульс в 1мкс?

Сообщение Z_h_e »

Если Ваш микроконтроллер такой медленный, то Вы никак не сможете работать им по протоколу 1-Wire. Ваш контроллер работает на частоте 1кГц чтоли????
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
aptemah
Встал на лапы
Сообщения: 83
Зарегистрирован: Чт дек 05, 2013 23:04:16

Re: Как из импульса 1мс сделать импульс в 1мкс?

Сообщение aptemah »

Z_h_e писал(а):микроконтроллер такой медленный
А кто сказал что это "микроконтроллер" :) ? Это ПЛК.
Z_h_e писал(а):Вы никак не сможете работать им по протоколу 1-Wire
Я думаю, что смогу. Если только обеспечить импульсы нужной длительности. Ведь задержка между импульсами там не регламентируется...
SmarTrunk
Друг Кота
Сообщения: 6014
Зарегистрирован: Чт ноя 26, 2009 11:16:50
Откуда: Москва

Re: Как из импульса 1мс сделать импульс в 1мкс?

Сообщение SmarTrunk »

Можно выделить фронт импульса дифференциатором, потом компаратором или триггером Шмидта сделать крутые фронты получившегося короткого импульса. Не уверен, что это решит проблему автора темы, но сама задача несложная.
Аватара пользователя
Дмитрий М
Друг Кота
Сообщения: 6620
Зарегистрирован: Чт дек 29, 2005 00:18:30
Откуда: Москва
Контактная информация:

Re: Как из импульса 1мс сделать импульс в 1мкс?

Сообщение Дмитрий М »

Запускать одновибратор по фронту импульса например.
Ничто так не укрепляет взаимное доверие, как 100% предоплата! Дмитрий, ex-RK3AOR.
uk8amk
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Re: Как из импульса 1мс сделать импульс в 1мкс?

Сообщение uk8amk »

Если ПЛК имеет ТТЛ UART/USART, то без проблем.
Ну с RS485 тоже навертеть можно, но это сложнее.
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: Как из импульса 1мс сделать импульс в 1мкс?

Сообщение Z_h_e »

aptemah писал(а):А кто сказал что это "микроконтроллер" ?
aptemah писал(а):Управляется это всё контроллером
Но согласен, микроконтроллер Вы не говорили, но микроконтроллер часто называют просто контроллером и что тоже верно по сути.
Если 1-wire Вам обязателен и нет возможность подключить датчик температуры например с 4-20мА, то проще всего сделать на микроконтроллере преобразователь интерфейса. Например 1-wire в UART. Или даже просто в частоту или в ШИМ или еще во что-то что ПЛК легко понимает без плясок с бубном.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
uk8amk
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Re: Как из импульса 1мс сделать импульс в 1мкс?

Сообщение uk8amk »

Если есть ТТЛ UART, на крайняк LVTTL. То даже микроконтроллер для преобразователя 1wire не нужен. Достаточно одного диода.
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Как из импульса 1мс сделать импульс в 1мкс?

Сообщение pyzhman »

Если там ПЛК, то надо давать ему то, что он кушает. Например, преобразовать данные с термометра в бинарный код. Или в аналоговый сигнал и добавить в конфигурацию ПЛК аналоговый модуль. Ну, или те же интерфейсы, с которыми тот ПЛК работает.
Docendo discimus
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: Как из импульса 1мс сделать импульс в 1мкс?

Сообщение Z_h_e »

Для чтения данных можно сделать вот так. Генератор имитирует Ваш ПЛК с импульсами 1мс. U1 и U2 одновибраторы 1мкс и 20 мкс. На выходе Dтригера выходное значение считанного бита. Кнопка - Ваш 1-wire датчик. Замечу что данная схема не является принципиальной, не формирует сигнал сброс и ваще изврат :).
Изображение
Вложения
111.rar
(11.64 КБ) 170 скачиваний
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
aptemah
Встал на лапы
Сообщения: 83
Зарегистрирован: Чт дек 05, 2013 23:04:16

Re: Как из импульса 1мс сделать импульс в 1мкс?

Сообщение aptemah »

Что изврат, я не отрицаю, начальство такое :) !
А можно вопрос, как работает ваша схема?
Z_h_e писал(а):На выходе Dтригера выходное значение считанного бита.

как ему это удается, если шина 1-wire связана только с одним мультивибратором U1?
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: Как из импульса 1мс сделать импульс в 1мкс?

Сообщение Z_h_e »

aptemah писал(а):А можно вопрос, как работает ваша схема?
Ключевое слово изврат, акцентирую Ваше внимание. Если Вам надо подключить DS18B20 используйте преобразователь интерфейса на микроконтроллере, это самое простое и надежное.
Что касается схемы... Если Вы внимательно почитаете протокол 1-wire, то увидете следующую последовательность.
1. Сначало дайте команду сброс, устройства отвечают о своем присутствии.
2. Даете команду измерить температуру и выжидаете время до 750мс.
3. Даете команду Чтение.
4. Читаете что в датчике. (Моя схема будет работает только для этого пункта).

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

Установите PROTEUS и попробуйте схему. Я ее же вложил в предыдущий пост.
Схема "чтения" работает так. (преполагается что датчик уже сброшен, дана команда измерить и читать, видимо какой то другой схемой :) )
1. ПЛК дает импульс 1мс.
2. Этот импульс запускает одновибраторы U1 и U2
3. U1 формирует импульс 1мкс которые "видит" датчик.
4. После этого импульса датчик если хочет ответить нулем то удерживает шину в 0 (где то 45 мкс вроде), а если 1 то сразу отпускает шину.
5. Вот это состоянии шины и записывается в триггер по фронту импульса U2.

И все таки. Или делайте преобразователь интерфейса на МК (оно и дешевле будет, надежно и просто) или отстанте от этой идеи. Помните про ключевое слово :) .

З.Ы. Я правильно понял что Вам нужно подключить DS18B20 к ПЛК ? А то может какой-то другой девайс, Вы ничего не указали о типе цифрового датчика.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
aptemah
Встал на лапы
Сообщения: 83
Зарегистрирован: Чт дек 05, 2013 23:04:16

Re: Как из импульса 1мс сделать импульс в 1мкс?

Сообщение aptemah »

Да-да, именно DS18B20...
Z_h_e писал(а):Или делайте преобразователь интерфейса на МК (оно и дешевле будет, надежно и просто) или отстанте от этой идеи.
Да можно и так, в принципе... вот только сроки поджимают. А преобразователь ВО ЧТО должен преобразовывать?
Я еще находил такую вещь http://datasheets.maximintegrated.com/e ... 7U-S09.pdf, но она для винды, и там придется городить какой-то драйвер...
Вообще, меня интересуют любые выходы из ситуации, и особенно, быстроосуществимые.
uk8amk
Поставщик валерьянки для Кота
Сообщения: 2222
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Откуда: Tashkent

Re: Как из импульса 1мс сделать импульс в 1мкс?

Сообщение uk8amk »

Чтобы мы дальше не играли в телепатию, может озвучите какие интерфейсы у ПЛК имеются? Ну и имя его тоже неплохо бы.
Аватара пользователя
Z_h_e
Собутыльник Кота
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Re: Как из импульса 1мс сделать импульс в 1мкс?

Сообщение Z_h_e »

aptemah писал(а):и особенно, быстроосуществимые.
Если начальству стало резко надо, то так же резко и отпадет, уж поверьте мне.

Возьмите вот такой мой проектик.. Оно не для этого. Но выкинте все лишнее. Оставте МК, ds18b20 и UART. Протокол описан, прошивка есть.

Вопрос!!! Зачем подключать DS18B20 к ПЛК? Если начальство знает об таком термометре, наверно оно знает что это. А если не знает, то что Вам мешает объяснить почему он не подходит. Что то тут не так.

А преобразователь ВО ЧТО должен преобразовывать?
В то что понимает ПЛК. Несколько раз было об этом уже напсано, читайте выше.

Какое у Вас техзадание?
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
IRMADE
Держит паяльник хвостом
Сообщения: 958
Зарегистрирован: Вс июл 13, 2014 09:42:26

Re: Как из импульса 1мс сделать импульс в 1мкс?

Сообщение IRMADE »

[quote="aptemah"]. Как сделать, чтобы импульс длительностью в 1мс преобразовывался в импульс длительностью 1мкс? Импульс отрицательный, т.е. во время импульса провод "сажается" на землю.


Это очень просто реализуется на одновибраторах (в режиме "без перезапуска") на К555АГ3 или К561АГ1.
Аватара пользователя
uldemir
Друг Кота
Сообщения: 7359
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Re: Как из импульса 1мс сделать импульс в 1мкс?

Сообщение uldemir »

Ну, если так хочется, то сделайте модуль. Счетчик тактирующийся от 1Мгц, удерживающийся в 0 пока не придёт ваш разрешающий импульс. А дальше, простой логикой формируете активный уровень, при состоянии 0х01 и удерживающий его дольше до состояния 90-120 (выберите любое значение, которое вам удобнее дешифровать), если на входе data (вам понадобится еще один вход) лог.0. Параллельно, сделайте еще один триггер, который будет защелкивать данные на состоянии счетчика 10-12 (опять, выберете удобное для вас), и которые вы будете считывать своим ПЛК, через другой вход. Ну а для формирования сигнала сброс, сделайте тоже одновибратор на 480-500 мкс. Думаю, ловить presence импульс не обязательно.

Вот так, можно сделать на простой логике. Я такую штуку провернул в своём шкальном термометре (на ПЛИС) и точно тоже самое, но гораздо развесистее можно сделать на микроконтроллере (который сам опросит датчик и в ваш ПЛК передаст готовую температуру хоть кодом Морзе). Короче, надо только делать.
Аватара пользователя
Черный кот
Родился
Сообщения: 12
Зарегистрирован: Вс мар 06, 2011 15:20:35
Откуда: Ульяновск

Re: Как из импульса 1мс сделать импульс в 1мкс?

Сообщение Черный кот »

aptemah писал(а): Как сделать, чтобы импульс длительностью в 1мс преобразовывался в импульс длительностью 1мкс? Импульс отрицательный, т.е. во время импульса провод "сажается" на землю.

Самая простая схема: инвертор1- на выход емкость последовательно с резистором на землю- из средней точки на вход инвертора2
примерная формула для расчета R*C=2 мкс ;
тоесть ТТЛ если R= 2 ком ,то С примерно 1000 пФ
КМОП R=10 ком; С=220 пФ
далее подбор R или C
ST_A
Нашел транзистор. Понюхал.
Сообщения: 150
Зарегистрирован: Вт окт 05, 2010 15:25:41
Откуда: г. Кишинев

Re: Как из импульса 1мс сделать импульс в 1мкс?

Сообщение ST_A »

Есть стандартное решение из классики, это укротитель импульса. Номиналы R1 и C1 придется подбирать экспериментально или в соответствующей литературе отыскать его расчет. Схема работает более чем дубово...
ukorot.JPG
(39.75 КБ) 782 скачивания
Ответить

Вернуться в «Цифровая техника»