С дуру можно конечно и член сломать, но вряд ли вы сами будете так нахрапом действовать
Устройство на Ardiuno для контроля пересечения барьера.
- Сообщения: 622
- Зарегистрирован: Пн фев 16, 2026 17:30:02
Так ведь эти дефайны будут сконцентрированы внутри уровня Hardware Abstraction Layer и дальше уже не пойдут. Дальше работаем с тем функционалом, который предоставляет уаовень HAL в всде оберток функций (методов, по терминологии плюсов).
С дуру можно конечно и член сломать, но вряд ли вы сами будете так нахрапом действовать
С дуру можно конечно и член сломать, но вряд ли вы сами будете так нахрапом действовать
- Реклама
дело больше не в токах, а в коэффициенте усиления усилителя.
и чем больше коэффициент усиления усилителя тем больше надо фильтров по питанию. больших и разных ))
и чем больше коэффициент усиления усилителя тем больше надо фильтров по питанию. больших и разных ))
в схеме два светика. вывод 5 и 6.
значит программа мигалки буде такая.
PORTD = 0b00100000; // первый включить, второй выключить.
PORTD = 0b01000000; // первый выключить, второй включить.
получилась мигалка ))
а если ещё что надо добавить то мы перепишем программу ))
а что там ещё есть ?
на работу усилителей программа не влияет.
есть ещё два светодиода... выводы 4 и 7.
значит надо переписать нашу программу ))
значит программа мигалки буде такая.
PORTD = 0b00100000; // первый включить, второй выключить.
PORTD = 0b01000000; // первый выключить, второй включить.
получилась мигалка ))
а если ещё что надо добавить то мы перепишем программу ))
а что там ещё есть ?
на работу усилителей программа не влияет.
есть ещё два светодиода... выводы 4 и 7.
значит надо переписать нашу программу ))
- Сообщения: 622
- Зарегистрирован: Пн фев 16, 2026 17:30:02
А Рома не слышал про лог операции OR и AND?
- Сообщения: 398
- Зарегистрирован: Чт май 07, 2026 00:30:38
А! Ясно. Тут вышла недосказанность с моей стороны - я не использую HAL. Использовал бы, предубеждений особых нет и считаю его удобным, но для ch32v он просто ужасен (Вы бы точно его создателей назвали нехорошими словами).Rapra писал(а): Пт июл 03, 2026 13:12:19 Так ведь эти дефайны будут сконцентрированы внутри уровня Hardware Abstraction Layer и дальше уже не пойдут.
- Реклама
- Сообщения: 398
- Зарегистрирован: Чт май 07, 2026 00:30:38
А скажите (когда в очередной раз перепишете программу), если два каскада усилителя, то усиление помех как происходит? В соответствии с произведением коэффициентов или применительно к каждому, и если второе, то какой каскад более значим?roman.com писал(а): Пт июл 03, 2026 13:13:31 и чем больше коэффициент усиления усилителя тем больше надо фильтров по питанию. больших и разных ))
Рома много чего слышал ))
а где наша программа ? ))
PIND = 0b11110000; // выводы 4,5,6,7
PORTD = 0b00000000; // выводы 4,5,6,7
w(1){
PORTD = 0b00100000; // включить 5, выключить 6
PORTD = 0b01000000; // выключить 5, включить 6.
}
а где наша программа ? ))
PIND = 0b11110000; // выводы 4,5,6,7
PORTD = 0b00000000; // выводы 4,5,6,7
w(1){
PORTD = 0b00100000; // включить 5, выключить 6
PORTD = 0b01000000; // выключить 5, включить 6.
}
- Сообщения: 622
- Зарегистрирован: Пн фев 16, 2026 17:30:02
Я ведь не зря написал отдельными словами Hardware Abstraction Layer, чтобы подчеркнуть этим отличие общего понятия от библиотеки, поставляемой производителем. Hardware Abstraction Layer - это один из уровней абстракции, принятой в философии построения программы. Вы же не будете из main напрямую дергать регистры и биты. Хотя, так делают новички. Но опытные программисты напишут эти самые уровни абстракции. Так общепринято, считается более правильным, не я это придумал.Zapolyarny писал(а): Пт июл 03, 2026 13:31:04 А! Ясно. Тут вышла недосказанность с моей стороны - я не использую HAL. Использовал бы, предубеждений особых нет и считаю его удобным, но для ch32v он просто ужасен (Вы бы точно его создателей назвали нехорошими словами).
Уровень Hardware Abstraction Layer можно написать самому, а можно взять то, что было написано производителем микроконтроллера. В концепции Ардуины этот HAL представлен например функцией digitalWrite(). Эта ф-ция подходит к любому микроконтроллеру внутри концепции Ардуины.
Поэтому, лично я не вижу необходимости переписывать в плюсовом стиле заголовочники микроконтроллеров, ибо оное достаточно муторное занятие, и всё равно будет закрыто на уровне HAL, выше уже не пойдет. Так что смысл терять время?
Простой усилитель...
Посмотрим к примеру те же "стопы"...
Там минимум полосовой УНЧ с настройкой на несущую частоту излучателя, а не просто усилитель переменного сигнала...
Как такой выполнить - вариантов много встретить можно. Заодно и случайные помехи удавятся...

Посмотрим к примеру те же "стопы"...
Там минимум полосовой УНЧ с настройкой на несущую частоту излучателя, а не просто усилитель переменного сигнала...
Как такой выполнить - вариантов много встретить можно. Заодно и случайные помехи удавятся...
А вот это реально помогло. Спасибо, Роман. Правда я поставил только один такой фильтр, поскольку дорожка питания там одна идёт. Не подскажешь, где на текущей разводке поставить фильтры на каждый канал? В смысле, где конкретно расположить резисторы и конденсаторы?roman.com писал(а): Пт июл 03, 2026 12:03:46 Все нормальные люди первым делом ставят фильтры по питанию.
Если быть точным то нормальные люди вообще не делают усилители без фильтров по питанию )) Поэтому у нормальных людей обычно таких проблем не возникает.
- Сообщения: 622
- Зарегистрирован: Пн фев 16, 2026 17:30:02
Да не надо там на каждый канал. Достаточно просто отделить аналоговую часть питания от цифровой. Там на плате дорожки питания на аналоговую часть проходят после питания микроконтроллера, а это и есть потенциальный источник проблем. В первом каскаде резистор от плюса питания как раз приходит на фотодиод, и как раз этот путь и является первым источником усиленной каскадами помехи. В исходной схеме этого резистора не было.
Это я потом поставил. Но, что с ним, что без него - не работало.Rapra писал(а): Пт июл 03, 2026 16:39:59 В первом каскаде резистор от плюса питания как раз приходит на фотодиод, и как раз этот путь и является первым источником усиленной каскадами помехи. В исходной схеме этого резистора не было.
Сейчас у меня вот так, и помехи уменьшились, где-то, до полувольта. И светодиоды светятся, значит сигнала нет.Massaraksh7 писал(а): Пт июл 03, 2026 16:36:13 В смысле, где конкретно расположить резисторы и конденсаторы?
Сейчас, скорее всего, плату не буду переделывать, но на будущее вижу так:
Можете покритиковать, восприму с благодарностью, единственно, разъём не хочу удалять, уж больно удобно с ним.
Хотя, можно его поближе к ножкам расположить
во первых там ИМПУЛЬСНЫЙ блок питания.
я не знаю какую пульсацию он даёт.
смотреть надо.
микроконтроллеру пофигу ))
а усилителю нет.
для начала я бы подал питание от другого блока питания. нормального ))
идеальный блок питания - аккумулятор ))
откуда я знаю куда там впихнуть фильтр питания )) дорожки резать надо...
принцип простой - конденсатор фильтра ставят поближе к транзисторами. чтоб помехи замыкались на массу по кратчайшему пути.
и фильтры ставят два. на каждый усилитель свой фильтр. чтоб исключить влияние одного усилителя на другой.
это все на стадии проектирования думается.
но для начала в качестве эксперимента я бы увеличил ёмкость конденсаторов вплоть до 1000 мкФ.
а вообще я бы по два фильтра поставил.
так надежней ))
я не знаю какую пульсацию он даёт.
смотреть надо.
микроконтроллеру пофигу ))
а усилителю нет.
для начала я бы подал питание от другого блока питания. нормального ))
идеальный блок питания - аккумулятор ))
откуда я знаю куда там впихнуть фильтр питания )) дорожки резать надо...
принцип простой - конденсатор фильтра ставят поближе к транзисторами. чтоб помехи замыкались на массу по кратчайшему пути.
и фильтры ставят два. на каждый усилитель свой фильтр. чтоб исключить влияние одного усилителя на другой.
это все на стадии проектирования думается.
но для начала в качестве эксперимента я бы увеличил ёмкость конденсаторов вплоть до 1000 мкФ.
а вообще я бы по два фильтра поставил.
так надежней ))
- Вложения
-
- cxema.png
- (73.8 КБ) 7 скачиваний
все-таки питание на аналоговую часть МК я бы тоже подал. аналоговая часть кушать не простит )) пока АЦП программно выключен ток не меняется.
зато будет вторая земля для МК. ))
но это я.
как у других не знаю.
зато будет вторая земля для МК. ))
но это я.
как у других не знаю.
- Сообщения: 622
- Зарегистрирован: Пн фев 16, 2026 17:30:02
Я уже писал ранее - дорожки питания и земли к транзисторам не должны идти после дорожки питания микроконтроллера. Лучше отдельными дорожками запитать микроконтроллер и отдельными дорожками - транзисторы. А сходиться эти дорожки должны в одном месте, в точке подключения от блока питания
Бессмысленно. Ток потребления там мизерный, а большая емкость конденсатора плохо гасит высокочастотные пульсации.roman.com писал(а): Пт июл 03, 2026 18:47:03 но для начала в качестве эксперимента я бы увеличил ёмкость конденсаторов вплоть до 1000 мкФ.
Это обязательно! Все выводы питания - обе пары VCC и GND, а так же AVCC должны быть запитаны обязательно! У автора это не сделано в разводке.roman.com писал(а): Пт июл 03, 2026 18:50:58 все-таки питание на аналоговую часть МК я бы тоже подал.
Последний раз редактировалось Rapra Пт июл 03, 2026 19:04:00, всего редактировалось 1 раз.
конденсаторы большой ёмкости подключаются к существующим в процессе поиска источника помех.
это в процессе отладки делается. а не на постоянной основе.
но в любом случае все начинается с нормально блока питания.
фиг его знает какие там помехи у дешевого китайского блока питания.
в малогабаритных блоках питания китайцы экономят конденсаторы и фильтры (дроссели). поэтому никто не знает что там за блок питания такой хитрый ))
это в процессе отладки делается. а не на постоянной основе.
но в любом случае все начинается с нормально блока питания.
фиг его знает какие там помехи у дешевого китайского блока питания.
в малогабаритных блоках питания китайцы экономят конденсаторы и фильтры (дроссели). поэтому никто не знает что там за блок питания такой хитрый ))
- Сообщения: 622
- Зарегистрирован: Пн фев 16, 2026 17:30:02
Бессмысленно. Конденсаторы большой емкости, особенно на 1000 мкФ, плохо работают с высокочастотными импульсами и малыми токами заряда/разряда. Такие импульсы поглощаются блокировочными мелкими на 0,1 - 0,47 мкФ, установленными поближе к месту фильтрации.
Тут ведь главное, что ДО ЭТОГО у автора не было проблем. А значит, на плате Ардуино было все правильно сделано.
Тут ведь главное, что ДО ЭТОГО у автора не было проблем. А значит, на плате Ардуино было все правильно сделано.


