Ответы пользователя по тегу Микроконтроллеры
  • Как наладить p2p соединение по протоколу UDP без белых IP?

    @sled
    нужно использовать протокол, который открывает сессию и не закрывает (например websocket). Например при http запросе: каждый запрос открывает сессию в NAT (получает внешние IP и порт), потом приходит ответ и сессия NAT закрывается, соответственно новый запрос создаст новую сессию NAT с другим портом и после ответа NAT закроет сессию - удалит у себя привязку своего внешнего порта NAT к тебе.
    И вот когда ты добьешься того что сессии NAT не удаляются (так работаю push сообщения), то тогда сможешь со стороны твоего внешнего сервера (с белым IP) передать клиентам куда им друг другу стучаться в ip адреса и порты со стороны NAT. (Так мне сетевик обьяснял, может что-то я не понял)
    Это нужно поизучать через Wireshark.
    Если сообщения просто для себя - не гонять мегабайты, то проще пересылку сообщений сделать через соцсети - ВК или Телега (через API).
    Ответ написан
    Комментировать
  • Как организовать работу одного радиопередатчка и нескольких приемников?

    @sled
    Реализовывать на том что умеешь/получается.

    Передатчик 433 должен выдавать пакет, в котором нужно указывать адрес, а уж по адресу устройство должно ответить и также в ответе сообщить адрес. Другие устройства принимают пакеты и если видят не свой адрес - молчат. Также нужно определиться со стартом в передаче и контролем данных в пакете ( контрольной суммой, CRC )
    Ответ написан
    Комментировать
  • Какой язык изучать для программирования микроконтроллеров?

    @sled
    новичку, да и любому другому, необходима информация и наработки/библиотеки, поэтому важно комьюнити. Если Вы все нашли для python, python не создает проблем/ограничений и Вас все устраивает, то - вперед.
    Но самое большое комьюнити - С/С++, также обратите внимание на Mbed.
    Ответ написан
    Комментировать
  • Как реализовать счётчик в uKeil?

    @sled
    Чем Keil отличается от других редакторов?
    1.Какой МК?
    2.Каким способом ведется опрос кнопки?
    3.Передача в ПК по UART или USB?

    2.Можно тупо в цикле опрашивать DI кнопки, а можно настроить прерывание.
    Далее нужна фильтрация от дребезга, при циклическом опрашивании алгоритм прост - накопление в переменной (в инете есть). При настройке на прерывание нужно запускать таймер и если таймер насчитает задержку без прихода новых прерываний, то можно считать что дребезга нет и произошло нажатие.
    3. передача по UART настраивается и передавай что нужно в COM-порт. Для USB бывают эмуляторы COM-порта. Можно МК как HID устройство настроить.
    Ответ написан
    Комментировать
  • Что почитать по 16 битному ассемблеру?

    @sled
    ассемблер совсем разный для разных платформ, да общие подходы имеются, но и отличия огромны.
    Нужно понимать под какую задачу Вы собираетесь изучать.
    Например есть микроконтроллеры AVR, в инетах много информации по ассемблеру AVR. Так же есть микроконтроллеры ti msp430 (16бит), SRM32 (32бит), но это уже другой уровень погружения особенно STM32.
    Так же есть ассемблер для ПК - masm, tasm, fasm, nasm. Но некоторые уже не поддерживаются.
    Посмотрите статьи для начинающих/чайников и видео на YouTube, чтобы ознакомиться и создать представление.
    Если совсем не разбираетесь в программировании, то лучше начать с языка С. Например С для микроконтроллеров AVR, да есть Ардуино, но Вы там нахватаетесь поверхностных/ошибочных представлений - это будет тупик...
    Ответ написан
    Комментировать
  • К какой линейке относится STM32F103c8t6 - STM32F10X_MD или STM32F10X_MD_VL?

    @sled Автор вопроса
    #define STM32F10X_MD
    Ответ написан
    Комментировать
  • Как вырасти из Ардуино?

    @sled
    1. реализуй свои проекты Ардуино без подключения уже готовых библиотек ардуино, сам напиши их.
    2. начав реализовывать пункт 1 поймешь что мало обратной связи от чипа - нужен программатор-отладчик типа USBasp (для обновления прошивки в них же нужны два таких программатора Обновление прошивки USBASP для AVR) - вот ты и перешел на чистый AVR
    3. попробуй STM32 (STM32F103C8T6 + ST-Link V2 (программатор-отладчик))
    Ответ написан
    Комментировать
  • С чего начать изучать программирование микроконтроллеров?

    @sled
    Ардуино -> AVR -> STM32

    Можете заказать на Али все эти железячки и посмотреть что получиться осилить.
    Ардуино - это тот же AVR, только с зашитым загрузчиком, который позволяет записывать прошивку через USB, но онлайн отладки на чипе у Ардуины нет.

    Итак ищем на Али:
    Arduino UNO
    Arduino Nano
    Digispark (ATtiny85)
    AVR USBASP (программатор для avr)
    STM32F103C8T6 + ST-Link V2 (программатор-отладчик)
    Ответ написан
    Комментировать
  • Можно ли (китайским) st-link'ом программировать "Минимальные модули для ардуино" (на стм32)?

    @sled
    Да работают, брал несколько так называемых Ардуино на STM32F103c8t6 и несколько ST-Link, все со всеми работают.
    Ответ написан
    Комментировать
  • Как уменьшить напряжение с 5 до 3.3 вольт?

    @sled
    Лучше сразу покупать на Али готовую платку с конвертером USB/UART CH340 и со стабилизатором напряжения AMS1117 3.3.
    5b7d44cadb3c2436361278.jpeg5b7d44d48d916112287946.png

    Стабы:
    https://www.chipdip.ru/catalog/ic-stabilizers?x.15...
    или вот
    https://www.chipdip.ru/catalog/ic-stabilizers?x.57...

    на LM317T - hardelectronics.ru/lm317t-sxema-vklyucheniya.html

    или Али - https://ru.aliexpress.com/af/dc-3.3v.html?SearchTe...
    .
    Ответ написан
    Комментировать
  • Мощный MOSFET - правильно ли я понимаю, что параметры управления подходят?

    @sled
    Да, Gate Threshold Voltage - это пороговое напряжение после которого транзистор откроется полностью, для этого на затвор (G) транзистора нужно подать напряжение между 4 и 20 вольт. Лучше - ближе к середине.
    Так как это N-канальный транзистор, то управляется он отрицательным напряжением, т.е. напряжение на ножке G относительно ножки S должно быть от -4В до -20В.
    Вот для наглядности: https://youtu.be/S1UtbfI20OY
    Частота 1кГц - норм. Собственно скорость переключения зависит от сопротивления на линии управления затвором. Но сильно уменьшать это сопротивление не нужно, потому как это приводит к увеличению пикового тока через выходной ключ Ардуино при зарядке емкости в MOSFETе (как сказано в видео). Также можем приблизиться к параметру Peak Diode Recovery (предельная скорость нарастания напряжения) - а оно нам надо?! )
    Более правильным будет управлять через оптопару, чтобы разделить цепи управления и силовые цепи. Или хотя бы через промежуточный управляющий транзитор, операционник, ключ-сборку (ULN2003A), драйвер MOSFET
    Ответ написан
    Комментировать
  • Существуют ли платы STM32 в паре с Arduio IDE?

    @sled
    Есть ардуино-платки STM32F103C8T6 на Алиэкспресс.
    Так же можно найти загрузчик Ардуино для этого SMT32.
    В среде разработки Ардуино выбирается STM32F103C8T6 и загружаем программу.
    Ответ написан
    Комментировать