Перейти к содержанию
    

ATmega16A не работат кнопка на PA2

Здравствуйте!

 

Контроллер - ATmega16A в корпусе TQFP.

К ногам PA0 - PA3 подключены кнопки, выводы подтянуты к +5В через внешние 330 Ом.

При работе кнопок на PA0, PA1 и PA3 проблем нет, а вот при замыкании кнопки на PA2 резко повышается потребление схемы с 50мА до 140мА и после размыкания снижается незначительно. Иногда при повторном замыкании потребление может подняться до 170мА. Начинает греться контроллер.

 

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

 

Протестировано три платы - везде одно и тоже.

 

Явное отключение внутренних подтягивающих резисторов ничего не дало

SFIOR = SFIOR|(0x01<<2);

Глюки прошивки исключаются - при очищенном камне то же самое.

 

Какие есть мысли, в чем может быть проблема?

Изменено пользователем i.cf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Контроллер - ATmega16A в корпусе TQFP.

К ногам PA0 - PA3 подключены кнопки, выводы подтянуты к +5В через внешние 330 Ом.

Пока мыслей нет, но попробуйте включить на РА2 последовательный резистор 10..100K и проверьте, что будет. И проверьте подсоединение AVCC. Может, развести забыли.

 

Я уже где-то писал, но повторюсь. Как только начались перебои с поставками Атмелей, у меня иногда стали беспричнно вылетать порты, с возрастанием тока на 10..15 ма. И это на серийных устройствах, где ничего не менялось. Скорее всего, в связи с увеличеним спроса раскопали свалки, отмыли плесень с выкинутых ранее камешков и поплыли они к нам...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Похоже, что либо порт на выход включен, либо подтяжка отключена (скорее по другим кнопам).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Протестировано три платы - везде одно и тоже.

На контроллерах из других партий работает? Или это первые платы? Если это первые платы - возможен глюк программы.

Если платы серийные, и на ранних партиях все работает, и программа не менялась - скорее всего битые контроллеры.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Похоже, что либо порт на выход включен, либо подтяжка отключена (скорее по другим кнопам).
Порт настраивается в проекте всего в 2х местах:

...
DDRA = (DDRA&0xF0);
...
DDRA = (DDRA|((1<<4)|(1<<5)));
...

младшие 4 линии - входы. Внутренняя подтяжка отключена - есть внешняя.

 

На контроллерах из других партий работает? Или это первые платы? Если это первые платы - возможен глюк программы.
Партия - всего три платы. До этого отлаживалось на макете - там другие ноги были задействованы и стояла ATmega16 (без А) в DIPе. Там все работало, правда программа была переделана с тех пор.

 

попробуйте включить на РА2 последовательный резистор 10..100K и проверьте, что будет.
Перед контроллером по всем четырем линиям кнопок поставил резисторы по 10К - проблема исчезла!

Спасибо за совет!!! :a14: Надо было мне сразу так разводить - тем более что так правильнее.

Жаль что платы уже разведены и собраны - придется резать дорожки и заливать чем-нибудь.

Изменено пользователем i.cf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Надо было мне сразу так разводить - тем более что так правильнее.
Почему правильнее?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

проверьте подсоединение AVCC. Может, развести забыли.

а Вы на это обратили внимание? может в этом причина? порт А запитывается от AVCC

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Почему правильнее?
http://electronix.ru/forum/index.php?showt...mp;#entry800684

 

а Вы на это обратили внимание? может в этом причина? порт А запитывается от AVCC
По схеме и печатке сверял - должно быть. Около каждой ноги питания МК стоит керамика 0.1мкФ. Промерял - есть везде.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По схеме и печатке сверял - должно быть. Около каждой ноги питания МК стоит керамика 0.1мкФ. Промерял - есть везде.

что значит "должно быть"? Вы подаете питание на AVCC?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

что значит "должно быть"? Вы подаете питание на AVCC?

Вроде написал:

Промерял - есть везде.

Есть на трех VCC, на AVCC и на AREF.

Изменено пользователем i.cf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

P.S. Я даже стесняюсь спросить, а выводы земли все подключены?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

К ногам PA0 - PA3 подключены кнопки, выводы подтянуты к +5В через внешние 330 Ом.

330 Ом не маловато ли?

А может это вообще 33 Ома. (5В/33 Ом= 150мА)

 

Или порты на выход настроены.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Там речь идет о борьбе с наводками. У вас же происходит, судя по симптомам, тиристорное защелкивание при замыкании кнопки. Природа его непонятна, ведь кнопка, если я правильно понял, находится на той же плате?
Кнопки болтаются на проводах длинной 20см, которые будут крепиться на лицевой панели. Плата будет эксплуатироваться рядом с источником помех (могут быть "иголки" до 1кВ) - поэтому и использованы внешние подтяжки. От кнопок на землю стоит керамика 0.1мкФ.

Сейчас, конечно, испытывается без источника наводок, на столе.

 

Покажите разводку, если она не секретна.
Часть платы с кнопками и контроллером:

post-52034-1288876649_thumb.jpgpost-52034-1288876655_thumb.jpg

Кнопки подключаются к разъемам XR5-XR8.

Индуктивности по питанию - ферритовые бусины (на случай сбоев от помех).

Слой top залит землей, слой bottom +5В.

 

P.S. Я даже стесняюсь спросить, а выводы земли все подключены?
Прозвонил тестером - "звенят" все четыре.

 

330 Ом не маловато ли?

А может это вообще 33 Ома. (5В/33 Ом= 150мА)

Нет, 330 Ом. 5В/330 Ом = 15мА - сходится с показаниями амперметра при нажатии.

 

Или порты на выход настроены.
Уже писал: порт настраивается тольк в двух местах.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Aref зачем запитан? у вас ацп используется? если нет тогда и будут чудеса, его надо настроить на внешнюю опору.

Изменено пользователем Vasily_

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По резисторам: у Вас на используются SMD резисторы. Обращаю внимание, что если на smd-резисторе написано "330" -- это 330 Ом, а 33 Ома. (300 --это 33 умноженное на 10 в степени 0 Ом.) Извините, что напомнил элементарные вещи.

 

Aref зачем запитан? у вас ацп используется? если нет тогда и будут чудеса, его надо настроить на внешнюю опору.

 

Опора AREF как сконфигурирована? Если на внутренний источник, то подводить питание нельзя. Нужно установить только конденсатор.

Еще раз извиняюсь за элементарщину.

 

Тиристорное защелкивание может произойти только тогда, когда на входе присутствует напряжение превышающее напряжения питания. Говорят, такое может произойти когда выключается питание и тут же включается опять. Если на входах висят большие конденсаторы и они не успевают разрядиться за время выключения питания, то в момент нарастания Vcc вполне может окажется, что напряжение на конденсаторе больше, напряжения питания. Капкан будет обеспечен. Но практически, сколько я ни работаю с AVR-ками, я как-то ни разу не сталкивался с этим тиристорным эффектом. И, надо заметить, что это никак не объясняет отличие этой злой ноги от других точно таки же.

 

Найдете -- отпишитесь, пожалуйста. Становится любопытно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...