Дешевый китайский фрезерный станочек CNC3018. Красивые отверстия в покупных корпусах.

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

Я тут видео записал. Я там составляю программу и пилю отверстия под ЖК экран в пластиковом корпусе. А в конце немного ручной работы, которую можно пропустить.

Практический вебинар «Работа с внешней памятью в STM32H7» (16.09.2021)

Вебинар посвящен особенностям работы высокопроизводительных микроконтроллеров семейства STM32H7.
На вебинаре разберем ключевые особенности линеек STM32H72/3 и проведем практическую работу с оценкой производительности с использованием ускорителей и кэш-буфера при чтении инструкций из внутренней и из зашифрованной внешней памяти. Для отображения результатов будет использоваться программная среда STM32CubeMonitor. Подробнее >>>

Металлизация переходных отверстий печатной платы в домашних условиях

Во первых, это оказалось просто.

Во вторых, зачем? Иногда очень хочется получить печатную плату как можно быстрее. Через 2 часа, ну или завтра и фабричное качество не так важно. В этом случае все делают платы дома. И я делал и делаю. Но каждый раз я понимал, что без металлизации переходных отверстий мне не добиться той же плотности деталей на плате. Контактные площадки под выводные элементы приходится делать больше. Размещать площадки только с задней стороны, что бы не паять деталь с двух сторон. Убирать переходные отверстия из под микросхем. Иначе микросхемы не встанут. Ведь каждое переходное отверстие приходится пропаивать проволочкой. И на это уходит много часов.

Нужна металлизация переходные отверстий! Все окружающие мне 20 лет подряд говорили: это сложно, это не стоит того, ничего не получится и это невозможно.

Я решил, а давай попробую. Ради фана. Если не получится, то я все равно хорошо проведу время. И… получилось. К обычному изготовлению платы в фоторезисте нужно добавить всего 3 этапа.

1 минута — погрузить плату в токопроводящую краску.
1 минуты — отмыть текстолит моющим средством.
45 минут — поместить плату в банку с простым электролитом. Медный купорос, серная кислота и желатин.

Я это сделал и у меня получилось. Поэтому я записал видео. Не ради себя. А что бы передать свой опыт тому, кто хотел бы металлизировать платы дома. Если бы я увидел такое видео, то я бы делал такие платы уже 15 лет назад.



Фоторезист, лазерный принтер и статика (или как извести на говно стопку годной пленки)


Спойлер: нет, речь не про очередной уплотнитель тонера!
Так уж сложилось, что для фоторезиста у меня используется лазерный принтер. Да, немного убегают размеры. Да, изготовление двуслойных плат нередко превращается в квест «совмести несовместимые переходки на отпечатках». Но это всё решаемо, взамен же мы получаем гораздо больший ресурс печати, головки не сохнут, а отпечатки хранятся гораздо дольше (не в пример пленкам с желатиновым слоем для струйных принтеров). Врочем, мы здесь не ради холивора лазерный/струйный принтер, а скорее вот за этим (см. КДПВ ниже).



Знакомо? Тогда добро пожаловать под кат.

Читать дальше

Преобразователь 7-сегментного индикаторного кода в BCD-DEC на GAL16V8. Одинарная и сдвоенная версии.

  В номенклатуре TTL микросхем существует готовый преобразователь с такой функциональностью, это 74915 — 7 Segment to BCD converter. К сожалению это такая редкость, что найти и купить этот чип сложно и дорого.


Читать дальше
  • +3
  • 01 сентября 2021, 18:19
  • anakost
  • 1

LoRa SX1268 E22400-M22S запуск, настройка на максимальную дальность

Хочу поделиться информацией, которую в интернете не нашёл.

Затеяля я тут апгрейд радиоканала своей автосингализации.
До этого был на MRF49 плюс усилители от BLAZE с VTRP, потом (на данный момент) SI4432.
В обоих случаях 400 метров в прямой (ну или почти прямой) видимости. Разница только
в количестве SMD обвеса на плате. Разница, правда радикальная.

Услышал/увидел про LoRa в интернете. Погуглил цены, датшиты. Купил на Али E22400-M22S.
Что то около 500 рублей за штуку. Сбацал два модуля. Рулит трансивером ATtiny84A,
питание от двух АА (3в). Одна антенна — провод 17см, вторая — спираль 5x30мм 20 витков.


Тут и началось… :)
При чтении датшита — трудности перевода… Набор глюков и заплаток… :)
При гуглении — сплошные LoRa + Arduino. «Подключаем библиотеку, и радуемся...»
А я, видите ли, заскорузлый ассемблерщик :) Ну «не вштыривает» (1+1 смотрели?) меня этот C.
Даже в виде Arduino. Ну не нашёл ничего. Может плохо искал…
Короче методом проб нашёл последовательность «запуска» SX1268.
Мож кому пригодится. Я ж искал :)

Настройка трансивера после включения питания:
RESET_SX1268
SetStandby,RC
SetRegulatorMode,1
SetDIO3AsTCXO
SetStandby,XOSC
SetDIO2AsRfSwitchCtrl,1
SetRxTxFallbackMode,$30
SetBufferBaseAddress,$80,$00
SetRfFreqensy,490
SetPacketType,LORA
SetDioIrqParams,$3FF,0,0,0 преывания пока не используем, просто ждём RxDone или TxDone
//
ограничтель тока
$08E7->address
$38->data
WRITE_REG
//
усилитель приёма
$08AC->address
$96->data
WRITE_REG
//
SetPaConfig,4,7,0,1
SetTxParams,$16,0
SetModulationParams,7,BW_10,1,1
SetPacketParams,30,1,9,0,0

Приём:
ClearIrqStatus
SetRx(0)
GetIrqStatus — ждём RxDone (не ненуля IRQ, как я сдуру, а RxDone=1)
ReadBuffer

Передача:
WriteBuffer
REG_0889 (стр.101 датшита)
ClearIrqStatus
SetTx(0)
GetIrqStatus — ждём TxDone

Это что то вроде скрина с программы сделанной в Algorithm Builder.
Последовательность команд, и конкретные цифры настроек, я думаю понятны.
Это как раз то, что я не нашёл.

REG_0889 — одна из «заплаток» датшита.
Ещё там есть обязательная последовательность для настройки приёмника:
SetPacketType(...)
SetModulationParams(...)
SetPacketParams(...)
У меня она соблюдена.
Но в датшите нет про последовательность
SetPaConfig(...)
SetTxParams(...)
Если поменять местами — глюк.

Вроде всё.
Да. Дальность с этими настройками 7км.
Поставил блок с 17см антенной на подоконник (антенна как раз над рамой) одноэтажного дома и поехал.
В машине с собой блок со спиральной антенной. Одноэтажная застройка посёлка. По пути пригорки,
первый в двух километрах. За ними связь пропадала. На макушках восстанавливалась.

Собственно настройки, влияющие на дальность/скорость передачи вот:
SetRfFreqensy,490
//
SetPaConfig,4,7,0,1
SetTxParams,$16,0
//
SetModulationParams,7,BW_10,1,1
SetPacketParams,30,1,9,0,0

SetRfFreqensy,490
несущая вроде как сама по себе, но для моих конкретных E22 490Мгц много лучше оказалось чем 433Мгц

SetPaConfig,4,7,0,1
SetTxParams,$16,0
тут просто максимум мощности — 22дб

SetModulationParams,7,BW_10,1,1
SetPacketParams,30,1,9,0,0
а вот тут необъятное поле для экспериментов
в основном SF(7) и BW(10) в SetModulationParams
Увеличение SF снижает скорость и увеличивает дальность.
Уменьшение BW снижает скорость и увеличивает дальность.

Вся наша жисть — поиск компромиссов… :)
  • +2
  • 31 августа 2021, 06:55
  • PANYTA

Аудио-DSP из говна и палок: MSP34x0G, 34x1G, 34x5G

Предисловие
Досталась на днях плата от старого телевизора. Моё внимание привлекла микросхема в корпусе SDIP52, под которой на
шелкографии были надписи связанные со звуком.
Странно, но по запросу «MSP3410G AVR» результата не было. А
значит, прийдется разбираться самому.

Характеристики:

MSP34x0G:

  • 2 цифровых I2S входа(16/32 бит 32 КГц)
  • 1 I2S выход, 3 или 4 стерео входа с программируемым предусилением (зависит от корпуса)
  • 1 моно вход
  • 2 выхода, позиционирующихся для наушников и динамиков
  • У обоих есть:
    • настройка громкости в дб(-114 — +12)
    • настройка баланса в линейном и логарифмическом режиме
    • настройки НЧ/ВЧ(в канале динамиков можно использовать пятиполосный эквалайзер)
  • Программируемый выход для сабвуфера
  • Детектор quasi-peak с помощью которого можно сделать индикатор уровня громкости
MSP34x1G отличается также наличием режима dolby prologic.
MSP34x5G теряет один стерео выход и эквалайзер на канале динамиков(настройка НЧ/ВЧ остается). Выхода для
сабвуфера также нет.


Подключение и управление
Управляется процессор по интерфейсу I2C с максимальной скоростью 1 МГц. Управление стандартное для подобных
микросхем:
адрес устройства, бит R/W, субадрес, два байта адреса и два байта данных. Но есть одна заминка, которая не
страшна если использовать в качестве управляющего какой-нибудь AVR с аппаратным I2C. Дело в том, что после получения
адреса микросхема на 1-1.5мс прижимает SCL и только потом выдает ACK. При использовании софтверного мастера это надо
учитывать.

Монтаж
Так как плату делать не хотелось, собрал схему навесным монтажом и подключил к arduino, чтобы проверить возможности
и работоспособность(готовый проект будет на atmega8).


Особенности
После сборки заметил несколько интересных особенностей:
  1. Если не дернуть RESET микросхемы, на I2C она не определяется и ACK не дает.
  2. Вместо 8 вольт можно подавать 5, возможно только снизится громкость.

  3. Усилитель на TDA7255 начинает свистеть, при уменьшении громкости свистит меньше, при этом дешевый на PAM8403
    играет без сильных шумов.
  4. Нагрев микросхемы не страшен.

Послесловие
Статья, конечно, получилась маленькой, зато я рассказал о том, что можно найти в старом ТВ и куда-нибудь применить.
Если будет интересно, могу выложить свою библиотеку для данных серий.

Странности АЦП STM32G030K6

Всем здравия.
Постепенно осваиваю новые серии STM. Сначала была G474, сейчас G030.
В G474 с косяками практически не встречался, не считая не работающий встроенный ИОН. В errata указано, что он не работает при использовании определенных пинов, по факту у меня на G474VE не работал совсем. Ну я на него особо не рассчитывал, жили без него и дальше проживем.

А вот с G030 повеселее.
Первый баг во времени старта регулятора. Согласно даташиту 20мкс, одинаково для G474 и G030.
Ставлю задержку 50мкс, в G474VE и G474RC работает, в G030K6 не работает. Увеличиваю до 100мкс — работает.
Идем далее. В G030 обработка каналов ведется либо подряд по маске, либо секвестором в произвольном порядке, но только не более 8 каналов.
При обработке подряд можно настроить прямой порядок от меньшего канала к большему или обратный, за что отвечает бит SCANDIR регистра ADC1->CFGR1. Маска каналов настраивается в регистре ADC1->CHSELR.
Я использую каналы с 1 по 5, оверсэмплинг 64, время выборки максимальное, обратный порядок, DMA.
Если маску каналов настраивать после установки бита SCANDIR, то при старте АЦП DMA не вылазит из прерывания, только выходит и через 800нс влетает в него обратно, при этом до основного кода дело не доходит. Флаги все сбрасываю.
При использовании прямого порядка, т.е. если бит SCANDIR не трогать, все нормально независимо от последовательности.
Перечитал несколько раз даташит и даже в errata заглянул, объяснений не нашел.
Но и это еще не все.
Как оказалось по факту бит SCANDIR не меняет направление сканирования.
На этом все. Всем удачи!

Умная баня!

AVR
У тестя на даче есть баня это отдельно стоящие здание на крыше которого бак. Насос стоит отдельно на расстояние 100м. Т.к. люди уже старые и часто забывают то воду включить то отключить то тен. Сами понимаете тен без воды… или вода через край… Решено было автоматизировать данную проблему. Врезали концевики герконовые в бак, терморезистор, заказал чехол для термопары из нержавейки (на тен смахивает) и вставил в него терморезистор. Заказал из поднебесной терморегулятор за 500 р. и регулятор уровня, бп 12в какой то китай. Собрал все. Релюхи взял от автоматизации станков 10А.


Читать дальше

Корпус Argon ONE для Rasberry Pi 4, особенности применения

  Не так давно, в конце 2020 года в номенклатуре фирмы Argon Forty появилась модификация и так хорошего корпуса Argon ONE для Rasberry Pi 4, модификация заключалась в добавлении диска SSD формата M.2, релиз-обзор.

  

  Весной на глаза попался детальный обзор корпуса Argon ONE M.2 c SSD-диском 128Gb для Rasberry Pi 4, рекомендую прочитать. Корпус понравился, решил заказать и переселить микрокомпьютер в него, выбрал комплектацию с 128Gb SSD диском. После переноса платы в новый корпус столкнулся с некоторыми неочевидными особенностями применения, о чем и хочу поделиться с сообществом.


Читать дальше