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

Гость asp

Подскажите пожалуйста!

 

При програмном подключении PULL-UP резистора, должен ли появляться высокий уровень на выводе к которому произведено подключение?

 

Если отслеживать замыкание кнопки на корпус нужен ли внешний резистор с Vdd?

Если можно использовать внутренний, то нужно ли дополнительно ограничивать ток через кнопку?

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


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

При програмном подключении PULL-UP резистора, должен ли появляться высокий уровень на выводе к которому произведено подключение?

Да, конечно, собсно для этого он и сделан.

Если использовать PULL-UP то во внешнем резисторе отпадает надобность. Ограничивать ток тоже не вижу смысла. Номинал встроенного резистора обычно бывает указан в даташите.

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


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

Подскажите пожалуйста!

 

При програмном подключении PULL-UP резистора, должен ли появляться высокий уровень на выводе к которому произведено подключение?

 

Если отслеживать замыкание кнопки на корпус нужен ли внешний резистор с Vdd?

Если можно использовать внутренний, то нужно ли дополнительно ограничивать ток через кнопку?

Проверяется все довольно просто.

Берем резистор, на порядок меньший, чем PULL-UP, но больший, чем выходное сопротивление пина, и через этот резистор на пин подаем прямоугольники.

Если пин стоит на вывод, то там будет либо 0, либо 1 в соответствии с тем, что записано в пин. А если пин стоит на ввод, то будут либо импульсы, если резистор подключен, либо 1, если не подключен.

Удачи!

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


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

Гость asp

Всем ответившим спасибо!!!

Разобрался, эксперементировал с PIC12F629, но думаю это у всего семейства :)

 

Когда включаем PULL-UP уровень на внешнем выводе относительно корпуса около 0,5 вольта,

но считывается как еденица.

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


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

Когда включаем PULL-UP уровень на внешнем выводе относительно корпуса около 0,5 вольта,

но считывается как еденица.

 

Это ерунда. Если пин настроен на вход и включен pull-up то напряжение на данном пине будет близким к напряжению питания. Если у вас 0.5 вольта, значит что-то не так.

А, может, у вас внешняя цепь не дает поднятся напряжению до 5 вольт, т.е. ваш pull-up вместе с внешней цепью образует делитель 1:10 :)

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


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

Гость asp
Это ерунда. Если пин настроен на вход и включен pull-up то напряжение на данном пине будет близким к напряжению питания. Если у вас 0.5 вольта, значит что-то не так.

А, может, у вас внешняя цепь не дает поднятся напряжению до 5 вольт, т.е. ваш pull-up вместе с внешней цепью образует делитель 1:10 :)

 

К выводу подключена только кнопка, она разомкнута, парадокс в том что работает :)

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

Мне тоже казалось что должно на пине напряжение 5 в (или близкое) появляться.

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


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

К выводу подключена только кнопка, она разомкнута, парадокс в том что работает :)

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

Мне тоже казалось что должно на пине напряжение 5 в (или близкое) появляться.

 

Значит в вашем мультиметре села батарейка :)

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


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

Приподниму немного темку :)

 

Столкнулся с проблемой использования этих самых pull-up резисторов в PIC24FJ128GB006.

Порт TMS/CVref/AN10/PMA13/CN28/RB10 настроен на вход и установлен бит подтягивающего pull-up резистора.

В документации написано, что напряжение при этом будет порядка Vdd-0.7 в, что и наблюдается, при Vdd=2.8в на входе 2.1 в.

При опросе же состояния входа на PORTB10 всегда имеем "0". Ко входу подключена только разомкнутая кнопка на землю.

При всем этом в доке также указан минимальный уровень логической "1" в 0.8Vdd, что при 2.8 в составляет 2.24 в, т.е. получается не попадаем в диапазон.

Каков же тогда смысл эти pull-up резисторов? Они работают только при Vdd >3 в?

Или я чего-то забыл еще отконфигурить?

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

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


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

Или я чего-то забыл еще отконфигурить?

Наверняка. Вход будет работать обычным входом, только когда будут выключены все периферийные функции, повешенные на него.

Смотрите, что из TMS/CVref/AN10/PMA13/CN28 забыли отключить.

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


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

Спасибо, еще раз внимательно посмотрю, хотя после включения питания вроде все выключено и все порты на вход настроены.

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


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

Спасибо, еще раз внимательно посмотрю, хотя после включения питания вроде все выключено и все порты на вход настроены.

 

Обратите внимание на ADxPCFGy включение функции ADC на пине , и регистры компаратора стоить проверить

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


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

Вроде все вчера проштудировал:

TMS относится к JTAG - отключил в битах конфигурации;

PMA13 относится к режиму параллельного порта - отключен изначально по включению питания;

AN10 относится к АЦП, после сброса к АЦП подключен вход AN0;

CVref после сброса тоже отключен от вывода.

 

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

На этом же провел эксперимент: настроил его на вывод, отключил pull-up резистор и вывел на него меандр, попробовал считать из PORTB10 значения и все равно считывается "0" всегда, хотя размах на порту от 0в до Vdd.

Даже не знаю что и думать...

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


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

AN10 относится к АЦП, после сброса к АЦП подключен вход AN0;

Это совсем не значит, что пин не сконфигурирован как аналоговый - он просто сейчас не выбран входом АЦП.

Даже не знаю что и думать...

Пришлось таки скачать ДШ.

См. REGISTER 22-5: AD1PCFGL и 10.2 Configuring Analog Port Pins (а лучше - весь раздел 10.0)

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


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

Это совсем не значит, что пин не сконфигурирован как аналоговый - он просто сейчас не выбран входом АЦП.

 

Пришлось таки скачать ДШ.

См. REGISTER 22-5: AD1PCFGL и 10.2 Configuring Analog Port Pins (а лучше - весь раздел 10.0)

Точно!

Аналоговые пины по дефолту сконфигурены как аналоговые входы.

Огромное спасибо за тыканье носом в нужное место :laughing:

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


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

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

Про это не принято лишний раз задумываться, но всё-таки.

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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