Страница 1 из 2

Выдача пачки импульсов

Добавлено: 09.12.2015{, 13:53}
stead
Здравствуйте! Подскажите пожалуйста какие блоки надо использовать для получения на выходе пачки импульсов? Чтоб получился такой код:

digitalWrite(cmdPin, LOW);  //Write bit 0.
delayMicroseconds(bitDuration);
digitalWrite(cmdPin, LOW);  //Write bit 1
delayMicroseconds(bitDuration);
digitalWrite(cmdPin, LOW);  //Write bit 2
delayMicroseconds(bitDuration);digitalWrite(cmdPin, HIGH);  //Write bit 3
delayMicroseconds(bitDuration); digitalWrite(cmdPin, HIGH);  //Write bit 4
delayMicroseconds(bitDuration);digitalWrite(cmdPin, LOW);  //Write bit 5
delayMicroseconds(bitDuration);digitalWrite(cmdPin, LOW);  //Write bit 6
delayMicroseconds(bitDuration);digitalWrite(cmdPin, LOW);  //Write bit 7
delayMicroseconds(bitDuration);

Выдача пачки импульсов

Добавлено: 09.12.2015{, 17:41}
DWD
Вы лучше сообщите параметры пачки.

Выдача пачки импульсов

Добавлено: 09.12.2015{, 18:29}
stead
Длительность одного бита 104 микросекунды. Восемь бит, затем пауза 5 милисекунд.

Выдача пачки импульсов

Добавлено: 09.12.2015{, 20:58}
DWD
Например, так...

Выдача пачки импульсов

Добавлено: 10.12.2015{, 21:43}
stead
Спасибо огромное! Буду разбираться.

Добавлено (10.12.2015, 21:43)
---------------------------------------------
Всё хорошо, но данная схема генерит просто пачки импульсов с заданной переодичностью. А мне надо выдавать слово из восьми бит. В приведённом примере кода в начале топика записано слово 00011000. Вот как это прописать блоками? Прошу прощения если не корректно изясняюсь. Изображение

Выдача пачки импульсов

Добавлено: 11.12.2015{, 01:34}
rw6cm
stead писал(а):какие блоки надо использовать для получения на выходе пачки импульсов? Чтоб получился такой код:00011000
Длительность одного бита 104 микросекунды. Восемь бит, затем пауза 5 милисекунд.

Выдача пачки импульсов

Добавлено: 11.12.2015{, 08:28}
stead
Вот это то что нужно! Спасибо!

Выдача пачки импульсов

Добавлено: 11.12.2015{, 14:16}
DWD
stead писал(а):В приведённом примере кода в начале топика записано слово 00011000.
Ну, в кодах я не разбираюсь.
Нужно было ТЗ ставить полностью... Изображение

Выдача пачки импульсов

Добавлено: 11.12.2015{, 18:58}
stead
DWD писал(а):Ну, в кодах я не разбираюсь.Нужно было ТЗ ставить полностью...
Ваша схема дала мне определённые знания. В любом случае спасибо!

Выдача пачки импульсов

Добавлено: 03.07.2016{, 22:57}
oren
Здравствуйте,собрал обе схемы ,но почему то работает только  # 4,  та схема,что в Сообщение # 6  на выходе нет ничего, хочу получить код  10 бит ,с возможностью управления позиционированием импульсов на временной оси.

Выдача пачки импульсов

Добавлено: 06.07.2016{, 07:41}
rw6cm
oren писал(а):хочу получить код 10 бит ,с возможностью управления позиционированием импульсов на временной оси.
Но ведь эта тема не об этом )
Полагаю это связано с этой темой, тогда нужно что то такое (ниже).
Хотя думаю тяжко будет добиться от ардуины такой точности и стабильности временных параметров, каких там требуют.

Выдача пачки импульсов

Добавлено: 06.07.2016{, 19:39}
oren
Большое спасибо,схема выдает пачки импульсов.Если Вам не трудно проясните ,пожалуйста,каким образом я могу изменить длительность импульса (20 микросекунд) установить общую длительность "пачки"-3,6 миллисекунды ?

Выдача пачки импульсов

Добавлено: 07.07.2016{, 10:07}
rw6cm
oren писал(а):проясните ,пожалуйста,каким образом я могу изменить длительность импульса (20 микросекунд) установить общую длительность "пачки"-3,6 миллисекунды ?
Начнем из того:
Нам нужен пакет кодированных импульсов.

СпойлерПоказать
Пакет (TimeSlot) состоит из 10 мест (Bins).
Одно место разбито на 16 ячеек длительностью 20 мк.сек., в интервале которого может находится импульс сигнала.
То есть кодировка сигнала на осциллографе должна выглядеть примерно так:

СпойлерПоказать
Собираем проект:

СпойлерПоказать
В генераторе ставим 10 мк.сек, в счетчике сброс на 16, тем самым формируем одно место.
В массив заносим кодировку на 10 мест, и с помощью второго счетчика формируем пакет.
т.е. пакет будет составлять 20х16х10=3200 мк.сек.
и на выходе получается такая форма.

СпойлерПоказать
Конечно, нюансов очень много, в которые надо вникать,
и сможет ли ардуина удерживать стабильность с точностью 20.83 мк.сек +- 0,015%
честно говоря сомневаюсь, а замерить не чем.

Выдача пачки импульсов

Добавлено: 07.07.2016{, 19:16}
oren
Спасибо,очень красивое решение,как я понимаю ,можно добавлять массивы с кодами и выбирать нужный с помощью переключателя.К сожалению с генератора  10мк.сек выходит импульс 50 мк.сек,он занимает сразу 2 bins и код не читается,попробую простой симметричный генератор заменить на собранный тут же на форуме в разделе:"Падение частоты генератора"вид импульса прилагаю.

Выдача пачки импульсов

Добавлено: 08.07.2016{, 07:39}
rw6cm
oren писал(а):К сожалению с генератора 10мк.сек выходит импульс 50 мк.сек,
Да, забыл совсем, в том году брал у сына цифровик, несколько вечеров потратил на эксперименты с ункой,
в частности с генераторами, и обратил внимание, что если  до 100 мк.сек, параметры еще как то бьются, то ниже расползаются.
А сигнал меньше 15 мк.сек(период 30) не получался.
Так что придется вам или выбирать более скоростные, или заточенные под это контроллеры, или формировать пакет на железной логике.
С вариантом замены генератора тоже не получится, ради эксперимента подал частоту с внешнего генератора, результат тот же.

Выдача пачки импульсов

Добавлено: 08.07.2016{, 22:02}
Сергей
Ребят, не мне вас учить, но хотел обратить ваше внимание на грамматические ошибки.
мк.сек - это, я так понимаю, микросекунды?
Предлагаю правильный вариант: в математике обозначение величин выглядят так (на примере частот):
ГГц - гигагнрцы
МГц - мегагерцы
кГц - килогерцы
Гц - герцы
0 и все что ниже нуля (на примере емкости):
мФ - милифарады
мкФ - микрофарады
нФ - нанофарады
пФ -пикофарады
т. е. приставки:
Г - гига
М - мега
к - кило
0
м - мили
мк - микро
н - нано
п - пико
добавляются к названию величины измерения.

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

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

Выдача пачки импульсов

Добавлено: 09.07.2016{, 06:58}
rw6cm
Сергей писал(а):но так читать удобней.
Хорошо. Просто так выделяю на что обратить внимания ).
Но если уж писать правильно то   мкс   (все малыми буквами)
С большой буквы пишут единицы измерения названные в честь ученых их открывших.

Выдача пачки импульсов

Добавлено: 09.07.2016{, 08:15}
oren
Спасибо Сергей,обычно пишу "MHz"."us",но если писать кириллицей,то уж все до конца,

Выдача пачки импульсов

Добавлено: 09.07.2016{, 08:24}
oren
По теме "Создание пачки импульсов" хочу попробовать такую схему,генератор выдает нужную частоту ,хотя не стабильно,в воскресенье попробую,

Выдача пачки импульсов

Добавлено: 09.07.2016{, 10:23}
Сергей
rw6cm писал(а):С большой буквы пишут единицы измерения названные в честь ученых их открывших.
Точно! Это уже я ошибся).