hd44780 0 18 февраля, 2023 Опубликовано 18 февраля, 2023 · Жалоба Привет всем. Решил использовать COMP1 на процессоре STM32G0B1RET6. Для тестирования (типа пощупать) подключил так: COMP1 IN+ - DAC OUT1 -- проверяемый сигнал, управляется кнопками (увеличить - уменьшить) COMP1 IN- - DAC OUT2 -- порог срабатывания. Пока неуправляемый COMP1 OUT - PA0 (или PA11) -- внешний выход компаратора К внешнему выходу компаратора подключен простой светодиодик. Просто чтоб видно было. Также выход компаратора опрашивается кодом (он есть в регистрах) и выводится на дисплей. Результат сего действа - битик в регистре ведёт себя довольно адекватно, а на пине я наблюдаю не цифровой уровень (как должно быть), а буквально аналоговый сигнал 0 - 3.3в (я туда кроме светодиода ещё и вольтметр подключил). Когда напряжение DAC OUT1 приближается к DAC OUT2 выход компаратора в регистре сброшен (т.е. IN+ < IN-), а светодиодик на выходе уже начинает светиться. При дальнейшем увеличении DAC OUT1 (IN+) компаратор срабатывает, яркость светодиода растёт. Вопрос - что это за дичь и как получить нормальный цифровой выход? Или я где-то ошибся? Я планировал подключить туда что-то типа К155ТМ2, чтобы аппаратно отключать реле. Я, конечно, понимаю, что в конечном итоге всё будет зависеть от порога срабатывания конкретной микросхемы, подключенной к выходу, но ведь у компаратора по определению должен быть цифровой выход. Пробовал использовать PA11 вместо PA0 - то же самое. Проц вроде настоящий, не пиленый. Это плата NUCLEO-G0B1RE, купленная на Украине в 2019 году, т.е. до всей этой политическо-санкционной хрени. Прилагаю мои исходники либы DAC+COMP dac_comp_lib.c Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 18 февраля, 2023 Опубликовано 18 февраля, 2023 · Жалоба Может там ШИМ на выходе, т.е. он от помех переключается туда-сюда цифровым образом, а вам кажется плавное нарастание? Кста, там какой задан? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
hd44780 0 18 февраля, 2023 Опубликовано 18 февраля, 2023 · Жалоба Был 00, задал 11 - разницы не заметил. Попробовал ради прикола включить инверсию выхода COMP1 -> CSR = COMP_CSR_HYST | COMP_CSR_INMSEL_2 | COMP_CSR_INMSEL_0 | COMP_CSR_POLARITY; оно работает - теперь диодик не плавно разгорается, а плавно затухает 😀 У них там и инверторы аналоговые стоят явно 😂 ШИМ - не знаю, как-то не догнал до такого, завтра ткну осциллом туда, отпишусь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 27 18 февраля, 2023 Опубликовано 18 февраля, 2023 · Жалоба 2 часа назад, hd44780 сказал: . . . . оно работает - теперь диодик не плавно разгорается, а плавно затухает . . . . В док-ии - "Sample-and-hold low-power mode, with internal or external capacitor" Если не включен внутренний запоминающий конденсатор, и отсутствует внешний (то что в док) то на выходе будет на аналоговый сигнал а шим, или что оно там, или их комбинация - часть аналога с выбросами туда или обратно. Соответственно в результате сравнения компаратором он выдаст некую "фантазию на тему". Думаю надо исследовать это направление настройки / схемотехники Вашего девайса. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Obam 37 18 февраля, 2023 Опубликовано 18 февраля, 2023 · Жалоба Просмотр RefMan-а по диагонали дал п. 18.3.7 "Comprator output blanking function". Оно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
hd44780 0 19 февраля, 2023 Опубликовано 19 февраля, 2023 · Жалоба Вобщем вроде понял происходящее. На обоих выходах ЦАПА буферы выключены // MCR.MODE1 = 010 - DAC channel1 is connected to external pin with Buffer disabled DAC -> MCR = DAC_MCR_MODE1_1; // OUT2 - connect to internal logic and to pin PA5, buffer is OFF // MCR.MODE2 = 001 - DAC channel1 is connected to pin PA5 and internal logic with Buffer disabled DAC -> MCR &= ~DAC_MCR_MODE2; DAC -> MCR |= DAC_MCR_MODE2_0; Буферы выключены сознательно, т.к. при этом на выходах почти чистый 0 (где-то 2-3 мВ). Если буферы включить - там порядка 0.4-0.5 в - мне это мешает. Видимо какой-то операционник подключается, который не ахтец. В качестве лирического отступления - год-полтора назад пробовал вместо ЦАПА цифровой потенциометр (условия схемы это позволяют, высокая ёмкость выхода и прочее - не проблема) - тот вообще на выходе идеальный 0 даёт. Перешёл на ЦАПы только ради разрешения - потенциометр 8 бит, ЦАП (любой) - 12. Питание схемы полностью импульсное - первичный БП 24в, потом импульсный преобразователь до 5в, на его выходе я добавил LowESR электролит 500 мкФ. Платa Nucleo с процом питается от этих 5в. На плате стоит штатный AMS1117-3.3 с какими-то мелкими конденсаторами типа 0.1 мкф. Схемы плат дельцы из ST уже давно не предоставляют. На выходах цапа наблюдаются пачки импульсных помех до 0.5 в (если верить моему осциллу UT-81B). Первичный БП - типа такого , только выходнй каскад у меня чуть другой, там я тоже оба выходных электролита поменял, родные заметно хуже были. На выходе компаратора честный прямоугольник, но с многократными беспорядочными импульсами 0-1-0. При росте напряжения IN+ их кол-во и частота сильно растут, это и приводит к свечению светодиода. Так что название темы оказалось некорректным, надо было раньше осциллом потыкать, потом уже писать 😀 Попробую запитать его от транса + LM7805, чтобы полностью уйти от импульсного питания, хотя уйти от него не получится, т.к. проц по задумке должен управлять понижающим преобразователем напряжения с 24в вниз. Сам преобразователь работает, сделаны вольтметр, амперметр и т.п. На компараторе собирался сделать аппаратную защиту тот оверлода с управляемым порогом. Т.е. его выход должен вырубать реле на выходе. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться