Форум программистов, компьютерный форум, киберфорум
Электроника и радиотехника
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.77/83: Рейтинг темы: голосов - 83, средняя оценка - 4.77
kybirkus

Открытка с экраном.

14.10.2014, 20:21. Показов 15930. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет. Я хочу сделать что-то вроде открытки с экраном (отображение заложенного текста, часы и еще пара функций). В качестве микроконтроллера - stm32f1. Понимаю, что overkill, но мне будет комфортно использовать этот камень. В качестве экрана otid 128x64 на контроллере SSD1306Z. Питание от батарейки CR2032.
Вопрос в том, как организовать питание. Сам микроконтроллер и всю переферию можно запитать прямо от батареи. Выбивается только step up конвертер питания otid экрана: ему нужно от 3.3 до 4.2 вольт. Правильно ли я понимаю, что оптимальный вариант, это:
<ul> <li> микроконтроллер питать напрямую от батареи, чтобы минимизировать энергопотребление в спящем режиме</li><li> встроенный step up конвертер не использовать
</li><li> вместо него добавить внешний step up конвертер с 2-3 вольт до 7.5-12 вольт и током 1мА.
</li><li> конвертор запитать от ножки микроконтроллера т.к. ток небольшой, а я получу возможность включать/выключать его</li></ul>
Альтренативный вариант:
Запитать встроенный step up конвертер от батареи и надеяться, что он заведется. Насколько я понял, в первых двух ревизиях arduboy было сделано именно так. Автор пишет, что в целом оно работает, но на 2.5 вольтах некоторые экраны становятся слишком тусклыми.

Или может есть какие-то альтернативные способы, до которых я не додумался.

В общем посоветуйте пожалуйста, как лучше сделать и какой step up конвертор подойдет в данном случае. Спасибо.
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.10.2014, 20:21
Ответы с готовыми решениями:

Открытка
Вспомнил, с чего мой поход в Delphi начался. Захотел сделать подруге открытку. Вот такая чучила получилась.

js открытка
как сделать чтоб при нажатии на кнопку зеленую (вопроизвести) открылся js плеер в котором будет открытка? может уже есть готовое...

Открытка.
Разработать и реализовать на экране поздравительную открытку к празднику (новый год,день рождения) с динамическими элементами (мигающая...

24
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
15.10.2014, 01:03
Цитата Сообщение от kiberkus
хочу ... stm32f1 .. SSD1306Z ... CR2032.
... ...
В общем посоветуйте
Совет первый. Выбросьте из своих расчётов пороги 2V и 2.5V - литиевая батарейка если и разрядится так глубоко, то нормально работать уже не сможет. Пересчитайте на нормальное её напряжение 3V (оно примерно такое в течение большей части её рабочего цикла).

Второй совет. CR2032 в принципе недолговечный источник: ёмкость мала.

Третий. Я бы сначала включил SSD1306 от встроенного step-upа, не вижу причин ему не доверять, да и обвязки в таком включении мало. У Вас дисплей уже есть? Так попробуйте сначала простой вариант со встроенным DC-DC, от этого всего-то три регистра в инициализации меняются.
0
kybirkus
15.10.2014, 02:25
Спасибо. Напряжение буду считать 3V. Формально все равно это маловато для дисплея.
Второй совет. CR2032 в принципе недолговечный источник: ёмкость мала.
Мне нужно продержаться около месяца в режиме полного сна (только RTC чтобы шел) и несколько часов во включенном состоянии. Для этого батарейки хватит.
Но может быть я прикручу еще разъем питания для стационарной работы.
Я бы сначала включил SSD1306 от встроенного step-upа, не вижу причин ему не доверять, да и обвязки в таком включении мало. У Вас дисплей уже есть?
Дисплей пока еще едет. Хочу к моменту его прихода максимально проработать схему, чтобы потом время не терять.
Буду тогда держать вариант с питанием через встроенный step up за основной.
0 / 0 / 0
Регистрация: 12.08.2012
Сообщений: 1,217
15.10.2014, 11:34
У меня есть платка с дисплеем на этом контроллере, могу посмотреть как оно себя ведёт при разном напряжении. Но всёже советую подумать насчёт маленького литий-полимерного или ионного аккумулятора, такого которые в гарнитуры ставят например, они бывают и тоньше чем 2032, темболее что им держатель не нужен. Да и с саморазрядом у них всё хорошо, у меня по случайности в неотапливаемом гараже журнал VOGUE полтора года пролежал, думал хана ему, открываю, а он рекламу показывает.
0
kybirkus
15.10.2014, 23:10
Спасибо. Изначально меня аккумулятор пугал тем, что напрямую МК от него уже не запитать, да и схему зарядки добавлять придётся. А если ставить разъем зарядки, то почему бы не microusb и не подключить к нему МК, раз там usb slave есть. Это еще внешний осциллятор тянет, который я изначально ставить не собирался.
Но потихоньку привыкаю и это все уже не так пугает.
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
15.10.2014, 23:19
В модулях с SSD1306, которые продают китайцы, установлен LDO на выходное напряжение 3.3V, а источник высокого напряжения сконфигурирован как "internal DC-DC". В описании товара пишут "Vottage: 3V ~ 5V DC".

kiberkus, это Вам прямой сигнал от наших восточных друзей :-) Если на вход LDO подаётся от трёх вольт, да на нём ещё какое-то напряжение падает, и встроенный step-up тем не менее работает, то всё в порядке будет с питанием дисплея даже от литиевой батарейки.
0
0 / 0 / 0
Регистрация: 12.08.2012
Сообщений: 1,217
16.10.2014, 02:03
Дисплей у меня самый маленький на этом контроллере - 96х16 пикселей.
Схема такая: на Vbat дисплея входное напряжение напрямую, а на микроконтроллер и Vdd дисплея входное напряжение через ldo на 3.3В, естественно настроен на внутренний DC-DC. Кстати в полной тишине керамические конденсаторы в обвязке пищат О.о

Увеличивал напряжение от 2 до 4.2В.
до 2.15В ничего не видно
2.15В - едва заметное в темноте свечение, но изображение правильное, мусора нет
2.2В - светит примерно в половину яркости
2.25В - почти полная яркость
2.3В - дальше до 4.2В яркость не растёт.

От не свежей CR2032 работает.
0
0 / 0 / 0
Регистрация: 07.07.2014
Сообщений: 137
16.10.2014, 02:25
Для лития (ICR) - 98% емкости лежат от 3,7 до 3,3 В (под нагрузкой, конечно). После - резкий обвал разрядной кривой.
0
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
16.10.2014, 03:01
Цитата Сообщение от mShit
Дисплей у меня самый маленький на этом контроллере - 96х16 пикселей.
Схема такая: на Vbat дисплея входное напряжение напрямую, а на микроконтроллер и Vdd дисплея входное напряжение через ldo на 3.3В, естественно настроен на внутренний DC-DC. Кстати в полной тишине керамические конденсаторы в обвязке пищат О.о
... ... ...
От не свежей CR2032 работает.
Интересные результаты. Я тоже не утерпел и померил кое-что в своём SSD1306 - для полноты картины.

У меня дисплей 128х64 пикселей.
Схема такая: внешнее напряжение питания поступает на LDO, а с него - на Vbat и на Vdd дисплея. Померил падение напряжения на LDO - при том токе, которое потребляет дисплейный модуль в целом, оно оказалось не более... 10 миллиВольт! И этот LDO не дохлый (как можно было бы заподозрить, что у него выход со входом закорочен), проверял подачей внешнего напряжения 5V. Просто очень хороший КМОПовский стабилизатор, китайцы правильно выбрали такой. Это XC6206P332MR - один из моих любимых, кстати.

Да, и конденсаторы у меня не пищат. Тишина гробовая.
0
kybirkus
16.10.2014, 18:00
Спасибо за тесты. Я в итоге внял совету mShit за заложил в схему аккумулятор, поэтому проблема с питанием экрана отпала. Получилось вот такое устройство:
stm32, экран, ИК-приёмник, 4 кнопки, пара светодиодов и зарядка всего этого хозяйства от usb.
Еще понял, что с припаяным аккумулятором неудобно в случае чего МК по питанию перезагружать, поэтому добавил к NRST контактные площадки, чтобы отверткой замкнуть можно было.
Выходы МК может быть еще поперекидываю, когда на плате расставлять буду.

И правильно ли я подключил все кнопки через диоды к WKUP, чтобы можно было из сна выходить?

1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
16.10.2014, 19:06
В схеме в итоге оказалось так много всего... Это не похоже на открытку. какая-то увесистая коробочка будет. :-)

Если выключателя питания не будет, то аккумулятор надо найти со встроенной защитой от переразряда.

З.Ы. Вижу на схеме XC6206P33 ;-)
0
0 / 0 / 0
Регистрация: 12.08.2012
Сообщений: 1,217
16.10.2014, 19:20
На диод D5 обратите внимание, падения на нём и на диоде в полевике будет достаточно чтоб не перезарядить аккумулятор? А при разряженном аккумуляторе через них слишком большой ток не пойдёт?
0
kybirkus
17.10.2014, 12:56
Цитата Сообщение от OtyxPM
В схеме в итоге оказалось так много всего... Это не похоже на открытку. какая-то увесистая коробочка будет. :-)
Ну задумывал я плату размером с кредитку, с экраном, 4мя кнопками и ИК приёмником. А оно разраслось. На самом деле линии данных usb можно не распаивать. Тогда и осциллятор не нужен. Светодиоды тоже можно не распаивать. uart я тоже на всякий случай вывел.

Еще я понял, что меня устраивает stop mode, stomdby мне не нужен. Поэтому линию wkup можно вообще убрать. А если оставлять, то к ней еще PWR_SENSE надо как-то подключать, чтобы при втыкании в usb включаться.

Цитата Сообщение от mShit
На диод D5 обратите внимание, падения на нём и на диоде в полевике будет достаточно чтоб не перезарядить аккумулятор? А при разряженном аккумуляторе через них слишком большой ток не пойдёт?
Зарядкой аккумулятора занимается специализированная микросхема MCP73831. Полевик отключает аккумулятор от всех потребителей, когда подаётся питание по USB, чтобы микросхема заряда могла контролировать ток идущий в аккумулятор. А диод нужен чтобы полевик не открывался, когда идёт питание от батареи.

Но на самой батарее тоже есть контроль от перезаряда и переразряда. Я других батарей не нашел.

Может быть схему зярядки можно упростить до двух LDO и токоограничительного резистора? Понижать до 4.2 для батареи, а затем до 3.3 для МК. С другой стороны, вся эта обвязка для зарада стоит дешево и не так уж там много деталей.
0 / 0 / 0
Регистрация: 12.08.2012
Сообщений: 1,217
19.10.2014, 11:24
Цитата Сообщение от kiberkus
Цитата Сообщение от mShit
На диод D5 обратите внимание, падения на нём и на диоде в полевике будет достаточно чтоб не перезарядить аккумулятор? А при разряженном аккумуляторе через них слишком большой ток не пойдёт?
Зарядкой аккумулятора занимается специализированная микросхема MCP73831. Полевик отключает аккумулятор от всех потребителей, когда подаётся питание по USB, чтобы микросхема заряда могла контролировать ток идущий в аккумулятор. А диод нужен чтобы полевик не открывался, когда идёт питание от батареи.

Я обращаю внимание на то что в этой схеме напряжение с USB пойдёт на батарею напрямую, через диод D5 и паразитный диод полевика.
0
kybirkus
19.10.2014, 12:55
Цитата Сообщение от mShit
Я обращаю внимание на то что в этой схеме напряжение с USB пойдёт на батарею напрямую, через диод D5 и паразитный диод полевика.
Спасибо. Перепутал сток и исток.
За выходные развел схему, поправил мелкие косяки. Из особенностей разводки: я хочу нижнюю сторону целиком оставить под земляной полигон, чтобы с помощью маски нанести туда рисунок. Т.е. рисунок будет сформирован медью и маской. Поэтому все дорожки я пытался уместить на верхней стороне.

Осталось два вопроса:
1) Будет ли экран работать по SPI, если Shyp Select привязать к земле? Неудобно до МК дорожку тянуть. Так что я бы по возможности без неё обошелся.
2) Я загрузил в eagle DRC от seedstudyo и он ругается на micro usb порт: мол дырки под пластиковые штырьки слишком близко расположены к контактам разъема. Можно ли на это не обращать внимание или мне надо искать другой разъем?


[63.88 Кб]
0 / 0 / 0
Регистрация: 12.08.2012
Сообщений: 1,217
19.10.2014, 13:20
Вроде как CS был необходим, по нему данные защёлкивались, если я с другим дисплеем не путаю.
0
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
19.10.2014, 13:46
Цитата Сообщение от kiberkus
Неудобно до МК дорожку тянуть. Так что я бы по возможности без неё обошелся.
У Вас вообще что-то много дорожек потрачено на интерфейс с дисплеем. Выберите I2C (400 Kbit/s) вместо SPI, а на Riset дисплея RC-цепочку поставьте (у меня так сделано) - и получится всего две дорожки, SCL и SDA.
0
kybirkus
23.10.2014, 00:40
Цитата Сообщение от mShit
Вроде как CS был необходим, по нему данные защёлкивались, если я с другим дисплеем не путаю.
Я в итоге отказался от clock сигнала uartа. Кажется он особо никому не нужен. Так что нашел сигнал для CS.
Цитата Сообщение от OtyxPM
У Вас вообще что-то много дорожек потрачено на интерфейс с дисплеем. Выберите I2C (400 Kbit/s) вместо SPI, а на Riset дисплея RC-цепочку поставьте (у меня так сделано) - и получится всего две дорожки, SCL и SDA.
Я выбрал 4 wire SPI по двум соображениям. Во-перых, максимальная частота кадров выше. Если будет время, то я планирую впихнуть в эту штуку игрушку или две. Во-вторых, можно фреймбуфер из памяти гнать на экран побайтово. С SPI, насколько я понял, надо перед каждым байтом данных посылать байт, в котором написано, что это данные. А в 3 wire SPI слово вообще из 9 бит.

Кстати, случайно наткнулся на график яркости этих экранов в зависимости от напряжения:
http://www.mbeddid.ninja/itistronics/co ... -you-think
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
23.10.2014, 13:14
Цитата Сообщение от kiberkus
С I2C, насколько я понял, надо перед каждым байтом данных посылать байт, в котором написано, что это данные.
Ошибаетесь. Можно обойтись только одним служебным байтом (с признаком "данные" в определённом бите). Просто в другом бите (т.н. "continuation") ставите флажок, что все последующие байты также "данные". После этого можете хоть весь экран залить без вспомогательных байтов.

Цитата Сообщение от kiberkus
Кстати, случайно наткнулся на график
Странная статья: она утверждает (с чего бы?), что максимальное разрешение SSD1306 всего 32 пиксела по вертикали. Но фирменный даташит и работающий у меня дисплей с этим заявлением не согласны.
0
0 / 0 / 0
Регистрация: 12.08.2012
Сообщений: 1,217
23.10.2014, 15:08
Цитата Сообщение от OtyxPM
Цитата Сообщение от kiberkus
Кстати, случайно наткнулся на график
Странная статья: она утверждает (с чего бы?), что максимальное разрешение SSD1306 всего 32 пиксела по вертикали. Но фирменный даташит и работающий у меня дисплей с этим заявлением не согласны.
Да там и картинка в этой же статье чуть ниже тоже этому противоречит.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.10.2014, 15:08
Помогаю со студенческими работами здесь

Открытка
Всем привет, прошу помочь с написание открытки на новый год, если можно с анимацией, заранее премного благодарен! Добавлено через 3...

Открытка на HTML
Хочу создать открытку: на фоновом изображении, в определённой позиции, другое изображение (или две ...). &lt;table...

Новогодняя открытка
Помогите пожалуйста с новогодним проэктом по flash... Нужно сделать что-то вроде flash открытки к Новому году. Снег, ёлочка с мигающими...

Открытка с анимацией
Добрый день.Нужна открытка с анимацией.//Пример паук полз и на него наступили.Ну,что то в этом роде! DELPHI

Открытка шаблон
Здравствуйте! Подскажите пожалуйста, варианты решения. Суть в следующем: Хочу организовать что-то вроде шаблона открытки,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru