Отладочная плата STM32F407VET6 и быстрый старт в Linux

Posted on 2017-11-25 18:26:42

Купил на  eBay отладочную плату STM32F407VET6 за 10 баксов. На фото виден подключенный дисплей WH1602 и переходник для прошивки USB - UART.

STM32F407VET6 USB-UART WH1602 Display

Плата достаточно большая, что удобно. Отдельной колодкой выведен UART, запаян часовой кварц, батарейка, flash память. Выведен USB, разъем для microSD карточки. В общем, все что нужно. По сути, данную плату можно использовать как полноценную плату MCU в своих проектах. Особого смысла разводить свою я не вижу.

Как видно из фото, прошиваю STM32 через UART бутлоадер. Можно так же использовать для этих целей USB, но я не стал заморачиватся. В этой статье я опишу быстрый старт в среде Linux.

Устанавливаем ARM Toolchain:

sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded
sudo apt-get update
sudo apt-get install arm-gcc-none-eabi

Cкачиваем GUI утилиту генерации кода STM32CubeMX. Раньше нужно было прибегать к определенным трюкам, что бы запустить ее в linux. Теперь утилита в данной системе доступна из коробки. Настраиваем нужным образом периферию. Перед генерацией кода нужно выбрать Toolchain/IDE SW4STM32.

Скачиваем CubeMX2Makefile скрипт в папку с проектом:

git clone https://github.com/baoshi/CubeMX2Makefile

Получаем Makefile:

python CubeMX2Makefile.py .

Пытаемся скомпилировать проект:

make

Возможны появление ошибок на этапе компиляции или линковки. Например у меня была следующая:

Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:417:1: error: stray "/" in program
Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:417:1: error: stray "/" in program
Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c:417:1: error: stray "/" in program

Устраняется редактированием Makefile. Находим строку

C_DEFS = -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F407xx

и заменяем строкой

C_DEFS = -DUSE_HAL_DRIVER -DSTM32F407xx

После успешной компиляции нам нужно прошить микроконтроллер. Для этого скачиваем утилиту STM32Flash. Компилируем и устанавливаем в систему:

make
sudo make install

Теперь нужно подключить нашу отладочную плату через преобразователь USB - UART к компьютеру с правильно выставленными перемычками BOOT0 и BOOT1. Нажимаем на RST на плате. Смотрим доступные в системе COM порты:

dmesg | grep tty

Должно быть доступно что то вроде /dev/ttyUSB0. Смотрим, есть ли доступ к STM32:

sudo stm32flash /dev/ttyUSB0

Ну и собственно прошиваем STM32:

sudo stm32flash -b 9600 -v -w build/blinking_led.bin /dev/ttyUSB0

Исходный код blinking led

 while (1)
  {
  /* USER CODE END WHILE */
    HAL_Delay(2000);
    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET);
    HAL_Delay(2000);
    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET);
  /* USER CODE BEGIN 3 */

  }
  /* USER CODE END 3 */

Переключаем BOOT0 BOOT1, должно поочередно меняется логический ноль на единицу через каждые две секунды. Можно подключить светодиод, и увидеть мигание, или вольтметр.

Получение SWL позывного наблюдателя

Posted on 2017-10-28 12:52:31

Логичным продолжение DX-ing хобби, является получение SWL позывного наблюдателя. Несмотря на свою необъязательность, в отличии от собственников трансиверов, имея свой позывной, можно участвовать в различных дипломных программах. SWL Call SignsК счастью, получить позывной можно онлайн с помощью сайта Short Wave Amateur Radio Listening https://swarl.org/ . В правой колонке "GET SWL CALL SIGN NOW!" вводим требуемые данные, и через около недели вам придет на вашу электронную почту подтверждение о регистрации и ссылка на "свидетельство" в виде изображения. 

Эти SWL позывные признаны во всем мире и принимаются QSL бюро и сервисом электронных QSL http://eqsl.cc/ . Посмотреть список выданных позывных можно в Google Docs документе по ссылке SWARL Calls database .  Занятно, если пробить в гугле первый позывной в этой базе данных, то можно найти ссылку на pdf версию журнала  Popular Communications за 2004 год 3 - й номер ( Как я понял, журнал уже не выпускается ), где можно почитать о истории создания этого сервиса. Кстати, на сайте http://www.americanradiohistory.com, где можно скачать эту pdf - ку есть еще очень много интересной информации, и электронных вариантов старых журналов соответствующей тематики. Весьма ценная находка.

Индикатор напряженности поля

Posted on 2017-10-07 16:41:41

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

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

Из выше описанных соображений ясно, что детектор буте простым. Это своство предъявлялось к устройству изначально. Ниже показана схема измерительного устройства.

Индикатор напряженности поля

Собственно, детектор состоит из высокочастотного диода BAT17, сглаживающего конденсатора 0,033 мкФ,  рамочной антенны, дросселя L1 L2. Если вы будете применять другой диод, важно, что бы его проходная емкость была меньше 1 пФ. Конденсатор - керамический SMD, типоразмера 0806.  Стоит осторожно обращаться с детектором, так как такие конденсаторы легко ломаются. Дроссель - ВЧ трансформатор, намотанный на ферритовом кольце. Рамочная антенна в моем исполнении квадратная, сторона длинной 4,3 см. Что бы представлять, как это выглядит в собранном виде, ниже прилагаю фото.

детектор электромагнитного поля

Такой индикатор напряженности поля перекрывает GSM 900 МГц и Wi-Fi 2,4ГГц. Так же, на частоте 2400 МГц работает микроволновка. Микроволновку я еще не мерял. Вблизи мобильного телефона при вызове, вольтметр показывает напряжение до 1 В. Возле антенны WiFi роутера ~ 50 мВ.

Кстати, зная геометрические размеры рамочной антенны, и измеренное напряжение, можно оценить порядок величины напряженности поля.

Гальванический элемент из прошлого

Posted on 2017-09-28 14:16:41

Недавно был на даче и нашел пару старых батареек, произведенных еще при Советском Союзе. Решил для теста взять одну в наиболее сохранившемся состоянии, среди чуть вздутых, покоцанных мышами, со следами солей на корпусе. 

battery 373 R20S element

373 R20S

Цинковый стаканчик обернут в картонку. На картонку наклеена бумажная этикетка.

гальванический элемент из СССР

Как видно из изображения выше, изготовлен этот гальванический элемент 7 - го числа 1988 года. Когда я только взял в руки батарейку и не увидел даты, я подумал что она родом где то из начала 80 - тых минимум. А то и конца 70 - тых.

Стоило это чудо 17 коп. Странно, что на самом товаре указана сама стоимость, т.е. фактически розничную стоимость задает производитель, а не продавец. Из этого маленького факта можно написать интересный пост о экономике СССР, но увы, я не экономист.

Еще одна сторона:

Батарейка из СССР

Срок хранения - 12 месяцев. Каково мое было удивление, когда я измерил напряжение ЭДС в 09.2017 году. Оно сотавило 1,36 В  при номинальном в 1,5 В !  Я думал, будет где то доли Вольта ~ 0,1В, что то вроде этого. Я захотел удивится дальше, и выяснить, сколько батарейка может отдать энергии. Самый лучший способ - это измерить ток КЗ. Но мне почему то стало жалко батарейку, и я решил выяснить, сможет ли гальванический элемент зажечь светодиод. Не зажегся. Тогда я уже и попробовал измерить ток короткого замыкания. 

Пока писал этот пост, вспомнил, что такие батарейки использовались в моем игрушечном синем авто на педалях для свечения фар и мигалки.

First Previous 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Last