Сообщество - Лига Радиолюбителей

Лига Радиолюбителей

1 548 постов • 10 138 подписчиков

Популярные теги в сообществе:

3

Ответ NeprChic в «Утепляемся)»⁠⁠20

Сами девайсы - это топ, прям будущее. Я серьезно, считаю очень перспективными идеями. Но... зарядка через кабель - это САМОЕ идиотское, что можно было придумать на носимой электронике! Смарт-часы - нормальный пример: либо магнитные контакты, либо беспроводная зарядка. А всё остальное заряжается кабелем, ну ЗАЧЕМ??? Почему нельзя сразу внедрить беспроводную зарядку?! Пришел домой, повесил куртку - под крючками зарядка, куртка сразу стала заряжаться. Пришел с улицы, снял ботинки, поставил на платформу или решетку, ботинки сразу сохнут и заряжаются. Почему для вертикального пылесоса, которым ты раз в три дня пользуешься, есть задизайненная нормальными инженерами настенная док-станция, а для ботинок, которые тебе ежедневно нужны, а то и не раз, никому в голову не пришло про удобство и эргономику?

Ну и раз уж Пикабу предлагает, то буду отвечать постом.

Давно размышлял над таким концептом - куртка с интегрированной электроникой. Список возможного функционала собирался постепенно, в течение нескольких лет:
- Подогрев;
- Экранирование человеческого тела от ЭМ-излучений среды вшитой тонкой металлической сеткой и/или отдельный экранированный карман для смартфона;
- Большие светодиодные фонари на клапанах передних карманов;
- Маленькие фонари в капюшоне;
- Телефонная гарнитура в капюшоне;
- Беспроводная зарядка (заряжает, когда куртка повешена на вешалку);
- Индикация заряда, часов и уведомлений на гибких экранах на рукавах (аналог пип-боя, только вшитый в рукав);
- GPS-трекинг (телефон в заднем кармане хуже ловит спутники, чем вынесенная в капюшон GPS-антенна);
- В приложение к GPS-трекингу - вибромоторы в манжетах рукавов: если на выбранном маршруте необходимо повернуть налево, вибрирует левая манжета, направо - правая;
- Для велосипедистов - светодиодные стрелки - указатели поворотов на спине и рукавах, активируются нажатием микрокнопки на манжете.

В той или иной степени, большая часть этих интеграций уже присутствует в разных носимых девайсах - кепках, шапках, ботинках, рюкзаках, очках... Часть интеграций попадалась в фильмах или видеоиграх. Просто я подумал: почему бы это не объединить в одном элементе одежды?

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

Пишите в комментариях, каким бы функционалом вам хотелось бы оснастить вашу куртку?

Показать полностью 6
11

Керамические... радиолюбительские...⁠⁠

Серия Магнитики на разные случаи жизни

UN7FW себе на юбилей заказал керамические медали, чтобы подарить их на память своим друзьям-приятелям.

И немного процесса... вам же интересно... ;)

А ещё мы сделали памятные керамические магнитики для радиоэкспедиции в Калининградскую область. Заказчику очень понравилось. Нам тоже. :)

Керамические... радиолюбительские...
Показать полностью 20 3

Резистор для светодиода: почему расчёт «300 Ом и готово» стоит проверить ещё раз⁠⁠

Нужен простой индикатор питания от отдельного низковольтного источника 5 В. Хотим выбрать резистор так, чтобы расчётный ток не превысил 10 мА даже при разбросе деталей. Заодно получим понятный способ проверки, а не универсальное «ставь 220 Ом».

Материал подготовлен с помощью ИИ. Схема и числа учебные; физическая сборка и измерения не проводились.

1. Задаём условия, а не угадываем цветом

Для примера примем:
• питание от 4,75 до 5,25 В;
• прямое напряжение выбранного LED от 1,8 до 2,2 В в рассматриваемых условиях;
• расчётный потолок тока 10 мА;
• допуск резистора ±5%.

Диапазон 1,8–2,2 В здесь — условие учебной задачи, не обещание для любого красного светодиода. У реальной детали нужны данные производителя по току, температуре и допустимой мощности. Прямое напряжение зависит от тока и температуры; типовое значение при одной точке измерения не становится гарантированным диапазоном для всей схемы.

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

Объяснение производителя: https://www.analog.com/en/resources/technical-articles/guide...

2. Считаем сначала обычный случай

В цепи источник → резистор → LED → возврат к источнику ток через резистор и светодиод одинаковый. На резисторе остаётся разность между питанием и прямым напряжением LED:

R = (Uпит − ULED) / I.

Для 5 В, 2 В и 10 мА получится 300 Ом. Но это расчёт по выбранным центральным значениям, без допусков.

Резистор для светодиода: почему расчёт «300 Ом и готово» стоит проверить ещё раз

3. Проверяем угол, в котором ток максимален

Больше питание, меньше прямое напряжение LED, меньше сопротивление — больше ток.

Максимальная разность напряжений: 5,25 − 1,8 = 3,45 В.
Минимальное допустимое фактическое сопротивление: 3,45 / 0,010 = 345 Ом.
При допуске −5% номинал должен быть не меньше 345 / 0,95 ≈ 363,2 Ом.

Выбираем распространённый номинал 390 Ом ±5%. Его границы — 370,5 и 409,5 Ом.

Расчётный максимум: (5,25 − 1,8) / 370,5 ≈ 9,31 мА.
Расчётный минимум: (4,75 − 2,2) / 409,5 ≈ 6,23 мА.
При центральных значениях: (5 − 2) / 390 ≈ 7,69 мА.

Это границы принятой модели. Они справедливы, если реальный LED действительно остаётся в заданном диапазоне прямого напряжения. Если достоверных пределов нет, не называем эти числа гарантией: нужен дополнительный запас или ограничитель тока с подходящей спецификацией.

4. Проверяем мощность резистора

P = (Uпит − ULED)² / R.
Для того же неблагоприятного сочетания получаем 3,45² / 370,5 ≈ 0,032 Вт.

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

5. Три вещи, которые часто портят хороший расчёт

Первая: подключить LED без резистора, потому что на нём написано «2 В». Это не стабилизатор тока.

Вторая: запитать несколько параллельных светодиодов через один общий резистор и ожидать одинаковый ток. Для простых независимых индикаторов сделайте каждой ветви свой ограничитель: разброс LED иначе распределит ток не так, как хотелось.

Третья: перенести расчёт с источника 5 В на вывод микроконтроллера. У вывода есть допустимый ток, суммарные ограничения портов и падение выходного напряжения. Их проверяют отдельно по документации конкретной платы и микроконтроллера. В этой схеме GPIO вообще не используется.

Пример отдельных резисторов в параллельных ветвях: https://www.analog.com/en/resources/technical-articles/drivi...

Физика LED и последовательное ограничение: https://www.vishay.com/docs/led_physics.pdf

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

Итог: сначала задаём диапазоны, затем считаем худшее сочетание и мощность. Резистор не обязан знать, что расчёт был красивым. Ему достанется реальное питание и реальный светодиод.

Показать полностью 1

Чип-модуль⁠⁠

Тут смарт карта развалилась. Выпал чип-модуль. Видно начинку. Стеклотекстолит с контактными площадками, кристалл, проводники для подключения кристалла. И всё залито компаундом.

Показать полностью 2
2

Одно нажатие, пять событий: делаем нормальную кнопку для Arduino⁠⁠

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

Соберём простой учебный счётчик: одно обычное нажатие добавляет единицу, удержание ничего не добавляет, отпускание подготавливает следующее нажатие. Понадобятся Arduino Uno R3, нормально разомкнутая кнопка без фиксации и два провода. Результат смотрим в мониторе порта.

1. Сначала подключение

Кнопку подключаем между цифровым выводом D2 и GND. В программе включаем INPUT_PULLUP: внутренний подтягивающий резистор удерживает вход в HIGH, пока кнопка разомкнута. При нажатии кнопка соединяет вход с землёй, получаем LOW.

Итого:
• отпущена → HIGH;
• нажата → LOW.

Внешний подтягивающий резистор для этой учебной схемы не нужен. Вывод 5V к кнопке не подключаем. D2 остаётся входом: не переключайте его в OUTPUT с уровнем HIGH при замкнутой кнопке на землю.

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

Схема рассчитана на короткие провода на столе. Длинный кабель рядом с мотором или реле потребует отдельной работы с помехами.

2. Почему «если LOW, прибавить один» не годится

У такой программы сразу две проблемы.

Первая: loop() снова и снова видит LOW, пока вы держите кнопку. Счётчик растёт даже с идеальными контактами.

Вторая: механические контакты при переключении могут несколько раз замкнуться и разомкнуться. Это дребезг. Простого поиска перехода HIGH → LOW тоже недостаточно: переходов может оказаться несколько.

Нужны две вещи: фильтрация состояния и счёт только при переходе от подтверждённого HIGH к подтверждённому LOW.

3. Правило для фильтра

Увидели изменение входа — запомнили время. Вход изменился ещё раз — начали отсчёт заново. Если новых замеченных изменений не было 50 мс, принимаем состояние.

50 мс здесь стартовое значение, как в официальном примере Arduino Debounce. Для своей кнопки и нужной скорости реакции интервал стоит проверить. Дребезг бывает и при отпускании, поэтому фильтруем оба направления.

Паузы delay(50) в коде нет. Мы сравниваем время через millis(), и остальные задачи в loop() могут продолжать работу. При этом сам цикл должен часто возвращаться к чтению кнопки: длительная блокирующая операция в другом месте испортит опрос.

4. Код целиком

Загрузите скетч и откройте монитор порта на 9600 бод. Перед первым нажатием вывода не будет; затем появятся строки 1, 2, 3…

const byte BUTTON_PIN = 2;
const unsigned long DEBOUNCE_MS = 50;

int lastRawState;
int stableState;
unsigned long lastChangeMs;
unsigned long pressCount = 0;

void setup() {
Serial.begin(9600);
pinMode(BUTTON_PIN, INPUT_PULLUP);

// Состояние при запуске принимаем за исходное, не за нажатие.
lastRawState = digitalRead(BUTTON_PIN);
stableState = lastRawState;
lastChangeMs = millis();
}

void loop() {
const int rawState = digitalRead(BUTTON_PIN);
const unsigned long now = millis();

if (rawState != lastRawState) {
lastRawState = rawState;
lastChangeMs = now;
}

if (rawState != stableState &&
now - lastChangeMs >= DEBOUNCE_MS) {
stableState = rawState;

if (stableState == LOW) {
++pressCount;
Serial.println(pressCount);
}
}

// Здесь может работать остальная программа без длинных пауз.
}

Важны три детали:

• lastRawState хранит последнее сырое чтение, stableState — уже принятое состояние. Смешивать их нельзя: у них разные задачи.
• Счётчик увеличивается внутри проверки изменения stableState и только при LOW. Поэтому удержание не создаёт новых событий.
• Время хранится в unsigned long, а интервал проверяется вычитанием now - lastChangeMs. Такой способ переносит переход счётчика millis() через ноль при обычном непрерывном опросе. Вариант now >= lastChangeMs + 50 может сломаться на переполнении. Для Uno оно происходит примерно через 49,7 суток.

При запуске текущее чтение принимается за исходное состояние. Если включить плату с уже зажатой кнопкой, это само по себе не добавит единицу. Отпустите её минимум на интервал фильтра, затем нажмите. Это оговорённое поведение этого скетча, а не универсальное требование ко всем кнопочным интерфейсам.

5. Что должно быть на временной диаграмме

Представим учебную последовательность, в миллисекундах после условного начала наблюдения:

• до 100 мс вход HIGH;
• в 100 мс LOW, в 104 HIGH, в 108 LOW, в 112 HIGH, в 116 LOW;
• дальше вход держится в LOW;
• в 166 мс прошло 50 мс после последнего изменения: принимаем LOW и получаем первое нажатие;
• при отпускании: в 500 мс HIGH, в 504 LOW, в 508 HIGH;
• в 558 мс принимаем HIGH. Счётчик по-прежнему равен 1.

В реальном скетче принятие произойдёт на первом проходе loop(), когда условие времени выполнится. Точные отметки здесь нужны для объяснения алгоритма. Это не осциллограмма реальной кнопки.

6. Проверка на столе

После загрузки проверьте четыре вещи:

1. Нажмите и удерживайте кнопку секунду. Должна появиться одна новая строка.
2. Отпустите и подождите хотя бы 100 мс. Новая строка появляться не должна.
3. Снова нажмите. Счётчик должен увеличиться ещё на единицу.
4. Сделайте десять отдельных нажатий, выдерживая нажатие и отпускание заметно дольше 50 мс. Ожидается десять событий.

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

Если счётчик всё равно скачет, проверьте контакты кнопки, землю, монтаж и отсутствие длинных пауз в программе. Не стоит лечить любую неисправность увеличением задержки до размера обеденного перерыва.

Материал содержит авторскую учебную схему и адаптированный скетч на основе официальных примеров Arduino. Физический макет не собирался и на плате не проверялся. Код прошёл программные проверки с имитацией входа и времени на компьютере; это не заменяет проверку на реальной кнопке. Подготовлено с помощью ИИ.

Официальные примеры и справка:
• Подключение INPUT_PULLUP: https://docs.arduino.cc/built-in-examples/digital/InputPullu...
• Алгоритм подавления дребезга: https://docs.arduino.cc/built-in-examples/digital/Debounce/
• millis(): https://docs.arduino.cc/language-reference/en/functions/time...

Электроника, DIY и инженерный юмор — в канале 220 IQ: https://t.me/the220iq

Показать полностью 2
3

Паяльник пока не включаем: RC-цепочка в Falstad и платы в KiCanvas⁠⁠

Схема красивая. Номиналы на месте. Осталось разобраться, что она делает.

Вот два браузерных инструмента для разных задач: Falstad помогает посмотреть поведение простой цепи, а KiCanvas позволяет рассмотреть схему и плату из проекта KiCad. Начнём с маленького опыта, который можно повторить без деталей и дыма.

1. Falstad: куда делась «одна секунда»

Симулятор: https://www.falstad.com/circuit/
Готовый пример с зарядом и разрядом конденсатора: https://www.falstad.com/circuit/e-cap.html

В примере уже есть источник, переключатель, резистор, конденсатор и график. Для нашего расчёта нужны источник 5 В, резистор 10 кОм и конденсатор 100 мкФ. Номиналы компонентов меняются через правый клик и пункт редактирования. В исходном примере значения другие, поэтому сначала проверьте их.

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

Постоянная времени:
τ = R × C = 10 000 Ом × 0,0001 Ф = 1 с.

Ловушка в словах «постоянная времени». Через эту секунду конденсатор наберёт примерно 63% конечного напряжения. Полной зарядки к этому моменту никто не обещал.

Расчёт для выбранных номиналов:
• сразу после подключения: 0 В;
• через 1 с: примерно 3,16 В;
• через 3 с: примерно 4,75 В;
• через 5 с: примерно 4,97 В.

Это значения по формуле Uc(t) = 5 × (1 − exp(−t/τ)). В идеальной модели напряжение приближается к 5 В постепенно; за пять постоянных времени набирается около 99,3%.

Начальный ток равен 5 В / 10 кОм = 0,5 мА. По мере зарядки напряжение на резисторе уменьшается, поэтому уменьшается и ток. В учебном примере зелёный график показывает напряжение на конденсаторе, жёлтый — ток. Переключатель позволяет чередовать заряд и разряд.

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

Два изменения, которые полезно проверить:

• Увеличить R до 20 кОм. Постоянная времени станет 2 с, а начальный ток уменьшится до 0,25 мА.
• Вернуть R = 10 кОм и увеличить C до 200 мкФ. Постоянная времени тоже станет 2 с, но начальный ток останется 0,5 мА.

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

2. Небольшой подвох: подключаем нагрузку

Представим, что параллельно конденсатору появился ещё один резистор, тоже 10 кОм. Это уже другая схема.

В установившемся режиме два резистора образуют делитель, поэтому напряжение на конденсаторе будет стремиться к 2,5 В. Ждать 5 В бессмысленно, даже если очень убедительно смотреть на график.

Для расчёта постоянной времени идеальный источник напряжения заменяем коротким замыканием. Со стороны конденсатора два резистора оказываются параллельными:
Rэкв = 10 кОм || 10 кОм = 5 кОм.
τ = 5 кОм × 100 мкФ = 0,5 с.

То есть дополнительная нагрузка изменила и конечное напряжение, и время переходного процесса. Именно поэтому перед расчётом RC-задержки стоит проверить, что подключено к её выходу.

Это расчёты для идеальных компонентов. У реальных деталей есть допуски, у конденсатора есть утечка и ESR, у источника и следующего каскада — свои ограничения. Симулятор полезен для проверки идеи, а перед сборкой всё равно нужны подходящие модели, даташиты и проверка макета. Для такого учебного опыта достаточно низкого напряжения; сетевое питание не требуется.

3. KiCanvas: рассмотреть готовую плату

Просмотрщик: https://kicanvas.org/
Описание и ограничения: https://kicanvas.org/home/

Когда интересующая цепочка уже находится внутри проекта KiCad, пригодится KiCanvas. Он открывает схемы и платы прямо в браузере и читает файлы KiCad без предварительного экспорта в картинки.

Удобный сценарий: открыть опубликованный проект и разобраться, где в нём нужный узел. Например, найти RC-цепочку на схеме, посмотреть номиналы и затем сравнить её с платой.

У сервиса есть важные границы:
• это просмотрщик с доступом только для чтения; редактировать проект или моделировать его работу он не предназначен;
• поддерживаются файлы KiCad 6 и новее, старый формат KiCad 5 не поддерживается;
• проект обозначен разработчиком как early alpha: возможны ошибки отображения и недостающие функции.

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

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

Паяльник дождётся. Особенно если проблема была в расчёте.

Электроника, DIY и инженерный юмор — в моём канале 220 IQ: https://t.me/the220iq

Материал подготовлен с помощью ИИ. Числа в примере — расчёт идеальной модели, а не результаты измерений реального устройства.

Показать полностью
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества