Набор состоит из 3 плат:
1. Основная плата
2. Панель для энкодера и семисегментных индикаторов
3. Управляющая плата с микроконтроллером и синтезатором частоты.
Сказка о том, как R3TIM себе КВ трансивер искал
Уже достаточно давно я задумывался о приобретении какого-нибудь простенького, дешевого и портативного КВ трансивера. Одним из близких к идеальному был QRPP трансивер Pixie. Прошлым летом, я потратил значительное время на эксперименты по его модификации, пытаясь сделать его перестраиваемым, с индикацией частоты, выдачей хотя бы 1 ватта, наличем АРУ, плюс не потерять в размерах и сохранить крошечное энергопотербление на приеме. Совместить это оказалось непросто. DDS жрал энергию при работе, OLED создавал дикие помехи на примитивную схему Pixi, компоновка всего этого в корпусе старого оптического трансивера не оставляла места. Возможно я бы и решил эти проблемы при наличии времени. Но времени небыло.
Читать далее «Сказка о том, как R3TIM себе КВ трансивер искал»Дела антенные #2
Итак, хоть какая-то КВ антенна у меня появилась. Но планы мои мои более далекоидущие. Я определенно хочу установить антенную мачту. В процессе раздумий было решено использовать самонесущую антенную мачту, по причине того что у меня просто нет места установить оттяжки нормально.
Дабы примерно знать какая глубина фундамента мне нужна, я изучил руководство «Типовые строительные конструкции, изделия и узлы. Прожекторные мачты и отдельно стоящие молниеотводы». В ней, для прожекторной мачты высотой 16,5 метров предписывается глубина фундамента в 3 метра. Поскольку моя мачта будет высотой 11-12 метров, я вырыл яму в 2,7 метра. Думаю этого будет достаточно, с учетом что грунт у меня — плотная глина.
Был заказан каркас под заливку бетоном
Читать далее «Дела антенные #2»Дела антенные #1
Поскольку времени образовалось дофига, решил доделывать висящие проекты.
Радиолюбитель без антенны — что борщ без мяса, можно — но нафига? Один из факторов ради которого я выбрал частный дом — возможность ставить антенны. Дом у меня у края оврага, участок 5 соток, неудобной формы, так что зафигачить полноразмерный диполь вообще без вариантов. Но на помощь нам приходит end-feed антенна. Осенью была собрана мультидиапазонная антенна на 40 и выше метров, с катушками в антенном полотне. Проверил ее NanoVna — резонанс был ниже по диапазону. Начал подстраивать, где-то накосячил, и забил до весны. Ибо ковыряться на улице было не комфортно уже.
Всю зиму я приглядывался к торчащему на склоне оврага старому электрическому столбу. Когда-то на нем были провода, но последние 10 лет он не использовался. Прокопался зимой к нему, с бубнами и плясками смог закинуть веревку. С бубнами и пляскам через кроны деревьев от окна второго этажа протянул веревку через блок. Все в принципе хорошо, кроме того что столб порядком так подгнивший. 🙂
Вот пришел пиздец, времени стало навалом, и я взялся за переделку end-feed. В первую очередь решил заменить крохотное амидоновское колечко что применял для теста, на нормальное. Решил. Молодец. А любимый греческий магазинчик с амидоновскими кольцами gr_marks1 на ебее более недоступен. Спасибо Путину за это. Пришлось отправиться на алиэкспресс, и найти какого-то продавца. Заказал. Жду.
Ну а пока жду я решил сделать хоть что-то к чему можно будет подключать мои тестовые приемники и передатчики. Выбор пал на антенну Фукса. Извлек с полки валяющуюся герметичную коробку, сделал каркас для катушек, и исползовал купленый у старьевщика воздушный КПЕ. Больше всего времени отняло изготовление муфты на рукоятку КПЕ, и сверление всяческих дырок. В итоге имеем такую вот волшебную коробочку.
Хотел еще приделать индикатор мощности, но решил что и так пока хорошо. Подрезал кусок провода, настроил по NanoVna в резонанс (КСВ 1,1).
Прицепил китайский CW трансмиттер Pixie — работает! Слышу морзянку. Хватаю кабель и тяну от окна до компа,чтобы с комфортом слушать эфир. Подключаю… Еле слышно. Отключаю согласующее. Все так же. Ловит на кабель вместо антенны. Пляски с бубном, 3 раза перепайка отваливающегося переходника с клемм на BNC. Не работает. Звоню кабель. Звонится. Целый.
В качестве бреда, беру NanoVNA (дай бог его создателям здоровья!) и замеряю потери в кабеле. ЧТО?! -45 dB? Офигеваю от цифр, и беру другой удлинитель из того-же кабеля. -1,5 dB.
Мда… Похоже тот кабель разложился на плесень и липовый мед. Делаю новый удлинитель. И, проблема уходит. Сижу у компа, слышу эфир.
Текущий статус
В связи с внешнеполитическим прищемлением хера всем и без разбору благодаря параноидальным-маниакальным инвалидам умственного труда, нахожусь в оплачиваемом отпуске с туманными перспективами. Но без работы не останусь, уж это точно.
А пока в связи с вынужденным простоем решил взять себя за жопу, и мощным усилием воли допилить такую важную штуку как библиотека работы с переферией и различными устройствами использующая libopencm32. На текущий момент запил/портировал иницализацию i2c, spi, oled экрана на ssd1306, ad9850.
В процессе работы — самое сладкое: использование USB CDC, ибо вся суть перехода на STM32 была в возможности создавать беспроблемное подключение микроконтроллера к компьютеру.
We need to go deeper
Приключения с прошивкой мотороллы достигают невиданного размаха.
— Перекомпилирован dosbox с поддержкой отладочного вывода последовательно порта. Увидел, какие байты пытается отослать программа. С тем, что я вижу на логическом анализаторе, не соотносится никак. Следовательно проблема в нестандартном битрейте.
— Изучены внутренности досбокса, на предмет того как он инициализирует порты. Стало понятно, что досбокс инициализирует порты используя только стандартные битрейты, используя классические функции tc*. В недрах интернета я нашел упоминание что нестандартный битрейт может быть применен классическими функциями лишь для FTDI чипов. Что конечно странно. Ибо нестандартная скорость не применяется даже для аппаратного RS-232. Плюс у людей шьется через аппаратный последовательный порт, а у меня нет. По итогу я принял решение переписать код досбокса, на использование расширенного интерфейса конфигурации порта, используя ioctl запросы TCGETS2 и TCSETS2 для termios2.
В процессе переписывания натолкнулся на дичь. Запрашиваю конфигурацию порта с помощью TCGETS2 в dosbox — получаю в ответ ошибку. Делаю то же запрос в своем приложении — все отлично читается. По итогу ковыряния с gdb, выяснилось что при запросах из досбокс и моего приложения, адреса регистра TCGETS2 разные! Что это за ересь я пока не понимаю.
Нехватка магии в волшебной палочке
Выходные пролетели, а SPI в stm32f103 под libopencm3 все так и не заводится.
Ну ладно, я первый раз не заметил что в конфигах секции данных для mapple и bluepill отличаются.
Но чего потом, оно не заводится даже с примерами из гитхаба — не ясно.
Причем у меня есть мой код использующий spl, и он рабочий. Я тупо переписал инициализацию, а логический анализатор даже поднятие CS не показывает.
Спонтанные покупки
Авито наконец уловил, что мне интересно (а у Мешка как-то пока плохо с этим), и подсунул мне вот такую позднесоветскую дичь.
Это видеомагнитола. Телевизор + радио + магнитофон. Я не удержался от микро-няшности данного девайса, и немедленно купил. Причем, заявлено что она нерабочая. Надеюсь в ней не копались говноеды-драгметчики.
Кажется на меня плохо влияет просмотр стримов Коковина, VCD, и прочих видачеров. Надо «следить за собой, быть осторожным». А то закончу как VCD, квартирой набитой всякой видеодичью. 🙂
Мой почтовик и gmail
Короче, пока гром не грянет, сисадмин DKIM + DMARC + SPF не настроит.
Гугл взялся выпендриваться на мой домашний почтовик. С учетом что его сраная postmaster console не отображает вообще ничего.
Закатал рукава, настроил. Теперь белый человек.
STM32F411 «Black Pill» USB & Libopencm3 bug
Небольшая заметка по результатм исследования бага с неработающей инициализацией USB с библиотекой LibOpenCm3 для китайской платки WeAct «Black Pill» v2.0.
Если не у вас не работают примеры для USB, и система даже не проводит энумерацию подключенного устройства, то вам надо:
- Заинклюдить otg_fs.h
#include <libopencm3/usb/dwc/otg_fs.h>
- После вызова функции usbd_init отключить VBUS sensing
OTG_FS_GCCFG |= OTG_GCCFG_NOVBUSSENS | OTG_GCCFG_PWRDWN;
OTG_FS_GCCFG &= ~(OTG_GCCFG_VBUSBSEN | OTG_GCCFG_VBUSASEN);
Фикс-реквест все еще с 2020 года ждет мержа.
https://github.com/libopencm3/libopencm3/pull/1256