Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ацп мега16
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
svadr
доброго времени суток!


на меге16 mlf необходимо мерять ток, для этого меряю разницу напряжений на шутне по средству диф.входа (х200), (на один шунт навешиваю пару диф. вх. для узмередния тока "в обоих направлениях")

проблема следующаю:
при отсутсвии на "концах" шунта разницы напряжений как такового, на лсд выводиться "результат" вычисления равный максимальному значению для регистровой пары ацп
при подачи на шунт питания - картина тажа, за исключением "результата" - половина максимального значения

в обоих случаях наблюдаються довольно ощутимые помехи

когда все диф входы посадил на землю, ожидаемого стабильного нуля не дождался, на лсд выводит рэмдомские результаты по размаху сопоставимы с максимальным значением + разбросом по знаку

на диф. входы каждой пары посадил кондер 0,1мк и паралельно к нему 10к сопротивления(пытался создать некую илюзию фнч) - появилась некий намек на стабильность, если можно так сказать, но не больше

схема собрана на макетнице и не самым лучшим образом, т.ч. прекрасно понимаю, что плту нужно добротно "переразвести", но хотелось бы услышать советы - каким образом сложившуюся ситуацию можно облегчить в данном варианте ее реализации
stells
шунт на земле? какое напряжение на шунте при подаче питания (потенциалы относительно земли) ? что является опорным для АЦП? помехи в скольки разрядах (в дифрежиме с 200-кратным усилением значащих только 7)?
chief_olimp
как вариант можно использовать ОУ по схеме диффиринциального усилителя с необходимым коэффициентом усиления. Таким образом можно подстроится под любой шунт и мерять ток в полный размах. Или даже два ОУ и разбить на диапазоны. Для увеличения точности можно округлять несколько накопленных значений. Правда и скорость падает в таком случае.
VladimirB
Цитата(svadr @ Jul 17 2009, 20:46) *
когда все диф входы посадил на землю, ожидаемого стабильного нуля не дождался, на лсд выводит рэмдомские результаты по размаху сопоставимы с максимальным значением + разбросом по знаку...


А вы учли, что в дифференциальном режиме АЦП выдает результаты в дополнительном коде?
defunct
Еще наводящий вопрос - MUX переключаете, при считывании с разных пар? Если да - первое преобразование после переключения может быть неверным (случайным числом).
svadr
Цитата(stells @ Jul 17 2009, 20:21) *
шунт на земле? какое напряжение на шунте при подаче питания (потенциалы относительно земли) ? что является опорным для АЦП? помехи в скольки разрядах (в дифрежиме с 200-кратным усилением значащих только 7)?



шунт на земле, значение напряжения на шунте подавал различное - система на изменения вообще не реагирует, опорное - AVCC

про разряды слегка удивлен, ибо использую регистровую пару ацп на полную

Цитата(VladimirB @ Jul 17 2009, 20:58) *
А вы учли, что в дифференциальном режиме АЦП выдает результаты в дополнительном коде?



это для меня скажу по правде новость!(в протеусе этот момент не всплыл, попробую поиграться с этим на железе)

Цитата(defunct @ Jul 18 2009, 00:33) *
Еще наводящий вопрос - MUX переключаете, при считывании с разных пар? Если да - первое преобразование после переключения может быть неверным (случайным числом).




проверил, мерил только одну пару, все как и прежде
rubic
В пройтесе помоему усиление Х200 х10 не идёт по крайней мере у меня неполучилось,у меня блок питания по такой схеме сделан,цифровая и аналоговая земля раздельны при х10кратном усилении ноль хорошо держит без нагрузки, а вот х200кратном усилении при подключении нагрузки с 3ма начинается чёткоё показание,отрицательное напряжение в дополнительном коде но оно у меня программно отсекается,шунт на 0.1ом паралельно конденсатор 1мкф,максимальный ток 2.5А до 120ма шаг 1ма,выше 5ма
stells
Цитата(svadr @ Jul 18 2009, 12:40) *
шунт на земле

если шунт на земле, то как Вы отрицательные напряжения будете измерять?
Цитата(svadr @ Jul 18 2009, 12:40) *
про разряды слегка удивлен, ибо использую регистровую пару ацп на полную

посмотрите еще раз даташит, разрешение в дифференциальном режиме при Ку=200 гарантировано в 7 бит
Stanislav_S
Не майтесь ерундой, поставте на входе нормальный дифф усилитель, либо инструментальный ОУ, сделайте сдвиг уровня и потом подавайте на вход АЦП, если конечно не хотите мерять фазу Луны.
rubic
Цитата(Stanislav_S @ Jul 18 2009, 17:06) *
Не майтесь ерундой, поставте на входе нормальный дифф усилитель, либо инструментальный ОУ, сделайте сдвиг уровня и потом подавайте на вход АЦП, если конечно не хотите мерять фазу Луны.

А если хочется использоввать полностью ресурсы МК при минимуме навесных деталей?
Stanislav_S
Цитата(rubic @ Jul 18 2009, 18:52) *
А если хочется использоввать полностью ресурсы МК при минимуме навесных деталей?

Зто вопрос точности, которая тут осталась совсем нераскрыта, да и защита входных цепей тоже. Для себя я может быть так и сделал для серийного производства вряд ли.
rubic
Цитата(Stanislav_S @ Jul 18 2009, 18:16) *
Зто вопрос точности, которая тут осталась совсем нераскрыта, да и защита входных цепей тоже. Для себя я может быть так и сделал для серийного производства вряд ли.

Следуя вашей логике тогда плюс ко всему внешний АЦП например на 24 бита,мне кажется автор темы этого совсем нехотел
Leonmezon
1. Опубликуйте тест обработки АЦП - может там ошибка (что очень вероятно).
2. Вешать две пары дифференциальных входов на один шунт - очень плохо, они без буферной развязки будут влиять друг на друга. Точности не будет.
3. Попробуете подать стабильное маленькое постоянное напряжение на вход (т.е. относительно земли на + или - канал АЦП) - что получаться?
4. Для таких измерений есть большой класс АЦП (меряют ток и напряжение, и одновременно являются источниками тока) - может лучше их?
5. Какая точность необходима?
Stanislav_S
Цитата(rubic @ Jul 18 2009, 19:38) *
Следуя вашей логике тогда плюс ко всему внешний АЦП например на 24 бита,мне кажется автор темы этого совсем нехотел

Нет по моей логике так:
1 - стоит задача такая то
2 - сделал так то
3 - программа такая то
4 - платта такая та
5 - не работает это, это, а это работает плохо
6 - Что не так делаю?
svadr
и снова здравствуйте
спасибо всем за советы - проблема решена

кроме проблем в схемотехнике(добавил пару емкостей и сопротивлений, что дало некий эффект), основная проблема была в коде программы, из предыдущей проги взял "неверную" инициализацию, которая и стала основной проблемой

благодарю за помощь, узнал много нового для себя
rubic
Цитата(svadr @ Jul 21 2009, 17:32) *
и снова здравствуйте
спасибо всем за советы - проблема решена

кроме проблем в схемотехнике(добавил пару емкостей и сопротивлений, что дало некий эффект), основная проблема была в коде программы, из предыдущей проги взял "неверную" инициализацию, которая и стала основной проблемой

благодарю за помощь, узнал много нового для себя

Напиши как ведёт себя индикация при Х200 усилении
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.