Если кратко - аналог Arduino Uno на базе STM32F103C8T6. Основная задача - упростить работу с платой для начинающих в электронике.
ТЗ
Разработка устройства «Одуванчик»
В ходе проекта разрабатывается прибор – аналог Arduino Uno, под названием «Одуванчик» (далее – «Прибор»), включая электронную схему, разводку печатной платы и специальное ПО.
Основной функцией Прибора является работа в качестве Arduino Uno,
без изменения схемотехники совместимых с Arduino Uno модулей, а также с
модулями, которые невозможно использовать без конвертора уровней.
Основой платы является плата Blue Pill (МК STM32F103C8T6).
Требования к разрабатываемому Прибору:
- Прибор представляет собой некорпусированную печатную плату небольшого размера (определяются форм-фактором Arduino Uno), имеющую разъёмы и монтажные отверстия для крепления платы.
- Печатная плата должна быть рассчитана как на установку Blue Pill на верхней стороне, так и на установку компонентов без самой Blue Pill платы.
- Защита от случайной переполюсовки питания.
- Совместимость по количеству и типу контактов с Arduino Uno. Точные размер платы, тип и расположение разъёмов, расположение монтажных отверстий определяются на основе платы Arduino Uno.
- Токовая защита входов/выходов.
- Защита входов/выходов от повышенного напряжения.
- Безопасная связь с 3.3 и 5В логикой без внешних преобразователей уровней.
- Работа в широком диапазоне питающих напряжений через разъем питания 5.5 мм (не хуже 6-20 В).
- Большая часть компонентов на верхней стороне платы. В приоритете только на верхней стороне.
- Специальное ПО должно обеспечивать загрузку прошивки и отладку через предусмотренный на плате USB разъем.
Что уже готово?
На данный момент, в той или иной степени, выполнены пункты 1-9. Первая плата собрана.
Нельзя не отметить, что пункты выполнены с оговорками:
- Пришлось немного сместить некоторые разъемы и отверстия из-за нехватки места на печатной плате.
- С установкой на плату самих компонентов есть небольшая проблема. Распространенные платы BluePill имеют на борту стабилизатор с маркировкой LB33, рассчитанный на 300 мА. По недосмотру на плату был установлен AMS1117-3.3, что в общем-то даже хорошо, т.к. с него можно взять до 800 мА, а значит выше надежность.
Кварц на 32 КГц невозможно установить на текущую версию платы из-за неверного корпуса. Просто невнимательность. - Защита от переполюсовки присутствует. Но платим потребностью питать чуть более высоким напряжением (на диоде шоттки теряем 0.2-0.3В от входных).
- Совместимость сохранена частично. Но платы расширения (шилды) должны быть совместимы.
- Токовая защита примитивная. Токоограничивающие резисторы. Но она присутствует.
- Защита входов/выходов от повышенного напряжения до 50В. Но есть особенности. Переполюсовку допускать нельзя.
- Преобразователи уровней не нужны. Они встроенные. А точнее один. Из-за этого конфигурация должна быть или вся логика 3.3В или 5В. В будущем нужно что-нибудь придумать для одновременной работы.
- Через разъем питания может работать от 6 до 35В.
- Компоненты только на верхней стороне. И в производстве проще и в использовании.
- Разработка специального ПО пока даже не начата. Но в планах не изобретать велосипед и сделать в виде конфигурации платы и инструментов для поддержки в platformio.
Из-за невнимательности, последствия которой были упомянуты в пунктах выше, была допущена еще одна ошибка. Был выбран неверный корпус транзистора BSS138. На этапе заказа я почему-то решил, что окончание W - означает Wide (широкий), на деле же оказалось – корпус SOT-23. Мне был нужен SOT-323. Заказанный корпус был на 0,75 мм шире нужного. А монтаж плотный. В общем, влипли.
Пришлось заниматься ювелирной пайкой.
Примерил cnc shield, встает как на родную.
Что дальше?
А дальше - тесты, тесты, тесты...
Нужно проверить работу:
- Защиту от переполюсовки
- Совместимость с cnc shield
- Ограничение тока через пины
- Защиту от повышенного напряжения на пинах
- Связь с 3.3 и 5В логикой без внешних преобразователей уровней
- Работу через разъем питания
- USB
Кроме всего прочего еще нужно хотя бы начать работу над ПО или воспользоваться готовым решением (загрузчиком arduino) для удобной загрузки и отладки платы. Потому что на данный момент все выглядит примерно так:
Сразу два внешних устройства. Программатор ST-link и USB-UART преобразователь. В будущем они не должны требоваться.
Ну а пока на этом все!
Уже вышла статья с тестами и видео!
—————————————————————————
Спасибо, что дочитали статью!
Подпишитесь пожалуйста на мой канал "Заметки Электроника | Alexander.Chad", этим Вы очень сильно поможете мне. Канал существует только за счет наличия и участия подписчиков.
Если Вам понравился материал - поддержите его лайком или даже донатом (ЮMoney). Есть что сказать? Оставьте комментарий! Это тоже будет помощью.
Сейчас канал нуждается в Вас как никогда прежде!