Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Веселая аркада с Печенькой для новогоднего настроения. Объезжайте препятствия, а подарки, варежки, конфеты и прочие приятности не объезжайте: они помогут набрать очки и установить новый рекорд.

Сноуборд

Спорт, Аркады, На ловкость

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

Stm32 + Радиолюбители

С этим тегом используют

Микроконтроллеры Электроника Arduino Программирование Своими руками Радиоэлектроника Радио Радиотехника YouTube Радиодетали Все
5 постов сначала свежее
492
saf.f
saf.f
3 года назад
Рукодельники
Серия RFID

Копировальщик ключей от домофона своими руками⁠⁠

Пост об изготовлении универсального копировальщика беспроводных меток стандартов em-marine и mifare classic(в том числе защищенных). По моему получилось технологично и симатично.

Копировальщик ключей от домофона своими руками Своими руками, Домофон, RFID, Электроника, Радиолюбители, Android, Stm32, Проект, Радиоэлектроника, Хобби, Длиннопост, Рукоделие с процессом

Ранее написал много постов про домофонные ключи и rfid в целом. А вчера закончил изготовление копировальщика 2в1. Основная часть, это проект сниффера/копировальщика с Хабра. Ссылку прилагаю https://habr.com/ru/post/479370/
Автор проделал действительно большую работу. С помощью этого сниффера, можно перехватить обмен, рассчитать зашифрованные ключи и записать на подходящие болванки. Вторая часть, это копировальщик Мехатрона. Использовал только схему и часть кода, отвечающую за em-marine. Развел две платы.

Копировальщик ключей от домофона своими руками Своими руками, Домофон, RFID, Электроника, Радиолюбители, Android, Stm32, Проект, Радиоэлектроника, Хобби, Длиннопост, Рукоделие с процессом

Вытравил, залудил и просверлил отверстия.

Копировальщик ключей от домофона своими руками Своими руками, Домофон, RFID, Электроника, Радиолюбители, Android, Stm32, Проект, Радиоэлектроника, Хобби, Длиннопост, Рукоделие с процессом

Припаял детали на левую плату.

Копировальщик ключей от домофона своими руками Своими руками, Домофон, RFID, Электроника, Радиолюбители, Android, Stm32, Проект, Радиоэлектроника, Хобби, Длиннопост, Рукоделие с процессом

Здесь блютус модуль, контроллер заряда АКБ, два переключателя и немного других деталей. Запаял вторую часть.

Копировальщик ключей от домофона своими руками Своими руками, Домофон, RFID, Электроника, Радиолюбители, Android, Stm32, Проект, Радиоэлектроника, Хобби, Длиннопост, Рукоделие с процессом

Здесь контроллер atmega328, одна кнопка, немного обвязки и катушка. На первую плату,  припаял модуль blue pill с stm32 на борту и АКБ.

Копировальщик ключей от домофона своими руками Своими руками, Домофон, RFID, Электроника, Радиолюбители, Android, Stm32, Проект, Радиоэлектроника, Хобби, Длиннопост, Рукоделие с процессом

Справа виден разъем для внешней антенны. Слева колодка для модуля RC522.

Копировальщик ключей от домофона своими руками Своими руками, Домофон, RFID, Электроника, Радиолюбители, Android, Stm32, Проект, Радиоэлектроника, Хобби, Длиннопост, Рукоделие с процессом

Осталось  только собрать все воедино.

Копировальщик ключей от домофона своими руками Своими руками, Домофон, RFID, Электроника, Радиолюбители, Android, Stm32, Проект, Радиоэлектроника, Хобби, Длиннопост, Рукоделие с процессом

Размер 4 на 6 см. Высота 2 см. Получилось компактно. Заряда хватает на 8-20 часов непрерывной работы. Заряжать придется раз в пол года. А вот фото с других ракурсов.

Копировальщик ключей от домофона своими руками Своими руками, Домофон, RFID, Электроника, Радиолюбители, Android, Stm32, Проект, Радиоэлектроника, Хобби, Длиннопост, Рукоделие с процессом

Правый переключатель работает в режиме вкл/выкл. А левый, переключает работу копировальщика mifare и em-marine. Для работы первого есть приложение для андроид, работа по блютус. Второй может работать автономно, но весь функционал раскрывается при работе с телефоном(опять же по блютус) используя терминал. Эмуляция, запись своих ключей, финализация и т.д. Прошивку для работы с em-marine еще не закончил. Пока минимальный функционал.

Копировальщик ключей от домофона своими руками Своими руками, Домофон, RFID, Электроника, Радиолюбители, Android, Stm32, Проект, Радиоэлектроника, Хобби, Длиннопост, Рукоделие с процессом

Выглядит как то так. Позволяет копировать до 90% беспроводных ключей в Ростове на Дону. Похоже это финал. Осталось чуть допилить прошивку низкочастотной части и можно использовать повседневно. Кстати, это устройство почти полностью заменяет дорогущий smkey  и дешевый копировальщик em-marine (правда этот с более крутыми возможностями, включая эмуляцию). Если вам показалось, что аналог можно купить за 500-1200 рублей на али, то советую лучше ознакомиться с темой.
Другие посты про rfid, домофонные ключи и мой контакт в профиле.

Показать полностью 9
[моё] Своими руками Домофон RFID Электроника Радиолюбители Android Stm32 Проект Радиоэлектроника Хобби Длиннопост Рукоделие с процессом
74
10
Mrtrol2018
5 лет назад

AudioSwitcher — автоматизация того, что казалось бы не нужно автоматизировать⁠⁠

AudioSwitcher — автоматизация того, что казалось бы не нужно автоматизировать Stm32, Аудиофилия, Схемотехника, Печатная плата, Микроконтроллеры, Радиолюбители, Электроника, Длиннопост

Предисловие

У меня дома есть пара комплектов хороших советских акустических систем. Но техника эта довольно старая и просто не может включаться с пульта или автоматически, а постоянно подходить к усилителю звука и включать/выключать его просто лень. Это проблему я и решил. Сначала была куплена ардуино и проект был сделан на ней, но качество работы меня не устроило и проект был переделан под STM32F103C8. В итоге у меня получилось устройство, которое имеет 4 аудио-входа, 1 аудио-выход, вход 220В и выход 220В. При наличии хотя бы одного активного аудио-входа на выходе 220В появляется напряжение, тем самым включая усилитель звука, и активный аудио-канал передается на выход.

Сложности при разработке

Казалось бы все просто: если АЦП получает не 0, тогда считать канал активным. Все почти так, но это работает только если включить источник аудио-сигнала и выключить на нем звук. При выключенном состоянии разные устройства дают разные помехи, тк они не полностью обесточены. Да и у плохих источников звука микроконтроллер мог улавливать помехи при выключенном звуке, причем довольно сильные. И это именно помехи источника, помехи на моей внешней аудиокарте STMка не видит, более того тихий звук с нее — 0.

Как сделать себе такое?

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

Что нам понадобится:

печатная плата
программатор ST-Link v2
1 чип STM32f103C8
4 реле для коммутации входного аудио-канала на выход
1 реле для коммутации 220В для включения усилителя
AC-DC понижающий преобразователь 220В — 5В(можно взять со старой зарядки телефона)
сетевой провод и разъем для подачи тока нашему устройству и усилителю
розетка
резисторы, конденсаторы и другая мелочь

Естественно нам понадобятся аудио-провода и minijack штекера с гнездами.

Хотелось бы заострить внимание на выборе реле… Если с выбором 220В реле все предельно понятно: оно должно «уметь» коммутировать 220В переменное напряжение и управляться 3.3В. То с выбором звуковых реле не все так просто. Далеко не каждое реле, даже твердотельное, не будет давать помехи на выходе, а нам это очень важно. Я живу в Минске и не смог ничего найти подходящего и по адекватной цене, поэтому были заказаны с известного китайского магазина 4 реле PVT322A. Возможно в вашем регионе вы сможете найти что-то подешевле.
Схема и разводка печатной платы :

AudioSwitcher — автоматизация того, что казалось бы не нужно автоматизировать Stm32, Аудиофилия, Схемотехника, Печатная плата, Микроконтроллеры, Радиолюбители, Электроника, Длиннопост
AudioSwitcher — автоматизация того, что казалось бы не нужно автоматизировать Stm32, Аудиофилия, Схемотехника, Печатная плата, Микроконтроллеры, Радиолюбители, Электроника, Длиннопост

Раз уж начали, то продолжим изучать аппаратные особенности. На схеме, которую вы можете найти в репозитории в папке Eagle нужно подобрать токоограничительные резисторы(R4-7) под ваши реле. В моем случае это 30 Ом. Так же есть катушка L1: выбирайте любой фильтр, сглаживающий высокочастотные помехи.

Заказать печатную плату вы можете на PCBWAY или JLCPCB. Цены у них низкие, я заказывал у JLCPCB и они выставили мне счет всего в 2$. При заказе печатной платы вам нужны будут гербер файлы, вы из сможете найти все в той же папке или сами сгенерировать.

Перейдем к программной части


Рассказывать как подключить программатор к компьютеру, установить среду программирования и драйвер я не буду, т.к. этих инструкций очень много и они предельно доступные. На моей схеме предусмотрены выходы для программаторы. Я использовал Visual Studio 2017 + VisualGDB. Скачав проект из того же репозитория мы сможем открыть проект. Сразу же обратим на файл Settings.cpp.

#define DEBUG0 0//init USART and send all measurement values
#define DEBUG1 1//init USART and send information about recognition music or not
#define DEBUG2 0//just init USART
#define MaxEqualToZeroValue 3 //the value which equal or less is equated to zero
#define MaxAvarageForNoise (float)0.4//this is max avarage of measurement values so that the sound is considered noise for NOT active channel
#define MaxAvarageForActiveNoise (float)0.06//this is max avarage of measurement values so that the sound is considered noise for active channel
#define CountOfConsecutiveZeroValueForNoise 250//if count of consecutive zero values bugger it that sound is equated to noise
#define MinCountOfZeroValue 550//it's minimum count of zero values to equate to music(not consecutive)
#define USE_LED 1
#define LED_GPIO_PERIPH RCC_APB2Periph_GPIOC
#define LED_GPIO_GROUP GPIOC
#define LED_GPIO_PIN GPIO_Pin_13
#define USE_AMP 1
#define AMP_GPIO_PERIPH RCC_APB2Periph_GPIOB
#define AMP_GPIO_GROUP GPIOB
#define AMP_GPIO_PIN GPIO_Pin_12

Все настройки в этом файле задокументированы, но мы все равно остановимся на каждой настройке.
#define DEBUG0 0
#define DEBUG1 1
#define DEBUG2 0

Если присвоить дефайну DEBUG0 единицу, то наше устройство перестанет что либо делать, кроме того, что выводить по UARTу значения, которые он получает с аудио-входов в формате, который может «переварить» SerialPortPlotter. 

Если же присвоить единицу DEBUG1, то устройство уже будет полностью функционировать, но будет выводить немного информации о работе по UARTу. Это все нужно исключительно для отладки.

Присвоение DEBUG2 даст всего лишь инициализацию UARTа. Если вы не понимаете, зачем это, то и не надо :-)
#define MaxEqualToZeroValue 3

Далее у нас параметр отвечающий значение которого или менее будет считать нулем. Как уже было ранее сказано некоторые источники звука плохого качества и сильно зашумлены.
#define MaxAvarageForNoise (float)0.4

Если аудио-канал сейчас не активен(т.е. канал, который сейчас не коммутируется на выход) и среднее значение измерений за один цикл измерений по этому каналу меньше значения этого параметра, то канал считается без звука.
#define MaxAvarageForActiveNoise (float)0.06

Этот параметр почти тоже самое, что и предыдущий, только для активного на данный момент канала. Дело в том, что когда канал активен и усилитель работает, то происходит падение напряжения аудио-канала. И если пренебречь этой настройкой, то устройство будет считать, что звук есть даже когда провод не подключен ни к какому устройству.

#define CountOfConsecutiveZeroValueForNoise 250

Этот параметр исключительно для оптимизации расхода процессорного времени. Если устройство встречает подряд заданное количество нулей, то оно считает, что это сигнал не звук.

#define MinCountOfZeroValue 550

А это уже важная настройка. Некоторые устройства, когда выключены создают странные помехи, но я выделил один общий фактор среди них: они очень редко опускаются до нулевых значения. Именно поэтому пришлось ввести этот параметр. Если количество нулевых значений за один цикл измерений меньше заданного, то сигнал считается шумом.

#define USE_LED 1
#define LED_GPIO_PERIPH RCC_APB2Periph_GPIOC
#define LED_GPIO_GROUP GPIOC
#define LED_GPIO_PIN GPIO_Pin_13 #define USE_AMP 1
#define AMP_GPIO_PERIPH RCC_APB2Periph_GPIOB
#define AMP_GPIO_GROUP GPIOB
#define AMP_GPIO_PIN GPIO_Pin_12

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

Перейдем к следующим настройкам:

Открыв файл main.cpp, в самом начале функции
int main()

вы найдете определение кучи переменных.

Остановимся на этом поподробней. Там достаточно много параметров, отвечающих за аппаратую настройку микроконтроллера. Их мы затрагивать не будем.
const uint8_t channelsCount = 2;


Это количество входных аудиоканалов, которые будут использоваться.

const uint8_t countOfIterationsForSwitch = 5;


Количество циклов измерения, необходимое для изменения состояния активное/пассивное.

const uint8_t ADCSampleTime = ADC_SampleTime_239Cycles5;


Этот параметр отвечает за качество измерения. Оно установлена максимальное, не рекомендую его менять
const uint16_t measurementsDuration = 2000;


Это время в ms, в течение которого будет производится один цикл измерений.

const uint32_t measurementFrequencies[] = { 1000, 1000, 1000, 1000 };


Не знаю зачем, но я реализовал функцию, которая позволяет проводить измерения входных каналов с разной для каждого канала частотой. Может кому-то эта функция будет нужна.

Заключение


Ну вот и все. Все необходимые настройки я описал. Осталось только собрать схему, скомпилировать проект, залить прошивку в микроконтроллер и радоваться.

В заключении хотелось бы сказать, что нельзя просто так оставить входной аудио-провод «не воткнутым» ни во что, нужно его вставить в какое либо устройство или заглушку в виде гнезда minijack, в котором все контакты соединены между собой. 

AudioSwitcher — автоматизация того, что казалось бы не нужно автоматизировать Stm32, Аудиофилия, Схемотехника, Печатная плата, Микроконтроллеры, Радиолюбители, Электроника, Длиннопост

Если у вас источники звука довольно хорошие, то вы можете поставить низкие параметры настроек, но для переключения состояния звука может потребоваться его выключение (не из розетки). Возможно когда нибудь я добавлю ссылку на 3D модель корпуса, но пока у меня нет 3D принтера и корпус на данный момент такой. Но это только пока: 3D принтер уже собирается :-)

AudioSwitcher — автоматизация того, что казалось бы не нужно автоматизировать Stm32, Аудиофилия, Схемотехника, Печатная плата, Микроконтроллеры, Радиолюбители, Электроника, Длиннопост

Спасибо за прочтение.
Статья на хабре

Показать полностью 4
[моё] Stm32 Аудиофилия Схемотехника Печатная плата Микроконтроллеры Радиолюбители Электроника Длиннопост
7
2
Mi1ka
Mi1ka
7 лет назад

Простой стабилизатор напряжения на основе LM317T⁠⁠

Привет, Друзья! У меня есть парочка контроллеров Arduino Pro Mini, которые были куплены на Aliexpress по цене пару баксов за штуку. И естественно захотелось заюзать контролер в своих проектах. Я давай искать как Pro Mini питать током и каким именно. В интернетах пишут, что в Pro Mini встоенный стабилизатор тока и котроллер можно запитать током до 12 вольт и 1-1,5 Ампер, по аналогии с Arduino Nano. Подав такое напряжение на плату, с удивлением наблюдал всем известный сизый дымок. Понял, что напряжение и ток нужно снизить до значений как у USB в ПК. Для своего проекта заложил блок питания на 12 вольт и 2 ампера и понятно, что проще будет использовать понижающее устройство, для питания контроллера. Как раз в наличии имеется парочка линейных стабилизаторов LM317T, вот я и решил их использовать в деле. Раньше я делал лабораторный блок питания на основе этой же микросхемы, поэтому проблем быть не должно. Тем более нашел в сети конструкцию стабилизатора всего из 4-х деталек, что есть жирный плюс в пользу миниатюрности.


Первая стандартная схема подключения была взята из даташита и она управляет только напряжением:

Простой стабилизатор напряжения на основе LM317T Ремонт техники, Arduino, Сообщество arduino, Радиолюбители, Stm32, Длиннопост, Микроконтроллеры, Своими руками

Есть там схемы и для управления током в паре с напряжением, но мне они показались сложны из-за дополнительных деталек в виде транзисторов, резисторов и диодов.


Чуть углубившись в сеть, нашел схему по проще где она предлагает регулировку как напряжения, так и тока.

Простой стабилизатор напряжения на основе LM317T Ремонт техники, Arduino, Сообщество arduino, Радиолюбители, Stm32, Длиннопост, Микроконтроллеры, Своими руками

И эта схема оказалась самым верным решением. Просчитал схему и появилась нужда в резисторе на 2 ома, которого у меня нет и наверно не бывает (может и есть, но я не видел). В итоге сопротивление сделал сам в популярном корпусе “намотал на картонку”.

Простой стабилизатор напряжения на основе LM317T Ремонт техники, Arduino, Сообщество arduino, Радиолюбители, Stm32, Длиннопост, Микроконтроллеры, Своими руками

Схема на 5вольт и 0.5 ампер получилась следующей:

Простой стабилизатор напряжения на основе LM317T Ремонт техники, Arduino, Сообщество arduino, Радиолюбители, Stm32, Длиннопост, Микроконтроллеры, Своими руками

С помощью R1 можно настроить ограничение по току. А R2 и R3 определяют ограничение напряжения.


Вот больше инфографики:

Простой стабилизатор напряжения на основе LM317T Ремонт техники, Arduino, Сообщество arduino, Радиолюбители, Stm32, Длиннопост, Микроконтроллеры, Своими руками

И вот как получилось в проекте:

Простой стабилизатор напряжения на основе LM317T Ремонт техники, Arduino, Сообщество arduino, Радиолюбители, Stm32, Длиннопост, Микроконтроллеры, Своими руками

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

Схема получилась на удивление простая, работоспособная и живучая. Уверен, что буду использовать дальше такой метод.


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


Какие еще аналогичные средства можно использовать? Какие недостатки у этой схемы? Варианты?


Друзья, сталкивались ли вы с подобными задачами и как их решали, если да, то расскажите в комментариях, мне будет интересно узнать.


Спасибо за внимание, всем пока!

Показать полностью 6
[моё] Ремонт техники Arduino Сообщество arduino Радиолюбители Stm32 Длиннопост Микроконтроллеры Своими руками
66
248
techn0man1ac
techn0man1ac
7 лет назад
TECHNO BROTHER

То чувство, когда ты техноманьяк⁠⁠

То чувство, когда ты техноманьяк Techn0man1ac, Stm32, Tft, Прибор, Радиолюбители

И можешь позволить себе эмулировать работу стрелочного вольтметра при помощи 32 битного микроконтроллера и TFT дисплея.

By Techn0man1ac

[моё] Techn0man1ac Stm32 Tft Прибор Радиолюбители
47
33
techn0man1ac
techn0man1ac
8 лет назад
TECHNO BROTHER

Почему нужно изучать микроконтроллеры, мотивации пост⁠⁠

Почему нужно изучать микроконтроллеры, мотивации пост Терминатор, Радиолюбители, Микроконтроллеры, Мотивация, Mrподелкинц, Stm32

Оптимисты изучают английский. Пессимисты изучают китайский. Реалисты изучают микроконтроллеры ;)

By MrПоделкинЦ

[моё] Терминатор Радиолюбители Микроконтроллеры Мотивация Mrподелкинц Stm32
22
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии