Atmega8535:Проблемы с АЦП в режиме дифференциального входа
Atmega8535:Проблемы с АЦП в режиме дифференциального входа
Доброго времени суток! Помогите пожалуйста разобраться.
Исходная задача: необходимо реализовать на atmega8535 флюгер(схема досталась в наследство). Суть в том, что на 8 основных направлениях на вход АЦП подается разное напряжение. Просто снять напряжение в лоб нельзя, диапазон очень маленький задран к значению напряжения питания схемы флюгера, как следствие, погрешность результата высокая.
Решили использовать режим дифференциального входа, на одну ножку подается напряжение питания схемы нашего флюгера, на вторую полезный сигнал. Работаем с разницей между уровнями напряжения на обеих ножках(коэф. усиления 10).
Симуляция в Proteus работает исправно, а вот в железе нет, хотя если запросить уровень сигнала на обеих ножках как есть, то значения приходят. В общем, ниже прикладываю кусок кода ибо курение даташита мне не помогает, может быть, кто-то сталкивался с подобными проблемами, может "глазастые" увидят в коде ошибку, которую я проглядела, одним словом, надеюсь на вашу помощь и заранее благодарю.
Исходная задача: необходимо реализовать на atmega8535 флюгер(схема досталась в наследство). Суть в том, что на 8 основных направлениях на вход АЦП подается разное напряжение. Просто снять напряжение в лоб нельзя, диапазон очень маленький задран к значению напряжения питания схемы флюгера, как следствие, погрешность результата высокая.
Решили использовать режим дифференциального входа, на одну ножку подается напряжение питания схемы нашего флюгера, на вторую полезный сигнал. Работаем с разницей между уровнями напряжения на обеих ножках(коэф. усиления 10).
Симуляция в Proteus работает исправно, а вот в железе нет, хотя если запросить уровень сигнала на обеих ножках как есть, то значения приходят. В общем, ниже прикладываю кусок кода ибо курение даташита мне не помогает, может быть, кто-то сталкивался с подобными проблемами, может "глазастые" увидят в коде ошибку, которую я проглядела, одним словом, надеюсь на вашу помощь и заранее благодарю.
- Вложения
-
- Fluger.txt
- (1.54 КБ) 411 скачиваний
- Реклама
Re: Atmega8535:Проблемы с АЦП в режиме дифференциального вхо
Можно схемку глянуть всем
Re: Atmega8535:Проблемы с АЦП в режиме дифференциального вхо
Если уж сильно не менять Вашу схему , то выбросить R9 , R2 заменить на 10к , и убрать провод с питания на 39 ногу контроллера . ADC включить в обычный режим. Любая программа вольтметра Вам подойдёт.
А лучше так
А лучше так
- Вложения
-
- Безымянный.jpg
- (173.9 КБ) 731 скачивание
Re: Atmega8535:Проблемы с АЦП в режиме дифференциального вхо
Проблема в том, что внести изменение в схему флюгера нет возможности, ее скорее нужно рассматривать, как черный ящик отдающий четко заданный диапазон данных.
Так бы я тоже, как решение проблемы, взяла бы другой набор сопротивлений и работала бы с одной ногой АЦП в обычном режиме вместо двух.
Так бы я тоже, как решение проблемы, взяла бы другой набор сопротивлений и работала бы с одной ногой АЦП в обычном режиме вместо двух.
- Реклама
- Engineer_Keen
- Друг Кота
- Сообщения: 3872
- Зарегистрирован: Пт янв 29, 2010 10:27:40
- Откуда: Москва
Re: Atmega8535:Проблемы с АЦП в режиме дифференциального вхо
Что является "неизменяемой" схемой флюгера? Вся схема, включая контроллер или только часть с кнопками и резисторами? Можно хотя бы отключить VCC от кнопок?
Re: Atmega8535:Проблемы с АЦП в режиме дифференциального вхо
Часть с кнопками и резисторами, питание от кнопок отключить можно
Re: Atmega8535:Проблемы с АЦП в режиме дифференциального вхо
Если можно отключить питание от кнопок , то землю на них подать сможитеIngreeh писал(а):Часть с кнопками и резисторами, питание от кнопок отключить можно
Re: Atmega8535:Проблемы с АЦП в режиме дифференциального вхо
А с этого места можно подробнее? Вместо питания схему на землю повесить? Что это даст, а то я как-то не соображу совсем.ILYAUL писал(а):Если можно отключить питание от кнопок , то землю на них подать сможите
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: Atmega8535:Проблемы с АЦП в режиме дифференциального вхо
А какая цель в использовании здесь дифференциального режима АЦП? Чтобы при таком включении кнопок избавится от зависимости от VCC, нужно использовать обычное включение АЦП, а в качестве опорного включить VCC.
P.S. В дифф. режиме макс. опорное AVCC - 0.5 В.
P.S. В дифф. режиме макс. опорное AVCC - 0.5 В.
Re: Atmega8535:Проблемы с АЦП в режиме дифференциального вхо
Цель была в том, чтобы лучше фиксировать изменение направления, полезные значения настолько близки, что изменение направления на 45-90 градусов почти не заметно.Леонид Иванович писал(а):А какая цель в использовании здесь дифференциального режима АЦП?
Вот про этот момент не знала, спасибо, т.е. например работать в режиме диф.входа от внутреннего ИОНа уже нельзя? Обязательно запитать AVCC и не больше чем на 0.5В?Леонид Иванович писал(а):P.S. В дифф. режиме макс. опорное AVCC - 0.5 В.
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: Atmega8535:Проблемы с АЦП в режиме дифференциального вхо
Нельзя использовать в качестве опорного AVCC. Опорное должно быть как минимум на 0.5 В меньше. А вообще, всё это не секретная информация, а из даташита 
Re: Atmega8535:Проблемы с АЦП в режиме дифференциального вхо
Вот такIngreeh писал(а):А с этого места можно подробнее? Вместо питания схему на землю повесить? Что это даст, а то я как-то не соображу совсем.ILYAUL писал(а):Если можно отключить питание от кнопок , то землю на них подать сможите
- Вложения
-
- 0b3f2e7aa545.png
- (40.96 КБ) 422 скачивания
- Engineer_Keen
- Друг Кота
- Сообщения: 3872
- Зарегистрирован: Пт янв 29, 2010 10:27:40
- Откуда: Москва
Re: Atmega8535:Проблемы с АЦП в режиме дифференциального вхо
Смысл вход АЦП заземлять? Вот если между кнопками и землей резистор повесить, колоом на 100, и опорное взять поменьше, то можно будет кнопки различать.ILYAUL писал(а):Вот так
Re: Atmega8535:Проблемы с АЦП в режиме дифференциального вхо
между кнопками и землей это по предложенному ранее варианту? Опорное для АЦП? Т.е. на внутренний ИОН перейти?Engineer_Keen писал(а):Смысл вход АЦП заземлять? Вот если между кнопками и землей резистор повесить, колоом на 100, и опорное взять поменьше, то можно будет кнопки различать.
Re: Atmega8535:Проблемы с АЦП в режиме дифференциального вхо
Ё, точно . нельзя делать два дела одновременноEngineer_Keen писал(а):Смысл вход АЦП заземлять? Вот если между кнопками и землей резистор повесить, колоом на 100, и опорное взять поменьше, то можно будет кнопки различать.ILYAUL писал(а):Вот так
- Вложения
-
- 0b3f2e7aa545.png
- (41.93 КБ) 419 скачиваний
- Engineer_Keen
- Друг Кота
- Сообщения: 3872
- Зарегистрирован: Пт янв 29, 2010 10:27:40
- Откуда: Москва
Re: Atmega8535:Проблемы с АЦП в режиме дифференциального вхо
Внутренний ИОН 2.56В, многовато, можно взять меньше, подключить внешний делитель.Ingreeh писал(а):Опорное для АЦП? Т.е. на внутренний ИОН перейти?
Вариант ILYAUL тоже теоретически возможен, но в этом случае напряжение будет меняться вниз от 5В, значит и опора должна быть 5В, а следовательно и разрешающая способность будет маленькая. В случае, когда флюгер в делителе "сверху", напряжение будет ограничено отношением сопротивления флюгера к нижнему сопротивлению, и его изменение будет больше относительно максимального значения.
- Вложения
-
- FLU.PNG
- (6.29 КБ) 1261 скачивание
Re: Atmega8535:Проблемы с АЦП в режиме дифференциального вхо
Всем спасибо за помощь, мы победили флюгер!



