Измерение длительности импульса
Измерение длительности импульса
Может есть решения, ткните.
Не могу сообразить как организовать...
Есть изменяемая частота (к примеру как с датчика АБС(по уровню похожее), от 1гц до 250кгц) . Чем выше частота, тем короче импульс. Надо замерить интервал импульса от 1 до 0 и вывести данные в формате времени. Может код какой попробовать встроить в блок? Точнось не сильно важна, но отклонения должны быть приемлемые... Все что я пробовал или буфер переполняется и не успевает сбрасываться или низкие частоты не видит, или высокие не видит...
Это для мотора 9000об/мин. Стоит датчик и по метке на валу считывает оборот...
Не могу сообразить как организовать...
Есть изменяемая частота (к примеру как с датчика АБС(по уровню похожее), от 1гц до 250кгц) . Чем выше частота, тем короче импульс. Надо замерить интервал импульса от 1 до 0 и вывести данные в формате времени. Может код какой попробовать встроить в блок? Точнось не сильно важна, но отклонения должны быть приемлемые... Все что я пробовал или буфер переполняется и не успевает сбрасываться или низкие частоты не видит, или высокие не видит...
Это для мотора 9000об/мин. Стоит датчик и по метке на валу считывает оборот...
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Измерение длительности импульса
[ref]injener[/ref],
Скоростной счётчик, режим измерения длительности импульса.
[spoiler] [/spoiler]
Скоростной счётчик, режим измерения длительности импульса.
[spoiler] [/spoiler]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Измерение длительности импульса
Что то он у меня срывается после примерно 7-10сек работы... Начинаются прерывания в выводе данных. На скрине все настройки что нужны? Может еще что то надо?Sancho писал(а): 03 июл 2018, 10:14[ref]injener[/ref],
Скоростной счётчик, режим измерения длительности импульса.
[spoiler]screenshot_18-07-03_10-12-06.pngscreenshot_18-07-03_10-12-30.png[/spoiler]
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Измерение длительности импульса
Установите галочку "вход разрешения замера" - на появившийся вход подавайте 0 во время вывода данных.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Измерение длительности импульса
Станно. Делал так до этого, не получалось. А тут прям раз и все заработало.
[ref=#ff8000]Sancho[/ref], а не подскажешь как один импуль умножать? Посмотрел тут, умножителей что то ни кто не собирал еще...
[ref=#ff8000]Sancho[/ref], а не подскажешь как один импуль умножать? Посмотрел тут, умножителей что то ни кто не собирал еще...
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Измерение длительности импульса
Более подробнее, что надо получить, а то не улавливаю сути вопроса...
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Измерение длительности импульса
[ref=#ff8000]Sancho[/ref], есть частота на входе 10гц, на выходе должно быть 30гц
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Измерение длительности импульса
Получил время импульса и паузы, раздели на нужное, подай на генератор.
Только с измерением по прерыванию будет проблематично запустить генератор. Возможно не прав, если использовать аппаратный таймер.
Отправлено спустя 7 минут 10 секунд:
Ещё зависит от диапазона частот и времени/периода перестройки (как часто).
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
-
- Капитан
- Сообщения: 857
- Зарегистрирован: 17 ноя 2015, 20:36
- Имя: Сергей
- Благодарил (а): 39 раз
- Поблагодарили: 7 раз
Измерение длительности импульса
Саш, как запустить генератор с длительностью импульса и паузы меньше 1 микросекунды. А то получается что минимальное значение в сумме 2 микросекунды или около 500 килогерц, Если конечно я правильно перевел. Просто стало интересно какую максимальную частоту можно с ESP выжать.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Измерение длительности импульса
Написать свой генератор.fsergei70 писал(а): 04 июл 2018, 21:08Саш, как запустить генератор с длительностью импульса и паузы меньше 1 микросекунды. А то получается что минимальное значение в сумме 2 микросекунды или около 500 килогерц, Если конечно я правильно перевел. Просто стало интересно какую максимальную частоту можно с ESP выжать.

Попробую попозже, работы основной подвалило...
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Измерение длительности импульса
[ref=#ff8000]Sancho[/ref], ну ведь точно! Если задействовать аппаратный таймер то он будет равен для всех!
Диапазон частот не высок. 6имп/метр. До 700кгц думаю потянет.
У меня два выхода. Первый найти датчик скорости от другой машины, но потом в приборке делитель городить. Второй собрать множитель и от него все доп устройство будет работать... Второе предпочтительнее. Сегодня буду пробовать собирать и поженить множитель с другими платами...
Отправлено спустя 10 минут 37 секунд:
И еще вопрос. Если записать данные в первую память, потом перезаписать их во вторую память и считывать уже оттуда, будет быстрее считывание? По идее пока на первую записывается, я спокойно считываю со второй...
Диапазон частот не высок. 6имп/метр. До 700кгц думаю потянет.
У меня два выхода. Первый найти датчик скорости от другой машины, но потом в приборке делитель городить. Второй собрать множитель и от него все доп устройство будет работать... Второе предпочтительнее. Сегодня буду пробовать собирать и поженить множитель с другими платами...
Отправлено спустя 10 минут 37 секунд:
А вот тут интрига! Подробнее можно? Может я сумею код собрать? Желательно на что опираться в поиске...
И еще вопрос. Если записать данные в первую память, потом перезаписать их во вторую память и считывать уже оттуда, будет быстрее считывание? По идее пока на первую записывается, я спокойно считываю со второй...
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Измерение длительности импульса
Подумайте немного:injener писал(а): 05 июл 2018, 15:59[ref=#ff8000]Sancho[/ref], ну ведь точно! Если задействовать аппаратный таймер то он будет равен для всех!
Диапазон частот не высок. 6имп/метр. До 700кгц думаю потянет.
У меня два выхода. Первый найти датчик скорости от другой машины, но потом в приборке делитель городить. Второй собрать множитель и от него все доп устройство будет работать... Второе предпочтительнее. Сегодня буду пробовать собирать и поженить множитель с другими платами...
Любой генератор в мк привязан к кварцу,
Частота тем или иным образом будет привязана к производным от деления, даже если делать импульс и паузу разной длинны.
Плавного изменения в области больших частот ожидать не стоит при всём желании - скорость пина, да и программы в общем, не велика. Надо смотреть в сторону более быстрых мк.
Не понял, о какой памяти идёт речь.injener писал(а): 05 июл 2018, 16:09И еще вопрос. Если записать данные в первую память, потом перезаписать их во вторую память и считывать уже оттуда, будет быстрее считывание? По идее пока на первую записывается, я спокойно считываю со второй...
Отправлено спустя 33 минуты 46 секунд:
Как я вижу, эскиз, так сказать:injener писал(а): 05 июл 2018, 16:09А вот тут интрига! Подробнее можно? Может я сумею код собрать? Желательно на что опираться в поиске...
[spoiler=Эскиз кода]
Код: Выделить всё
volatile long unsigned int time_gen, time =0;
volatile bool work = false;
volatile byte step =2;
По прерыванию rising обработчик
{
step--;
if(step)запускаем функцию abcd(step);
else{time_gen=time/3; time=0; work=1;}
}
void abcd(step)
{
while(1){time++} // считаем такты между фронтами в бесконечном цикле,
// узнаём косвенно время периода
}
loop(){
if(work)
{
noInterrupts(); // хватит прерываний
//генерируем сигнал, используя полученное time_gen
// время генерации должно зависеть от полученного значения, я так думаю...
// Когда надоело генерить: { work = 0; step =2; interrupts();}
// и идём за новыми данными
}
}
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Измерение длительности импульса
О массивах.

Я представлял что у генератора будет выход не булеаноский...
Например?Sancho писал(а): 05 июл 2018, 16:57Подумайте немного:
Любой генератор в мк привязан к кварцу,
Частота тем или иным образом будет привязана к производным от деления, даже если делать импульс и паузу разной длинны.
Плавного изменения в области больших частот ожидать не стоит при всём желании - скорость пина, да и программы в общем, не велика. Надо смотреть в сторону более быстрых мк.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Измерение длительности импульса
Есть осциллограф?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Измерение длительности импульса
2Мгц потянет?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Измерение длительности импульса
Не. Не потянет. могу через 2 недели на работе замеры сделать...
Отправлено спустя 4 минуты 57 секунд:
После 5кгц падает в обморок. Ну думаю что достаточно этого множителя.
Измерение длительности импульса
Вот что получилось. На 5кгц еще норм, дальше заваливается в обморок. 
Отправлено спустя 5 часов 23 минуты 14 секунд:
Может кто сможет ее раскочегорить на частоту по выше? Надо хотя бы 300кгц...
Перепробовал кучу вариантов. Или зависает или падает в обморок при попытке достать до нужной частоты.
Повторюсь: это умножитель. К примеру входное 100гц, на выходе 300гц.

Отправлено спустя 5 часов 23 минуты 14 секунд:
Может кто сможет ее раскочегорить на частоту по выше? Надо хотя бы 300кгц...
Перепробовал кучу вариантов. Или зависает или падает в обморок при попытке достать до нужной частоты.
Повторюсь: это умножитель. К примеру входное 100гц, на выходе 300гц.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- Sancho
- Полковник
- Сообщения: 4066
- Зарегистрирован: 25 дек 2015, 17:32
- Откуда: Ярославль.
- Имя: Александр
- Поблагодарили: 5 раз
- Контактная информация:
Измерение длительности импульса
Только одна мысль - по фронту дёргаем выход нужное кол-во раз. умножитель за 100 руб. не более. недорого.injener писал(а): 22 июл 2018, 15:45Повторюсь: это умножитель. К примеру входное 100гц, на выходе 300гц.
Отправлено спустя 50 секунд:
без гарантированной скважности.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя