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

 
 
> Как быть с подтяжкой при сбросе на LPC17xx?
Rev0.0
сообщение May 3 2013, 10:39
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 3-05-13
Пользователь №: 76 718



Привет. В микроконтроллерах LPC17xx по умолчанию после сброса пины конфигурируются как входы с подтяжкой к питанию. После старта программы все понятно - переконфигурируем как надо и все OK. Но как быть в моменты программирования, сброса, включения когда пины еще не проинициализированы?
Допустим я управляю затвором MOSFETа с помощью GPIO МК, который управляет реле (ну, в принципе, не важно какой-то нагрузкой) мне нужно, чтобы реле никогда не включалось, когда это не нужно. Как лучше поступить? В голове такие варианты, покритикуйте какой лучше или посоветуйте другие:
1) подтягиваем пин к земле внешним резистором 10 кОм. Хватит ли этих 10 кОм? Мин. порог отркытия MOSFET-а 0.5В.
2) наоборот, подтягиваем пин внешним резистором 10 кОм к питанию 3.3В, после пина ставим инвертор и в программе используем инверсное управление.

Сообщение отредактировал Rev0.0 - May 3 2013, 10:43
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 7)
Сергей Борщ
сообщение May 3 2013, 11:32
Сообщение #2


Гуру
******

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



Я ходил по пути 1. Но использовал резистор 1К. Если этот номинал не годится из соображений потребления - я бы подумал о смене производителя контроллера на того, кто не заставляет так извращаться.


--------------------
На любой вопрос даю любой ответ
"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
ar__systems
сообщение May 3 2013, 13:59
Сообщение #3


self made
****

Группа: Свой
Сообщений: 855
Регистрация: 7-03-09
Из: Toronto, Canada
Пользователь №: 45 795



Цитата(Сергей Борщ @ May 3 2013, 06:32) *
Я ходил по пути 1. Но использовал резистор 1К. Если этот номинал не годится из соображений потребления - я бы подумал о смене производителя контроллера на того, кто не заставляет так извращаться.

Да не сильно большое извращение.
Вариантов масса, можно биполярный транзистор, например, поставить, вместо или перед мосфетом. Он от подтяжки не откроется.
Go to the top of the page
 
+Quote Post
Rev0.0
сообщение May 4 2013, 08:02
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 3-05-13
Пользователь №: 76 718



А второй способ чем плох если не учитывать, что нужно дополнительный элемент - инвертор - вводить? И потребление поменьше будет.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение May 4 2013, 20:47
Сообщение #5


Гуру
******

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



QUOTE (Rev0.0 @ May 4 2013, 11:02) *
если не учитывать, что нужно дополнительный элемент - инвертор - вводить?
Да собственно именно этим - место на плате, неудобство в разводке, цена за кристалл и его монтаж. И все это только из-за того, что кто-то в NXP решил, что "подтяжки - это будет хорошо". Помнится, аналогичным страдал Атмел.


--------------------
На любой вопрос даю любой ответ
"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
Rev0.0
сообщение May 5 2013, 04:40
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 3-05-13
Пользователь №: 76 718



Хорошо, с инверторами понятно. Как тогда посчитать достаточное значение резистора подтяжки, чтобы при этом транзистор с порогом 0.5В не открылся, но в то же время максимально большое, чтобы сильно не увеличилось энергопотребление. При включении, когда пины не инициализированы напряжение составляет около 2,2 В (измерял мультиметром). В даташите указан pull-up current в диапазоне от -15 до -85 мкА. Как на основе этих данных посчитать значение резистора и вообще можно ли посчитать или только опытным путем?
Go to the top of the page
 
+Quote Post
Rst7
сообщение May 5 2013, 07:49
Сообщение #7


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



QUOTE
В даташите указан pull-up current в диапазоне от -15 до -85 мкА. Как на основе этих данных посчитать значение резистора и вообще можно ли посчитать или только опытным путем?


Не поверите. Закон Ома. Например, при резисторе в 1кОм напряжение нуля будет не более 85мВ.

QUOTE
В даташите указан pull-up current в диапазоне от -15 до -85 мкА. Как на основе этих данных посчитать значение резистора и вообще можно ли посчитать или только опытным путем?


Не поверите. Закон Ома. Например, при резисторе в 1кОм напряжение нуля будет не более 85мВ.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Rev0.0
сообщение May 5 2013, 14:27
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 23
Регистрация: 3-05-13
Пользователь №: 76 718



Цитата(Rst7 @ May 5 2013, 13:49) *
Не поверите. Закон Ома. Например, при резисторе в 1кОм напряжение нуля будет не более 85мВ.

Вот если бы так было, то здорово. Но вот при подтяжке 10 кОм у меня на мультиметре цифра 1.2В, а по Ому должно быть не более 0.85В. Причем 85 мкА это макс. значение, а типичное по даташиту 50 мкА. Где правда?

Сообщение отредактировал Rev0.0 - May 5 2013, 14:29
Go to the top of the page
 
+Quote Post

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

 


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


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