Хочу посоветоваться с коллективным разумом Электроникса вот по какому поводу.
Есть схема предварительного усилителя с Ку=50, сигнал Udc. Для его нормальной работы по постоянному току применена схема компенсации, собранная на RC и представляющая собой однобитный ЦАП. Управление от порта P меги16. К выходу ПУ подключен ФВЧ с Ку=2000. Частота ФВЧ гораздо ниже частоты управления и выборки.
ЦАП управляется программным компаратором:
Udc=(+) -> P=0
Udc=(0) -> P=(z)
Udc=(-) -> P=1
Таким образом осуществляется трекинг (баланс нуля) ОУ. Частота выборок 831 Гц. Частота управления портом (переключения от 0 в z, например), сами понимаете, слабо предсказуема и зависит от постоянной RC и гуляющих вокруг помех. Скорость трекинга регулируется длительностью уровней 1 и 0. В общем, все работает. К сожалению, диаграммы в живом виде сейчас предоставить не могу, плата на работе. Но это треугольник с периодом от 0,3 до 3 с, пересекающий нуль. Так и задумывалось.
Проблема вот в чем: при переходе Udc от +(-) к 0 на выходе ФВЧ наблюдается выброс недопустимой величины. В это время срабатывает компаратор и мега переводит порт в (z).
Что это и как с этим бороться?Я экспериментировал вот над чем:
1.Для однозначной идентифицикации проблемы заменил 1-бит ЦАП на ШИМ 8 бит. Проблема исчезла, но 16-бит ШИМы заняты, 8 бит недостаточно – слишком большой шаг трекинга. Зато появилось еще одно предположение – несинхронность (с выборками) перехода через 0… Как я думаю, это достаточно случайный процесс и частота переключений близка к частоте фильтра. Дело в том, что шум ФВЧ при управлении от ШИМ оказался в 3-10 раз ниже, чем от ЦАП.
2.Убрал состояние (z) - все равно выбросы есть. И не понять, то ли уменьшились, то ли нет...
3.Трассировка платы – выпаивал смдэшки и заменял напрямую подлюченными обычными компонентами; подавал сигнал на RC витой парой; пытался найти ошибку в заземлении и убрать возвратные токи толстым проводом java script:emoticon(':07:', 'smid_5') . Не помогло.
4.Влияние ESR конденсатора С – применял всякие, и обычные электролиты, и танталы, и от материнок с малым значением этого самого ESR. Не помогло.
5.Менял постоянную времени RC цепочки – не помогло.
6.Не успел проверить – многократное переключение порта на границах переходов от 0(1) к (z). Можно вылечить введением гистерезиса на 1-3 МЗР
7.Бросок по питанию в аналоговой части схемы (при переключении порта) – не проверял еще. Питание от общей 78L05, развязка LС (22нг*22мкф*100нф) для проца и RC (10ом*22мкф*100нф) для аналога. Есть земля проца и аналоговая земля. Точку соединени блок.кондера не подбирал.
Чувствую, где-то прокол в экспериментах. Что-то должно было повлиять, но не повлияло. Сейчас остались только 6-й и 7-й варианты…
Может, подскажете еще что-нибудь?