IOT / Esp32 / FreeRTOS / Arduino / stm32
800 subscribers
747 photos
133 videos
29 files
199 links
Копилка материалов по работе с микроконтроллером esp32 / stm32
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
2700 тиков нужно на измерение.
72MHz у нас частота stm32f103 bluepill

Делим одно на другое, получаем:
26666*Hz частота замера АЦП.

За это время мы померяем половину - положительное или отриацтельное приложение напряжения.

А полный цикл это 2 измерения или частота
13333

Хз зачем я упарываюсь над этими цифрами =)
Там кстати есть ещё несколько мест для оптимизации, но
даже текущие действия излишни.
У процессора остаётся ещё куча времени чтобы крутить фриртос и спамить в юсарт 5 раз в секунду.

[*] - для справки частота дискретизации звука для радио — 22 050 Гц


PS: в итоге поставил таймер на 3600 тиков чтобы с учётом аналогичных вычислений видеть на экране "осцилографа" красивые 10kHz
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
#stm32

Надо не забыть начало работы с отладками нуклео:
1) обновляем stlink на jlink с помощью мануала и тулзов с сайта segger
2) Берем svd файл из папки программы https://www.st.com/en/development-tools/stm32cubeprog.html или качаем с сайта
https://stm32-rs.github.io/stm32-rs/ и кладём в проект

Остальное вроде всё понятно. launch.json такой:
{
"version": "0.2.0",
"configurations": [
{
"name": "Cortex Debug",
"cwd": "${workspaceRoot}",
"executable": "./build/stm32-G031K8T6-board.elf",
"svdFile": "./JLink/stm32g031.svd",
"request": "launch",
"type": "cortex-debug",
"servertype": "jlink",
"device": "STM32G031K8",
"interface": "swd",
"ipAddress": null,
"serialNumber": null,
// "rtos": "FreeRTOS",
}
]
}
Подоспело барахло с алиекспресса. Буду использовать в своих проектах (с). Правда буду) почти всё приехало по делу.
Диоды на 220 приехали для блока питания на 36v от увлажнителя воздуха. В новой квартире с сухостью проблем нет, и восстановление работы - скорее ачивка чем необходимость. Сейчас эта задача кажется непреодолимой высотой, потому что с аналоговыми частями у меня прям плохо.
Мал золотник)

Штукенция которая договаривается с квикчардж зарядками чтобы те подавали на питание сколько могут (ну хотяб 9v), попробую помпу мощную для полива запитать
Недостающий кусок ленты 3м для потолка и мощный блок на 5v и 10 китайских ампер. До этого ленту только на 50 пунктов из 255 зажигал, а хочу по полной
Россыпь приблуд для RS485 - хочу попробовать в modbus
Обновил комп, радуюсь теперь 10 поколению intelCore и монику с диагональю 28" (3840х2160), 32Гб оперативки и очень-очень быстрому nvme-ssd на 500гб =)

Под это дело пришлось переустановить систему, и важно запомнить несколько моментов, потому что на восстановление работы с девайсами ушло 2 вечера:

1) esp32 норм всё, ставим приложение https://marketplace.visualstudio.com/items?itemName=espressif.esp-idf-extension и оно само всё за тебя делает.

2) а вот с stm32 прям печаль. Перебрал все мануалы в интернетах и кучу плагинов для vscode и уже опечалился, но никак не мог скомпилить проект.

А проблема с stm32 в какой-то несовместимости последних версий arm-gcc и build-tools. В итоге решил это таки образом:
- Установил STM32CubeIDE
- Посмотрел как она компилирует
- Нашёл внутри папочки с тулзами, положил их отдельно по красивому пути
- Прописал пути в PATH

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

Главная задача разведения - понять можно ли это сделать на 2х слоях, и на какие ноги для этого придётся посадить функционал.

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

Увлекает этот процесс, как будто сидишь и решаешь ребус.

После того как плата разведена - можно тестировать функционал камня на отладке nucleo уже сразу используя правильные ноги. Это следующий шаг моего пути.
3д рендер - как будто возможность прикоснуться с результату =)

Кайфовые закругленные уголки

Ширина платы сделана в размер модуля с дисплеем от robodyn.
3D-шка без дисплея.
Тут правда дырочек под модуль не хватает, они отъехали вбок вместе с дисплеем.

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

Но тут как всегда есть одно НО =)
Микроконтроллеры на lcsc кончились 😭😭😭😭

Ну чтож, будем следить за их наличием по ссылке
https://lcsc.com/product-detail/ST-Microelectronics_STMicroelectronics-STM32G031K8T6_C432203.html
Опишу процесс заказа на JLC-PCB, но заказывать не будут, т.к. и процессоров нет, и драйверы нужные закончились. Сначала всё очень просто: Качаем BOM И PickAndPlace файлы с тем что он предлагает по умолчанию.

При нажатии на [G] гербер он предлагает не качать, а сразу пойти на jlc-pcb и заказать там.

Вобщем всё примерно как в установке софта =) далее-далее-согласен-далее
Люблю чёрный цвет =)

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