реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> ATmega16A не работат кнопка на PA2, Возрастает потребление, греется МК
i.cf
сообщение Nov 4 2010, 07:53
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 56
Регистрация: 25-08-09
Из: Украина, Харьков
Пользователь №: 52 034



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

Контроллер - ATmega16A в корпусе TQFP.
К ногам PA0 - PA3 подключены кнопки, выводы подтянуты к +5В через внешние 330 Ом.
При работе кнопок на PA0, PA1 и PA3 проблем нет, а вот при замыкании кнопки на PA2 резко повышается потребление схемы с 50мА до 140мА и после размыкания снижается незначительно. Иногда при повторном замыкании потребление может подняться до 170мА. Начинает греться контроллер.

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

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

Явное отключение внутренних подтягивающих резисторов ничего не дало
Код
SFIOR = SFIOR|(0x01<<2);

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

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

Сообщение отредактировал i.cf - Nov 4 2010, 08:07
Go to the top of the page
 
+Quote Post
IGK
сообщение Nov 4 2010, 08:20
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 313
Регистрация: 7-01-07
Из: Севастополь
Пользователь №: 24 170



Цитата(i.cf @ Nov 4 2010, 09:53) *
Контроллер - ATmega16A в корпусе TQFP.
К ногам PA0 - PA3 подключены кнопки, выводы подтянуты к +5В через внешние 330 Ом.

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

Я уже где-то писал, но повторюсь. Как только начались перебои с поставками Атмелей, у меня иногда стали беспричнно вылетать порты, с возрастанием тока на 10..15 ма. И это на серийных устройствах, где ничего не менялось. Скорее всего, в связи с увеличеним спроса раскопали свалки, отмыли плесень с выкинутых ранее камешков и поплыли они к нам...
Go to the top of the page
 
+Quote Post
sensor_ua
сообщение Nov 4 2010, 08:48
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 266
Регистрация: 22-04-05
Из: Киев
Пользователь №: 4 387



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


--------------------
aka Vit
Go to the top of the page
 
+Quote Post
forever_student
сообщение Nov 4 2010, 09:16
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 256
Регистрация: 5-04-09
Из: Москва
Пользователь №: 47 180



Цитата(i.cf @ Nov 4 2010, 10:53) *
Протестировано три платы - везде одно и тоже.

На контроллерах из других партий работает? Или это первые платы? Если это первые платы - возможен глюк программы.
Если платы серийные, и на ранних партиях все работает, и программа не менялась - скорее всего битые контроллеры.
Go to the top of the page
 
+Quote Post
i.cf
сообщение Nov 4 2010, 09:19
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 56
Регистрация: 25-08-09
Из: Украина, Харьков
Пользователь №: 52 034



Цитата(sensor_ua @ Nov 4 2010, 10:48) *
Похоже, что либо порт на выход включен, либо подтяжка отключена (скорее по другим кнопам).
Порт настраивается в проекте всего в 2х местах:
Код
...
DDRA = (DDRA&0xF0);
...
DDRA = (DDRA|((1<<4)|(1<<5)));
...
младшие 4 линии - входы. Внутренняя подтяжка отключена - есть внешняя.

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

Цитата(IGK @ Nov 4 2010, 10:20) *
попробуйте включить на РА2 последовательный резистор 10..100K и проверьте, что будет.
Перед контроллером по всем четырем линиям кнопок поставил резисторы по 10К - проблема исчезла!
Спасибо за совет!!! a14.gif Надо было мне сразу так разводить - тем более что так правильнее.
Жаль что платы уже разведены и собраны - придется резать дорожки и заливать чем-нибудь.

Сообщение отредактировал i.cf - Nov 4 2010, 09:23
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Nov 4 2010, 10:18
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(i.cf @ Nov 4 2010, 12:19) *
Надо было мне сразу так разводить - тем более что так правильнее.
Почему правильнее?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
stells
сообщение Nov 4 2010, 10:24
Сообщение #7


внештатный сотрудник
******

Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401



Цитата(IGK @ Nov 4 2010, 11:20) *
проверьте подсоединение AVCC. Может, развести забыли.

а Вы на это обратили внимание? может в этом причина? порт А запитывается от AVCC
Go to the top of the page
 
+Quote Post
i.cf
сообщение Nov 4 2010, 11:48
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 56
Регистрация: 25-08-09
Из: Украина, Харьков
Пользователь №: 52 034



Цитата(Сергей Борщ @ Nov 4 2010, 12:18) *
Почему правильнее?
http://electronix.ru/forum/index.php?showt...mp;#entry800684

Цитата(stells @ Nov 4 2010, 12:24) *
а Вы на это обратили внимание? может в этом причина? порт А запитывается от AVCC
По схеме и печатке сверял - должно быть. Около каждой ноги питания МК стоит керамика 0.1мкФ. Промерял - есть везде.
Go to the top of the page
 
+Quote Post
stells
сообщение Nov 4 2010, 12:06
Сообщение #9


внештатный сотрудник
******

Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401



Цитата(i.cf @ Nov 4 2010, 14:48) *
По схеме и печатке сверял - должно быть. Около каждой ноги питания МК стоит керамика 0.1мкФ. Промерял - есть везде.

что значит "должно быть"? Вы подаете питание на AVCC?
Go to the top of the page
 
+Quote Post
i.cf
сообщение Nov 4 2010, 12:08
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 56
Регистрация: 25-08-09
Из: Украина, Харьков
Пользователь №: 52 034



Цитата(stells @ Nov 4 2010, 14:06) *
что значит "должно быть"? Вы подаете питание на AVCC?

Вроде написал:
Цитата(i.cf @ Nov 4 2010, 13:48) *
Промерял - есть везде.

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

Сообщение отредактировал i.cf - Nov 4 2010, 12:10
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Nov 4 2010, 12:27
Сообщение #11


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(i.cf @ Nov 4 2010, 14:48) *
Там речь идет о борьбе с наводками. У вас же происходит, судя по симптомам, тиристорное защелкивание при замыкании кнопки. Природа его непонятна, ведь кнопка, если я правильно понял, находится на той же плате? Покажите разводку, если она не секретна.
P.S. Я даже стесняюсь спросить, а выводы земли все подключены?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
domowoj
сообщение Nov 4 2010, 12:55
Сообщение #12


Профессионал
*****

Группа: Участник
Сообщений: 1 548
Регистрация: 20-12-07
Из: г.Новосибирск
Пользователь №: 33 486



Цитата(i.cf @ Nov 4 2010, 14:53) *
К ногам PA0 - PA3 подключены кнопки, выводы подтянуты к +5В через внешние 330 Ом.

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

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


--------------------
И на камнях растут деревья!
Go to the top of the page
 
+Quote Post
i.cf
сообщение Nov 4 2010, 13:29
Сообщение #13


Участник
*

Группа: Участник
Сообщений: 56
Регистрация: 25-08-09
Из: Украина, Харьков
Пользователь №: 52 034



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

Цитата(Сергей Борщ @ Nov 4 2010, 14:27) *
Покажите разводку, если она не секретна.
Часть платы с кнопками и контроллером:
Прикрепленное изображение
Прикрепленное изображение

Кнопки подключаются к разъемам XR5-XR8.
Индуктивности по питанию - ферритовые бусины (на случай сбоев от помех).
Слой top залит землей, слой bottom +5В.

Цитата(Сергей Борщ @ Nov 4 2010, 14:27) *
P.S. Я даже стесняюсь спросить, а выводы земли все подключены?
Прозвонил тестером - "звенят" все четыре.

Цитата(domowoj @ Nov 4 2010, 14:55) *
330 Ом не маловато ли?
А может это вообще 33 Ома. (5В/33 Ом= 150мА)
Нет, 330 Ом. 5В/330 Ом = 15мА - сходится с показаниями амперметра при нажатии.

Цитата(domowoj @ Nov 4 2010, 14:55) *
Или порты на выход настроены.
Уже писал: порт настраивается тольк в двух местах.
Go to the top of the page
 
+Quote Post
Vasily_
сообщение Nov 4 2010, 18:25
Сообщение #14


Знающий
****

Группа: Модераторы
Сообщений: 925
Регистрация: 25-01-09
Из: Рига
Пользователь №: 43 909



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

Сообщение отредактировал Vasily_ - Nov 4 2010, 18:27
Go to the top of the page
 
+Quote Post
zhevak
сообщение Nov 4 2010, 19:45
Сообщение #15


Знающий
****

Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



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

Цитата(Vasily_ @ Nov 5 2010, 00:25) *
Aref зачем запитан? у вас ацп используется? если нет тогда и будут чудеса, его надо настроить на внешнюю опору.


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

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

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


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th June 2025 - 13:37
Рейтинг@Mail.ru


Страница сгенерированна за 0.01504 секунд с 7
ELECTRONIX ©2004-2016