Embedded & Электроника: LIVE
138 subscribers
41 photos
2 videos
2 files
33 links
Канал о профессиональной разработке электроники
Download Telegram
Программа-калькулятор делителя напряжения для обратной связи DC/DC предназначена для быстрого подбора резисторов для обратной связи понижающих и повышающих источников питания. Ввиду того, что импеданс цепи Feedback современных DC/DC достаточно высок, мы рассматриваем номиналы 1k и выше.
Программа рассчитывает все возможные номиналы резисторов для делителя напряжения. Полученные расчеты затем сортируются по наилучшему результату. Главная фишка этого ПО - не предлагать экзотические номиналы, а только стандартный ряд номиналов резисторов.
Данная программа написана на Java, а исполняемый JAR файл запустится в операционных системах: Windows, Linux, OSX. Только нужен Java Runtime Environment 1.8+
Страница программы https://ipasoft.info/index.php/soft/kalkulyator-delitelya-napryazheniya-dlya-dc-dc
🔥1
Сегодня существует огромное множество нелинейных сопротивлений, предназначенных для измерения температуры. Самыми популярными из них являются NTC термисторы на 10 кОм. В статье я описываю способ измерения температуры любого NTC термистора с любым номинальным сопротивлением при помощи одного АЦП микроконтроллера. Предоставляю готовый код функции на Си.
https://ipasoft.info/index.php/articles/izmerenie-temperatury-pri-pomoshchi-ntc-termistora
👍2
Программирование ESP8266 с RTOS SDK. Часть первая - инструменты
В интернете вы можете найти 1001 статью про разработку программ для микроконтроллеров ESP8266EX. Большинство из них рассчитаны на Arduino разработчиков. По некоторым причинам, кого-то (и меня в том числе) не устраивает разработка в среде Arduino ввиду отсутствия необходимой гибкости. И только очень небольшой процент гайдов рассчитан на разработку с помощью официального SDK от Exressif в IDE Eclipse. В данной статье речь пойдет о программировании ESP8266 под управлением операционной системы Windows, с помощью кросскомпилятора GCC и RTOS SDK, которые изначально были созданы для Linux разработчиков. В качестве IDE мы будем использовать Visual Studio 2019+ и VisualGDB 6+.
https://ipasoft.info/index.php/articles/programmirovanie-esp8266-s-rtos-sdk-chast-pervaya-instrumenty
🔥3
Относительно давно китайская компания Titan Micro Electronics (Шэньчжэнь) начала выпускать довольно полезный ASIC TM1650. Он содержит в себе драйвер 7 сегментного LED дисплея на 4 разряда, подключается к микроконтроллеру по I2C. Вроде бы ничего необычного? А еще к нему можно подключить до 28 кнопок. Наверное большущий он? А вот и нет, всего-то 16 ножек (SOIC-16 150mil). Что по цене? Все на картинках.
А еще у него есть аналог FD650S, его делают тоже китайцы Fuda Hisi Microelectronics.
А еще на гитхабе есть исходники библиотеки для работы с ИМС. https://github.com/arkhipenko/TM1650/blob/master/src/TM1650.h
🔥2👍1
У производителей плат существует требование: делать отступ от края платы до меди как минимум 0.5мм. Для тех, кто работает в имперской метрической системе это 1/50 дюйма или 0.508мм. Если от внешнего края отступ мы легко задаем через Board outline clearance, то с внутренними отступами все немного сложнее. Несколько лет назад я выработал правило, которым пользуюсь по сей день, забирайте!
👍3
Стартовал цикл публикаций "CMSIS STM32" посвященный разработке супер быстрых, супер маленьких программ для STM32 на низком уровне. Для тех, кто пользуется HAL'ом очень давно и так же давно не до конца понимает, что происходит. https://ipasoft.info/index.php/articles/cmsis-stm32-urok-1-sozdanie-proekta
👍4
CMSIS STM32 Урок 2. Система тактирования https://ipasoft.info/index.php/articles/cmsis-stm32-urok-2-sistema-taktirovaniya
Когда вы работали с STM32 CubeMX вы быстро выставляли мышкой источник тактирования, выбирали делители для шин. Осмелюсь предположить, что вы могли тупо задать частоту HCLK и позволить кубу самостоятельно настроить за вас систему тактирования! Куб очень полезный и очень опасный инструмент, без него начинает казаться, что тактирование ручками настроить вообще не реально. Но это не так и вы в этом убедитесь, конечно же...
👍4
CMSIS STM32 Урок 3. Работа с GPIO https://ipasoft.info/index.php/articles/cmsis-stm32-urok-3-rabota-s-gpio
В этом уроке вы узнаете как настраивать порты ввода-вывода (General I/O Ports, GPIO) для написания супер быстрого и супер маленького кода. Научитесь устанавливать состояние выходов и читать состояние входов. А еще узнаете, как настроить все GPIO очень быстро и без ошибок. Используйте мои уроки для того, чтобы понимать, что вы делаете. Не отказывайтесь от CubeMX полностью. Он будет помогать вам сделать разработку еще быстрее. А знания разработки под CMSIS помогут сделать быстрее ваши программы.
👍2
CMSIS STM32 Урок 4. Использование системного таймера SysTick
https://ipasoft.info/index.php/articles/cmsis-stm32-urok-4-ispolzovanie-sistemnogo-tajmera-systick
Помимо таймеров общего назначения, о которых я расскажу немного позже, в микроконтроллерах STM32 существует еще и таймер SysTick. Этот таймер уже встроен в ядро Cortex M3 и он может отсчитывать произвольное количество тактов и формировать прерывание по факту окончания счета. Так, например, если ядро работает на частоте 64 МГц, а значение Reload регистра 64000, то 1000 раз в секунду SysTick будет обнуляться. Счетный регистр 24-битный, это значит, что можно отсчитывать и достаточно большие интервалы времени, например, 100 мс (Reload reg = 6 400 000). Таймер очень удобен для формирования неблокирующих задержек. Даже в HAL'е он активно используется для отсчета задержек HAL_Delay(). Любопытный факт: ни в Datasheet, ни в Reference Manual для своего STM32 вы не найдете информацию по работе с SysTick. А здесь найдете!
🔥2
CMSIS STM32 Урок 5. Работа с UART https://ipasoft.info/index.php/articles/cmsis-stm32-urok-5-rabota-s-uart
Старый добрый UART, сколько лет он уже существует? Только сама природа это помнит, тех древних мудрецов, которые упаковывали сообщения в асинхронные пакеты и отправляли по гудящим столбам сквозь пространство и время... И вот этот интерфейс дожил до наших дней, и, кстати, никуда уходить не собирается. Внутри STM32 уже есть периферия для работы с портами UART во всевозможных режимах, на разных скоростях. Моя задача - показать, насколько просто и экономично можно программировать этот интерфейс. Вооружайтесь до зубов USB свистками UART, это будет увлекательное путешествие...
👍3
Если кто-то не знал, телеграм поддерживает Markdown и круто подсвечивает синтаксис. Нужно лишь в конце написать, что за язык используете. java, c, python, sql и т.п.

// Вернуть температуру ядра в градусах Цельсия
int16_t GetCoreTemperature(uint16_t adc) { //722
int32_t vSense = (vdda * (uint32_t)adc) / 4095U; // напряжение на канале измерения температуры
int16_t Temperature = (((1430U - vSense) * 1000U) / 4300U) + 25U;
return Temperature;
}
👍4
CMSIS STM32 Урок 6. Работа с шиной I2C в режиме Master
Это синхронная шина обмена данными в которой присутствует один Master (ведущий) и от одного до нескольких Slave (ведомых). Соединены все по трем проводам GND, SDA (данные), SCL (тактирование).
Конфигурирование периферии I2C начинается с разрешения ее тактирования, затем нужно настроить GPIO, к которым будет подключена I2C. В примере ниже, I2C1 расположена на PB7 (SDA) и PB6 (SCL). Оба этих пина настраиваются как Alternate output Open-Drain (CNF=11, MODE=11).
Далее я приведу пример настройки интерфейса I2C в режиме мастера на скорости 100 кГц. Данный режим будет использоваться мной для работы с EEPROM памятью серии 24Сxx.
https://ipasoft.info/index.php/articles/cmsis-stm32-urok-6-rabota-s-shinoj-i2c-v-rezhime-master
👍5
Огромный архив продуктов STMicroelectronics для STM32 (свежайшие кубы и библиотеки). Качайте пока есть https://cloud.mail.ru/public/2i19/Y4w8kKEiZ
👍8
Как мы прошивали Attiny10
Казалось бы, что может быть знакомее старой доброй AVR? Она на начало 2025-го настолько уже мне была неинтересна, что я даже не подозревал как сильно она мне понадобится. А еще, меня обескуражило то, как это непросто и нетривиально: работать с ATTINY10. Эта история для вас будет поучительной, потому что задача решена и остается лишь взять наш опыт на вооружение. Здесь нет никаких революционных открытий, но все же я делаю упор на предоставление расширенной информации. То что мне не удавалось прочитать "между строк" где-то в одном месте, но пришлось собирать информацию по сети, проверять и конечно - делиться!
https://ipasoft.info/index.php/articles/kak-my-proshivali-attiny10
👍4👎1
Опубликован новый урок Базовая работа с ШИМ на CMSIS STM32 https://ipasoft.info/index.php/articles/cmsis-stm32-urok-7-rabota-s-shim-bazovaya
Широтно-импульсная модуляция в микроконтроллерах STM32F1 реализована через таймеры общего назначения TIM1, TIM2, TIM3. К каждому из этих таймеров можно «подцепить» до четырех выходных каналов. Принцип работы ШИМ (в режиме №1) очень прост:
Частота меандра на выходе зависит от периода счета, а скважность импульсов зависит от значения Capture-compare регистра.
В этом уроке мы задействуем аж 7 каналов ШИМ на разных таймерах..
👍5👎1🔥1
Всем, кто пользуется Keil MDK ARM, моя коллекция паков https://cloud.as.life/s/9aabCC4qkSWMRzx
🔥4👍3👎1