Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Тема закрыта

Atmega8535:Проблемы с АЦП в режиме дифференциального входа

Ср май 23, 2012 14:13:54

Доброго времени суток! Помогите пожалуйста разобраться.

Исходная задача: необходимо реализовать на atmega8535 флюгер(схема досталась в наследство). Суть в том, что на 8 основных направлениях на вход АЦП подается разное напряжение. Просто снять напряжение в лоб нельзя, диапазон очень маленький задран к значению напряжения питания схемы флюгера, как следствие, погрешность результата высокая.

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

Симуляция в Proteus работает исправно, а вот в железе нет, хотя если запросить уровень сигнала на обеих ножках как есть, то значения приходят. В общем, ниже прикладываю кусок кода ибо курение даташита мне не помогает, может быть, кто-то сталкивался с подобными проблемами, может "глазастые" увидят в коде ошибку, которую я проглядела, одним словом, надеюсь на вашу помощь и заранее благодарю.
Вложения
Fluger.txt
(1.54 KiB) Скачиваний: 264

Re: Atmega8535:Проблемы с АЦП в режиме дифференциального вхо

Ср май 23, 2012 15:45:11

Можно схемку глянуть всем

Re: Atmega8535:Проблемы с АЦП в режиме дифференциального вхо

Ср май 23, 2012 16:28:25

Изображение

Если снимать напряжения с ножек "в лоб", то на ножке с полезным сигналом будет значение в диапазоне от 980 до 1023 (чистое значение без калибровки), на ножке с питанием - 1023, а при попытке вывести результат работы в режиме дифференциального входа всегда одно и тоже значение - 1023

Re: Atmega8535:Проблемы с АЦП в режиме дифференциального вхо

Ср май 23, 2012 17:40:04

Если уж сильно не менять Вашу схему , то выбросить R9 , R2 заменить на 10к , и убрать провод с питания на 39 ногу контроллера . ADC включить в обычный режим. Любая программа вольтметра Вам подойдёт.
А лучше так
Вложения
Безымянный.jpg
(173.9 KiB) Скачиваний: 697

Re: Atmega8535:Проблемы с АЦП в режиме дифференциального вхо

Ср май 23, 2012 21:55:39

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

Так бы я тоже, как решение проблемы, взяла бы другой набор сопротивлений и работала бы с одной ногой АЦП в обычном режиме вместо двух.

Re: Atmega8535:Проблемы с АЦП в режиме дифференциального вхо

Чт май 24, 2012 09:11:24

Что является "неизменяемой" схемой флюгера? Вся схема, включая контроллер или только часть с кнопками и резисторами? Можно хотя бы отключить VCC от кнопок?

Re: Atmega8535:Проблемы с АЦП в режиме дифференциального вхо

Чт май 24, 2012 09:18:32

Часть с кнопками и резисторами, питание от кнопок отключить можно

Re: Atmega8535:Проблемы с АЦП в режиме дифференциального вхо

Чт май 24, 2012 09:38:10

Ingreeh писал(а):Часть с кнопками и резисторами, питание от кнопок отключить можно

Если можно отключить питание от кнопок , то землю на них подать сможите

Re: Atmega8535:Проблемы с АЦП в режиме дифференциального вхо

Чт май 24, 2012 09:41:57

ILYAUL писал(а):Если можно отключить питание от кнопок , то землю на них подать сможите


А с этого места можно подробнее? Вместо питания схему на землю повесить? Что это даст, а то я как-то не соображу совсем.

Re: Atmega8535:Проблемы с АЦП в режиме дифференциального вхо

Чт май 24, 2012 09:45:04

А какая цель в использовании здесь дифференциального режима АЦП? Чтобы при таком включении кнопок избавится от зависимости от VCC, нужно использовать обычное включение АЦП, а в качестве опорного включить VCC.

P.S. В дифф. режиме макс. опорное AVCC - 0.5 В.

Re: Atmega8535:Проблемы с АЦП в режиме дифференциального вхо

Чт май 24, 2012 09:57:23

Леонид Иванович писал(а):А какая цель в использовании здесь дифференциального режима АЦП?


Цель была в том, чтобы лучше фиксировать изменение направления, полезные значения настолько близки, что изменение направления на 45-90 градусов почти не заметно.

Леонид Иванович писал(а):P.S. В дифф. режиме макс. опорное AVCC - 0.5 В.

Вот про этот момент не знала, спасибо, т.е. например работать в режиме диф.входа от внутреннего ИОНа уже нельзя? Обязательно запитать AVCC и не больше чем на 0.5В?

Re: Atmega8535:Проблемы с АЦП в режиме дифференциального вхо

Чт май 24, 2012 10:17:26

Нельзя использовать в качестве опорного AVCC. Опорное должно быть как минимум на 0.5 В меньше. А вообще, всё это не секретная информация, а из даташита :)

Re: Atmega8535:Проблемы с АЦП в режиме дифференциального вхо

Чт май 24, 2012 12:35:35

Ingreeh писал(а):
ILYAUL писал(а):Если можно отключить питание от кнопок , то землю на них подать сможите


А с этого места можно подробнее? Вместо питания схему на землю повесить? Что это даст, а то я как-то не соображу совсем.

Вот так
Вложения
0b3f2e7aa545.png
(40.96 KiB) Скачиваний: 393

Re: Atmega8535:Проблемы с АЦП в режиме дифференциального вхо

Чт май 24, 2012 13:14:47

ILYAUL писал(а):Вот так

Смысл вход АЦП заземлять? Вот если между кнопками и землей резистор повесить, колоом на 100, и опорное взять поменьше, то можно будет кнопки различать.

Re: Atmega8535:Проблемы с АЦП в режиме дифференциального вхо

Чт май 24, 2012 13:27:41

Engineer_Keen писал(а):Смысл вход АЦП заземлять? Вот если между кнопками и землей резистор повесить, колоом на 100, и опорное взять поменьше, то можно будет кнопки различать.


между кнопками и землей это по предложенному ранее варианту? Опорное для АЦП? Т.е. на внутренний ИОН перейти?

Re: Atmega8535:Проблемы с АЦП в режиме дифференциального вхо

Чт май 24, 2012 13:39:43

Engineer_Keen писал(а):
ILYAUL писал(а):Вот так

Смысл вход АЦП заземлять? Вот если между кнопками и землей резистор повесить, колоом на 100, и опорное взять поменьше, то можно будет кнопки различать.

Ё, точно . нельзя делать два дела одновременно
Вложения
0b3f2e7aa545.png
(41.93 KiB) Скачиваний: 396

Re: Atmega8535:Проблемы с АЦП в режиме дифференциального вхо

Чт май 24, 2012 14:04:13

Ingreeh писал(а):Опорное для АЦП? Т.е. на внутренний ИОН перейти?

Внутренний ИОН 2.56В, многовато, можно взять меньше, подключить внешний делитель.
Изображение
Вариант ILYAUL тоже теоретически возможен, но в этом случае напряжение будет меняться вниз от 5В, значит и опора должна быть 5В, а следовательно и разрешающая способность будет маленькая. В случае, когда флюгер в делителе "сверху", напряжение будет ограничено отношением сопротивления флюгера к нижнему сопротивлению, и его изменение будет больше относительно максимального значения.
Вложения
FLU.PNG
(6.29 KiB) Скачиваний: 1187

Re: Atmega8535:Проблемы с АЦП в режиме дифференциального вхо

Чт май 24, 2012 16:58:25

Всем спасибо за помощь, мы победили флюгер!
Тема закрыта