[image]

Тупой вопрос знатокам электроники и AVR

 
BG Реконструктор #30.10.2003 13:16
+
-
edit
 
Чтобы работал AVR, нужно на ногу RESET подавать 5В. Если напрежение упадёт ниже какого-то критического минимума, проц переходит из режима "рабочий" в режим "программирование". По причине того, что проц у меня связан с PC (программатором), я на ресет напрежение не подавал, так как оно шло из PC и МК работал. Но решил, всё-таки, соединить vcc и reset, чтоб изделе могло работать и без PC. Соединил, заработало. Но, перестал работать програматор. :blink: Некоторое время был в ступоре, потом посмотрел на похожие схемы, где применяют ISP. Так там между vcc и reset-ом стоит резистор 10К, если не ошибаюсь. Поставил и я такой резистор и всё заработало.
Вопрос такой - какие процессы произходят в этом хламе? Вобще, зачем ставят резисторы?
   
RU Alesandro #30.10.2003 13:35
+
-
edit
 

Alesandro
Серокой

координатор
★★★★
Так ещё ёмкость должна идти на землю (0,1 u примерно). Это обычная RC-цепочка, сбрасывающая процик по включению питания. Хотя по хорошему надо ставить супервизор питания...
Кроме того, этот резистор позволяет при поданом питании перетянуть RESET в ноль. Если бы резистора на было, то программатору перетягивать пришлось бы источник питания. С весьма печальными последствиями для программатора. Поэтому если он у вас сгорел - ничего удивительного. Если выжил - то ему повезло.
   
BG Реконструктор #30.10.2003 14:13
+
-
edit
 
Гм, забыл в описании темы написать "объясните тупому, чайнику, идиоту и т.д." Очень прошу, объясни мне следующие вещи:

-RC-цепочка
-программатору перетягивать пришлось бы источник питания
-при поданом питании перетянуть RESET в ноль

вообще, смысл слова "перетянуть"

А программатор выжил. Вообще, я - везучий человек.
   
RU asoneofus #30.10.2003 15:22
+
-
edit
 

asoneofus

старожил
★★
Резистор между цепью и питанием - pullup резистор, он-же пуллапчик, он же подтяжка

Описание 1 конденсатор на входе микросхемы
1.1 Когда ничего не подключено
Возможные эффекты
 - микросхема в состоянии "0" на входе (питалу только подрубили), при этом, на КМОП входном элементе в состоянии "0" течёт ток (вытекает из микросхемы порядок : десятки наноАмпер - микроампер) и заряжает конденсатор, напряжение на входе растёт, пока не достигнет порогового значения перехода из "0" в "1". Как только вход переключился в "1" ток начинает "втекать" в мелкосхему, разряжая кондюк (порядок тот-же, примерно) - и так до порога срабатывания "1" -> "0". Возникает генерация, с продолжительностью пропорциональной ёмкости конденсатора и.тд. Осциллографом сей эффект мерить проблематично .
1.2 Когда подключен внешний источник сигнала, то в основном роль играет его токи: порядок до десятков - сотен мА, посему вышеизложенность не наблюдается
Описание 2 с резистором подтяжки
2.1 Когда ничего не подключено
- микросхема в состоянии "0" на входе (питалу только подрубили), при этом заряд конденсатора происходит через резистор, в основном, так как 5(3)В / 10К = 0.5(0.3)мА, скорость заряда (удержание "0" на входе) происходит пропорционально ёмкости - номиналу резистора.
2.2 Когда подключен внешний источник сигнала, то в основном роль играет его токи: порядок до десятков - сотен мА (против долей мА на подтяжке ), посему вышеизложенность не наблюдается
   
RU Alesandro #30.10.2003 15:30
+
-
edit
 

Alesandro
Серокой

координатор
★★★★
>-RC-цепочка
В данном случае это цепочка типа VCC-резистор-RESET-ёмкость-GND. По включении питания ёмкость не заряжена, её сопротивление равно нулю и потенциал на RESET равен тоже нулю. То есть происходит сброс микросхемы и - основное - сброс программного счётчика в ноль. Иначе процик может запуститься с любого места программы - в зависимости от того, во что он выставился по включении питания. Отфонарно, в общем. По мере заряда ёмкости током, протекающим через резистор, напряжение на ёмкости растёт и по прохождении времени приметно 3 "тау", где тау = R*C (в секундах) = 10К*0,1u = 10мс, ёмкость зарядится до VCC. Переключение буфера случится где-то на середине питания, то есть через время "тау".
Таким образом, RC-цепочка - времязадающая цепь. Здесь она служит для формирования импульса сброса отрицательной полярности на RESET.

>-программатору перетягивать пришлось бы источник питания

От программатора идёт логический уровень, формируемый выходным буфером микросхемы. В данном случае, это полевой транзистор в шинном формирователе микросхемы программатора, открытый и соединённый с землёй. Если на эту же линию подаёся другой логический уровень, единица, от другого выходного буфера, это означает, что другой транзистор открыт и подсоединён на питание. Таким образом, через эти два транзистора течёт ток проктически короткого замыкания. То есть один из буферов выгорает. В твоём случае - программатора - вместо второго буфера служит питание, то есть напряжение питания коротится через открытый транзистор на землю, течёт огромный ток и "конец котёнку Машке", то есть выходному буферу программатора.

>-при поданом питании перетянуть RESET в ноль

Резистор, включенный в цепь сброса, позволяет ограничить ток, текущий через открытый выходной буфер, до безопасной величины, таким образом, ноль на выходе программатора "перетягивает" единицу, формируемую через резистор источником питания.
   
Это сообщение редактировалось 30.10.2003 в 17:38

Anika

координатор
★★☆
QUOTE (asoneofus @ 30.10.2003 15:22:48)
Резистор между цепью и питанием - pullup резистор, он-же пуллапчик, он же подтяжка
 

Именно.
И у большинства (возможно, и у всех) AVRов этот резистор уже стоит внутри (килоом этак 50). Так что 10 килоом снаружи - скорее всего, излишество (хотя и не вредное).
   
RU Alesandro #30.10.2003 17:35
+
-
edit
 

Alesandro
Серокой

координатор
★★★★
Anika, по документации у них вообще написано 100-500К. :blink:
Но там резистор, мне кажется, всё же сброса по питанию, а не пулл-ап. Хотя цепь сброса по питанию в АВР тоже есть.

Или для того же ISP - схему смотреть надо...
   
Это сообщение редактировалось 30.10.2003 в 17:45
BG Реконструктор #31.10.2003 14:58
+
-
edit
 
Вообще-то я идиот редкосный. Ничё не понял.
Давайте другой вопрос: как корректно соединить output ногу с полевым транзистором?
   

hcube

старожил
★★
Резистор на землю в 10к и к ноге. Тогда если сигнала нет - затвор полевика подтянут к земле, а если есть - то к +5. Это если КМОП транзистор, с изолированным каналом. Если обычный - то еще добавить 1 Ком от греха между ногой и затвором.
   
BG Реконструктор #31.10.2003 16:52
+
-
edit
 
И всё?

А ноги АЦП как соединять к датчикам?
А input ноги? Я вот думал - поставлю-ка 7805, так у меня будет толеранс напряжения - хоть 5В подавай, хоть 12 - на ногу будут идти всегда 5.
   
RU Alesandro #31.10.2003 17:02
+
-
edit
 

Alesandro
Серокой

координатор
★★★★
Если на 7805 подать 5В, на выходе будет не 5, а меньше, около 4. Там есть минимальное входное напряжение - зависит от конкретного преобразователя.

Ноги АЦП цеплять - если напряжения в диапазоне от 0 до 5 вольт, а выход датчика низкоомный, то можно и напрямую. Инпуты - тем более, если им на вход идёт обычный TTL сигнал.
   

hcube

старожил
★★
Да, на 7805 надо от 7 до 25 вольт подавать. Я помимо стабилизатора еще вешаю на входе диодный мостик - тогда вообще пофиг чем питать - переменка, постоянка... все схарчит
   

hcube

старожил
★★
Прямо и соединять . Только это... если датчик типа переменного сопротивления - лучше от того же источника и AREF + AVCC запитать. А вообще доку читай, там все написано
   

Anika

координатор
★★☆
Alesandro, 30.10.2003 17:35:50:
Anika, по документации у них вообще написано 100-500К. :blink:
 

Тоже верно
Вот сводка по некоторым АВРам:
Mega128: 30-100K
Mega163: 100-500K
Mega8: 30-80K
Tiny26: 20-100K
Tiny12: отсутствует

 
   
RU Alesandro #04.11.2003 22:19
+
-
edit
 

Alesandro
Серокой

координатор
★★★★
Ну вот, "любимый лунный трактор", то есть рабочая лошадка - 2313, в списке отсутствует! А я по ней смотрел.
   

Anika

координатор
★★☆
Alesandro, 04.11.2003 22:19:56:
Ну вот, "любимый лунный трактор", то есть рабочая лошадка - 2313, в списке отсутствует! А я по ней смотрел.
 

Понятно. Мне на "тракторе" тоже приходилось пахать. Но это было давно. А нынче все больше Mega8.
2 Resurrector: на чем работаем, коллега?
   
BG Реконструктор #06.11.2003 18:25
+
-
edit
 
Anika, 05.11.2003 18:31:21:
Понятно. Мне на "тракторе" тоже приходилось пахать. Но это было давно. А нынче все больше Mega8.
2 Resurrector: на чем работаем, коллега?
 

Ну, до коллеги мне ещё далеко. Иначе - mega8 и mega16. В преспективе mega128, так как он единственный с двойным UART-ом, который можно купить здесь.
   

Moss

втянувшийся

Если кто нибудь не в курсе, сюда есть хороший форум по МК.
   
+
-
edit
 

GrayCat

координатор

...а также ФИДОшная эха ru.embedded, она же конференция fido7.ru.embedded в USENET.
   
RU Alesandro #07.11.2003 01:59
+
-
edit
 

Alesandro
Серокой

координатор
★★★★
Дык на этой фидошной - больше половины с "Телесиса" пасётся.
Только часто более-менее серьёзные вопросы всё равно без ответа остаются. Вот пофлеймить - это да... Как я сейчас.
   
BG Реконструктор #07.11.2003 10:42
+
-
edit
 
BG Реконструктор #13.11.2003 09:58
+
-
edit
 
А в чём разница между PORTx и PINx?
   
RU Alesandro #13.11.2003 12:33
+
-
edit
 

Alesandro
Серокой

координатор
★★★★
Первые на запись, вторые на чтение.
Чтобы не было вечной болезни PIС - операции чтение-модификация-запись... Хотя они это сейчас вылечили в PIC18.
   
BG Реконструктор #13.11.2003 14:51
+
-
edit
 
Блин, всю жызнь в роле программиста МК делал вот так:
PORTB = PORTB | 1;
И вроде, работает безупречно. Только вчера в одном исходнике увидел PINx и решил поинтересоватся зачем он. Выглядит как синоним PORTx.
   
RU Alesandro #13.11.2003 15:24
+
-
edit
 

Alesandro
Серокой

координатор
★★★★
Да не синоним! Вы документацию по АВР вообще читали?
Порт - это то, что идёт в защёлку на выход. Пин - это чтение с ног проца! Считав с PORTA, получите то, что сами в него и записали, но вовсе не то, что на него пришло извне.
   

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru