|
Часы на AVR. Не просто часы... |
|
|
|
 |
Ответов
(15 - 29)
|
Dec 12 2010, 17:01
|
Гуру
     
Группа: Свой
Сообщений: 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кГц.
Эскизы прикрепленных изображений
|
|
|
|
|
Dec 14 2010, 14:42
|
Участник

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

|
Есть микрасхема PCA9306 согласует уровни i2c, работает до 5ти вольт. Можно найти в сотиках. Первый что попало SAMSUNG E-570.
|
|
|
|
|
Dec 16 2010, 04:44
|

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

|
Цитата(prottoss @ Dec 12 2010, 21:53)  Я так понял топик стартеру по теме отвечать никто не собирается  Попробую я. Как то собирал такой проект на 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)  По вкусу добавляем индикаторы, кнопки. На выход таймера индикации и опроса можно добавить преобразователь для питания индикаторов, требующих бОльшего, чем основное, напряжения питания.
|
|
|
|
|
Dec 16 2010, 05:39
|

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

|
Цитата(777777 @ Dec 16 2010, 15:16)  Понял. А зачем? От этого процессор узнает о пропадании питания немного позже, от этого мы позже перейдем в экономный режим. Оно нам надо? А если не поставите, может вообще не узнать  - потому как нога из строя выйдет. Все зависит от выходного напряжения делителя и минимального питающего напряжения на резервном источнике, качества стабилизатора сонвоного источника и прочих параметров. Конденсатор нужен для того, чтобы напряжение от основного источника пришло раньше на выводы питания МК, чем на измерительный вход. Проблема того, что МК немного позже узнает о пропадании основного питания, решается очень просто. Выходной конденсатор основного источника питания ставится непосредственно на линию питания МК а не до развязывающего диода. Таким образом он какое то время будет питать МК, при этом конденсатор делителя должен успеть разрядиться раньше. Конечно, это все нужно рассчитывать.
--------------------
|
|
|
|
|
Dec 16 2010, 10:06
|

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

|
Цитата(prottoss @ Dec 16 2010, 11:39)  А если не поставите, может вообще не узнать  - потому как нога из строя выйдет. Все зависит от выходного напряжения делителя и минимального питающего напряжения на резервном источнике, качества стабилизатора сонвоного источника и прочих параметров. Ничченепонимаю. На один вход компаратора подаем внутреннее опорное 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
|
|
|
|
|
Dec 16 2010, 11:13
|

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

|
Цитата(777777 @ Dec 16 2010, 20:06)  Ничченепонимаю....Или я чего-то не понимаю?... Забудьте про ионистор - никто не обязан его применять. Кто то хочет питать девайс дежурным напряжением от литиевой батареи 3 вольт, к примеру. И сосредоточите свое внимание на моменте, когда прибор питается от дежурного источника. В момент подачи рабочего напряжения на входе компаратора вполне возможен потенциал, превышающий напряжение питания на величину, бОльшую чем VCC+0,5 вольт, оговоренную в документации на МК AVR. Это может привести к выходу из строя входа компаратора. Т.е. рабочее (исправлено - ошибся термином) напряжение должно появиться раньше на выводах питания МК, нежели на входе компаратора.
Сообщение отредактировал prottoss - Dec 16 2010, 11:28
--------------------
|
|
|
|
|
Dec 16 2010, 12:26
|

Профессионал
    
Группа: Участник
Сообщений: 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В) никогда не превысит питание. А во-вторых, если и превысит, то на всех входах есть защитные диоды, через которые напряжение сбросится на питание, а резисторы делителя ограничат ток долями миллиампера.
|
|
|
|
|
Dec 17 2010, 05:52
|
Группа: Новичок
Сообщений: 1
Регистрация: 17-12-10
Пользователь №: 61 678

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