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

 
 
> Часы на AVR. Не просто часы...
-=Женек=-
сообщение Dec 12 2010, 01:41
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 559
Регистрация: 6-09-06
Пользователь №: 20 131



Возникла мысль сделать часы на AVR, продолжающие тикать после отключения питания. Как в компьютере.
Подскажите как это реализовать программно и схемотехнически, а именно:
- как организовать питание и от батарейки и от внешнего источника
- в какой режим переводить контроллер AVR, дабы жрало мало и при этом тикало...

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

Спасибо.
Go to the top of the page
 
+Quote Post
4 страниц V  < 1 2 3 4 >  
Start new topic
Ответов (15 - 29)
zheka
сообщение Dec 12 2010, 16:01
Сообщение #16


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



Блин, так DS1307 еще и 5-вольтовая!!!! Согласовывать не надо. Цены ей нет!!!!
Go to the top of the page
 
+Quote Post
ukpyr
сообщение Dec 12 2010, 16:12
Сообщение #17


Профессионал
*****

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



Цитата
простой способ согласования 3.3 и 5 вольт I2C шины
не нужно, для I2C ипользуется открытый сток, достаточно резисторы подключить к 3В. Можно взять DS3231, не требует никакой коррекции в отличии от 1307

Сообщение отредактировал ukpyr - Dec 12 2010, 16:13
Go to the top of the page
 
+Quote Post
rezident
сообщение Dec 12 2010, 17:01
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(ukpyr @ Dec 12 2010, 21:12) *
не нужно, для I2C ипользуется открытый сток, достаточно резисторы подключить к 3В.
Не нужно вводить в заблуждение, когда не уверены сами. Входные уровни для I2C такие же как у CMOS: VIL<=0.3*VCC, VIH>=0,7*VCC. Если резисторы подключить к 3,3В, то I2C-устройство, запитанное от 5В, будет считать, что шина всегда занята, т.к. не будет воспринимать уровни лог.1.
0,7*5В=3,5В, что выше, чем 3,3В, не так ли? Есть типовая схема согласования на двух MOSFET. На нее уже давали ссылку выше. Вот переводной документ с такой же схемой. Я применял подобную схему с "копеечными" транзисторами 2N7002. Работает без проблем на частоте 400кГц.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
zheka
сообщение Dec 12 2010, 17:53
Сообщение #19


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



Цитата
транзисторами 2N7002


Эти транзисторы должны гореть в огне!!!
Все равно они горят от статики... Или брак высок, я так и не понял.
Go to the top of the page
 
+Quote Post
sds1
сообщение Dec 14 2010, 14:42
Сообщение #20


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 16-01-10
Пользователь №: 54 847



Есть микрасхема PCA9306 согласует уровни i2c, работает до 5ти вольт.
Можно найти в сотиках.
Первый что попало SAMSUNG E-570.
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Dec 14 2010, 14:47
Сообщение #21


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(zheka @ Dec 12 2010, 20:53) *
Эти транзисторы должны гореть в огне!!!
Все равно они горят от статики... Или брак высок, я так и не понял.

Да, боятся они статики, факт. Однако дешевые и популярные, если соблюдать определенную осторожность. Можно и что-нибудь из более современных взять - IRLMS2803, например. Но статикой можно и биполярник грохнуть...
Go to the top of the page
 
+Quote Post
777777
сообщение Dec 16 2010, 04:44
Сообщение #22


Профессионал
*****

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Цитата(prottoss @ Dec 12 2010, 21:53) *
Я так понял топик стартеру по теме отвечать никто не собирается sm.gif Попробую я.
Как то собирал такой проект на Tiny2313.
1. Задействуем два таймера. Первый для динамической индикации и опроса клавиатуры - работает только в активном режиме (Основное питание присутствует). Второй для отсчета секундных импульсов - работает всегда.

Делал такой на Atmega8535. В нем (как и во многох других процах) есть таймер 2 к которому можно непосредственно подключать часовой кварц. После его генератора включаешь прескалер на 128 и в результате этот таймер переполняется каждую секунду и выдает прерывания. Сам процессор работает от внутреннего RC-генератора

Цитата(prottoss @ Dec 12 2010, 21:53) *
2. Задействуем аналоговый компаратор который отслеживает появление-пропадание основного напряжения. При пропадании основного питания отключаем всю периферию кроме секундного таймера и компаратора.

При пропадании входного напряжения переходим в режим power save. В этом режиме вся периферия автоматически отключается кроме второго таймера, он продолжает посылать каждую секунду прерывания и программа обработки считает время. Благодаря этому потребление падает и его можно питать от небольшого аккумулятора или ионистора. У меня ионистор на 1.8F при brown-out 2.7В держал время около часа.

Цитата(prottoss @ Dec 12 2010, 21:53) *
Настраиваем компаратор на прерывание при появлении основного питания и переходим в режим IDLE. При появлении основного питания перестраиваем компаратор, включаем задействованную периферию (Таймер индикации и опроса)

Компаратор можно настроить на срабатывание по обоим фронтам и тогда его не придется перестраивать.

Цитата(prottoss @ Dec 12 2010, 21:53) *
3. Питания от основного и резервного источников развязываем диодами Шоттки. Вход аналогового компаратора подключаем к основному источнику питания до развязывающего диода и обязательно через резистивный делитель дабы не спалить вход при появлении основного напряжения при питании от резервного.

делитель подключаем перед 7805.

Цитата(prottoss @ Dec 12 2010, 21:53) *
К "земляному" плечу делителя подключить конденсатор на 0,1...1 мкф для <...>

Какое земляное плечо? Делитель состоит и з двух резисторов, один - на входное напряжение, другой - на землю. Середину - на вход компаратора.

Цитата(prottoss @ Dec 12 2010, 21:53) *
По вкусу добавляем индикаторы, кнопки. На выход таймера индикации и опроса можно добавить преобразователь для питания индикаторов, требующих бОльшего, чем основное, напряжения питания.

Go to the top of the page
 
+Quote Post
prottoss
сообщение Dec 16 2010, 05:04
Сообщение #23


Гуру
******

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



Цитата(777777 @ Dec 16 2010, 14:44) *
Какое земляное плечо? Делитель состоит и з двух резисторов, один - на входное напряжение, другой - на землю. Середину - на вход компаратора.
Специально для Вас - который "другой на землю" - вот его как раз шунтируем конденсатором.


--------------------
Go to the top of the page
 
+Quote Post
777777
сообщение Dec 16 2010, 05:16
Сообщение #24


Профессионал
*****

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Цитата(prottoss @ Dec 16 2010, 11:04) *
Специально для Вас - который "другой на землю" - вот его как раз шунтируем конденсатором.

Понял. А зачем? От этого процессор узнает о пропадании питания немного позже, от этого мы позже перейдем в экономный режим. Оно нам надо?
Go to the top of the page
 
+Quote Post
prottoss
сообщение Dec 16 2010, 05:39
Сообщение #25


Гуру
******

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



Цитата(777777 @ Dec 16 2010, 15:16) *
Понял. А зачем? От этого процессор узнает о пропадании питания немного позже, от этого мы позже перейдем в экономный режим. Оно нам надо?

А если не поставите, может вообще не узнатьsm.gif - потому как нога из строя выйдет. Все зависит от выходного напряжения делителя и минимального питающего напряжения на резервном источнике, качества стабилизатора сонвоного источника и прочих параметров. Конденсатор нужен для того, чтобы напряжение от основного источника пришло раньше на выводы питания МК, чем на измерительный вход.

Проблема того, что МК немного позже узнает о пропадании основного питания, решается очень просто. Выходной конденсатор основного источника питания ставится непосредственно на линию питания МК а не до развязывающего диода. Таким образом он какое то время будет питать МК, при этом конденсатор делителя должен успеть разрядиться раньше. Конечно, это все нужно рассчитывать.


--------------------
Go to the top of the page
 
+Quote Post
GDI
сообщение Dec 16 2010, 06:46
Сообщение #26


Профессионал
*****

Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008



Цитата(zheka @ Dec 12 2010, 22:24) *
Это получастя она 1.8 мкА кушает?

Мы сейчас в проекте используем часы М41Т93, так они кушают 365нА (самое оно для нано-часовsm.gif), ионистора на 1Ф хватает на 20 дней. У них еще и кварц встроенный, так что не надо париться с кварцем и его подключением, да чтоб не убегало и не отставало и с завода +/-5ппм обещают.


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post
777777
сообщение Dec 16 2010, 10:06
Сообщение #27


Профессионал
*****

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Цитата(prottoss @ Dec 16 2010, 11:39) *
А если не поставите, может вообще не узнатьsm.gif - потому как нога из строя выйдет. Все зависит от выходного напряжения делителя и минимального питающего напряжения на резервном источнике, качества стабилизатора сонвоного источника и прочих параметров.

Ничченепонимаю. На один вход компаратора подаем внутреннее опорное 1.1В, исходя из этого делаем делитель таким, чтобы напряжение с него было около 2 В. Какие из этого могут вытекать проблемы?

Цитата(prottoss @ Dec 16 2010, 11:39) *
Конденсатор нужен для того, чтобы напряжение от основного источника пришло раньше на выводы питания МК, чем на измерительный вход.

Но зачем? Лучше наоборот - раньше перевести МК в режим пониженного потребления, чтобы он не кушал лишнего от резервного источника. Для этого я подаю напряжение на делитель с входного напряжения 7805 (у меня это 12 В), тогда о пропадании напряжения я узнаю когда 5 В еще есть и перехожу в спящий режим заранее.

Цитата(prottoss @ Dec 16 2010, 11:39) *
Проблема того, что МК немного позже узнает о пропадании основного питания, решается очень просто. Выходной конденсатор основного источника питания ставится непосредственно на линию питания МК а не до развязывающего диода. Таким образом он какое то время будет питать МК, при этом конденсатор делителя должен успеть разрядиться раньше. Конечно, это все нужно рассчитывать.

Почему "какое-то время"? Он (у меня это ионистор на 1.8 Ф) или аккумулятор должен питать его все время, пока отсутствует основное питание. Но если пропадает основное питание, он должен прекратить все действия (индикация, генерация других напряжений если они есть) и перейти в режим пониженного потребления в котором от только просывается от ежесекундных прерываний для подсчета времени.
Или я чего-то не понимаю?

P.S. Но это все мелочи. Главная фича - использование в качестве часового генератора таймера 2 с часовым кварцем, который может работать даже в режиме Power Save.

Сообщение отредактировал 777777 - Dec 16 2010, 10:08
Go to the top of the page
 
+Quote Post
prottoss
сообщение Dec 16 2010, 11:13
Сообщение #28


Гуру
******

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



Цитата(777777 @ Dec 16 2010, 20:06) *
Ничченепонимаю....Или я чего-то не понимаю?...

Забудьте про ионистор - никто не обязан его применять. Кто то хочет питать девайс дежурным напряжением от литиевой батареи 3 вольт, к примеру.

И сосредоточите свое внимание на моменте, когда прибор питается от дежурного источника. В момент подачи рабочего напряжения на входе компаратора вполне возможен потенциал, превышающий напряжение питания на величину, бОльшую чем VCC+0,5 вольт, оговоренную в документации на МК AVR. Это может привести к выходу из строя входа компаратора. Т.е. рабочее (исправлено - ошибся термином) напряжение должно появиться раньше на выводах питания МК, нежели на входе компаратора.

Сообщение отредактировал prottoss - Dec 16 2010, 11:28


--------------------
Go to the top of the page
 
+Quote Post
777777
сообщение Dec 16 2010, 12:26
Сообщение #29


Профессионал
*****

Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357



Цитата(prottoss @ Dec 16 2010, 17:13) *
Забудьте про ионистор - никто не обязан его применять. Кто то хочет питать девайс дежурным напряжением от литиевой батареи 3 вольт, к примеру.

А я разве об этом не писал?
Цитата(prottoss @ Dec 16 2010, 17:13) *
И сосредоточите свое внимание на моменте, когда прибор питается от дежурного источника. В момент подачи рабочего напряжения на входе компаратора вполне возможен потенциал, превышающий напряжение питания на величину, бОльшую чем VCC+0,5 вольт, оговоренную в документации на МК AVR. Это может привести к выходу из строя входа компаратора. Т.е. рабочее (исправлено - ошибся термином) напряжение должно появиться раньше на выводах питания МК, нежели на входе компаратора.

Ах вот вы о чем. Но, во-первых, при применении аккумулятора такое невозможно никогда - МК всегда запитан или от аккумулятора 3В или от стабилизатора 4.5В за вычетом падения на диоде. Таким образом напряжение на делитете (2В) никогда не превысит питание.
А во-вторых, если и превысит, то на всех входах есть защитные диоды, через которые напряжение сбросится на питание, а резисторы делителя ограничат ток долями миллиампера.
Go to the top of the page
 
+Quote Post
v_k
сообщение Dec 17 2010, 05:52
Сообщение #30





Группа: Новичок
Сообщений: 1
Регистрация: 17-12-10
Пользователь №: 61 678



10 лет работает следующее: DS1307 + CR2032 + Atmega8535 - только стационарное питание.
DS1307 тикает всегда. (5 ... 10 лет в зав-ти от качества батарейки). Есть живые экземпляры с почтенным стажем.
При включении питания и далее каждую секунду по прерыванию от DS. контроллер спрашивает у DS " скажите пожалуйста а какое у нас сейчас астрономическое время?"
Думаю автономное питание с проблемами энергосбережения, контроллеру нужно только для дополнительных задач.
Go to the top of the page
 
+Quote Post

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

 


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


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