Перейти к содержанию
    

Часы на AVR. Не просто часы...

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

не нужно, для 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кГц.

post-3882-1292173294_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Эти транзисторы должны гореть в огне!!!

Все равно они горят от статики... Или брак высок, я так и не понял.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть микрасхема PCA9306 согласует уровни i2c, работает до 5ти вольт.

Можно найти в сотиках.

Первый что попало SAMSUNG E-570.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Эти транзисторы должны гореть в огне!!!

Все равно они горят от статики... Или брак высок, я так и не понял.

Да, боятся они статики, факт. Однако дешевые и популярные, если соблюдать определенную осторожность. Можно и что-нибудь из более современных взять - IRLMS2803, например. Но статикой можно и биполярник грохнуть...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я так понял топик стартеру по теме отвечать никто не собирается :) Попробую я.

Как то собирал такой проект на Tiny2313.

1. Задействуем два таймера. Первый для динамической индикации и опроса клавиатуры - работает только в активном режиме (Основное питание присутствует). Второй для отсчета секундных импульсов - работает всегда.

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

 

2. Задействуем аналоговый компаратор который отслеживает появление-пропадание основного напряжения. При пропадании основного питания отключаем всю периферию кроме секундного таймера и компаратора.

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

 

Настраиваем компаратор на прерывание при появлении основного питания и переходим в режим IDLE. При появлении основного питания перестраиваем компаратор, включаем задействованную периферию (Таймер индикации и опроса)

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

 

3. Питания от основного и резервного источников развязываем диодами Шоттки. Вход аналогового компаратора подключаем к основному источнику питания до развязывающего диода и обязательно через резистивный делитель дабы не спалить вход при появлении основного напряжения при питании от резервного.

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

 

К "земляному" плечу делителя подключить конденсатор на 0,1...1 мкф для <...>

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

 

По вкусу добавляем индикаторы, кнопки. На выход таймера индикации и опроса можно добавить преобразователь для питания индикаторов, требующих бОльшего, чем основное, напряжения питания.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Специально для Вас - который "другой на землю" - вот его как раз шунтируем конденсатором.

Понял. А зачем? От этого процессор узнает о пропадании питания немного позже, от этого мы позже перейдем в экономный режим. Оно нам надо?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Понял. А зачем? От этого процессор узнает о пропадании питания немного позже, от этого мы позже перейдем в экономный режим. Оно нам надо?

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это получастя она 1.8 мкА кушает?

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

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

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

 

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

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

Или я чего-то не понимаю?

 

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

Изменено пользователем 777777

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ничченепонимаю....Или я чего-то не понимаю?...

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

 

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

Изменено пользователем prottoss

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

А я разве об этом не писал?

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

Ах вот вы о чем. Но, во-первых, при применении аккумулятора такое невозможно никогда - МК всегда запитан или от аккумулятора 3В или от стабилизатора 4.5В за вычетом падения на диоде. Таким образом напряжение на делитете (2В) никогда не превысит питание.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 лет работает следующее: DS1307 + CR2032 + Atmega8535 - только стационарное питание.

DS1307 тикает всегда. (5 ... 10 лет в зав-ти от качества батарейки). Есть живые экземпляры с почтенным стажем.

При включении питания и далее каждую секунду по прерыванию от DS. контроллер спрашивает у DS " скажите пожалуйста а какое у нас сейчас астрономическое время?"

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...