Всем привет! Помимо основной работы, я занимаюсь довольно большим количеством пет-проектов, но никогда о них не писал.
Теперь я решил исправить ситуацию и написать о только что завершенном проекте.
Я был вдохновлен на его создание это работа Джордж Хиллиард.
Цель проекта
Сделайте самую дешевую версию визитной карточки USB Flash, которая будет содержать мое резюме, исходный код и еще несколько файлов.
В этом случае используйте доступные компоненты, которые можно заказать у LCSC и JLCPCB.
Что мне нужно было для этого сделать?
Подберите дешевые, но не потребительские комплектующие, выложите для них печатную плату, запаяйте и напишите прошивку.
Что в конечном итоге делает моя визитная карточка?
Как вы можете догадаться, моя визитка имитирует небольшую флешку, на которой находится резюме на двух языках, исходный код, прошивка, Gerber-файлы, схема и печатная плата, а также моя фотография.
Основные компоненты проекта
Микроконтроллер STM32F070F6 — это был самый дешевый вариант контроллера с USB-устройством на борту, который я нашел; Винбонд W25Q32 — последовательная флэш-память объемом 4 МБ; Светодиоды 0805 - белый и синий цвета, для красоты; ЛП3992 — понижающий преобразователь напряжения 3,3В, источник питания микросхем; USBLC6-2 — защита USB-разъёма от статики.
Мой подход к разработке домашних проектов
Есть определенный способ, которым я следую при программировании микроконтроллеров:- Не используйте SPL, HAL и другие библиотеки для программирования периферии.
Я следую этому правилу на своей основной работе;
- Не используйте ОС.
Я считаю, что мои домашние проекты недостаточно сложны, чтобы использовать этот полезный инструмент;
- Не используйте кучу.
Применяется только к домашним проектам (не обязательно);
- Не используйте динамическое распределение памяти.
Применяется только к домашним проектам (не обязательно).
Дизайн
Компоненты Для начала мне нужно было подобрать комплектующие для моей идеи, потому что.кроме рассыпчатого ничего у меня не было.
Для этого я решил воспользоваться сервисом LCSC как дешевым и доступным вариантом домашней разработки.
Как оказалось, по многим параметрам я вписываюсь идеально.
Для примера я использовал все выводы микроконтроллера, использовал 6кБ ОЗУ, из них 4кБ занял буфер для передачи данных с USB на SPI Flash, использовал ножки для USB, которых на этом физически нет контроллер и т. д. В итоге цена составила: Микроконтроллер STM32F070F6 -0.64$ Последовательная флэш-память Winbond W25Q32 — $0,35 Понижающий преобразователь LP3992-33B5F — 0,04 доллара США.
Статическая защита USBLC6-2SC6 -0.08$ Кварц — 0,15 доллара США.
Резисторы и конденсаторы я использовал форм-фактора 0603, светодиоды 0805. Все это у меня уже было, поэтому подсчитать их стоимость не представляется возможным.
Однако можно с уверенностью сказать, что цена всего уложилась в $1,5 с запасом.
По сравнению с проектом Хиллиарда это выглядит недешево, но и цены у меня не оптовые.
Печатная плата и схема Схема и распечатка платеж выполнено в Altium Designer, скриншоты прилагаются.
Все компоненты подключены согласно даташитам.
Микросхема флэш-памяти запускается от контроллера через МДП-транзистор.
Проблема здесь была в разъеме USB. Согласно спецификации USB, его толщина составляет 2 мм.
Доску такой толщины заказывать дорого, да и для визитки не очень практично.
Я увидел выход из ситуации один мужчина , который сделал музыкальную визитку.
Он использовал плату 1 мм и сделал на ней дополнительный разъем, который оторвал и припаял поверх основного.
Я сделал то же самое.
Пайка
Пайка компонентов в целом не вызвала никаких проблем.
Пропаял все феном и паяльной пастой.
Единственной проблемой для меня была пайка микроконтроллера.
Паяльная паста оставила слишком много пятен; паять такие ножки паяльником было сложно.
В итоге я просто промазал все площадки припоем, а затем припаял микроконтроллер феном.
Программирование Мне нечего здесь сказать; Я программировал все на низком уровне, на C++.
Источник Я прилагаю .
Я получил доступ к реестрам по статье ламерок .
USB реализован с помощью микроконтроллера.
Чип флэш-памяти работает по SPI через DMA на максимальной скорости.
Диоды мигают по очереди, когда таймер прерывается через 250 мс.
Заключение
Думаю на этом все, основные моменты я описал.Если нужно что-то раскрыть подробнее (программирование USB, Flash или схемотехника), то пишите, обязательно сделаю.
Всего наилучшего! Теги: #Программирование микроконтроллеров #Производство и разработка электроники #stm32 #Сделай сам или Сделай сам #поделки #схемотехника #пайка #usb #флешка #печатная плата #визитка #флешка
-
Периодическая Система Элементов
19 Oct, 24 -
Как Включить Новый Дизайн Google
19 Oct, 24 -
Яндекс, Последние Изменения (Размышления)
19 Oct, 24 -
Торрент Тв С Myka Bittorrent
19 Oct, 24 -
Цтф В России
19 Oct, 24 -
Обзор Стандартных Форматов Cades
19 Oct, 24