Форум программистов, компьютерный форум, киберфорум
Наши страницы
Электроника и радиотехника
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.94/52: Рейтинг темы: голосов - 52, средняя оценка - 4.94
Iprymtir
0 / 0 / 0
Регистрация: 08.02.2014
Сообщений: 10
1

Непонятный глюк с АЦП на PinBoard II

06.01.2015, 18:18. Просмотров 9408. Ответов 5
Метки нет (Все метки)

Сразу поясню: опыт работы с МК Атмел некоторый имею, но небольшой (за душой пока один серьёзный законченный в железе проект и с десяток начатых либо совсем простых). Чисто хобби, т.е. деньги не зарабатываю ))

Отлаживаю некоторое время одно у-во, дополнительная фича которого - изменение яркости свечения 7лед в зависимости от освещённости. Схема измерения примитивна: фоторезистор на плюс, резистор на минус, средняя точка на вход АЦП. Подбором номинала добился диапазона: 0 (полная темнота) - 200 с хвостиком (яркий свет). На пинборде-2 добился работоспособности аппаратной части, спаял плату, один чип мега8 уже стоит работает, другой продолжаю мучить (нужно реализовать изменение параметров с кнопки, пока что прошиты жёстко).

Проблема в следующем.
Прошлый раз всё работало пучком, сегодня с самого начала АЦП стал мерить не понять что: при подаче питания считывает значение выше 60-70 (не успеваю отловить точнее) (не зависимо от напряжения на ножке МК), затем меньше, меньше, а через треть секунды и далее уже считывает от 0 до 4 хаотично. Такая ерунда происходит только на пинборде, тот же МК с той же прошивкой на реальной плате работает как положено. Проверил обе имеющихся меги8.

Куски кода, относящиеся к АЦП:
Код
//прерывание от АЦП
ISR (ADC_vect)
{
light = ADCH;
}

//настройка АЦП
ADCSRA |= (1 << ADIM) // Разрешение АЦП
|(1 << ADSC) // Запуск преобразования
|(1 << ADFR) // Непрерывный режим работы АЦП
|(1 << ADPS2)|(1 << ADPS1) // Предделитель на 64 (Частота АЦП 125kHz)
|(1 << ADIE); // Разрешение прерывания от АЦП
ADMUX |= (1 << REFS0)|(1 << ADLAR)|(1 << MUX2)|(1 << MUX0); // Опорное AVcc, выравнивание влево, вход ADC5
Подозреваю, что возникла какая-то неисправность на пинборде, однако внешний осмотр ничего подозрительного не выявил, питание AVcc есть, земли на земле. Единственное отличие: на пинборде AREF висит в воздухе, в устройстве к нему подключен керамический кондёр 0.15 - но ведь несколько дней работало без замечаний, вряд ли причина в этом.
Посоветуйте пожалуйста, куда копать?

П.С. у меня уже полночь, если кто захочет помочь и запросит дополнительные данные - отвечу утром, т.е. глубокой ночью по Москве ))
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.01.2015, 18:18
Ответы с готовыми решениями:

Непонятный глюк.
Какой-то непонятный глюк образовался, никак побороть не могу :blink: В общем есть форма, в ней было...

Непонятный глюк !
Доброго времени суток уважаемые форумчане! Написал панель инструментов для IE с использованием...

непонятный глюк
все опять в вэб. имею на базу права манагера. через вэб авторизовам. могу создавать документы через...

Непонятный глюк
Собрался реализовать простенькую програмку на qt и получил такое, хз может кто сталкивался. ...

Непонятный глюк C#
Объясните пожалуйста, почему в результате выполнения нижеприведенного кода в комбобоксе Dlin в...

5
DY HOTT
0 / 0 / 0
Регистрация: 22.01.2010
Сообщений: 4,000
06.01.2015, 18:44 2
Странно, а если С АЦП все нафиг снять что там на цепях висит (по дефолту переменный резистор там идет и еще что то.

Затем подавать жесткое напряжение. Т.е. подали питание = на выходе должно быть FF. Подали землю, с выхода 00, затем половинное напряжение с делителя с выхода около 128 и так далее.

Ареф и должен в воздухе висеть, если не используется внешний опорник, на него кондер вешается, чтобы стабилизировать опорник внутренний.
0
omokost
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 2,753
06.01.2015, 18:57 3
Может ересь скажу, а в Протеус с переменным резистором вместо фото, не пробовали? Знаю про ярое неприятие некоторых, но у меня в Протеусе легко ловятся мелкие ошибки, потом в железе гораздо легче.
0
DY HOTT
0 / 0 / 0
Регистрация: 22.01.2010
Сообщений: 4,000
06.01.2015, 21:13 4
Так в железе все работает, не работает тот же контроллер в плате.
0
omokost
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 2,753
06.01.2015, 23:36 5
Действительно, ересь сказал. Бывает...
0
Iprymtir
0 / 0 / 0
Регистрация: 08.02.2014
Сообщений: 10
07.01.2015, 03:43 6
Цитата Сообщение от DY HOTT
Странно, а если С АЦП все нафиг снять что там на цепях висит......
Мне ужасно стыдно... Лоханулся, как полный ламер - проводок с делителя соскочил с ноги РС5, пока доставал плату, ну я его и воткнул на РД2, т.к. накануне экспериментировал с выводом звука, отложилось. И ведь приводил выше код, где ясно написано - вход АЦП РС5. Как будто кто-то отключил часть логики в моей голове: упёрся в мысль, что у меня ничего не поменялось, и упорно не замечал, что это другой порт!
Итог этого безобразия: уверенность в правильности своих действий мешает чаще, чем хотелось бы.

Всем спасибо!
0
07.01.2015, 03:43
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.01.2015, 03:43

Глюк АЦП?
Осваиваю STM32 Dyscovery, подцепил графический индикатор WG12864, разобрался с АЦП+ПДП. Настроил...

Глюк АЦП
Сильно не пинайте но мысли уже кончились. Пютаюсь сделать контроль выхлопа инжекторных автомобилей,...

Непонятный глюк в билдере
Всем привет!! Пишу прогу в bcb 6, понадобился доступ к дбф табличке, кинул Table с вкладки bde,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru