Форум РадиоКот https://radiokot.ru/forum/ |
|
Тестер быстродействия оптронов на Arduino от Alex-Lab https://radiokot.ru/forum/viewtopic.php?f=25&t=198564 |
Страница 1 из 2 |
Автор: | PUL`S [ Вт июл 15, 2025 14:57:21 ] |
Заголовок сообщения: | Тестер быстродействия оптронов на Arduino от Alex-Lab |
https://radiokot.ru/artfiles/6609/ Вопрос. Как связаться с автором? Есть вопросы. Вроде как работает устройство но странно... И есть несколько вопросов по программе. |
Автор: | Alex-lab [ Вт июл 15, 2025 23:34:03 ] |
Заголовок сообщения: | Re: Тестер быстродействия оптронов на Arduino от Alex-Lab |
Тут я, пишите свои вопросы. |
Автор: | PUL`S [ Чт июл 17, 2025 18:09:02 ] |
Заголовок сообщения: | Re: Тестер быстродействия оптронов на Arduino от Alex-Lab |
Хорошо. Попробую. У товарища, есть UNO. Возьму у него для проверки. |
Автор: | abc [ Чт июл 17, 2025 20:29:21 ] |
Заголовок сообщения: | Re: Тестер быстродействия оптронов на Arduino от Alex-Lab |
СпойлерКак вариант, для проверки можно использовать лог. анализатор, который продается на али по цене той же ардуино. |
Автор: | Alex-lab [ Сб июл 19, 2025 16:32:45 ] |
Заголовок сообщения: | Re: Тестер быстродействия оптронов на Arduino от Alex-Lab |
Как вариант можете попробовать перенести прерывания на INT1 - pin3. Добавлено after 19 minutes 43 seconds: PUL`S писал(а): Результат такой же... Так, похоже я смог воспроизвести ваши симптомы. На другой плате тоже показывает 65411... Сейчас попробую разобраться. Добавлено after 12 minutes 2 seconds: Попробуйте так const int dt1 = 104; //Постоянные собственной задержки. const int dt2 = 102; Почему-то оказались перепутаны задержки... |
Автор: | PUL`S [ Сб июл 19, 2025 17:40:10 ] |
Заголовок сообщения: | Re: Тестер быстродействия оптронов на Arduino от Alex-Lab |
![]() Прибор работает. Спасибо. |
Автор: | Krismi70 [ Сб июл 19, 2025 17:56:04 ] | ||||
Заголовок сообщения: | Re: Тестер быстродействия оптронов на Arduino от Alex-Lab | ||||
исправленные хексы
|
Автор: | Alex-lab [ Сб июл 19, 2025 18:34:08 ] |
Заголовок сообщения: | Re: Тестер быстродействия оптронов на Arduino от Alex-Lab |
Некоторое время назад меня просили сделать двуканальную версию для сдвоенных оптопар. Тогда не было времени этим заниматься. Сейчас в отпуске как раз и эту функцию добавил в версию 2.0. Основные фичи: 1. два канала 2. работает от одной кнопки "вниз" 3. показывает сразу все значения в наносекундах Немного измененная схема. Вид работы. Канал 1 - 6N137, канал 2 - PC817. ![]() Прошивка в следующем сообщении. |
Автор: | Alex-lab [ Сб июл 19, 2025 22:31:12 ] | ||
Заголовок сообщения: | Re: Тестер быстродействия оптронов на Arduino от Alex-Lab | ||
Спасибо за обнаружение. Поправил.
|
Автор: | PUL`S [ Вс июл 20, 2025 13:32:24 ] |
Заголовок сообщения: | Re: Тестер быстродействия оптронов на Arduino от Alex-Lab |
Потестировал. Работает. Спасибо. Интересный момент, несмотря на то, что в программе включены подтягивающие резисторы на D2 и D3 ( и они действительно включаются, подтягивая эти входы), в случае оставления D2 и D3 отключенными от схемы, продолжается периодическое проскакивание ложных данных. Видимо, по какой-то причине, иногда ложно срабатывают прерывания по INTам. Установка же, внешних резисторов (R3 и R5) полностью устраняет эту проблему. Не знаю, какой номинал подтягивающих резисторов в процессоре, но похоже их тока маловато.... Но, то такое... Кроме этого, интересно поведение прибора если: -установить 817 оптрон -нажать кнопку (сделать измерение) -вытащить и потом обратно вставить измеряемый оптрон -снова нажать кнопку в 90% случаев, прибор покажет совершенно другие значения, но все последующие измерения, будут правильными. И так происходит всегда. Видимо, когда "шевелим" оптрон, происходят постоянные прерывания и как результат, не правильные расчеты. Даже если этого не делать, периодически, при циклическом измерении одного и того же оптрона, проскакивают ложные показания. Может, нужно разрешать прерывания, только в момент измерения? |
Автор: | Alex-lab [ Вс июл 20, 2025 17:13:07 ] |
Заголовок сообщения: | Re: Тестер быстродействия оптронов на Arduino от Alex-Lab |
PUL`S писал(а): Может, нужно разрешать прерывания, только в момент измерения? Так и сделано, прерывания разрешены только когда ожидается конкретный фронт и сразу выключаются по прерыванию. Иначе оно будет ловить все подряд. Причина такого поведения пока остается загадкой. |
Автор: | PUL`S [ Вс июл 20, 2025 19:36:47 ] |
Заголовок сообщения: | Re: Тестер быстродействия оптронов на Arduino от Alex-Lab |
Понятно. Возможно, что причина кроется в командах и библиотеках самого Arduino. Очень трудно предсказать поведение таймеров. Ими же, активно пользуются многие процедуры. В любом случае, со своей задачей прибор справляется и лично меня устраивает. |
Автор: | Alex-lab [ Вс июл 20, 2025 20:53:42 ] |
Заголовок сообщения: | Re: Тестер быстродействия оптронов на Arduino от Alex-Lab |
PUL`S писал(а): Очень трудно предсказать поведение таймеров. Это вряд ли, ну а что там предсказывать? Таймер который используется в скетче больше ничего не делает. Мне кажется, что дело в детекции самого фронта переключения. Мы же не используем компаратор или еще что, а цифровой пин не нормируется жестко по уровню срабатывания, там может шум какой или еще что. Может тепловой эффект. Если бы дело было в таймере, тогда бы и быстрые оптроны флуктуировали, а проблемы возникают только на медленных. Но в целом, думаю и так достаточно. Как прецизионный прибор он и не задумывался. Добавлено after 48 minutes 6 seconds: Добавил функционал вывода данных в порт. Версия 2.1. Новые фичи: 1. DOWN - Тестирование обоих каналов как и раньше 2. UP - отправка полученных данных в терминал 3. SELECT - Тестирование + отправка данных с одного нажатия С помощью этого метода удалось установить, что данные начинают прыгать от температуры пальцев. Даже если не вытаскивать оптрон из колодки а просто держать на нем палец, и постоянно отсылать данные, то значения меняются в одну сторону, если убрать палец и подуть - в другую. Может быть в этом дело. Данные табулируются с разделителем ";", скорость 115200 бод. ![]() Вложение:
|
Автор: | PUL`S [ Вс июл 20, 2025 20:54:58 ] |
Заголовок сообщения: | Re: Тестер быстродействия оптронов на Arduino от Alex-Lab |
Хм... Интересная версия. Намедни, попробую подключить через триггер Шмидта, али ещё через какой формирователь. Просто ради интереса. И да. Оптроны крайне чувствительны к температуре. Как-то забыл об этом. |
Автор: | polovichok [ Пн июл 21, 2025 22:05:37 ] | |||
Заголовок сообщения: | Re: Тестер быстродействия оптронов на Arduino от Alex-Lab | |||
Оптроны крайне чувствительны к температуре. Как-то забыл об этом. У нас на работе по этой причине(изменение климатических условий) оптроны бракуются сотнями(а может и тысячами)... Один раз была забракована партия из 86000 штук, но там скорость не прокатила... Добавлено after 8 hours 54 minutes 54 seconds: Просто великолепно! Спасибо автору за разработку! А функция "UP - отправка полученных данных в терминал" из разряда лучше не придумать. Пока всё на соплях, но будет корпуситься.
|
Автор: | polovichok [ Вт июл 22, 2025 21:54:25 ] | ||||
Заголовок сообщения: | Re: Тестер быстродействия оптронов на Arduino от Alex-Lab | ||||
Немного понажимал на кнопки и...при очередном нажатии иногда показания скачком изменяются. Нарисовал схему в протеусе. Видео не приложить, но визуально видно как выходной импульс(на А4) скачком меняет длительность где то на 5 мкс. Возможно из-за этого даже в протеусе показания немного в каналах отличаются.
|
Страница 1 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |