АД! AD8402 она кривая или я такой?

Тема в разделе "Флудилка", создана пользователем Salk, 22 сен 2017.

  1. Salk

    Salk Гик

    Блин, бесит она уже меня. Поставил сиё цифровое потенциомерство (1 кОм) в обратную связь для импульсного БП, мол с энкодера и ИК-пульта круто же управлять током и напряжением, аля лабораторный БП.
    Но не могу заставить работать потенциометр стабильно. Он ошибается 3-5 раз из 10. Т.е. выставляет ползунок в не верное положение. Практически хаотично, как буд-то биты теряет и записывает мусор. Т.е. я могу несколько раз отправить 8-ми битное число 127 и из 10 раз подряд только 5-7 раз он выставит верное значение равное половине его диапазона. Что не так может быть? При чем, одинаково, что я использовал аппаратный SPI, что написал программный.
    Вот даташит на AD8402
     
  2. Salk

    Salk Гик

    Что с форумом? Не могу ничего отредактировать или вставить ссылки, ругается на Java script.
     
  3. Salk

    Salk Гик

    Вот кусок кода, как я обращаюсь к потенциометру:
     
  4. Salk

    Salk Гик

     
  5. rkit

    rkit Гуру

    Проблема в схеме и разводке.
     
  6. Salk

    Salk Гик

    Но как могут быть проблемы в схеме, если частично, но работает?
    Я еще RS и SHDN объединил и посадил на +5V. Вроде же правильно сделал, они в даташите со знаком инверсии обозначены, для того чтобы потенциометр не выключался и не сбрасывался?
    Схема обратной связи то простая: http://img.radiokot.ru/files/94196/1d0y9ehkti.jpg
    Без цифрового потенциометра, если его заменить просто обычными, то все работает, но вот с ЦП, он хаотично, ИНОГДА, выставляет не верные значения. Почти в больше половины случаях он же все верно выставляет, но почему такая не стабильность? Провода SPI (SS, CLK, SDI) длиной всего не более 17 см, что для SPI вполне не критично, просадки по напряжению 5V нет. Запутался.
     
  7. Salk

    Salk Гик

    Могут помехи по питанию сносить крышу потенциометру? У меня и Ardu UNO и ЦП питает импульсный понижающий DC-DC преобразователь на 5V. Но Arduino не жалуется и конденсаторы в фильтрах стоят.
     
  8. rkit

    rkit Гуру

    17 см это многовато.
    Помехи по питанию могут.
    Что за фильтры там у вас это еще не известно. Вы их рассчитывали?
     
  9. Salk

    Salk Гик

    Нет не рассчитывал, DC-DC преобразователь питается от отдельного маленького трансформатора к импульсному БП никакого отношения не имеет. Фильтры стандарт - электролиты (1000 мкФ) + керамика (0.1 мкФ). Если мерить мультмиетром в режиме переменки выход DC-DC, там 0.1 мВ, конечно очень условный способ измерять пульсации, но пока только так.
    В коде все нормально? Посылаем адрес либо 0, либо 1, потом само число по битого, никаких задержек не нужно?
     
  10. rkit

    rkit Гуру

    Кто вас такому стандарту научил - ставить огромные конденсаторы куда попало? У любого регулятора напряжения есть окно по задержке обратной связи, и если из него выскочить, то вся цепь начнет самовозбуждаться.
     
  11. Salk

    Salk Гик

  12. Salk

    Salk Гик

    rkit, Вы были правы по поводу разводки и длины линии SPI. Подтянул каждую линию SPI (SS, CLK, SDI) резисторами 560 Ом к +5В на стороне цифрового резистора (после 17 см проводов), улучшив тем самым фронты. Стало гораздо лучше, ошибки потенциометра еще случались, но гораздо реже. Потом протянул линию GND напрямую к потенциометрам, ошибок пока не наблюдаю. Спасибо, что обратили внимание на разводку. Просто я был почти убежден, что проблема могла скрываться в коде, а точнее в таймингах.
    Не думал, что потенциометр будет так критичен к различным помехам и длине сигнальных проводов.
    На счет
    не до конца Вас понял, можете подробнее пояснить? Ведь обратная связь у LM2596 - 4 нога "FB" и задается резистивным делителем UR1 и R1. Конденсатор C2 может быть практически любым, его емкость задается исходя из тока потребления нагрузки. Вроде так?