Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
#Круги добра
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Hit ball— аркадный шутер с элементами рогалика! Отбивай волны врагов, прокачивай способности и проходи уровни с ловушками и боссами!

Хитбол

Аркады, Казуальные, Для мальчиков

Играть

Топ прошлой недели

  • SpongeGod SpongeGod 1 пост
  • Uncleyogurt007 Uncleyogurt007 9 постов
  • ZaTaS ZaTaS 3 поста
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
104
tproger.official
tproger.official
4 года назад
Типичный программист

Visual Srudio Кот⁠⁠

Visual Srudio Кот
IT IT юмор Компилятор Программирование IDE Вы продаете рыбов?
12
669
tproger.official
tproger.official
4 года назад
Типичный программист

Когда случайно включил светлую тему IDE:⁠⁠

IT IT юмор IDE Темная тема Кот Видео
24
27
tproger.official
tproger.official
4 года назад
Типичный программист

Когда кодишь 4 часа без сохранений, а потом IDE внезапно ломается:⁠⁠

Когда кодишь 4 часа без сохранений, а потом IDE внезапно ломается: IT, IT юмор, Марио, IDE, Программирование, Сохранение
Показать полностью 1
IT IT юмор Марио IDE Программирование Сохранение
16
2342
tproger.official
tproger.official
4 года назад
Типичный программист

Когда написал 10 строк кода и они запустились с первого раза:⁠⁠

Когда написал 10 строк кода и они запустились с первого раза: IT юмор, IT, Код, Программирование, IDE, Кот
Показать полностью 1
IT юмор IT Код Программирование IDE Кот
37
236
Bugagashechko
Bugagashechko
4 года назад
IT-юмор

Как легко разлюбить человека⁠⁠

Как легко разлюбить человека
IT юмор IDE Разработчики X (Twitter) Программирование
118
8
ChuzhoiCHelovek
ChuzhoiCHelovek
4 года назад

Часы на АЛ304 с BLUETOOTH. Пост №2⁠⁠

Всем привет! Продолжаю цикл о часах на ал304. Начало тут.  Сегодня поговорим о схемотехнике и разберём отдельные узлы прибора.

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

Собственно сама схема (возможны ошибки):

Часы на АЛ304 с BLUETOOTH. Пост №2 Atmega, Arduino, Часы, Своими руками, Винтаж, Украшение, Стиль, Программирование, C++, IDE, Схема, Радио, Длиннопост

Как видно, сердце моих часов - камень Атмега 328p (Далее МК). Индикаторы (с общим катодом) анодами подцеплены к МК напрямую, так как цеплять резисторы по линиям сегментом как на меня не целесообразно, резисторы в цепи катодов + сопротивление открытого транзистора достаточно, чтобы не выжечь порты МК. Коммутируется каждый сегмент классическим образом - через транзисторный ключ. Блютуз (далее БТ) включен к МК через резисторы, так как есть небольшая разница в логических уровняв между МК и БТ. В первой ревизии часов был установлен стабилизатор ASM1117-3.3, но он жрал батарею на глазах, а здесь каждый миллиампер на счету. Поэтому излишки напряжение убрал с помощью диода Шотки D1.

Зарядку для АКБ хотел сделать на ТР4056 но он по размерах мне не очень да и греется сильно. Гугление привело меня в сторону BRCL3160. Принцип работы прост - стоит компаратор , опорный источник напряжения и "ключ". При достижение на выходе VDD напряжения заряда, которое задается падением напряжения на резисторе R9, ключ размыкается и заряд не идет. Диод D2 препятствует возможному разряду АКБ из за  утечки (какой - вопрос, но так спокойнее). Схема цепи заряда состоит из трех элементов и подключается паралельно АКБ, за искобчением "входного" контакта GND:

Часы на АЛ304 с BLUETOOTH. Пост №2 Atmega, Arduino, Часы, Своими руками, Винтаж, Украшение, Стиль, Программирование, C++, IDE, Схема, Радио, Длиннопост

Питание БТ по даташиту 3,3 вольта. Но по сути он работает в пределах 2,9-4 вольт и в теории работает от литий  полимерного АКБ. Но макс. напряжение заряда 4,2 вольта. Убрать излишек можно тем же диодом SS14 (D1). При этом при использовании ASM1117-3.3 разница в напряжении на входе и выходе должна быть в пределах 1,2 вольт.  При  этом, если АКБ "сядет" до 3,6в то БТ "получит" около 2,4 вольт и выйдет в дверь отключится. По этому организовал питание через диод (с падением около 100 мВ). Таким Образом получил разброс не 3,6-2,4 вольт, а 4,1- 3,1 вольт ( отсечка контроллера на батарее). Для обеспечения пикового токового питания БТ применено "тантал" на 100 мкФ х 6В:

Часы на АЛ304 с BLUETOOTH. Пост №2 Atmega, Arduino, Часы, Своими руками, Винтаж, Украшение, Стиль, Программирование, C++, IDE, Схема, Радио, Длиннопост

Подключение вибро - такое же как и разрядов на индикаторе. ТТP223 подключена по даташиту,  добавлен конденсатор между ножкой тача и землёй на 30р , иначе срабатывал сам по себе.

В модуле сенсорной кнопки роль конденсатора выполняет площадка касания и слой текстолит.

Далее интереснее. Микроконтроллеру надо "знать" сколько батарея ещё "протянет". Соответственно надо снимать напряжение на батареи и передавать его на аналоговый вход МК. Сказано - сделано. НО! По умолчанию источником опорного напряжения (далее ИОН) является напряжение питания МК. Можно конечно установить TL431  и напряжение с него подать на вход AREF. Но как видно из схемы :

Часы на АЛ304 с BLUETOOTH. Пост №2 Atmega, Arduino, Часы, Своими руками, Винтаж, Украшение, Стиль, Программирование, C++, IDE, Схема, Радио, Длиннопост

стабилитрон чудом превратился в конденсатор.  Почему? В МК уже есть несколько ИОН с разными номиналами. Включается он командой analogReference(type), где type команда, которая выставляет нужное напряжение ИОН:

- DEFAULT - источник питания МК.

- INTERNAL - 1.1 Вольт.

- EXTERNAL - напряжение на AREF.

Нас интересует второй вариант. По этому в void setup запишем команду analogReference(INTERNAL).

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

Часы на АЛ304 с BLUETOOTH. Пост №2 Atmega, Arduino, Часы, Своими руками, Винтаж, Украшение, Стиль, Программирование, C++, IDE, Схема, Радио, Длиннопост

Коротко о номиналах. Напряжение на выходе резисторного делителя считаем по формуле Uвх/Uвых = (R2/R1). Для нас справедливо уравнение  VCC/Uвых.=R10/R11). При 1,1 вольте сигнал на пине будет равен 1023. Значит нам не  разрешено выходить за 1,1 вольт. Базовым резистором R10 возьмём номинал в 10К (если сильно большой взять - будет влияние помех сильное).
И так, что нам известно:
Входное напряжение (мах.) -4,2в.

Опорный резистор - 10кОм.

Выходное напряжение - 1,1 в.

Формула расчета верхнего плеча будет R11=R10*(VCC/Uвых)

Подставим значения и получим :

R11=10кОм*(4,2в/1,1в)=38.2 кОм. Нам нужен резистор на 39 кОм (стандартный номинал).

Но я возьму с запасом на 50 к.

Далее. Максимальное напряжение у нас будет меняться в зависимости  от разряда АКБ. Следовательно меняться будет и напряжение на делителе, что нам и надо. Теперь нужно заставить МК "Видеть" напряжение, а не значения. Для этого нужно преобразовать значение на пине А2 (25 нога МК) в напряжение и записать в переменную типа float.
Делается это так:


float volt=0.00;  //создаем переменную в начале программы и ставим значение с 2-я разрядами после  запятой (для точности)


volt = (analogRead(2)*1,1)/1024;  // в переменную записываем значение, считаное с пина А2 умноженное на максимальное напряжение ИОН и разделено на разрядность АЦП МК (1024 для АтмегаХХХ (от 0 до 1023)).


А далее определяем максимальное и минимальное значение батареи (для меня это 4,2 в - 3,4 в) и вычисляем напряжение на выходе резисторного делителя. Для меня это 0,7в - 0,56в.


А далее отображаете инфу как и время.

По дальнейшему развитию проекта (програма, схема и т д.) - следующий пост)

С уважением ваш ChuzhoiChelovek!

Показать полностью 5
[моё] Atmega Arduino Часы Своими руками Винтаж Украшение Стиль Программирование C++ IDE Схема Радио Длиннопост
13
2056
tproger.official
tproger.official
4 года назад
Типичный программист

Настоящие герои всегда в тени...⁠⁠

Настоящие герои всегда в тени... IT, IT юмор, IDE, C++, Visual Studio, Hello World
Показать полностью 1
IT IT юмор IDE C++ Visual Studio Hello World
267
2076
tproger.official
tproger.official
4 года назад
Типичный программист

А машина это сама IDE⁠⁠

А машина это сама IDE
IT IT юмор Программирование IDE
181
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии