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

Подземелье дизлайков

Экшены, Аркады, Шутер

Играть

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

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

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

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

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

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

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

Stm32 + Самоделки

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

Микроконтроллеры Электроника Arduino Программирование Своими руками Вертикальное видео YouTube Рукоделие с процессом Идея Все
8 постов сначала свежее
dxxp
dxxp
28 дней назад

Какие номиналы резисторов самые ходовые? Резистор металлаплёночный 1% 0.25Вт 1/4W⁠⁠

Пополняю ассортимент своего магазина. Хотел спросить у более сведущих в этой сфере людей. Какое сопротивление резисторов самое ходовое? Как лучше закупить и каких побольше?

Техника Электроника Электрика Технари Радиокомпоненты Компоненты Радиотехника Самоделки Arduino Stm32 Arduino Nano V3 Радиодетали Резистор Транзистор Сопротивление Физика Запчасти Радио Светодиоды Диоды Текст
13
9
sparsw
3 месяца назад

Yet Another: Реализация R2R-ЦАПа на 0805-smd резисторах и STM32F103C6T6⁠⁠

Yet Another: Реализация R2R-ЦАПа на 0805-smd резисторах и STM32F103C6T6 Микроконтроллеры, Stm32, Самоделки, Обучение, Видео, Короткие видео, Длиннопост

Недавно узнал о простейшей схеме с названием R2R-ЦАП, а поскольку являюсь совсем уж начинающим радиолюбителем, то решил ее реализовать. С одной стороны это вполне себе цифровая схема, а с другой стороны на выходе получается аналоговый сигнал. Вполне себе учебная "задачка" из разряда "помигать светодиодом". Ну а в заметке опишу, что же в итоге удалось получить - вдруг опытные и знающие люди подскажут и помогут теми или иными ценными советами :), которые будут также полезны и всем другим начинающим радиолюбителям.

Для начала на макетной платке припаял резисторы. В качестве номинала взял 100 Ом и 200 Ом. Почему такие номиналы? Ну какие-то надо было взять. Так что выбор номиналов был по сути случайный. Изначально сделал в ЦАПе 12 бит, но в последствии использовал из них только 10 бит. Дело в том, что smd-резисторы с типоразмером 0805 брал самые простые. Точность номинала на них указана в 5%, что изначально должно ограничить характеристики схемы. Поэтому сразу возникла идея провести для получившейся схемы минимальную калибровку, поскольку правильные значения на выходе R2R-ЦАПе получаются только при "идеальном" значении резисторов. На плате STM32F103C6T6 в наличии имеется 12-битный АЦП, при этом пишут, что такой ЦАП имеет внутренние шумы, а значит делать калибровку для ЦАПа, работающего в режиме 12-бит, вряд ли имело смысл. Вот и ограничился в итоге для ЦАПа 10-битами.

Yet Another: Реализация R2R-ЦАПа на 0805-smd резисторах и STM32F103C6T6 Микроконтроллеры, Stm32, Самоделки, Обучение, Видео, Короткие видео, Длиннопост

Тот самый R2R-ЦАП на 12 бит

Итак, самый первый сигнал который стал формироваться с помощью получившегося ЦАПа - это пила, то есть повторяющиеся кусочки простой линейной функции.

Yet Another: Реализация R2R-ЦАПа на 0805-smd резисторах и STM32F103C6T6 Микроконтроллеры, Stm32, Самоделки, Обучение, Видео, Короткие видео, Длиннопост

простой линейный сигнал

Здесь сделаю небольшое отступление про осциллограф. Чтобы в целом придерживаться формата "Опыт начинающего радиолюбителя". Когда выбирал свой первый и на данный момент единственный осциллограф, то самым главным критерием для меня была ... Угадали? Да, конечно это была цена. В ситуации, когда не было никакого опыта выбора осциллографов, брал самый дешевый. И это оказался Fnirsi 1014D, который обошелся мне в 11'625 рублей. Возможно "цифровой" Hantek обошелся бы дешевле, причем с лучшими характеристиками, но хотелось получить осциллограф именно с экранчиком, все как у настоящих осциллографов, чтобы все было по "взрослому". Покупал естественно на aliexpress. И еще наверное меня очень сильно подкупило, что доставка была всего 5 дней, видимо сразу со склада в России. Иногда, особенно по началу так тягостно ждать очередной посылки с aliexpress. И как это обычно бывает самые "полезные" обзоры, в которых был полный разгром данной модели, попались уже после покупки. Но лично мне данный осциллограф тем не менее помог очень сильно и не раз. Например, без него в принципе не смог бы разобрать свои ошибки в программировании SPI-обмена с платой WizNet 5500. Ну и еще такой момент. Когда в старших классах был физический практикум (привет "Трем Кубикам" :)), то пару занятий были посвящены работе с осциллографами. А это были еще старые советские осциллографы, с люминофорными экранами. Это было волшебно! Щелкать тумблерами, ждать пока осциллограф немного прогреется. Но занятий было всего пару штук. И наиграться тогда вдоволь не получилось. Но это удалось сделать с Fnirsi :). Закрыть так сказать гельштат.

Напишу также пару слов и про плату WizNet 5500 и плату STM32F103C6T6 со всеми ее "коварствами" после STM32F103C8T6. Плата WizNet 5500 позволяет, где-то за 300-350 рублей (последние цены не смотрел) снабдить bluepill-плату ethernet-интерфейсом, при этом сразу с UDP и TCP соединениями на уровне wiznet-библиотеки для микроконтроллера, реализованными в wiznet-чипе аппаратно. Мне разобраться в примерах было не просто, но так или иначе установить tcp-соединение с компьютером в итоге получилось. Естественно изначально хочется зарезервировать скорость обмена по-больше, про запас, а то вдруг потом не хватит! Поэтому настроил SPI на stm'ке на 36 МГц. Но реализовав обмен по tcp-сокетам заметил, что часть пакетов иногда теряется. И этого в tcp!!! Без разрыва сокетного-соединения!!! Да как такое вообще возможно!!! Но тут скорее все дело в том, что максимальная заявленная скорость для Wiznet 5500 по SPI - это 33 МГц (как обычно совершенно случайно где-то на просторах интернета встретил такие строки). Снижать скорость на SPI до 18 МГц еще не пробовал. Но с микроконтроллерами постоянно какие-то "обломы". Вот только что все работало. Добавил пару строк в прошивку - и вот уже не работает ничего, а самое главное не получается вернуться на работающие состояние :(((. Но зато как приятно и спокойно становиться, когда разбираешься в причинах очередного "косяка".

Теперь, чем же надо мной так "подшутила" плата STM32F103C6T6. И дело тут, не подумайте плохого, вовсе не в жадности, а дело тут в самой что ни на есть, мать ее, экономии, потому что "гадость", но зато на свои. Платы STM32F103C8T6 продаются за 130-150 рублей. (Возможно это все нелицензионные копии, но мне на неработающие платы попадать не приходилось, тут стараюсь смотреть на рейтинг магазина.) Немного добавишь, и уже blackpill на 84 МГц заместо 72МГц от 180 рублей можно найти. А вот STM32F103C6T6 находятся за 90-100 рублей (и это если не сильно долго искать). В общем жаба начинает душить во всю мочь. Ну подумаешь там 10Kb и 32Kb флеш-памяти заместо 20Kb и 64Kb. Мне вполне вроде бы этого хватает. Короче так я подумал, заказал и забыл. Совсем забыл, что заказал STM32F103C6T6. А когда стал заливать прошивку - бац, и ничего не работает. Диодики не мигают. Что делать? Неужели платка превратилась в кирпич. А за ней еще одна. А за ней еще одна. Ужас охватил меня... Так что пришлось тут научиться подключать отладчик gdb с помощью st-util (спасибо, добрым товарищам написавшим посты про это на форумах). И затем вслед за микроконтроллером впадать в ступор, когда самая обычная, самая первая операция ST выводит микроконтроллер в астрал. И только потом обратить внимание на эти самые 10Kb, которые как в ничем не бывало оказывается печатает программа прошивки в консоль, и что надо править ld-скрипт для изменения установки начального адреса стека. А еще таймеров там меньше, и SPI'ев меньше, а самое неожиданное - там еще и GPIO-портов меньше доступно, что уже совсем подло, с учетом того, что внешне платы ну ничем не отличаются. Но пенять тут надо конечно только на себя самого.

00111111b -> 01000000b

Вот в такие моменты результирующие значения напряжения и могут "проседать". Но то что без использования (безумно дорогих) прецензионных резисторов в ЦАПе будут искаженные выходные значения вполне допускалось. При измерении итоговых значений на выходе ЦАПа для каждого 10-битного значения делалось усреднение по 32 измерениями. При повторном проходе все средние значения в целом подтвердились, однако чувствительная дисперсия все-таки наблюдается. Но тут и собрано все на коленках, и проводки не экранированы (подсмотрел такое оправдание в интернете), и шумы в АЦП есть, так что танцоры если что мы хорошие, а это все они - те самые шумы. Еще тут конечно можно задаться вопросом, а насколько постоянный уровень напряжения на ножках микроконтроллера (использование powerbank'а в качестве источника напряжения видимого эффекта не дало). Но для проверки нужна видимо аппаратура совсем другого класса и стоимости. А откуда все это у простого начинающего радиолюбителя? Тем не менее приведу график построенный из измеренных значений:

Yet Another: Реализация R2R-ЦАПа на 0805-smd резисторах и STM32F103C6T6 Микроконтроллеры, Stm32, Самоделки, Обучение, Видео, Короткие видео, Длиннопост

График измерений реальных значений ЦАПа

Как видно значения ЦАПа вместо линейной функции выдают почти "линейную" функцию со скачками. Но раз таблица получена, то можно для каждого значения, которое нужно получить на выходе из ЦАПа найти такую комбинацию из 10 битов, которые дадут наиболее близкое значение к требуемому. И тогда простой сортировкой для конкретной платы ЦАПа получается таблица обратного поиска, по которой для требуемого значения находится оптимальная комбинация битов. И вуаля, у нас получается второй график, на котором все возможные значения на выходе из ЦАПа, уже выстроены в монотонную функцию:

Yet Another: Реализация R2R-ЦАПа на 0805-smd резисторах и STM32F103C6T6 Микроконтроллеры, Stm32, Самоделки, Обучение, Видео, Короткие видео, Длиннопост

Линейная функция и ее аппроксимация табличными значениями

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

Yet Another: Реализация R2R-ЦАПа на 0805-smd резисторах и STM32F103C6T6 Микроконтроллеры, Stm32, Самоделки, Обучение, Видео, Короткие видео, Длиннопост

Линейная функция и ее аппроксимация табличными значениями (увеличен масштаб)

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

На последнем графике выводятся сразу два линейных сигнала по очереди. В одном используются подобранные битовые коды, а во втором - как и ранее прямая "наивная" последовательность битовых кодов. Там где прямая "наивная" последовательность - там есть скачки. Там где последовательность подобранных битовых кодов - сигнал получается "монотонным". Ну а дрожание сигнала время от времени спишем на неэкранированные проводки. Снова вооружившись таблицей, теперь попробуем сделать синусоиду. На один период синусоиды возьмем 32 значения, так что 33 значение начнет уже следующий период, поэтому совпадет с начальным значением. Значения, благодаря, калибровочной таблице должны быть монотонны (на участках монотонности синусоиды). Правда как оказалось просто дискретные скачки будут по-страшнее всякой небольшой не монотонности. Так что в итоге получим примерно следующую картинку:

Yet Another: Реализация R2R-ЦАПа на 0805-smd резисторах и STM32F103C6T6 Микроконтроллеры, Stm32, Самоделки, Обучение, Видео, Короткие видео, Длиннопост

Синусоида из 32 значений не период

В целом удалось получить гармонический сигнал с частотой в 204 КГц, ну или почти гармонический сигнал :). Как писать оптимальные циклы для микроконтроллера не знаю, я сделал (на Си) простой бесконечный цикл из LD, ST, ADD и AND, где операция AND обрезает индекс после инкремента и тем самым зацикливает чтение. С этой точки зрения цикл для сигнала с длиной равной степени двойки будет наиболее быстрым. А потому будет давать более высокую частоту сигнала. По моим прикидкам длительность одной итерации цикла составляет 6МГц, то есть с такой частотой можно менять значения сигнала, длина которого есть степень двойки (32*204КГц = 6.528МГц).

Теперь попробуем увеличить частоту гармонического сигнала, для чего возьмем всего 6 точек на один период синусоиды и не будем при этом слишком строги к результату :)

Yet Another: Реализация R2R-ЦАПа на 0805-smd резисторах и STM32F103C6T6 Микроконтроллеры, Stm32, Самоделки, Обучение, Видео, Короткие видео, Длиннопост

Синусоида из 6 точек на период

Да, это тоже синусоида. Ну и что не синусоидная. Зато частота в 857КГц. И потом все очень сильно зависит от масштаба и точки взгляда :). Возьмем, например, предыдущую синусоиду и сделаем из нее конфетку простым изменением масштаба по времени и амплитуде. При подходящем масштабе для 32-точечной синусоиды все ОЧЕНЬ ГЛАДКИМ становится и "шершавости" совсем незаметны:

Быстро сказка сказывается, да не скоро дело делается. А как же фильтры нижних частот спросите Вы. А как же, слыхали и про них, слыхали. И даже такое страшное название как ФНЧ-Баттервота 7-ого порядка встречать доводилось. В интернете и не такое можно встретить. Благо найти и онлайн ФНЧ-калькулятор не сложно. Но есть две загвоздки. Опять не очень понятно как правильно выбирать сопротивление (согласование каскадов, входное и выходное сопротивление, импеданс - все это пока страшные заклинания). А вторая загвоздка более серьезная - в наличии у меня были индуктивности только на десятки и сотни нГн, а вот на десятки и единицы мкГн - увы, не ма. И приедут они только через несколько недель. А именно такие значения индуктивностей выдает онлайн калькулятор для частоты среза в 2-3 МГц. Единственное, что оставалось так это допаять RC-фильтр (первого порядка?). Снова берем значение резистора наобум и выбираем 560 Ом. Подбираем значение конденсатора в 180пФ, чтобы частота среза была примерно 1.6МГц.

Yet Another: Реализация R2R-ЦАПа на 0805-smd резисторах и STM32F103C6T6 Микроконтроллеры, Stm32, Самоделки, Обучение, Видео, Короткие видео, Длиннопост

R2R-ЦАП после добавления RC-фильтра (то есть резистора и конденсатора)

И в принципе для 32-точечной синусоиды даже RC-фильтр заметно помогает. Она действительно становится практически гладкой, ну насколько об этом можно судить из осциллографа:

Yet Another: Реализация R2R-ЦАПа на 0805-smd резисторах и STM32F103C6T6 Микроконтроллеры, Stm32, Самоделки, Обучение, Видео, Короткие видео, Длиннопост

Животворящий ФНЧ для 32-точечной синусоиды, пусть он всего лишь и RC

Кое-что RC-фильтр делает и для 6-точечной синусоиды, хотя уже и не так много:

Yet Another: Реализация R2R-ЦАПа на 0805-smd резисторах и STM32F103C6T6 Микроконтроллеры, Stm32, Самоделки, Обучение, Видео, Короткие видео, Длиннопост

RC-фильтр пытается помочь 6-точечной синусоиде стать более гармоничной

К сожалению попробовать что-нибудь по-солиднее, чем RC-фильтр пока нет возможности. Поэтому вопрос, а можно ли получить приличную синусоиду на 1МГц с помощью STM32F103C6T6 (работающей на частоте 72МГц) и R2R-ЦАПа лично для меня пока остается открытым.

Итого подведем небольшой итог. Стоимость STM32F103C6T6 составляет порядка 100 рублей. Кусочек текстолита с набором SMD-компонент в лице резисторов, конденсаторов и индуктивностей (для Баттерворта 7-ого порядка) оценим также в 100 рублей. Соответственно получаем ЦАП за 200 рублей для сигнала с частотой на 200КГц, возможно с достаточно произвольной формой по частоте и амплитуде. А вот можно ли выправить фильтрами синусоиду с частотой в 1 МГц из 6 точек на период пока не понятно.

Есть конечно AD9834, который выдает синусоиду аж на целых 37.5МГц, но стоимость готовой платки, если не ошибаюсь, начинается уже от 1800 рублей. Сам чип возможно получиться и за 700-800 рублей найти (а то и 500 рублей), но тогда надо самому делать плату. А сны про черную и белую магию уровня "развести плату" пока только сами снятся в других снах :). Да и 37.5МГц тоже как бы не предел мечтаний. Но самое главное, что хотя на плате два выхода, на самом деле это один сигнал. Дифференциальный это сигнал или нет, да и что такое это самое дифференциальный сигнал и как с ним работать для меня сплошная тайна.

Есть AD9851, у которого вроде бы две синусоиды и максимальная частота уже 70МГц. Это уже почти хорошо, но это надо проверять. Можно ли эти синусоиды синхронно сдвинуть ровно на четверть периода и действительно ли их две независимых. Цена у AD9851 при этом уже более комфортная. Тем не менее пишут, что шумов много, а реальная максимальная частота скорее 50МГц - 60МГц. Малова-то.

Есть еще конечно и AD9959 с ценой готовой платы от 6000 рублей. Там сразу 4 выхода и частота синусоиды уже вроде как 200МГц, а это уже предел (текущих) мечтаний. Но 6000 это 6000. Кроме того, странно что выхода на плате 4, а вот сигналы у самого чипа вроде как тоже сдвоенные (дифференциальные?), а значит выходов должно быть 8. Не понятно. В общем цена у AD9959 пока совсем не "симпатичная".

С другой стороны продаются платы с ADF4351, который уже не DDS, а именно, что генератор частоты, если конечно правильно все понял. Там цена готовой платы уже где-то в районе 1700 рублей (видимо недавно цена на них снизилась, может быть много их наклепали). И частоты от 35МГц до каких-то сказочных и фантастически-невозможных 4.4ГГц, и вроде бы два выходных сигнала. Но опять это похоже сдвоенные выходы одного сигнала. Есть у ADF4351 и вход для внешней clock-частоты. Но что это за частота, какая форма сигнала допустима и как она влияет на выходной сигнал. Что-то вроде бы написано про задержку фазы, и если задержку фазу действительно можно настраивать, то на первый взгляд из двух ADF4351 при общем источнике внешней частоты можно собрать две синхронных синусоиды. Да еще с практически с любой частотой, хоть 1ГГц. Но так ли это на самом деле.

Если все-таки немного еще пофантазировать и помечтать, то для повышения частоты R2R-ЦАПа напрашивается использование ПЛИС. И есть даже OMDAZZ с его частой в 50МГц. Лежит, пылится, все по принципу как знал, как знал, что "пригодится". Наверное, можно с OMDAZZ вытянуть частоту синусоиды до ~10МГц, если выход действительно можно сгладить фильтрами. Осталось только чуть-чуть освоить verilog и сделать первую самую простенькую прошивку - делов-то (впрочем, если серьезно, то осваивать verilog по принципу google/yandex-поиск и копи-паст все равно наверное придется). Если гипотетически рассмотреть условно восемь параллельных выходов, которые соединяются электронными ключами, то тем самым получается буферизация для выходного сигнала. А переключение идет с помощью счетчика, тактируемого с частотой умноженной в 8 раза по сравнению с частотой ПЛИС, при этом все 8 выходов устанавливаются за один такт ПЛИС. Вот только логических элементов с частотой переключения ~500МГц как-то не наблюдается на горизонте. Пара ADF4351 выглядит перспективней по частотам, но поди их собери вместе. И тогда видимо альтернативы для платы с AD9959 и ее ценой в 6000 рублей для получения двух синхронных синусоид с частотой 100МГц, сдвинутых относительно друг друга на четверть периода, похоже не особо просматривается.

UPD:

пропущенный абзац перед
00111111b -> 01000000b

Однако вернемся к R2R-ЦАПу и линейному сигналу. Как видно просто из картинки в сигнале есть скачки. Самый сильный скачок так раз по середине сигнала. В принципе как потом стало ясно из калибровки, то есть оцифровки сигнала через ЦАП все той же STM-платы, что точки скачков кратны степеням двойки. И можно предположить, что связаны они с переходом от предыдущих значений к следующим значениям, большим на единичку, когда значительное количество младших битов заменяется на один старший бит:

UPD2:
Как оказалось тема калибровки на просторах интернета все-таки поднималась. Например, вот здесь: https://www.eevblog.com/forum/projects/r-2r-ladder-dac-calib...
Там кстати есть точно такая картинка с экрана осциллографа для линейной функции. И там ровно все те же скачки в точках, кратным степеням двойки. Похоже гуглить надо так:
"r2r dac calibration"

Показать полностью 11 2
Микроконтроллеры Stm32 Самоделки Обучение Видео Короткие видео Длиннопост
7
304
a3atbb
a3atbb
3 года назад
LEGO

Инженер встроил 32-битный микрокомпьютер в деталь LEGO⁠⁠

Новозеландский инженер Джеймс Браун модифицировал небольшую деталь LEGO, превратив ее в компьютер. Если установить ее на LEGO-аккумулятор, небольшой дисплей в ней начнет показывать линии, имитирующие текст на экране компьютера.

Для этого он использовал микроконтроллер STM32F030F4P6 и дисплей, который показывает такие же строки, как и в оригинальной детали, но анимированные. Браун использовал простой 32-битный микроконтроллер с 16 килобайтами флеш-памяти и 4 килобайтами оперативной. В качестве дисплея он выбрал OLED-матрицу с диагональю 0,42 дюйма и разрешением 72 на 40 пикселей — этого достаточно, чтобы выводить на экран линии, имитирующие текст, и даже простую анимацию радара. Инженер напечатал на 3D-принтере тонкий пластиковый корпус для электроники, а затем с помощью отливки в форму создал из полимера полупрозрачную деталь, повторяющую оригинал по форме и размерам.


Новость с nplus1.ru

Показать полностью 1
LEGO Stm32 Конструктор Oled Самоделки Моделизм Видео
33
32
pvit
3 года назад
Лига Радиолюбителей
Серия Reflow паялка

Хоббийная reflow-паялка, нужна помощь зала⁠⁠

Я уже писал что делаю reflow-паялку для хоббистов, и наконец-то дошли руки напечатать корпус. Но внешний вид не радует. Как-то оно похоже на поделку кочегара, который собрался греть плату углями (особенно в закрытом состоянии):

Хоббийная reflow-паялка, нужна помощь зала Электроника, Нужен совет, Самоделки, Микроконтроллеры, Stm32, Длиннопост
Хоббийная reflow-паялка, нужна помощь зала Электроника, Нужен совет, Самоделки, Микроконтроллеры, Stm32, Длиннопост

Знаете, я всегда утверждал, что хоббийный проект - это не повод халявить и делать тяп-ляп. А байки что "слабый процессор не тянет нормальный интерфейс и шрифты" - удел пионеров и дилетантов. Поэтому ввалить кучу усилий в разработку, и на выходе запороть внешний вид - это несусветная дурость. В общем, нужна помощь.


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


В идеале - если чертеж будет сделан в чем-то опенсорсном (OpenSCAD, FreeCAD и т.п.). Но я готов подстроиться под любые варианты. Главное чтобы человек умел увязывать полет фантазии с реальной жизнью. Грубо говоря, коробка должна раскрываться так, чтобы вентилятор обдувал нагревалку. Ну и нагревалка с дисплеем должны быть на одной поверхности (печатной плате). Как это впишут в конечный результат - мне не принципиально.


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


Предполагается, что корпус будет заказываться вместе с платой, на https://jlcpcb.com/3d-printing. Из  LEDO 6060. То есть, девайс, реально "народный", и не потребует доступа к станочному парку и даже 3D-принтеру.

Показать полностью 2
[моё] Электроника Нужен совет Самоделки Микроконтроллеры Stm32 Длиннопост
43
72
mastersasha
mastersasha
4 года назад

Продолжение про самолет из потолочной плитки⁠⁠

Всем привет! Решил написать продолжение про самолёт из протолочки. Начало тут: https://pikabu.ru/story/gotovimsya_k_poletam_vo_vremya_covid19_8180292?utm_source=linkshare&utm_medium=sharing

Продолжение про самолет из потолочной плитки Самоделки, Своими руками, Моделизм, Электроника, Программирование, Микроконтроллеры, Радиоуправляемые модели, Из подручных средств, Arduino, Хобби, Stm32, Самолет, Радиоуправление, Схемотехника, Пайка, Конструирование, Хлам, Потолочная плитка, Видео, Длиннопост

Начну со схем.


Схема подключения приемника:

Продолжение про самолет из потолочной плитки Самоделки, Своими руками, Моделизм, Электроника, Программирование, Микроконтроллеры, Радиоуправляемые модели, Из подручных средств, Arduino, Хобби, Stm32, Самолет, Радиоуправление, Схемотехника, Пайка, Конструирование, Хлам, Потолочная плитка, Видео, Длиннопост

Здесь к blue pill подключается радиомодуль, контроллер двигателя и две сервомашинки. Аккумулятор подключается к контроллеру управления двигателя, на нем стоит стабилизатор на 5 вольт, с которого берется питание для управляющей электроники. Сервомашинки также запитываются с этих 5 вольт. Радиомодуль питается от +3,3 вольт со стабилизатора blue pill. Здесь имеется делитель напряжения, который подключен к аккумулятору, для контроля его напряжения. Информация  шлется на пульт управления.


Сам приемник:

Продолжение про самолет из потолочной плитки Самоделки, Своими руками, Моделизм, Электроника, Программирование, Микроконтроллеры, Радиоуправляемые модели, Из подручных средств, Arduino, Хобби, Stm32, Самолет, Радиоуправление, Схемотехника, Пайка, Конструирование, Хлам, Потолочная плитка, Видео, Длиннопост

Программа для приемника: тут

Схема подключения пульта управления:

Продолжение про самолет из потолочной плитки Самоделки, Своими руками, Моделизм, Электроника, Программирование, Микроконтроллеры, Радиоуправляемые модели, Из подручных средств, Arduino, Хобби, Stm32, Самолет, Радиоуправление, Схемотехника, Пайка, Конструирование, Хлам, Потолочная плитка, Видео, Длиннопост

Здесь чуть побольше компонентов. Аккумулятор подключается на порт +5 вольт blue pill. Для зарядки аккумулятора к нему подключен модуль зарядки. С blue pill при помощи 3,3 вольт запитывется экран, радиомодуль, джойстики. Потенциометры джойстиков подключены к каналам АЦП blue pill, их тактовые кнопки и остальные две подключены на остальные порты в режиме вход.


Пульт управления внутри:

Продолжение про самолет из потолочной плитки Самоделки, Своими руками, Моделизм, Электроника, Программирование, Микроконтроллеры, Радиоуправляемые модели, Из подручных средств, Arduino, Хобби, Stm32, Самолет, Радиоуправление, Схемотехника, Пайка, Конструирование, Хлам, Потолочная плитка, Видео, Длиннопост

Программа для пульта управления: тут


Пульт в собранном виде:

Продолжение про самолет из потолочной плитки Самоделки, Своими руками, Моделизм, Электроника, Программирование, Микроконтроллеры, Радиоуправляемые модели, Из подручных средств, Arduino, Хобби, Stm32, Самолет, Радиоуправление, Схемотехника, Пайка, Конструирование, Хлам, Потолочная плитка, Видео, Длиннопост

В меню пульта 4 строки: 1 строка - это режим полета, во 2 строке просто отображаются данные АЦП и т.д. в 3 строке настраиваются чувствительность рулей и субтример (начальное положение элевонов), в 4 строке ничего нет (можно добавить).

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

При отключении пульта во время работы приемника, через 2 секунды отключается двигатель.

Расскомментировав эти строчки в main.c (до надпсиси END OF DEBUG_RC OUT):

Продолжение про самолет из потолочной плитки Самоделки, Своими руками, Моделизм, Электроника, Программирование, Микроконтроллеры, Радиоуправляемые модели, Из подручных средств, Arduino, Хобби, Stm32, Самолет, Радиоуправление, Схемотехника, Пайка, Конструирование, Хлам, Потолочная плитка, Видео, Длиннопост

пульт можно подключить по USB к ПК при помощи любой Terminal программы (я пользовался CoolTerm), в которой нужно выбрать COM порт и присоединится к blue pill:

Продолжение про самолет из потолочной плитки Самоделки, Своими руками, Моделизм, Электроника, Программирование, Микроконтроллеры, Радиоуправляемые модели, Из подручных средств, Arduino, Хобби, Stm32, Самолет, Радиоуправление, Схемотехника, Пайка, Конструирование, Хлам, Потолочная плитка, Видео, Длиннопост

и в окне получить информацию о подключении радиомодуля:

Продолжение про самолет из потолочной плитки Самоделки, Своими руками, Моделизм, Электроника, Программирование, Микроконтроллеры, Радиоуправляемые модели, Из подручных средств, Arduino, Хобби, Stm32, Самолет, Радиоуправление, Схемотехника, Пайка, Конструирование, Хлам, Потолочная плитка, Видео, Длиннопост

Считывая установочные данные, записанные в регистры радиомодуля, можно убедиться, что модуль работает и данные совпадают с установленными. В данном случае я получил статус работы радиомодуля, его мощность передачи (максимальная), номер канала (11), скорость передачи (1 Мбит в секунду), размер передаваемого пакета (32 байта - максимальный) и количество бит контрольной суммы (в моем случае 16 бит). Если модуль не подключен или неисправен в терминал выводит такое сообщение:

Продолжение про самолет из потолочной плитки Самоделки, Своими руками, Моделизм, Электроника, Программирование, Микроконтроллеры, Радиоуправляемые модели, Из подручных средств, Arduino, Хобби, Stm32, Самолет, Радиоуправление, Схемотехника, Пайка, Конструирование, Хлам, Потолочная плитка, Видео, Длиннопост

Зайдя сюда в подменю Settings:

Продолжение про самолет из потолочной плитки Самоделки, Своими руками, Моделизм, Электроника, Программирование, Микроконтроллеры, Радиоуправляемые модели, Из подручных средств, Arduino, Хобби, Stm32, Самолет, Радиоуправление, Схемотехника, Пайка, Конструирование, Хлам, Потолочная плитка, Видео, Длиннопост

в терминал посыпятся такие строчки:

Продолжение про самолет из потолочной плитки Самоделки, Своими руками, Моделизм, Электроника, Программирование, Микроконтроллеры, Радиоуправляемые модели, Из подручных средств, Arduino, Хобби, Stm32, Самолет, Радиоуправление, Схемотехника, Пайка, Конструирование, Хлам, Потолочная плитка, Видео, Длиннопост

Здесь данные в таком порядке: X1: значение c АЦП правого джойстика по вертикали, Y1: значение c АЦП правого джойстика по горизонтали, значение с АЦП левого джойстика, которым управляется двигатель, значения только по вертикали, далее напряжения аккумулятора пульта, напряжения аккумулятора на приемнике, значение кнопки правого джойстика, значение кнопки левого джойстика, значения кнопок что находятся справа на пульте, субтример, чувствительность 1 и 2 (2 не используется), а также статус связи с приемником.


Как видно сигнала нет, так как примник был отключен. Также я зажал кнопку правого джойстика и просто левую кнопку, они выдают "1".


Включаю приемник и перевожу правый джойстик в правый верхний угол:

Продолжение про самолет из потолочной плитки Самоделки, Своими руками, Моделизм, Электроника, Программирование, Микроконтроллеры, Радиоуправляемые модели, Из подручных средств, Arduino, Хобби, Stm32, Самолет, Радиоуправление, Схемотехника, Пайка, Конструирование, Хлам, Потолочная плитка, Видео, Длиннопост

получаю сообщение что сигнал есть, а данные джойстика показывают максимальные значения.

АЦП на Blue Pill имеет разрешение 12 бит, максимальное значение котрого 4095, но в терминале видно, что оно 255, все потому что я 12 бит перевел в 8 бит (1 байт), так как один элемент массива передоваемого пакета равен 1 байту, чтобы одним байтом можно было слать значения одной из осей джойстика.


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

Продолжение про самолет из потолочной плитки Самоделки, Своими руками, Моделизм, Электроника, Программирование, Микроконтроллеры, Радиоуправляемые модели, Из подручных средств, Arduino, Хобби, Stm32, Самолет, Радиоуправление, Схемотехника, Пайка, Конструирование, Хлам, Потолочная плитка, Видео, Длиннопост

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


Крыло сложно в управлении (по-моему мнению) по сравнению с моделями, имеющими хвост со стабилизатором и килем.


И наконец, то, чего мы так долго ждали!!! Видео полетов. К сожалению, видео очень короткое, так как полет был недолгий.

В ВИДЕО ПРИСУТСТВУЕТ ПАРУ ПЛОХИХ СЛОВ!

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

Самолёт полетел вполне уверенно, но что-то пошло не так, если честно, я не понял в чем причина, может это из-за джойстиков или все-таки конструкция крыла. Я думаю, что на этом я не остановлюсь и попробую как-нибудь еще, пересмотрев ошибки.


Всем спасибо!


Ссылки на товары которые я использовал:

Отладочная плата Blue Pill

Радиомодуль

Программатор St-Link

Набор из контроллера, двигателя винта и сервомашинок

Джойстики

Стики от FlySky

Модуль зарядки

Макетная плата

Экран от Nokia 5110

Тактовые кнопки

Аккумулятор

Показать полностью 14 1
[моё] Самоделки Своими руками Моделизм Электроника Программирование Микроконтроллеры Радиоуправляемые модели Из подручных средств Arduino Хобби Stm32 Самолет Радиоуправление Схемотехника Пайка Конструирование Хлам Потолочная плитка Видео Длиннопост
24
274
mastersasha
mastersasha
4 года назад
Рукодельники

Готовимся к полетам во время covid-19⁠⁠

Давно хотел сделать себе самолет на радиоуправлении вместе с аппаратурой. Много сил и времени тратить на это не хотелось, поэтому я решил сделать летающее крыло. Ведь оно делается недолго, да и материал недорогой.
В строительном магазине купил пачку потолочной плитки за 100+ рублей, там же купил для нее клей за 60+ рублей.

Готовимся к полетам во время covid-19 Моделизм, Самоделки, Радиоуправление, Своими руками, Электроника, Из подручных средств, Коронавирус, Карантин, Самолет, Рукоделие, Дешево, Делать нечего, Хобби, Stm32, Arduino, Игрушки, Видео, Длиннопост, Рукоделие с процессом
Готовимся к полетам во время covid-19 Моделизм, Самоделки, Радиоуправление, Своими руками, Электроника, Из подручных средств, Коронавирус, Карантин, Самолет, Рукоделие, Дешево, Делать нечего, Хобби, Stm32, Arduino, Игрушки, Видео, Длиннопост, Рукоделие с процессом

Делал летательное крыло по этим чертежам.

Верхняя часть:

Готовимся к полетам во время covid-19 Моделизм, Самоделки, Радиоуправление, Своими руками, Электроника, Из подручных средств, Коронавирус, Карантин, Самолет, Рукоделие, Дешево, Делать нечего, Хобби, Stm32, Arduino, Игрушки, Видео, Длиннопост, Рукоделие с процессом

Нижняя часть с лонжеронами:

Готовимся к полетам во время covid-19 Моделизм, Самоделки, Радиоуправление, Своими руками, Электроника, Из подручных средств, Коронавирус, Карантин, Самолет, Рукоделие, Дешево, Делать нечего, Хобби, Stm32, Arduino, Игрушки, Видео, Длиннопост, Рукоделие с процессом

Лонжероны:

Готовимся к полетам во время covid-19 Моделизм, Самоделки, Радиоуправление, Своими руками, Электроника, Из подручных средств, Коронавирус, Карантин, Самолет, Рукоделие, Дешево, Делать нечего, Хобби, Stm32, Arduino, Игрушки, Видео, Длиннопост, Рукоделие с процессом

Винглеты:

Готовимся к полетам во время covid-19 Моделизм, Самоделки, Радиоуправление, Своими руками, Электроника, Из подручных средств, Коронавирус, Карантин, Самолет, Рукоделие, Дешево, Делать нечего, Хобби, Stm32, Arduino, Игрушки, Видео, Длиннопост, Рукоделие с процессом

К сожалению, процесс сборки заснять не удалось.

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


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

Готовимся к полетам во время covid-19 Моделизм, Самоделки, Радиоуправление, Своими руками, Электроника, Из подручных средств, Коронавирус, Карантин, Самолет, Рукоделие, Дешево, Делать нечего, Хобби, Stm32, Arduino, Игрушки, Видео, Длиннопост, Рукоделие с процессом

Купил скотч красного и синего цвета в канцелярском магазине, где-то за 120+ рублей за рулон.

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


Результат:

Готовимся к полетам во время covid-19 Моделизм, Самоделки, Радиоуправление, Своими руками, Электроника, Из подручных средств, Коронавирус, Карантин, Самолет, Рукоделие, Дешево, Делать нечего, Хобби, Stm32, Arduino, Игрушки, Видео, Длиннопост, Рукоделие с процессом

Провел веревки, чтобы можно было без проблем через них провести провода для сервомашинок. Ещё из старой пластиковой карточки сделал кабанчики и крепления под сервомашинки, на фото выше их видно. Примерил и приклеил их на клей.


В интернете заранее заказал самый дешёвый вариант BLDC двигателя для модели, + контроллер для его управления, 2 винта и самые дешёвые сервомашинки для управления элевонами. Все это взял сразу набором, за который заплатил 787 рублей.

Готовимся к полетам во время covid-19 Моделизм, Самоделки, Радиоуправление, Своими руками, Электроника, Из подручных средств, Коронавирус, Карантин, Самолет, Рукоделие, Дешево, Делать нечего, Хобби, Stm32, Arduino, Игрушки, Видео, Длиннопост, Рукоделие с процессом

Мотораму сделал по этому чертежу:

Готовимся к полетам во время covid-19 Моделизм, Самоделки, Радиоуправление, Своими руками, Электроника, Из подручных средств, Коронавирус, Карантин, Самолет, Рукоделие, Дешево, Делать нечего, Хобби, Stm32, Arduino, Игрушки, Видео, Длиннопост, Рукоделие с процессом

Мотораму делал из той же потолочки в несколько слоев, за исключением задней части, куда крепится двигатель, которую сделал из текстоита. Лучше, конечно, всю мотораму делать из крепкого материала.

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

Готовимся к полетам во время covid-19 Моделизм, Самоделки, Радиоуправление, Своими руками, Электроника, Из подручных средств, Коронавирус, Карантин, Самолет, Рукоделие, Дешево, Делать нечего, Хобби, Stm32, Arduino, Игрушки, Видео, Длиннопост, Рукоделие с процессом

Из электроники имел две платы Blue Pill (stm32), ещё давно покупал два радиомодуля nrf24l01+, вот из них и будем делать радиоуправление.

Готовимся к полетам во время covid-19 Моделизм, Самоделки, Радиоуправление, Своими руками, Электроника, Из подручных средств, Коронавирус, Карантин, Самолет, Рукоделие, Дешево, Делать нечего, Хобби, Stm32, Arduino, Игрушки, Видео, Длиннопост, Рукоделие с процессом
Готовимся к полетам во время covid-19 Моделизм, Самоделки, Радиоуправление, Своими руками, Электроника, Из подручных средств, Коронавирус, Карантин, Самолет, Рукоделие, Дешево, Делать нечего, Хобби, Stm32, Arduino, Игрушки, Видео, Длиннопост, Рукоделие с процессом

В наличии был у меня lipo аккумулятор, давно его покупал, тоже для самолета, но до дела так и не дошло:

Готовимся к полетам во время covid-19 Моделизм, Самоделки, Радиоуправление, Своими руками, Электроника, Из подручных средств, Коронавирус, Карантин, Самолет, Рукоделие, Дешево, Делать нечего, Хобби, Stm32, Arduino, Игрушки, Видео, Длиннопост, Рукоделие с процессом

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

Готовимся к полетам во время covid-19 Моделизм, Самоделки, Радиоуправление, Своими руками, Электроника, Из подручных средств, Коронавирус, Карантин, Самолет, Рукоделие, Дешево, Делать нечего, Хобби, Stm32, Arduino, Игрушки, Видео, Длиннопост, Рукоделие с процессом
Готовимся к полетам во время covid-19 Моделизм, Самоделки, Радиоуправление, Своими руками, Электроника, Из подручных средств, Коронавирус, Карантин, Самолет, Рукоделие, Дешево, Делать нечего, Хобби, Stm32, Arduino, Игрушки, Видео, Длиннопост, Рукоделие с процессом

Все это дело хорошо уместилось в крыле.


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

Готовимся к полетам во время covid-19 Моделизм, Самоделки, Радиоуправление, Своими руками, Электроника, Из подручных средств, Коронавирус, Карантин, Самолет, Рукоделие, Дешево, Делать нечего, Хобби, Stm32, Arduino, Игрушки, Видео, Длиннопост, Рукоделие с процессом

Примеряю некоторые части для пульта управления.

Готовимся к полетам во время covid-19 Моделизм, Самоделки, Радиоуправление, Своими руками, Электроника, Из подручных средств, Коронавирус, Карантин, Самолет, Рукоделие, Дешево, Делать нечего, Хобби, Stm32, Arduino, Игрушки, Видео, Длиннопост, Рукоделие с процессом

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

Готовимся к полетам во время covid-19 Моделизм, Самоделки, Радиоуправление, Своими руками, Электроника, Из подручных средств, Коронавирус, Карантин, Самолет, Рукоделие, Дешево, Делать нечего, Хобби, Stm32, Arduino, Игрушки, Видео, Длиннопост, Рукоделие с процессом

В качестве питания использовал li-ion аккумулятор размера 18650. Рабочее напряжение аккумулятора от 3 до 4.2 вольт, поэтому подаём питание с него на стабилизатор blue pill, который даст нам 3.3 вольта и с которого так же будет запитан радиомодуль.

Готовимся к полетам во время covid-19 Моделизм, Самоделки, Радиоуправление, Своими руками, Электроника, Из подручных средств, Коронавирус, Карантин, Самолет, Рукоделие, Дешево, Делать нечего, Хобби, Stm32, Arduino, Игрушки, Видео, Длиннопост, Рукоделие с процессом

На микроконтроллере использовано 4 канала АЦП, три из которых использованы под стики джойстиков, а ещё один для измерения напряжения АКБ. На джойстиках ещё есть кнопки, которые мы так же будем использовать для управления. Для измерения АКБ используется делитель напряжения. На слепыше спаял резисторы, конденсаторы и провода для джойстиков с разъёмами для микроконтроллера и радиомодуля, чтобы при случае их можно было вынуть из общей схемы.

Все, что мешало размещению компонентов в корпусе: вырезал, откусил, подпилил.

Поставил модуль зарядки для АКБ.

Результат:

Готовимся к полетам во время covid-19 Моделизм, Самоделки, Радиоуправление, Своими руками, Электроника, Из подручных средств, Коронавирус, Карантин, Самолет, Рукоделие, Дешево, Делать нечего, Хобби, Stm32, Arduino, Игрушки, Видео, Длиннопост, Рукоделие с процессом

С передней панелью:

Готовимся к полетам во время covid-19 Моделизм, Самоделки, Радиоуправление, Своими руками, Электроника, Из подручных средств, Коронавирус, Карантин, Самолет, Рукоделие, Дешево, Делать нечего, Хобби, Stm32, Arduino, Игрушки, Видео, Длиннопост, Рукоделие с процессом

Пока вместо тумблера соединил два белых провода для питания от АКБ.

Потом решил поставить сюда LCD дисплей от старой Nokia, такой:

Готовимся к полетам во время covid-19 Моделизм, Самоделки, Радиоуправление, Своими руками, Электроника, Из подручных средств, Коронавирус, Карантин, Самолет, Рукоделие, Дешево, Делать нечего, Хобби, Stm32, Arduino, Игрушки, Видео, Длиннопост, Рукоделие с процессом

Для этого вырезал в передней панели окно для экрана, примерил, далее подпилил и вставил экран, сзади зафиксировал на термоклей.

Вот как выглядит включенный пульт:

Готовимся к полетам во время covid-19 Моделизм, Самоделки, Радиоуправление, Своими руками, Электроника, Из подручных средств, Коронавирус, Карантин, Самолет, Рукоделие, Дешево, Делать нечего, Хобби, Stm32, Arduino, Игрушки, Видео, Длиннопост, Рукоделие с процессом

Ещё поставил две кнопки под штаное место, которые будут выступать для настройки элевонов. На пульте можно посмотреть работу джойстиков, настроить субтриммеры.


Заходим в режим полет, жмем кнопку включения двигателя и можно летать.

Вот видео работы электроники:

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

Показать полностью 24 1
[моё] Моделизм Самоделки Радиоуправление Своими руками Электроника Из подручных средств Коронавирус Карантин Самолет Рукоделие Дешево Делать нечего Хобби Stm32 Arduino Игрушки Видео Длиннопост Рукоделие с процессом
64
7
kaper.su
4 года назад

STM32 или как я покорял⁠⁠

STM32 или как я покорял Stm32, Linux, Разработчики, Длиннопост, Самоделки

Короче была у меня когда то мысль написать уроки по python, еще в начале моей карьеры. Ибо натыкался на некоторые проблемы, решения к которым не мог долго найти, а потом находил но руки написать это дело не доходили.

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

Я и предположил, что связано это с тем, что чем больше ты узнаешь о какой то штуке, тем меньше тебе хочется возвращаться к решенным когда то давно задачам. Старые задачи если ты их помнишь становятся для тебя тривиальным, скучными и рутинными ( хотя естественно в свое время они для меня были очень непонятны).

Другое дело когда ты решил изучить для себя совершенно неизвестную для себя штуку. Где каждое новое знание для тебя целое открытие, с которым лично я сразу же хочу делится. Правда обычно делится получается с теми кто под руку попался, и как правильно им это вообще не интересно (мама прости но это так)).

На днях я решил плотно заняться STM32. Я вообще, давно хотел разобраться в таинствах микросхем , и пособирать всякие штуки на их основе. Даже года 2 назад закупил целый набор ардуино со всяким барахлом датчиками и т д и т п.


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


Теперь наконец то я вырвался из этого порочного круга.

И чтобы мне было веселее я решил заливать то, как я изучаю все эти штуковины.


Это прелюдия а щас по факту:

1) Я сижу из под Debian , поэтому меня будет интересовать подходы разработки в этой среде. В целом это не сильно будет влиять на общую картину.

2) Почему stm32.  все просто, хочу заниматься булингом ардуинщиков

3) В качестве среды разработки буду использовать VSCODE , мы же тут все за опенсорс не правда ли. ( НЕТ ,все равно потому буду писать скорее всего на jetbrains, продался...).

4) Прошивать буду через стандартный китайский stlink, потому незабываем его качнуть и поставить , любым удобным способом https://github.com/stlink-org/stlink

5) Копию кода (урезанного) я буду заливать на гитхаб : https://github.com/IzyI

6) Я буду мега максимально субъективен. Буду писать только те моменты которые я не понял и те нюансы которые мне показались важными. А также буду давать ссылки на сторонние ресурсы. Откуда я черпал знания. У боле умных людей.

7) Писать буду на  СИ.  И код я так себе пишу, даже если это Python. И уж если решили ругать мой код, то помните что главный ответ на главный вопрос 42.

8)  Для сборки проектов буду использовать stm32cubemx https://www.st.com/en/development-tools/stm32cubemx.html ибо  удобство

9) Большая часть кода скорее всего будет написана на библиотеке HAL. Но постараюсь по мере освоения юзать и CMSIS . Вкратце если кто не знает то в мире STM32 существует 3 библиотеки которые юзают  разработчики :

- - **HAL** - набор драйверов позволяющая обращаться ко всей периферии микроконтроллера не сильно вдаваясь в суть .


**Плюсы:**

- скорость разработки

- мультиплатформенность (легко перенести код с одного stm32 на другой stm32 более жирный к примеру)

- простота работы.


**Минусы:**

- знающие говорят что местами глючная

- рано или поздно все равно надо лезть в кишки микроконтроллера

- жирноват по коду

- местами так се написана (многим не нравится).


*Отличный выбор если вам надо быстро поднять USB стек.*

*Херовый если вам надо выжать из микроконтроллера максимум. *

- - **СMSIS** - (Cortex Microcontroller Software Interface Standard) как вы не поняли это стандартное описания интерфейса для всех армов, включает в себя структуры описания регистров и стартовый набор макросов для работы.


**Плюсы:**

- работа напрямую с регистрами

- скорость кода и его размер

- чистота (прозрачность) кода

- скилы прокачиваются как у летчиков в 41-45 , ты либо выживешь во время вылета, либо тя собьют к (херам)

- можно делать просто волшебные штуки

- лапочка со всех сторон


**Минусы:**

- нет мультиплатформенности

- очень долгая разработка

* Отличный выбор если вы шарите и у вас много времени по жизни*

*Херовый если сроки горят или вы узнали что такое регистры месяц назад. *

- - **LL** - без понятия что за библиотека, да и в холиварах ее редко упоминают, а это значит нам это не интересно

А теперь коротко что нам надо для работы в Debian.

- компилятор:

sudo apt-get install gcc-arm-none-eabi


- openocd:

Эта штука отладчик, по идее понадобится потом

sudo apt-get install openocd


- stm32cubemx

Идем на офицальный STM сайт https://www.st.com/en/development-tools/stm32cubemx.html. Регаемся и качаем оттуда STM32cubemx.


Также можете скачать и установить IDE STM32cubeide, я не совсем люблю подобный софт, но думаю что в будущем это может пригодится как никак STM32cubeide все же заточен на работу с этими микроконтроллерами.


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

Идем на офицальный STM сайт https://www.st.com/en/development-tools/stm32cubemx.html. Регаемся и качаем оттуда STM32cubemx. Также можете скачать и установить IDE STM32cubeide, я не совсем люблю подобный софт, но думаю что в будущем это может пригодится как никак STM32cubemx все же заточен на работу с этими микроконтроллерами.

VSCODE я думаю тоже разберетесь и установите https://code.visualstudio.com/. В целом, на чем писать не так важно, лишь бы удобно было. VSCODE бесплатный и там есть более менее работающий переход по функциям и автоподсказки (но это не точно).


Что-жь соберем заготовку на наш первый проект.


Запустим STM32cubemx находим вкладку File кликаем new project.

STM32 или как я покорял Stm32, Linux, Разработчики, Длиннопост, Самоделки

Теперь найдем нужный нам микроконтроллер и кликнем start project.

STM32 или как я покорял Stm32, Linux, Разработчики, Длиннопост, Самоделки

Теперь переходим на вкладку project Manager. Указываем в качестве названия t1 во вкладке toolchain указываем Makefile

STM32 или как я покорял Stm32, Linux, Разработчики, Длиннопост, Самоделки

Кликаем generate code открываем через VSCODE. в терминале заходим в папку пишем make. На выходе у нас появляется папка build в которой лежат готовый файлы для заливки кода.

STM32 или как я покорял Stm32, Linux, Разработчики, Длиннопост, Самоделки

Как вы видите в linux не так сложно все это запустить. Хотя если честно когда я только сел разбираться для меня это был просто пи*ц. Даже щас из за больших пробелов в знании в языке Си и сборке через Cmake и Make файл, я страдаю . Но чай разберемся.))


P.S Я не последняя инстанция. Но если что пишите.)

Показать полностью 4
[моё] Stm32 Linux Разработчики Длиннопост Самоделки
33
4125
ily2023
ily2023
4 года назад
Мото

Восстановление старого мотоцикла Днепр МТ-16 1988 года выпуска и разработка для него крутой электроники. Много фото + видео⁠⁠

Всем привет! Я давно увлекаюсь восстановлением старой техники, в основном мотоциклов и мопедов.

В 2019 году мною был куплен старый мотоцикл Днепр МТ-16 в состоянии "еду в чермет", но ещё на ходу и с документами.

Восстановление старого мотоцикла Днепр МТ-16 1988 года выпуска и разработка для него крутой электроники. Много фото + видео Мото, Днепр КМЗ, Электроника, Stm32, Самоделки, Видео, Длиннопост, Технопрон, Мотосезон, Советская техника
Восстановление старого мотоцикла Днепр МТ-16 1988 года выпуска и разработка для него крутой электроники. Много фото + видео Мото, Днепр КМЗ, Электроника, Stm32, Самоделки, Видео, Длиннопост, Технопрон, Мотосезон, Советская техника

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

Восстановление старого мотоцикла Днепр МТ-16 1988 года выпуска и разработка для него крутой электроники. Много фото + видео Мото, Днепр КМЗ, Электроника, Stm32, Самоделки, Видео, Длиннопост, Технопрон, Мотосезон, Советская техника

Вся электроника разрабатывалась с учетом работы в жестких условиях (вибрации, влажность, перепады температур), выполнялся контроль качества пайки на микроскопе. Массивные компоненты приклеивались к плате, использовался силиконовый компаунд для изоляции от влаги и прочие решения, предупреждающие отказ. Все каналы связи, выходящие за рамки приборов развязывались оптически.


Электронный спидометр разместил в оригинальном корпусе спидометра СП102. Для индикации пробега удалось разместить OLED дисплей напротив "окошка" под оригинальный механический одометр. Спидометр на базе микроконтроллера STM32.

Восстановление старого мотоцикла Днепр МТ-16 1988 года выпуска и разработка для него крутой электроники. Много фото + видео Мото, Днепр КМЗ, Электроника, Stm32, Самоделки, Видео, Длиннопост, Технопрон, Мотосезон, Советская техника
Восстановление старого мотоцикла Днепр МТ-16 1988 года выпуска и разработка для него крутой электроники. Много фото + видео Мото, Днепр КМЗ, Электроника, Stm32, Самоделки, Видео, Длиннопост, Технопрон, Мотосезон, Советская техника
Восстановление старого мотоцикла Днепр МТ-16 1988 года выпуска и разработка для него крутой электроники. Много фото + видео Мото, Днепр КМЗ, Электроника, Stm32, Самоделки, Видео, Длиннопост, Технопрон, Мотосезон, Советская техника
Восстановление старого мотоцикла Днепр МТ-16 1988 года выпуска и разработка для него крутой электроники. Много фото + видео Мото, Днепр КМЗ, Электроника, Stm32, Самоделки, Видео, Длиннопост, Технопрон, Мотосезон, Советская техника

Бортовой компьютер, оснащенный CAN, считывателем RFID метки, фотодатчиком (для функций автоматического включения света/габаритов и подстройки яркости индикаторов на панели приборов) и управляющий всей электроникой мотоцикла, а также собирающий все данные с датчиков и переключателей, получающий по CAN всю телеметрию от ЭБУ инжектора. Прибор также создан на основе микроконтроллера STM. Для индикации - большой графический OLED дисплей.

Восстановление старого мотоцикла Днепр МТ-16 1988 года выпуска и разработка для него крутой электроники. Много фото + видео Мото, Днепр КМЗ, Электроника, Stm32, Самоделки, Видео, Длиннопост, Технопрон, Мотосезон, Советская техника
Восстановление старого мотоцикла Днепр МТ-16 1988 года выпуска и разработка для него крутой электроники. Много фото + видео Мото, Днепр КМЗ, Электроника, Stm32, Самоделки, Видео, Длиннопост, Технопрон, Мотосезон, Советская техника
Восстановление старого мотоцикла Днепр МТ-16 1988 года выпуска и разработка для него крутой электроники. Много фото + видео Мото, Днепр КМЗ, Электроника, Stm32, Самоделки, Видео, Длиннопост, Технопрон, Мотосезон, Советская техника
Восстановление старого мотоцикла Днепр МТ-16 1988 года выпуска и разработка для него крутой электроники. Много фото + видео Мото, Днепр КМЗ, Электроника, Stm32, Самоделки, Видео, Длиннопост, Технопрон, Мотосезон, Советская техника
Восстановление старого мотоцикла Днепр МТ-16 1988 года выпуска и разработка для него крутой электроники. Много фото + видео Мото, Днепр КМЗ, Электроника, Stm32, Самоделки, Видео, Длиннопост, Технопрон, Мотосезон, Советская техника
Восстановление старого мотоцикла Днепр МТ-16 1988 года выпуска и разработка для него крутой электроники. Много фото + видео Мото, Днепр КМЗ, Электроника, Stm32, Самоделки, Видео, Длиннопост, Технопрон, Мотосезон, Советская техника
Восстановление старого мотоцикла Днепр МТ-16 1988 года выпуска и разработка для него крутой электроники. Много фото + видео Мото, Днепр КМЗ, Электроника, Stm32, Самоделки, Видео, Длиннопост, Технопрон, Мотосезон, Советская техника

Силовой блок (вместо реле) для управления всей силовой нагрузкой, такой как инжектор, ближний/дальний, гудок и т.д. Отсутствие механических частей и безупречная работа. Тут решил сэкономить, и плату вытравил в домашних условиях. Разумеется, после сборки все платы, включая эту были защищены от влаги специальным компаундом.

Восстановление старого мотоцикла Днепр МТ-16 1988 года выпуска и разработка для него крутой электроники. Много фото + видео Мото, Днепр КМЗ, Электроника, Stm32, Самоделки, Видео, Длиннопост, Технопрон, Мотосезон, Советская техника
Восстановление старого мотоцикла Днепр МТ-16 1988 года выпуска и разработка для него крутой электроники. Много фото + видео Мото, Днепр КМЗ, Электроника, Stm32, Самоделки, Видео, Длиннопост, Технопрон, Мотосезон, Советская техника
Восстановление старого мотоцикла Днепр МТ-16 1988 года выпуска и разработка для него крутой электроники. Много фото + видео Мото, Днепр КМЗ, Электроника, Stm32, Самоделки, Видео, Длиннопост, Технопрон, Мотосезон, Советская техника

Тем временем, помимо разработки электроники, я собирал мотоцикл и изготавливал на него обвес. Вот, например, крепление канистры с топливом на коляску:

Восстановление старого мотоцикла Днепр МТ-16 1988 года выпуска и разработка для него крутой электроники. Много фото + видео Мото, Днепр КМЗ, Электроника, Stm32, Самоделки, Видео, Длиннопост, Технопрон, Мотосезон, Советская техника
Восстановление старого мотоцикла Днепр МТ-16 1988 года выпуска и разработка для него крутой электроники. Много фото + видео Мото, Днепр КМЗ, Электроника, Stm32, Самоделки, Видео, Длиннопост, Технопрон, Мотосезон, Советская техника

Приборная панель в сборе.

Восстановление старого мотоцикла Днепр МТ-16 1988 года выпуска и разработка для него крутой электроники. Много фото + видео Мото, Днепр КМЗ, Электроника, Stm32, Самоделки, Видео, Длиннопост, Технопрон, Мотосезон, Советская техника
Восстановление старого мотоцикла Днепр МТ-16 1988 года выпуска и разработка для него крутой электроники. Много фото + видео Мото, Днепр КМЗ, Электроника, Stm32, Самоделки, Видео, Длиннопост, Технопрон, Мотосезон, Советская техника

Также было решено разработать светодиодные платы (габариты, поворотники, стоп-сигналы) для установки их в стандартные плафоны мотоцикла. Просто вкрутить китайские светодиодные лампочки с алиэкспресс - не для меня. Мотоцикл получил полноценную светодиодную светотехнику с защитами от перегрева, стабилизацией тока, защитами от замыкания. Вся светотехника управляется от приборной панели с помощью цифрового сигнала. Головной свет - стандартная галогенная лампа H4, светодиоды ставить не стал, чтобы не слепить водителей.

Восстановление старого мотоцикла Днепр МТ-16 1988 года выпуска и разработка для него крутой электроники. Много фото + видео Мото, Днепр КМЗ, Электроника, Stm32, Самоделки, Видео, Длиннопост, Технопрон, Мотосезон, Советская техника
Восстановление старого мотоцикла Днепр МТ-16 1988 года выпуска и разработка для него крутой электроники. Много фото + видео Мото, Днепр КМЗ, Электроника, Stm32, Самоделки, Видео, Длиннопост, Технопрон, Мотосезон, Советская техника
Восстановление старого мотоцикла Днепр МТ-16 1988 года выпуска и разработка для него крутой электроники. Много фото + видео Мото, Днепр КМЗ, Электроника, Stm32, Самоделки, Видео, Длиннопост, Технопрон, Мотосезон, Советская техника

Много часов пришлось провести для написания софта, и работы в этой части предстоит много.


Вот такая история одного мотоцикла и моего хобби. Всем спасибо, кто дочитал! Бонусом предлагаю посмотреть краткий обзор этого мотоцикла на моем ютуб-канале:

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