Страница 1 из 2

STM32030F6 мигалка

Добавлено: Пн июн 29, 2015 21:31:55
balmer
А меж тем хочу сделать мигалку. Для детей.
Покопался в ящиках, вот что нашел:
Изображение

CR2032 - батарейка
LIS3DHTR - акселерометры
STM32F030F4K6 - самые простые микроконтроллеры
KAA-3528SURKCGKC - красно/зеленые светодиоды
KM-23SYD-F - желтые
KM-27MGC-09 - зеленые
Все светодиоды на 20 мА хорошей яркости.

Вот буду задавать вопросы всякие.

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

Вот и первая трабла. Стал изменять при помощи PWM яркость светодиода - она меняется совсем нелинейно. Надо будет таблицу перекодировки искать.

Re: STM32030F6 мигалка

Добавлено: Вт июн 30, 2015 09:05:30
oleg110592
Надо будет таблицу перекодировки искать.
не проверял - http://radiolaba.ru/polezno-znat/reguli ... dioda.html

Re: STM32030F6 мигалка

Добавлено: Вт июн 30, 2015 19:45:42
balmer
Про линейное изменение яркости светодиода. Оказалось что это обычное преобразование RGB->sRGB см Gamma Correction Curve

Или если формулу, то.

Код: Выделить всё

def rgb_to_lin(s):
	if (s <= 0.04045):
		return s / 12.92;
	return math.pow((s + 0.055) / 1.055, 2.4);

Re: STM32030F6 мигалка

Добавлено: Пт июл 03, 2015 23:01:48
balmer
Нарисовал схемку. А потом уже стал думать. :)
Сейчас вариант, когда на диоды течет ток через пины от плюсового полюса батарейки. Может быть лучше вариант, когда порты работают как OpenDrain и ток через пины микроконтроллера течет на землю?

Хватит 10 uF в такой конструкции? Или все-таки емкость по питанию маловата?

Re: STM32030F6 мигалка

Добавлено: Сб июл 04, 2015 11:45:53
fr0ster
balmer писал(а):Вот и первая трабла. Стал изменять при помощи PWM яркость светодиода - она меняется совсем нелинейно. Надо будет таблицу перекодировки искать.
Особенность человеческого зрения, яркость менять в два раза, что бы изменение казалось равномерным на глаз.

Re: STM32030F6 мигалка

Добавлено: Сб июл 04, 2015 16:01:06
a5021
По даташиту суммарный ток через все пины GPIO не должен превышать 80ма. У вас 144ма.

Re: STM32030F6 мигалка

Добавлено: Сб июл 04, 2015 16:48:05
balmer
Да, знаю что ток суммарный слишком большой. Но ставить резисторы больше не хочется, потому как тогда будет менее экономичная конструкция. Планирую выкручиваться из этой коллизии посредством PWM. Там все светодиоды на ножках с хардварными таймерами. Попытаюсь настроить, что-бы одновременно все не светились с максимальной яркостью. Впрочем номинал резисторов можно и увеличить немного.

Re: STM32030F6 мигалка

Добавлено: Сб июл 04, 2015 19:05:02
a5021
Теоретически, да, можно фазы разнести. Таймеры только надо синхронизировать как-то.

Re: STM32030F6 мигалка

Добавлено: Сб июл 04, 2015 19:35:12
balmer
Таймеры просто запущу один за другим. Там будет небольшая рассинхронизация, но для таких низких частот - сойдет.

Re: STM32030F6 мигалка

Добавлено: Пн июл 06, 2015 16:51:29
balmer
А меж тем - "Век живи, век косячь!"

Из соседней ветки узнал, что CR2032 выдерживает совсем маааленький ток. Судя вот по этому даташиту батарейка рсчитана на ток 0.5 мА :cry:

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

Re: STM32030F6 мигалка

Добавлено: Пн июл 06, 2015 17:29:57
КРАМ
balmer писал(а):батарейка рсчитана на ток 0.5 мА :cry:
Не совсем так.
При 0,5 мА номинируется ее ЕМКОСТЬ.
При бОльшем токе емкость будет быстро падать.

Re: STM32030F6 мигалка

Добавлено: Вт июл 07, 2015 00:23:37
a5021
А я вот как-то проглядел эту батарейку. Если именно от нее по первоначальной задумке должны были питаться светодиоды, то это абсолютно негодная идея.

Re: STM32030F6 мигалка

Добавлено: Вт июл 07, 2015 10:57:12
balmer
Чтож, тогда присоветуйте мне charger для такой Li-Ion батарейки. Пока мне приглянулся MCP73831. Может есть еще проще? Предполагается, что прикручу mini-usb разъем для зарадки.

Re: STM32030F6 мигалка

Добавлено: Вт июл 07, 2015 23:28:54
balmer
А меж тем не поленился проверить - потянет ли CR2032 нагрузку в десятки миллиампер.

Взял резистор 68 Ом. Прикрутил лог от ADC. Батарейку CR2032 (новую, но она давно у меня валялась).
И вот что получилось. При подключении резистора 68 Ом к батарейке - напряжение сразу падает с 3.26 V до 2.60 V. Соответственно получаем начальный ток 38 мА, внутреннее сопротивление 17 Ом.

А вот график разрядки от времени:
Изображение

По оси X - секунды.
По оси Y - вольты.

Получается что такую батарейку можно былобы использовать в мигалке первые 15 минут :facepalm:

Re: STM32030F6 мигалка

Добавлено: Пн июл 20, 2015 07:16:59
balmer
А меж тем делаю по летнему расслабленно эту железку. Сделал тестовую платку, проверил работу с LIS3DH.
Изображение

А еще попроверял несколько разных батареек. Понятно что ток 50 мА никто не тянет, а вот ток порядка 10-15 мА для них вполне под силам.
Вот график разряда двух L1154 (LR44) на сопротивление 220 Om.
Изображение
Я уже нацелился на аккумулятор, но и с батарейкой вполне реально сделать игрушку, которая будет работать 3 часа не переставая. Правда ограничение по току очень серьезное. Да и STM32F030 уже не подходят, так как у них минимальное напряжение питания 2.4 V

Re: STM32030F6 мигалка

Добавлено: Вт июл 21, 2015 21:02:38
a5021
А монитор напряжений выключить? Монитор VDDA там точно отключабелен, а вот про VDD не интересовался.

Re: STM32030F6 мигалка

Добавлено: Вт июл 21, 2015 23:31:49
balmer
a5021, нет решил уже акумуляторами воспользоваться. От таких батареек можно зажечь один яркий 20 мА светодиод в пол силы. А хочется несколько штук и на максимум :)

Re: STM32030F6 мигалка

Добавлено: Пн авг 03, 2015 17:28:57
balmer
А меж тем запаял мигалку:
Изображение

Аккумулятор криво стоит, потому как ему мешает желтый штекер для измерения тока.

Кстати в низкопотребляющим режимом была история. Акселерометр довольно быстро настроил, чтобы он потреблял 10 мкА. А вот микроконтроллер упорно потреблял 360 мкА, даже в Standby mode. Оказалось, что нужно выдернуть шнур программатора, но про это вспомнил только на следующий вечер :tea:

Еще проблемма - в STM32F030F6 очень мало FT (Five Volt Tolerant) пинов. Поэтому моя затея использовать OpenDrain и питать светодиоды минуя 3.3V стабилизатор накрылась медным тазом. Впрочем типичное потребление оказалось порядка 20-30 мА с редкими скачками до 50 мА, так что нормально и через стабилизатор питаются.

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

Аккумулятор (260 мА-ч) кстати радует, весь вечер программировал эту железку. Потом поставил аккумулятор на зарядку. 10 мин, и он опять заряжен :)

Светодиоды в PWM режиме практически не влияют на акселерометр. Впрочем его аналоговая часть питается через RC цепочку 100 Ом 10 uF, так что ему грех жаловаться.

Теперь надо попытаться сделать для этой штуки корпус и напрограммировать чтонить занятное.

Re: STM32030F6 мигалка

Добавлено: Вт авг 04, 2015 05:10:30
a5021
balmer писал(а):Кстати в низкопотребляющим режимом была история. Акселерометр довольно быстро настроил, чтобы он потреблял 10 мкА. А вот микроконтроллер упорно потреблял 360 мкА, даже в Standby mode.
А что в конечном итоге вышло с потреблением МК. Интересны цифры в условиях реальной конструкции.

Re: STM32030F6 мигалка

Добавлено: Вт авг 04, 2015 07:28:18
balmer
Сильно не заморачивался по этому поводу. 25 uA суммарное потребление. Правда не уверен до конца, похоже MCP73831T иногда "просыпается" и начинает потреблять 150 uA, хотя обычно в пределах 1 uA потребляет.