Здравствуйте. Стоит задача: создать устройство для подсчета импульсов. Условно, есть вход- на который подаются импульсы (лог 1 или 0 ). Период опроса порта- 1 сек. Если за время опроса пришло <30 импульсов, на выходе- логич 0. Если пришло >30 импульсов, на выходе- логич. 1. Собственно- все.
Вопрос вот в чем. Как будет проще- собрать это на микросхемах (таймеры, счетчики, логика), либо заморочится микроконтроллерами? Интересует концепция- что выгодней, на Ваш взгляд.
Зарегистрирован: Вс мар 23, 2025 14:56:55 Сообщений: 700
Рейтинг сообщения:0
Микроконтроллер гибче и дешевле, но требует умения программировать и всякие там программаторы и среды разработки. На счётчиках менее гибко, значительно ограниченно по функционалу, дороже. Но не требует умения программировать и дополнительных инструментов.
Оптимальным может быть вариант с Ардуино - среда разработки бесплатна, большое сообщество, наверняка помогут, а может уже есть программка, программатор не требуется.
Добавлено after 2 minutes 46 seconds: Кстати, при определённом характере импульсов это можно сделать аналоговым: на конденсаторе и компараторе.
На рассыпухе надо еще навыки проектирования таких схем иметь (вернее их "сопровождающей" обвязки)... Собственно получится "самодельный простейший МК"... МК - знание начинки, среды разработки, языков (от ассемблера до СИ), наличие программатора... Так что остается лишь адуринка - быстро и доступно с минимальными расходами.
Компания MEAN WELL пополнила ассортимент своей широкой линейки светодиодных драйверов новым семейством XLC для внутреннего освещения. Главное отличие – поддержка широкого спектра проводных и беспроводных технологий диммирования. Новинки представлены в MEANWELL.market моделями с мощностями 25 Вт, 40 Вт и 60 Вт. В линейке есть модели, работающие как в режиме стабилизации тока (СС), так и в режиме стабилизации напряжения (CV) значением 12, 24 и 48 В.
Если на входе (РВ1) за 1 сек. меньше или равно 30 импульсов, то на выходе (РВ4) "0". Если больше 30 на выходе "1". Счёт производится при переходе с "1" в "0". Вывод РВ1 подтянут внутренним резистором...
Даже в таком маленьком коде умудрился из-за невнимательности сделать ошибку...Исправил и добавил генератор на вывод РВ0 для проверки... Простите, извините, старость не радость...
Последний раз редактировалось VNS Сб апр 19, 2025 01:20:02, всего редактировалось 1 раз.
и оставшиеся ноги можно использовать для задания количества импульсов напр 1 кнопочка перевода в режим настройки и на вход нужное к-во импульсов подается за время ее нажатия
Добавлено after 2 minutes 9 seconds: чтоб зашить att13 -нужен usb-rs232 или (usb-uart) и пара транзисторов. и avrdude. искать isp (uart|rs232) schematic
Афигеть, ардуина, МК Прощее всего на счётчиках, бросовой по деньгам логике. Коей по углам и задарма достать мешок не проблема. А главное - любой пионер (в случае чего) починит.
VNS, ну контакты замыкающиеся с частотой 30+Hz это не фантастика, энкодер напр крутануть на 30Hz рукой нетрудно. да и дребезг этож не обязательно сухой контакт, оптодатчик может дребезжать и многое другое
но да, не было явно в задании ...но как практика показывает, подобные нюансы выгоднее вовремя угадывать самому подрядчику
Условно, есть вход- на который подаются импульсы (лог 1 или 0 ). Период опроса порта- 1 сек. Если за время опроса пришло <30 импульсов, на выходе- логич 0. Если пришло >30 импульсов, на выходе- логич. 1.
Некорректное задание- а что должно быть, если импульсов пришло ровно 30? Вот простенько- два CD4017: Спойлер Если на вход (вывод 14 U1) приходит 29 импульсов или меньше- на выходе - "ноль", 30 импульсов или больше- на выходе импульс. На тактовый вход (выводы 13 и 15 обеих микросхем) подается импульс- "логический ноль" длительностью 1 секунда.
задание составлено плохо....к чему привязать секундный интервал ?...может быть ситуация, что в один интервал попадёт 20 импульсов и в другой 20...схема их не отработает, хотя за секунду их было 40....
Смотря для чего та задача (автор вопроса малость "темнит" или сам пока не ведает, чего хочет). Просто от первого импульса считаем последующие. Если интервал от фронта условно первого превысил секунду завершаем контроль. Тот же результат (перезапуск счётного интервала) будет в случае превышения количества счётных импульсов даже при условии, что секунда от первого из них, ещё не прошла. Это если не случай, когда пакеты следуют с интервалом заведомо более 1 секунды (при данных, организованных в пакеты, а не в случайной последовательности). В остальном действительно задачка для шаманизма.
Если этот нюанс важен, то это дело поправимое… привязаться можно к первому импульсу, тогда секундный отсчёт будет начинаться для данного периода именно с первого импульса… вот как пример: Прошивка вверху и на следующей странице.
Последний раз редактировалось VNS Сб апр 19, 2025 01:21:56, всего редактировалось 1 раз.
К сожалению наш вопрошающий Dmitrudo не назвал еще два параметра для понимания задачи: интервал длительности одиночного импульса (от минимального до максимального) и длительность интервала между соседними импульсами, которая воспринимается как разрыв потока (окончание пакета).
интервал длительности одиночного импульса (от минимального до максимального) и длительность интервала между соседними импульсами
В моём примере эти параметры не важны, главное чтобы входные импульсы не превышали 33 кГц (это не точно - прикидка) для корректной работы на данной тактовой частоте МК.
Цитата:
которая воспринимается как разрыв потока (окончание пакета).
Окончанием пакета, является завершение отсчёта интервала 1 сек. Зачем придумывать "гору огурцов"…
Не ожидал, что мой вопрос вызовет такую реакцию. Приятно удивлен. Спасибо всем ответившим!
Я не темню, просто посчитал, что загружать деталями ради "узнать на какой элементной базе собирать"- перебор. Конечно, я выложу подробности, это не тайна.
Сигнализация Старлайн А60 ВТ, настроена на закрывание центрального замка при начале движения. О начале движения сигналка узнает от интегрированного в нее датчика перемещения. Пару раз было, что закрывание ЦЗ срабатывало не в движении, а при раскачивании машины во время выхода и хлопания дверью пассажиром, благо я был в этот момент внутри. Совсем не радует остаться, как-нибудь, перед закрытой дверью с работающим двигателем, вдалеке от дома. Иду на хитрости- то опущу стекло, то дверь не закрою, но по теории вероятности шанс, что я останусь на улице с каждым разом растет. В общем мне это надоело.
Что интересно, в настройках А60 есть пункт- блокировать ЦЗ при достижении скорости ( и можно выбрать скорость, например 30 км\ч), но работает эта фишка при наличии GPS модуля, который во-первых устанавливать надо, плюс у нас ГПС сигналы глушат так, что иногда стоя на перекрестке, твой навигатор показывает, что ты едещь 212 км час. Так что, не вариант.
Задумка была такая: датчик скорости на авто дает 6000 импульсов на км. пройденого пути. Расчет показывает, что при скорости 20 км час, в секунду проскакивает прим. 34 импульса, И я подумал, что необходима схема, которая считала бы импульсы и при достижении 20 км\час +\-, давала бы сигнал на вход сигнализации, и та- только тогда могла бы закрыть ЦЗ.
Планировал, "по-старинке" собрать на Ла7 и Ие10 561 серии, плюс обвязка RC, но в последний момент "вспомнил" про МК и решил спросить авторитетное мнение. Теперь я в растерянности, если честно. Если VNS так играючи написал код, то вариант с ИЕ и ЛА уже кажется- сложным.
Последний раз редактировалось Dmitrudo Сб апр 19, 2025 00:53:15, всего редактировалось 2 раз(а).
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения