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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Режим Power-down
KIG
сообщение Aug 19 2007, 15:45
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 115
Регистрация: 25-12-06
Пользователь №: 23 884



Использую режим power-down на МК ATmega16. Пробуждение МК осуществляю с помощью внешнего прерывания на ножке INT0 (по смене логического уровня). На эту ножку подаю напряжению с помощью потенциометра от 0 В до 4,5 В (сначала 0В, затем 4,5В). Перед командой "sleep" отправляю цифру 15 в программу Terminal. В функции обработки прерывания INT0 отправляю цифру 11 в Terminal. Однако ничего не получаю (ни 15, ни 11). Думаю что пробуждение МК не происходит. Подскажите, пожалуста, в чем дело?
Go to the top of the page
 
+Quote Post
prottoss
сообщение Aug 19 2007, 16:26
Сообщение #2


Гуру
******

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



Раз Вы до СЛИПа посылаете 15 и не получаете, вероятно что то с USART не так...


--------------------
Go to the top of the page
 
+Quote Post
KIG
сообщение Aug 19 2007, 17:39
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 115
Регистрация: 25-12-06
Пользователь №: 23 884



Цитата(prottoss @ Aug 19 2007, 19:26) *
Раз Вы до СЛИПа посылаете 15 и не получаете, вероятно что то с USART не так...


Пробовал без СЛИПа. Сначала пришла цифра 15, а затем постоянно приходила цифра 11 (постоянно срабатывало прерывание). Напряжение на INT0 было 1,17В. Ниже этого значения прерывание не срабатывало.
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Aug 19 2007, 20:01
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(KIG @ Aug 19 2007, 20:39) *
Пробовал без СЛИПа. Сначала пришла цифра 15, а затем постоянно приходила цифра 11 (постоянно срабатывало прерывание). Напряжение на INT0 было 1,17В. Ниже этого значения прерывание не срабатывало.

Давайте поподробнее опишите. А то не понятно ничего.
Go to the top of the page
 
+Quote Post
defunct
сообщение Aug 19 2007, 23:39
Сообщение #5


кекс
******

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



Цитата(prottoss @ Aug 19 2007, 19:26) *
Раз Вы до СЛИПа посылаете 15 и не получаете, вероятно что то с USART не так...

В Power-Down вся периферия отключается.
если после записи в UDR сразу уйти в Power-Down - ничего естессно не отправится.

Цитата(KIG @ Aug 19 2007, 18:45) *
Подскажите, пожалуста, в чем дело?

Поэксперементируйте вначале с режимом IDLE.
Когда с уходом в idle программа будет работать как задумано - переходите к отладке Power-Down.
Go to the top of the page
 
+Quote Post
KIG
сообщение Aug 20 2007, 07:10
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 115
Регистрация: 25-12-06
Пользователь №: 23 884



Подробнее...
Пытаюсь работать с режимом Power-down (Atmega16). Пробуждение осуществляю с помощью внешнего прерывания, которое должно возникнуть от смены логического уровня на ножке INT0. Для определения проснулся МК или нет отправляю цифру 11 на комп в функции обработки прерывания. Однако ничего не получаю.
Go to the top of the page
 
+Quote Post
Elegorod
сообщение Aug 20 2007, 07:14
Сообщение #7


Участник
*

Группа: Новичок
Сообщений: 17
Регистрация: 2-02-07
Пользователь №: 24 993



Все правильно. Из режима Power Down можно выйти прерыванием только по низкому уровню, а не по смене логического уровня. В режиме Idle все должно работать нормально
Go to the top of the page
 
+Quote Post
KIG
сообщение Aug 20 2007, 07:43
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 115
Регистрация: 25-12-06
Пользователь №: 23 884



Цитата(defunct @ Aug 20 2007, 02:39) *
В Power-Down вся периферия отключается.
если после записи в UDR сразу уйти в Power-Down - ничего естессно не отправится.


Перед командой Sleep поставил задержку и цифра 15 стала приходить. Спасибо. Но разбудить МК (т.е. получить 11) не удается. Возможно причина в неправильных уровнях напряжения (1В и 4,5В)?

Попробовал пробуждение МК по низкому уровню. На ножку INT0 подал 4,5В. Цифра 11 приходит постоянно. А разве низкий уровень это не напряжение менее 1/3 питания (Напряжение питания МК 5В).
Go to the top of the page
 
+Quote Post
Andreas1
сообщение Aug 20 2007, 07:55
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 446
Регистрация: 12-03-06
Из: Москва
Пользователь №: 15 142



Цитата
А разве низкий уровень это не напряжение менее 1/3 питания (Напряжение питания МК 5В).

А в даташиту заглянуть? Порог переключения при +5В около 1,5В с гистерезисом в 0,5В, т.е для переключения в ноль надо менее 1,2В, желательно еще меньше.
Go to the top of the page
 
+Quote Post
KIG
сообщение Aug 20 2007, 08:08
Сообщение #10


Частый гость
**

Группа: Участник
Сообщений: 115
Регистрация: 25-12-06
Пользователь №: 23 884



Перед командой Sleep поставил задержку и цифра 15 стала приходить. Спасибо. Но разбудить МК (т.е. получить 11) не удается. Возможно причина в неправильных уровнях напряжения (1В и 4,5В)?

Попробовал пробуждение МК по низкому уровню. На ножку INT0 подал 4,5В. Цифра 11 приходит постоянно. А разве низкий уровень это не напряжение менее 1/3 питания (Напряжение питания МК 5В).

Цитата(Andreas1 @ Aug 20 2007, 10:55) *
А в даташиту заглянуть? Порог переключения при +5В около 1,5В с гистерезисом в 0,5В, т.е для переключения в ноль надо менее 1,2В, желательно еще меньше.


Следовательно, прерывание возникать не должно, но почему-то происходит!
Go to the top of the page
 
+Quote Post
muravei
сообщение Aug 20 2007, 12:53
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 538
Регистрация: 13-08-05
Пользователь №: 7 591



Цитата(KIG @ Aug 19 2007, 19:45) *
На эту ножку подаю напряжению с помощью потенциометра от 0 В до 4,5 В (сначала 0В, затем 4,5В).

Как -то у Вас все заморочисто! Сделайте нормальный формитователь импульса на кнопке с одновибратором - нажали импульс . А так что у Вас там на входе , может наводки какие.
Откуда Вы берете эти 4.5 в ?
Go to the top of the page
 
+Quote Post
KIG
сообщение Aug 20 2007, 14:02
Сообщение #12


Частый гость
**

Группа: Участник
Сообщений: 115
Регистрация: 25-12-06
Пользователь №: 23 884



Цитата(muravei @ Aug 20 2007, 15:53) *
Как -то у Вас все заморочисто! Сделайте нормальный формитователь импульса на кнопке с одновибратором - нажали импульс . А так что у Вас там на входе , может наводки какие.
Откуда Вы берете эти 4.5 в ?


4.5 В получаю с выпрямительного мостика, который через потенциометр подключается к обмотке трансформатора на напряжение в 6,5 В. На входе измерил напряжение с помощью мультиметра, оно равно 4,5В.
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Aug 20 2007, 14:31
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(KIG @ Aug 20 2007, 17:02) *
4.5 В получаю с выпрямительного мостика, который через потенциометр подключается к обмотке трансформатора на напряжение в 6,5 В. На входе измерил напряжение с помощью мультиметра, оно равно 4,5В.


А зачем потенциометр? Обычно просто подаётся питание внешнее. При пропадании питания возникает прерывание. При появлении также. Иногда подают на компаратор. Если стоит задача оперативно среагировать на пропадание питания и успеть что-то ещё сделать.

Следует иметь ввиду, что если у вас в схеме кроме процессора ничего нет, то при переключении питания разряд кондёров основного питания может затянуться на длительное время, что приведёт к нехорошим последствиям. То есть питание переключилось, а однокристалка в PD не ушла, или ушла ч/з минуту к примеру. Таким образом эту минуту однокристалка будет работать в активном режиме от батарейного питания. Чтобы этого избежать надо либо компаратор использовать, либо поставить резистор разряда прямо на основное питание. Для быстрого разряда ёмкостей.
Go to the top of the page
 
+Quote Post
muravei
сообщение Aug 20 2007, 14:56
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 2 538
Регистрация: 13-08-05
Пользователь №: 7 591



Цитата(KIG @ Aug 20 2007, 18:02) *
4.5 В получаю с выпрямительного мостика, который через потенциометр подключается к обмотке трансформатора на напряжение в 6,5 В. На входе измерил напряжение с помощью мультиметра, оно равно 4,5В.

И что после мостика нет электролитов? Тогда у Вас должны возникать прерывания с частотой 100 гц!

Цитата(SasaVitebsk @ Aug 20 2007, 18:31) *
Обычно просто подаётся питание внешнее. При пропадании питания возникает прерывание.

Вы совсем запутаете человека!
Цитата(KIG @ Aug 20 2007, 18:02) *
4.5 В получаю с выпрямительного мостика, который через потенциометр подключается к обмотке трансформатора на напряжение в 6,5 В. На входе измерил напряжение с помощью мультиметра, оно равно 4,5В.

Так Вы можете спалить процессор: напряжение из переменных 6.5в будет примерно 1.5 раза больше.
Go to the top of the page
 
+Quote Post
KIG
сообщение Aug 20 2007, 17:17
Сообщение #15


Частый гость
**

Группа: Участник
Сообщений: 115
Регистрация: 25-12-06
Пользователь №: 23 884



И всё же почему МК не просыпается после подачи на ножку INT0 напряжения низкого уровня (менее 1.2В)?
Go to the top of the page
 
+Quote Post

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

 


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


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