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

 
 
 
Reply to this topicStart new topic
> Как включить внутренние подтягивающие резисторы?, Вроде все делаю правильно, но...
Зверюга
сообщение Dec 24 2006, 18:36
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 413
Регистрация: 15-12-06
Пользователь №: 23 563



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

У меня 5 пинов PB0, PB6, PB4, PB5 и PB7 предназначены для кнопок. Т.е. анализируется, нажата ли кнопка, один контакт которой подсоединен к соответствующему пину, второй к плюсу питания.



с PB0 и PB6 все нормально.

С остальными же проблемы - то они ловят единицу, то нет (у меня на других портах, настроеных на вывод светодиоды стоят). Ну в общем похоже на то, что ловят шумы. Может быть дело в разводке платы, не знаю, но повторюсь с первыми двумя пинами все ОК. При подключении к проблемным пинам резистора 10 кОм это явление исчезает. Пытаюсь использовать внутренние подтягивающие резисторы. Может быть неправильно делаю, подскажите.

Делаю так:

DDRB=0x00;
PORTB=0x00;

Это, получается pullup отключены. Результат - PB0 и PB6 работают нормально, PB4,PB5 и PB7 - глючат.

Подключаю pullup:

DDRB=0x00;
PORTB=0xFF;


ТОгда единицы ловятся на всех пинах. Напряжение при этом на входах - менее 0,2 вольт, что подтверждаает что это именно шумы.


Может быть я не правлиьно управляю портами?

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

Спасибо.
Go to the top of the page
 
+Quote Post
prottoss
сообщение Dec 24 2006, 18:50
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(Зверюга @ Dec 24 2006, 22:36) *
Здравствуйте!

У меня 5 пинов PB0, PB6, PB4, PB5 и PB7 предназначены для кнопок. Т.е. анализируется, нажата ли кнопка, один контакт которой подсоединен к соответствующему пину, второй к плюсу питания.
Если вы намерены использовать внутренние pullup резисторы, то кнопки нужно подключать между выводом МК и "землей". Когда кнопка будет разомкнута, на выводе будет лог. 1, когда замкнута - соответственно лог. 0. Последовательно с кнопкой желательно поставить резистор 330 ... 1 кОм, для ограничения тока через вывод МК при его ошибочной конфигурации и замыкании кнопки. Конфигурировать порт надо так: DDR = 0, PORT = 1, считывать значение нужно с порта PIN


--------------------
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 24 2006, 18:53
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Зверюга @ Dec 24 2006, 18:36) *
У меня 5 пинов PB0, PB6, PB4, PB5 и PB7 предназначены для кнопок. Т.е. анализируется, нажата ли кнопка, один контакт которой подсоединен к соответствующему пину, второй к плюсу питания.

И чем могут помочь pull-up резисторы там, где нужен pull-down?

Цитата(Зверюга @ Dec 24 2006, 18:36) *
СТавить внешние подтягивающие из принципа не хочу.

По-моему, не самый лучший подход - значение внутреннего pull-up может меняться в пределах 20-100кОм, ловить помехи будет. Тем более, что в данной ситуации без внешних резисторов никак.
Go to the top of the page
 
+Quote Post
bodja74
сообщение Dec 24 2006, 19:27
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 543
Регистрация: 22-10-05
Пользователь №: 9 984



Внешние резюки однозначно от 10кОм и ниже,сами кнопки частенько дают утечку.
Мне и 10Ом попадалось в разомкнутом состоянии.
Go to the top of the page
 
+Quote Post
Зверюга
сообщение Dec 24 2006, 21:21
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 413
Регистрация: 15-12-06
Пользователь №: 23 563



Поставил внешние резюки. Все ОК. Спасибо!
Go to the top of the page
 
+Quote Post
defunct
сообщение Dec 25 2006, 14:07
Сообщение #6


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(bodja74 @ Dec 24 2006, 19:27) *
Внешние резюки однозначно от 10кОм и ниже,сами кнопки частенько дают утечку.
Мне и 10Ом попадалось в разомкнутом состоянии.

"В корзину" такие кнопки.
Go to the top of the page
 
+Quote Post
Зверюга
сообщение Dec 26 2006, 21:29
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 413
Регистрация: 15-12-06
Пользователь №: 23 563



Господа!
Внешние резисторы ведь в итоге соединятся вместе на минусе, и кнопки влияют друг на друга. Можно конечно сделать диодные развязки, но...

Я выкинул резисторы, влкючил pullup, кнопки посадил на минус - все заработало как часы! Даже исчезла проблема, которую я в соседней теме ошибочно расценил, как дребезг контактов.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 26 2006, 21:37
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Зверюга @ Dec 26 2006, 21:29) *
Внешние резисторы ведь в итоге соединятся вместе на минусе, и кнопки влияют друг на друга. Можно конечно сделать диодные развязки, но...

Как влияют??? Земля поднимается???

Цитата(Зверюга @ Dec 26 2006, 21:29) *
Я выкинул резисторы, влкючил pullup, кнопки посадил на минус - все заработало как часы! Даже исчезла проблема, которую я в соседней теме ошибочно расценил, как дребезг контактов.

Дребезг обычно никуда не исчезает. Антидребезг нужно делать всегда.
Про внутренние pull-up уже все сказали - ставьте внешние.
Go to the top of the page
 
+Quote Post
Зверюга
сообщение Dec 26 2006, 21:45
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 413
Регистрация: 15-12-06
Пользователь №: 23 563



Цитата
Как влияют??? Земля поднимается???



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

Повторюсь, сделал через внутренние pullup - все ОК.

Цитата
Дребезг обычно никуда не исчезает. Антидребезг нужно делать всегда.


Так я и не говорю, что он исчез. Исчезда другая поблема, которую я принял за дребезг.
Что касается самого дребезга - сколько я не нажимал кнопки - ни разу такого эффекта не было. И вообще, делаю для дома, так что обойдусь пока без антидребезга. Ламер-любитель я )))
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 26 2006, 21:48
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Зверюга @ Dec 26 2006, 21:43) *
Ставил по 12 кОм. Нарисуйте мысленно схему - если от каждого пина по одному резистору на землю, то два отдельных пина будут соединены между собой через два резистора.

А на мысленной схеме земля обладает какими-то особыми свойствами? Каждый из пинов будет соединен с землей - как они могут влиять друг на друга?
Go to the top of the page
 
+Quote Post
bodja74
сообщение Dec 27 2006, 01:50
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 543
Регистрация: 22-10-05
Пользователь №: 9 984



Цитата(defunct @ Dec 25 2006, 14:07) *
"В корзину" такие кнопки.


Вот и меняю пачкамиsmile.gif

Цитата
Ставил по 12 кОм. Нарисуйте мысленно схему - если от каждого пина по одному резистору на землю,

Не смешно .

А вообще попробуйте сзади кнопки пальцем дорожки коротнуть,если не реагирует ,то и на pullup пойдет.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 13:25
Рейтинг@Mail.ru


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