Feinpolierpaste 562 1602 для чего

🇩🇪 Полироли для автомобиля из Германии [2021]

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Катерина Фролова

Что необходимо знать при поставке

Популярные Коды ТН ВЭД по каким ввозят полироли для автомобиля?

Самые подходящие коды ТН ВЭД по нашему мнению: 3403990000 (1), 3909509000 (1), 3405300000 (1)

Фабрики и оптовые производители из Германии

При оптовых закупках необходимо правильно выбрать производство в Germany, где с одной стороны цена ниже, но с другой стороны вы можете сэкономить на доставке. напрямую до Москвы, Казани или Санкт-Петербурга.

GLASURIT

WURTH SABESTO

Производитель / ТоварТорговая марка / Проверен
BASF COATINGS, GLASURIT / ПОЛИРОЛИ И АНАЛОГИЧНЫЕ СРЕДСТВА ДЛЯ АВТОМОБИЛЬНЫХ КУЗОВОВ: ШЛИФОВАЛЬНЫЕ ПАСТЫ, ПРЕДНАЗНАЧЕННЫЕ ДЛЯ КУЗОВНОГО РЕМОНТА АВТОМОБИЛЕЙ, БЕЗ СОДЕРЖАНИЯ ЭТИЛОВОГО
ADOLF WURTH GMBH&CO.KG, WURTH SABESTO / ПОЛИРОЛЬ ДЛЯ ОБРАБОТКИ ОКРАШЕННЫХ ПОВЕРХНОСТЕЙ КУЗОВОВ АВТОМОБИЛЕЙ- ‘P10 SCHNELLSCHLEIFPOLITUR PLUS’. В ПЛАСТИКОВЫХ БУТЫЛКАХ ЁМКОСТЬЮ 1КГ (НЕ СОДЕРЖИТ ЭТИЛ
«SCT-VERTRIEBS GMBH», «MANNOL» / ПОЛИРОЛИ ДЛЯ АВТОМОБИЛЬНЫХ КУЗОВОВ, ДЛЯ ПОВЕРХНОСТЕНЙ САЛОНА АВТОМОБИЛЯ, НЕ СОДЕРЖ.ЭТИЛ.СПИРТ,НЕ В АЭРОЗ.УПАК.,РАСФАС.ДЛЯ РОЗНИЧНОЙ ПРОДАЖИ,:
KOCH-CHEMIE GMBH, KOCH-CHEMIE / ПОЛИРОЛЬ СРЕДСТВО ПО УХОДУ ЗА ПЛАСТИКОВЫМИ ПАНЕЛЯМИ АВТОМОБИЛЯ ПО 1Л В ПЛАСТИКОВЫХ БУТЫЛКАХ, БЕЗ СОДЕРЖАНИЯ ЭТИЛОВОГО СПИРТА:
«ALFRED KARCHER GMBH & CO», KARCHER / ПОЛИРОЛЬ КУЗОВА АВТОМОБИЛЯ, СОДЕРЖАЩАЯ КВАРЦЕВО-КАОЛИНОВУЮ СМЕСЬ, ЭМУЛЬСИЮ ПОЛИДИМЕТИЛСИЛОКСАНА, СМЕСЬ СИЛОКСАНА И СИЛИКОНА, ВОДНУЮ ЭМУЛЬСИЮ ВОСКА КАРНАБА,
LIQUI MOLY GMBH, LIQUI MOLY ГЕРМАНИЯ / ПОЛИРОЛЬ ДЛЯ ХРОМИРОВАННЫХ И МЕТАЛЛИЧЕСКИХ ДЕКОРАТИВНЫХ ПОВЕРХНОСТЕЙ АВТОМОБИЛЯ, СОДЕРЖИТ ПАРАФИНЫ, ДИЭТАНОЛАМИН:
«BASF COATINGS», GLASURIT / ПОЛИРОЛИ ДЛЯ МЕТАЛЛИЧЕСКИХ ПОВЕРХНОСТЕЙ: ПАСТА ПОЛИРОВАЛЬНАЯ «562-1602 FEINPOLIERPASTE», ПРЕДНАЗНАЧЕННАЯ ДЛЯ КУЗОВНОГО РЕМОНТА АВТОМОБИЛЕЙ, БЕЗ СОДЕРЖАНИЯ

Мы можем помочь вам стать официальным дистрибьютером полиролей для автомобиля

Доставка и таможенное оформление полиролей для автомобиля из Германии

Мы подобрали надежные и проверенные компании для доставки из Германии в РФ (Москва, Санкт-Петербург, Казань и другие города РФ). Прямые поставки с поставщиками: доставка грузов и таможенное оформление.

Импорт полиролей для автомобиля из Германии

Оформление импортной поставки полиролей для автомобиля не сложная процедура, но обязательно необходимо, точно подбор всех необходимых документов

ТОП 10 стран по поставкам в РФ полиролей для автомобиля

Наиболее распространенные страны по доставке полиролей для автомобиля. Мы можем помочь организовать вам прямые оптовые поставки с минимальным прайсом. Импорт продукции включает в себя переговоры с поставщиком, логистика, таможенное оформление, получение разрешительной документации

Экспорт полиролей для автомобиля из России, Казахстана, Белоруссии

Мы поможем продать полироли для автомобиля в Германии. Мы работаем только с компаниями.

Наш офис: г. Москва, Южнопортовая улица, 3с2
тел: 8 (800) 551-37-63
email: [email protected]

Источник

Доставка товаров из США

Главная трудность шопинга в интернет-магазинах Соединенных Штатов — оплата и пересылка. Языковой барьер, сложности с конвертацией валют, таможенные затруднения — все это препятствует комфортным покупкам за рубежом, что приводит к неприятным сюрпризам в виде огромных тарифов на пересылку и разочарованию в связи с долгой доставкой из США. Справиться со всеми проблемами разом поможет наш сервис. Shopotam организует выкуп товаров и их пересылку в Россию с 2010 года. На сегодняшний день сервис доставляет заказы из любых американских интернет-магазинов. Даже из тех, которые нацелены на внутренний рынок и не высылают товары покупателям из других стран.

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

Доставка из США — не единственная наша миссия. Сегодня наш сервис сотрудничает с тысячами магазинами из 200 стран, где вы так же беспрепятственно можете выбирать товары без ограничений. Для этого скопируйте URL изделия и вставьте его в поле «заказ по ссылке». Не забудьте указать важные характеристики приобретаемых вещей в соответствующих полях. Если все сделано правильно, то сотрудники Шопотам сразу же приступят к работе: выкупят нужную товарную позицию и организуют ее доставку из Америки. Одновременно будут решаться сопутствующие вопросы: перевод и конвертация валют, обсуждение с продавцом нюансов заказа, заполнение таможенных документов и прочие трудности, возникающие при зарубежном онлайн-шопинге. Отныне благодаря Shopotam обеспечить доставку товаров из США можно будет быстро, недорого и с комфортом! Все вопросы решаются дистанционно через личный кабинет на сайте посредника. Теперь вам не придется отказываться от покупки только потому, что продавец не сотрудничает с международными перевозчиками, из-за чего доставка из Америки в Россию ранее была невозможной.

Сколько стоит доставка из США в Россию

Стоимость доставки из США в Россию зависит от составляющих этой услуги. В расчет берется расстояние пересылки, размеры отправления и выбранный тарифный план. Чтобы хотя бы примерно представлять, какие будут транспортные расходы, воспользуйтесь калькулятором, указав данные параметры. На выбор покупателей предоставляется два тарифа: «Базовый» и «Беззаботный». Первый включает только самые необходимые опции, без которых доставка товаров из США невозможна. Комиссия при этом минимальна — отличный выбор, если вы хотите как можно больше сэкономить. Подключив «Беззаботный» план, вы бесплатно получите множество дополнительных услуг, с которыми шопинг в Соединенных Штатах станет еще более приятным и безопасным. Например, вы сможете защитить свои отправления, проверить их перед отправкой, а также получить несколько изображений содержимого посылок.

Оплачивая доставку из Америки в Россию, учтите, что за комиссию сервиса придется заплатить отдельно. Она начисляется за выкуп, обработку и оформление заказов. Как правило, ее размер составляет определенный процент от стоимости вещей. Но если вы заказываете в одном магазине несколько изделий, то вы неплохо сэкономите, так как комиссия за каждый следующий товар будет ниже. Всем клиентам Шопотам за потраченные на комиссию сервиса средства начисляются бонусы, которыми потом можно расплатиться за услуги посредника при очередной покупке. За счет этого доставка товаров из Америки станет еще более доступной! Чем чаще вы покупаете в Штатах, тем больше получаете бонусов и экономите на покупках.

Доставка из США в Россию будет еще дешевле, если пользоваться различными промокодами и участвовать в акциях сервиса. Следите за новостями в соответствующем разделе, где нередко появляются сведения о возможности снизить расходы на пересылку. Почаще заходите на сайт, чтобы не пропустить выгодные спецпредложения для зарубежных покупок, или оформите подписку на рассылку новостей!

Источник

🇩🇪 Полироль из Германии [2021]

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Наталья Заболоцкая

Что необходимо знать при поставке

Популярные Коды ТН ВЭД по каким ввозят полироль?

Самые подходящие коды ТН ВЭД по нашему мнению: 3403990000 (1), 3405300000 (2), 3909509000 (1), 3405 (1)

Фабрики и оптовые производители из Германии

При оптовых закупках необходимо правильно выбрать производство в Germany, где с одной стороны цена ниже, но с другой стороны вы можете сэкономить на доставке. напрямую до Москвы, Казани или Санкт-Петербурга.

Мы можем помочь вам стать официальным дистрибьютером полироля

Доставка и таможенное оформление полироля из Германии

Мы подобрали надежные и проверенные компании для доставки из Германии в РФ (Москва, Санкт-Петербург, Казань и другие города РФ). Прямые поставки с поставщиками: доставка грузов и таможенное оформление.

Импорт полироля из Германии

Оформление импортной поставки полироля не сложная процедура, но обязательно необходимо, точно подбор всех необходимых документов

ТОП 10 стран по поставкам в РФ полироля

Наиболее распространенные страны по доставке полироля. Мы можем помочь организовать вам прямые оптовые поставки с минимальным прайсом. Импорт продукции включает в себя переговоры с поставщиком, логистика, таможенное оформление, получение разрешительной документации

Экспорт полироля из России, Казахстана, Белоруссии

Мы поможем продать полироль в Германии. Мы работаем только с компаниями.

Наш офис: г. Москва, Южнопортовая улица, 3с2
тел: 8 (800) 551-37-63
email: [email protected]

Источник

Расширители портов или что делать когда ног не осталось но очень надо!

Здравствуйте уважаемые пикабушники и читатели сообщества Arduino & Pi.

Сегодня снова небольшой обзорчик товаров с али но с небольшой объединяющей темой.

Этой темой сегодня будет «Расширители портов»

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

Итак, в самом начале, бесспорный лидер по цене и полезности.

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Этот расширитель портов не работает с ШИМ но отлично добавляет 8 портов через I2C. Есть версия расширителя под китайские экраны 1602/2004 но в них можно использовать всего 7 портов из-за разводки (но при стоимости чуть выше 70 центов я думаю это не проблема)

Расширитель несет в себе 8 квази двунаправленных портов. Т.е. расширитель может как открывать/закрывать порт из кода так и отлавливать это событие. В отличии от очень популярных сдвиговых регистров которые могут работать или как приемник сигнала или управлять сигналом на выходах. Есть правда в нем один минус. Открываемые порты подтягиваются не к питание а на ноль. Что в свою очередь несет некоторые ограничения в использовании. Но в противовес этому можно поставить очень простую работу с модулем без какой либо библиотеки.

На расширителе имеется 9й вход (int) для получения сигнала об изменении состояния других входов расширителя. Подключается в любой свободный порт и отслеживается состояние через него.

Применение: Подключение символьных экранов типа 1602/2004, подключение кнопок и энкодеров по i2c, подключение кнопочных/пленочных клавиатур через i2c, управление светодиодами, сегментными индикаторами.

Стоимость расширителя на Aliexpress начинается от 43 рублей за версию на 7 портов

и от 75 рублей за версию на 8 портов.

Следующим в нашем списке идет копия расширителя портов от Adafruit.

PCA9685 PWM Module (Arduino PWM Module)

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

По мне это очень полезный модуль. Дополнительные 16 ШИМ выводов это мощно.

В общем модeль имеет 16 выходов ШИМ по 12 бит каждый. 4096 уровней ШИМ на канал.

Работает модуль через I2C интерфейс со всеми вытекающими. Частота ШИМ настраивается от 24 до 1526 Гц хотя на плате указано от 40 до 1000 Гц.

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

Этот модуль идеально подойдет для работы с PCF8574 в тандеме. Главное не забудьте поставить перемычки на А0-А5 для настройки I2C адреса.

Применение: Управление светодиодами/светодиодными матрицами, сервомоторами, устройствами с управляющим сигналом ШИМ.

Стоимость на AliExpress начинается от 110 рубликов.

Для тех кому интерфейс SPI ближе могут приобрести аналог этой микросхемы.

TLC5940 в DIP корпусе.

Стоимость этой микросхемы на AliExpress начинается от 70 рублей за штуку.

Пройдем к следующему типу портов. АЦП.

Очень часто в наших проектах нам не хватает еще одного-двух портов с АЦП. Но в данном случае нам поможет расширитель АЦП на 4 порта.

ADS1115 ADC Module (Arduino ADC Module)

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Сам по себе модуль очень компактный и подключается опять же через интерфейс I2C. 12bit.

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

Всего в микросхеме имеется 4 входа (AIN0-AIN3), которые могут использоваться как два дифференциальных входа для измерения разности напряжения между входами, либо как 4 отдельных несимметричных входа, в этом случае напряжение измеряется между одним из входов и общим проводом. Встроенный усилитель дает возможность измерения малых напряжений, не ограничивая разрешение АЦП. Модуль имеет всего 4 варианта адреса I2C в зависимости от того к какому из входов будет подключен вход ADDR (доступны для подключения пины DVV, GND, SCL, SDA). По умолчанию адрес модуля 1001000 (0x48).

Стоимость данного модуля на AliExpress начинается от 118 рублей.

Далее на повестке у нас обратная трансформация сигнала. ЦАП.

Преобразователь АЦП/ЦАП на базе PCF8591 (Arduino DAC Module)

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Начнем с того что этот модуль имеет один большой минус. Разрешение каждого входа/выхода у него всего 8 бит, что хуже чем у Arduino. Но этот модуль мы должны рассмотреть т.к. в нем много того что не умеет ардуина.

Как вы могли заметить на модуле распаян потенциометр (10к), термистор и фоторезистор.

Они тут не просто так. Они для отладки и тестов преобразователя ЦАП. Три джампера на модуле присоединяют эти элементы ко входным портам модуля для экспериментов и отладки программы.

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

Стоимость модуля на AliExpress начинается от 68 рублей (в комплекте идут провода для подключения)

Преобразователь ЦАП на MCP4725

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

В чем же интерес данного модуля помимо большего разрешения. Во первых у него есть собственный EEPROM. В нем хранятся данные о последнем преобразовании. т.ч. вы в любой момент можете взять эти данные. Во вторых модуль работает через Fast Mode I2C т.е. 3.4Mbps.

Преобразованные данные снимаются с пина OUT.

Стоимость модуля на AliExpress начинается от 70 рублей. К комплекте с модулем только гребенка для макетной платы.

Ну и в заключение хотелось бы показать маленький экранчик с низкой ценой и тач экраном 🙂

2.0″ TFT Sensor lcd + stilus

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

Разрешение экрана: 240X320

Встроенный микроконтроллер с оперативной памятью: S6D1121

Монитор поддерживается Arduino библиотекой: UTFT

Этого я думаю более чем достаточно перед тем как узнать что стоит он всего 177 рублей да еще и стилус в подарок. Я заказал себе несколько т.к. это подарок богов относительно дорогущего 1.8″ tft со слотом для карточки.

Стоимость этого экрана на AliExpress составляет смешных 177 рублей. В подарок еще идет стилус.

На этом сегодняшний обзор я закончу.

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

Удачных вам компиляций, минимум багов и быстрых доставок.

P.S. Простите меня за такие короткие ссылки. 🙁 Пикабу что-то делает с короткими ссылками али поэтому приходится делать вот так 🙁

Не забывайте подписываться на наше сообщество «Arduino & Pi»

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Arduino & Pi

1.1K поста 18.2K подписчиков

Правила сообщества

В нашем сообществе запрещается:

• Добавлять посты не относящиеся к тематике сообщества, либо не несущие какой-либо полезной нагрузки (флуд)

• Задавать очевидные вопросы в виде постов, не воспользовавшись перед этим поиском

• Рассуждать на темы политики

А можно подробнее о фильтрирующем конденсаторе для PWM модуля? Как раз в пути такой, и хочу заранее купить.

Подключение дисплея к Uno через SPI? И как насчет других библиотек? UTFT медленная, как мне кажется, даже слишком медленная

Здравствуйте! Подскажите, возможно ли подключить дисплей от планшета (7» 800-480), хотя бы в 2х цветном режиме. Возможно ли такое вообще?

Удачных вам компиляций и быстрых доставок 🙂

Интересует возможность работы arduino с унифицированным сигналом 4-20мА, да ещё и с HART

Скажите пжлст, какой расширитель нужен под тфт дисплей?

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

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

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

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

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

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

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

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

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

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

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

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

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

Экран от Nokia 5110

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

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

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

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

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

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

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

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

STM32F429I Discovery + SDRAM + LTDC под Arduino IDE

Сижу на карантине и придумываю себе сложности. Дома валяется STM32F429I Discovery, вот и решил проверить возможности Arduino IDE для программирования STM32 и данной платки в частности.

Для начала нужно поставить STM32 Cores под Arduino IDE. Детально этот процесс расписан тут https://github.com/stm32duino/wiki/wiki/Getting-Started так что не буду повторяться, тут ничего сложного.

Мне немного не повезло, так как именно этой платки нет в этой сборке, но это не проблема. Можно добавить практически любую стандартную отладочную STM32 вручную, так как драйвера есть в комплекте под большое количество чипов. Вот тут лежит инструкция по добавлению новой платы https://github.com/stm32duino/wiki/wiki/Add-a-new-variant-(board) Но я напишу вкратце со своими конфигами:

Теперь в меню выбора плат в Arduino IDE в разделе Discovery появится наша платка.

После добавления платы я проверил все стандартные возможности:

цифровые входы/выходы, аналог, шим, уарт, SPI, I2C, прерывания, freertos и т.д.

В большинстве случаев все отлично работает, но некоторые вещи с дополнительными костылями под stm32

Также отлично завелся гироскоп, который есть на плате через библиотеку Adafruit_L3GD20 (только старую, в которой есть SPI, а не I2C)

командами SDRAM_Read8 и SDRAM_Write8 можно записывать/считывать значение в памяти по адресу.

команда PutPixel меняет цвет пикселя по координатам x, y

Ну и видео на котором можно оценить разницу в скорости работы двумя методами: заливка экрана черным > синим > красным с задержкой в одну секунду через SPI и LTDC.

Кстати тачскрин тоже работает, для этого нужна библиотека Adafruit_STMPE610, тут только пини для I2C надо правильные задать.

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

Вторая жизнь старому стрелочному мультиметру

Бывает, что у радиолюбителей есть старый стрелочный мультиметр советских времен, лежит где-то далеко на полке. По прямому назначению его уже использовать не хочется, а выкинуть жалко. Так и лежит. В этой статье мы сделаем его модернизацию, а именно – добавим USB, для возможности анализа данных и построения графиков.

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Из курса школьной физики вспоминаем принцип работы такого измерительного прибора – ток течет по обмотке, находящейся в магнитном поле, пытается покрутиться и отклоняет стрелку. Первым делом вскрываем мультиметр и смотрим на подключение стрелки.

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Выбираем провод с более резким наклоном прямой. В моем случае получилось что при максимальном отклонении стрелки напряжение равно 96,4 мВ. Для оцифровки микроконтроллером мало, но ничего страшного, это напряжение можно усилить операционным усилителем. Подойдет любой ОУ, я взял LM2904, просто потому что у меня такой был. Смотрим документ на микросхему – два ОУ в одном корпусе, максимальное выходное напряжение Vcc-1.5v. Запитывать будем от 3.3 вольт, значит надо подобрать коэффициенты усиления так, чтобы при зашкаливающей стрелке ОУ выдавал максимально возможное напряжение.

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

На борту у нее микроконтроллер STM32F103C8T6. Есть АЦП и USB. Подходит. Для первоначальной настройки предлагаю воспользоваться STM32CubeMX. Включаем тактирование, настраиваем кварцевые резонаторы.

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Включаем и настраиваем АЦП, не забываем про прерывание по готовности.

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

АЦП будет запускаться по событию таймера, настраиваем таймер.

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Таймер тактируется частотой 48 МГц, с предделителем 24 и периодом 2000 получится, что он будет запускать АЦП каждую 1 мс. В принципе так часто нет смысла, но мы будем использовать усреднение значений, поэтому пусть будет. Включаем USB, выбираем Custom HID.

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Генерируем проект и переходим к написанию кода. Я использовал System Workbench for STM32. Добавляем в «main.c» запуск таймера и АЦП, и несколько глобальных переменных.

/* USER CODE BEGIN PV */

volatile uint16_t x;

В прерывании прибавляем к переменной значение с АЦП и увеличиваем счетчик. Когда счетчик достигнет 200, усредняем значение и перекладываем в буфер для отправки по USB. Поднимем флаг, что пора отправлять.

void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc)<

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

/* USER CODE BEGIN WHILE */

/* USER CODE END WHILE */

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

0x07, /* bLength: Endpoint Descriptor size */

CUSTOM_HID_EPOUT_ADDR, /*bEndpointAddress: Endpoint Address (OUT)*/

0x03, /* bmAttributes: Interrupt endpoint */

CUSTOM_HID_EPOUT_SIZE, /* wMaxPacketSize: 2 Bytes max */

0x20, /* bInterval: Polling Interval (20 ms) */

Далее составим «HID Report» дескриптор в программке HID Descriptor Tool.

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Тут мы говорим, что наше устройство сообщает температуру в комнате (Usage). Report Size=8 и Report Count=4 означают, что 32 бита посылается от устройства к компьютеру (Input) и столько же от компьютера к устройству (Output). Нам из этого всего понадобится только 2 байта, остальное на будущее. Сохраняем как заголовочный файл, и копируем в наш код (куб там оставил место в файле usbd_custom_hid_if.c). Так же надо проверить соответствие размеров репорт дескриптора 35 байт и размер буфера под отправку (тут должно быть 5 байт, потому что мы еще указали Report ID – это еще 1 байт в самом начале). Прошьем и проверим, что устройство правильно определилось в системе.

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Раскомментируем функцию отправки в файле «usbd_custom_hid_if.c» и заполняем, указав первым байтом Report ID, дальше наше значение АЦП.

* @brief Send the report to the Host

* @Param report: The report to be sent

* @Param len: The report length

* @retval USBD_OK if all operations are OK else USBD_FAIL

static uint8_t USBD_CUSTOM_HID_SendReport_FS(uint8_t *report, uint16_t len)

uint8_t USB_Send_report(uint16_t data)<

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Осталось написать программку под Windows, которая бы все это обрабатывала. Берем любимую среду программирования и библиотеку для работы с HID устройствами. Я взял старенькую Delphi 7 и библиотеку компонентов JEDI VCL. Из нее нужны «TJvHidDeviceController» и «TJvHidDevice». Добавляем обработчик «OnEnumerate» у девайс контроллера, в него по очереди прилетают все HID устройства при вызове энумерации. Остается отфильтровать наше устройство по VID и PID, затем связать с компонентом «TJvHidDevice».

function TUSBMeter.HidControllerEnumerate(HidDev: TJvHidDevice; const Idx: Integer): Boolean;

if (HidDev.Caps.OutputReportByteLength=OUT_REPORT_COUNT_AMPERAGE) then

Данные будут приходить в обработчик «OnDeviceData». В нем вычисляем из посылки значение АЦП и выводим куда-нибудь для проверки.

procedure TUSBMeter.HidControllerDeviceData(HidDev: TJvHidDevice; ReportID: Byte; const Data: Pointer; Size: Word);

if (IntToHex(HidDev.Attributes.VendorID,4)<>VID)or((IntToHex(HidDev.Attributes.ProductID,4)<>PID)) then exit;

adc_abs:= adc_abs shl 8;

Теперь надо сделать пересчет, добавим на форму RadioGroup и настроим как на переключателе мультиметра. Я не стал добавлять шкалу сопротивлений, не нужна.

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Заведем так же масштабирующий массив для пересчета и массив с единицами измерений.

scale_arr: array[1..18] of real = (600,300,150,60,30,15,6,3,0.75,1500,300,60,15,3,0.6,0.12,0.000012,1);

Для пересчета еще понадобятся два граничных значения acd_min и adc_max. Подключаем потенциометр к мультиметру, выставляем стрелку на 0 и смотрим, что присылается в программу. Если тоже 0 – хорошо, если нет – не беда, подкорректируем. Потом выставляем стрелку на максимум и так же смотрим. Важно чтобы когда стрелка «зашкаливала» значение продолжало увеличиваться, так будет запас. Если этого нет, надо подкрутить потенциометр ОУ. У меня получилось 0 и 2365. Пересчитываем и выводим уже на основное табло.

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Большая часть готова, теперь надо прикрутить запись в файл, страницу настроек с сохранением и красивый GUI. Формат файла я взял CSV, так как из него будет легко строить графики в Экселе.

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Все, готово. Осталось собрать все в корпус мультиметра, свободного места там полно. Прорезать отверстие под USB шнурок и убрать обратно на самую дальнюю полку до тех пор, пока не понадобится снять долгий график разряда аккумулятора или график потребления тока каким-нибудь устройством.

Надеюсь, кому-нибудь будет полезно.

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Для начинающих Stm32f103C8T6

Добрый. день? Сегодня я хотел бы поделиться моим опытом начинающего экспериментатора с stm32. В данном посте мне хотелось бы помочь тем, кто хочет перейти с ардуино или просто начать использовать stm32 для своих поделок. Я и сам не имею богатого опыта работы с данными контроллерами, но буду рад поделиться своим первым опытом, и сделанными на этом пути ошибками. Надеюсь, кому-то это будет интересно.

Для начала, нам понадобится stm32f103C8T6, и дебаггер ST-Link V2. И то и другое можно купить в китае или в местных магазинах электроники, цена обоих, примерно по 2$. А так же нам потребуется 4 джампера, для соединения этих устройств. Этого будет достаточно, что-бы помигать светодиодом или управлять какими-либо внешними устройствами, но начнем с малого.

А так же среда разработки, я предпочитаю официальный софт с поддержкой, потому берем ставую не так давно бесплатной Atollic TrueSTUDIO вот тут: http://www.st.com/en/development-tools/truestudio.html

Затем, нам нужно подключить, используя 4 джампера, наш программатор к плате контроллера следующим образом:

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Итак, для начала создадим проект, используя STM32CubeMX, эта программа предназначена для удобной инициализации периферии и создания проекта, для IDE в которой мы будем далее работать, поверьте, куб действительно прекрасен. После нажатия на кнопку «New Project», попадаем на окно выбора чипа. В нашем случае это stm32f103c8tx. Выбираем его и нажимаем «Start Project».

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Вообще в stm32, в отличие от ардуино, где визуально пины делятся только на аналоговые и цифровые, пины разделены на группы, PA, PB, PC, PD. Это обусловлено тем, что stm имеет 32 разрядные регистры (GPIOA, GPIOB, GPIOC, GPIOD) для управления выходами, потому каждый регистр может управлять 16 выходами микроконтроллера, у микросхем старших поколений stm этих выходов очень много, потому было принято решение сгруппировать выходы, в соответствии с именами регистров.

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Stm32 может тактироваться от любого из 2х встроенных резонаторов, медленного и быстрого LSI 40KHz(по умолчанию) и HSI 8MHz, встроенных в сам чип и таким образом, обходиться без внешнего резонатора. Либо же использовать внешние резонаторы с частотой 4-16MHz (HSE), если вам нужно ускорить ваш камень или LSE c частотами 0-1000 KHz если вам нужно жертвовать скоростью ради энергопотребления.

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

В открывшемся окне заполняем поля:

Project Name, Project Location и ВНИМАНИЕ! выбираем IDE для которой будет создан наш проект, в нашем случае это TrueSTUDIO, если этого не сделать, то будет создан проект для IAR (EWARM).

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Затем нажимаем ок и создаем проект. Если вы все сделали верно, то куб сразу же предложит вам скачать необходимые для вашего контроллера библиотеки и затем отрыть проект в Atollic TrueSTUDIO:

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Все что нам необходимо, это добавить следующий код внутрь цикла while в нашем main и нажать debug, перед этим убедитесь, что оба режима бут отключены (желтые переключатели установлены, как на первом фото):

HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET);

HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET);

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Ардуино могла быть в 25 раз быстрее! Разница скорости Arduino vs. AVR vs. STM32.

Провел тест, для сравнения скорости выполнения программы на Arduino, AVR и STM32. Результаты мягко говоря удивили. Тестовая программа написанная в Atmel Studio выполнилась в 25 раз быстрее чем на Arduino, но одном и том-же процессоре.

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Еще больше удивило, что AVR обогнал STM32. И дело тут не в архитектуре процессора, не в задержках вызванных ограниченной скоростью доступа к памяти программы (flash latency). Причина в медленных функциях STDPeriph. Многие действия, которые могли бы выполниться за один такт выполняются в лучшем случае за пять, так как находятся внутри функции. Если бы перед оглашением таких функций стояла директива «inline» размер кода и скорость выполнения были-бы значительно выше. После замены медленных функций на прямое обращение к регистрам скорость STM32 утроилась. В CubeMX дела обстоят еще хуже из-за усложненных обработчиков прерываний, callback функций и т.д.

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

STM32 от Булкина. Atmega и Arduino vs STM32 и HAL

Долго думал над содержанием, но всё-таки решил написать статью-сравнение Atmega vs STM32 и немного пройтись по Arduino vs HAL.

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

Для начала зададимся вопросом, а корректно ли сравнивать 8-битную архитектуру МК Atmega/ATtiny и 32-битную ARM STM32?

Собственно, в этой статье я обсуждаю преимущества, которая даёт 32-битная архитектура в целом, а также преимущества МК STM32 относительно МК Atmega/ATtiny в частности. Вопрос из той же оперы, как стоит ли переходить с процессоров i486 на i7.

Я сам занимаюсь автоматикой. Так что и вижу я картину с точки зрения автоматики, в основном промышленной.

Немного теории о 8 битах

Часто сталкивался с заблуждением, что программа на 8-ми битных МК оперирует только 8-ми битными данными, потому смысла в переходе на 32-битные МК нет. На самом деле, например, простые целочисленные данные и указатели в 8-ми битных МК являются 16-ти битными. Поэтому, утрируя, при работе с такими данными, МК тратит дополнительные такты там, где 32-битное ядро тратит всего один. Плюс для доступа к таким данным 8-ми битный МК производит дополнительные операции чтения/записи и операции со стеком. На деле это дополнительно приводит и к увеличению объема прошивки, и к увеличению потребления памяти.

32-битные же МК могут легко оперировать 8-, 16- и 32-битными данными за такт. Плюс наличие готовых команд для доступа к ним и преобразования, т.н. набор команд Thumb.

А что с производительностью?

Тут можно обратиться к сухим синтетическим тестам, например CoreMark. Он хорош ещё и тем, что даёт показатель CoreMark/MHz. Просто навскидку из таблицы:

— ATmega2560 (на частоте 8МГц): 0.53 CoreMark/MHz

— ATmega644 (на частоте 20МГц): 0.54 CoreMark/MHz

— STM32F103RB (на частоте 72МГц): 1.50 CoreMark/MHz

— STM32F051C8 (на частоте 48МГц): 2.20 CoreMark/MHz

Ещё раз подчеркиваю, это показатель производительности на МГц частоты. Общая производительность вообще разгромная:

— ATmega2560 (на частоте 8МГц): 4.25 CoreMark

— ATmega644 (на частоте 20МГц): 10.21 CoreMark

— STM32F103RB (на частоте 72МГц): 108.26 CoreMark

— STM32F051C8 (на частоте 48МГц): 105.61 CoreMark

Я привёл примеры наиболее используемых МК из готовой таблицы.

Если ещё коснуться ARM, то они имеют набор команд Thumb, которые позволяют делать, например, множественные пересылки данных одной командой.

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

И ещё потом добавим DMA, который на порядок ускоряет работу с периферией и не только.

Выходит очень вкусно, я считаю.

А что с потреблением?

Тут всё по канонам. В сравнении с 32-бит, 8-битные МК производят в 4 раза больше циклов обращения к памяти и большее количество команд для копирования того же объема данных. Также, например, ARM позволяют выполнять по 2 команды Thumb за такт. У 32-бит меньше работы, меньше потребление.

Также это всё значит, что и работаем на пониженном напряжении. Это 3.3В у STM32 против 5В у Atmega. Конечно, у Atmega можно снизить напряжение, но придётся снижать и частоту в разы. Если брать те же 3.3В, то придётся снизить частоту до 10МГц.

Это кстати, ещё преимущество для STM32. Далеко не вся периферия работает на 5В, поэтому приходится ставить дополнительный регулятор напряжения для неё при использовании ATmega/ATtiny.

Хотя, чего греха таить, я сам предпочитаю использовать импульсный регулятор на входе на 4.5-5В и потом опускаю линейником до 3.3В. Это особенно важно там, где используются ADC/DAC.

Ну и не забудем про такую серию у STM32, как Lxxx. Это МК с ультра-низким потреблением. Хотя они дороговаты. Но у них, зато, есть ещё и EEPROM на борту, как у Atmega/ATtiny.

Тут вообще момент прекрасный. Если брать прям вот аналогичный в плане ног и периферии STM32, выигрыш значительный. Плюс можно сэкономить на RTC и USB.

Если брать современную серию STM32 на Cortex M4 и Cortex M7, это F3xx и выше, там цена выше, конечно, но и плюшек море.

Замучил уже, сравнивай в таблице!

Я решил разбить сравнение на 4 части:

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

Я намеренно не сравниваю отладочные платы, особенно с Ali. Их вообще надо использовать только для отладки софта и разработки готового устройства. Мы же серьёзные люди, да?

И ещё. Указать корректное количество каналов PWM может быть не везде просто. Поэтому пишу везде приставку “до”. Я считаю количество тех, которые можно вывести всей кучей на разные ноги.

Я везде в STM32 отмечаю наличие CRC32. Это очень важная и нужная фишка. Позволяет считать контрольные суммы налету. Очень нужно, если пишете свой протокол обмена данными, например. Для того же Modbus можно приспособить.

Все фотки самих чипов я делал на планшет, цифры сейчас нет под рукой. Все фото мои личные, фотал чипы из своих запасов.

Микро: ATtiny861A-SU vs STM32F030F4P6

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

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Слева ATtiny, справа STM32. Разница в размерах впечатляет, особенно как узнаешь возможности этой финтифлюшки.

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Мини: ATmega328P-AU vs STM32F103C8T6

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Слева ATmega, справа STM32. При схожих размерах, ног у STM32 больше.

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Средне: ATmega644PA-AU vs STM32F303CBT6

По опыту прошлой разработки знаю, что первым делом, когда 328-й уже не хватает, но 2560 ещё как-то слишком, ATmega644 лучший вариант. 44 ноги, периферия побогаче, памяти побольше и стоит по-божески. Думал включить сюда ATmega1284, но стоит у нас непотребных денег, решил всё-таки учесть цену.

Относительно STM32F303CB стоит заметить, что это очень сбалансированный чип по всем параметрам. Богатая периферия, много памяти, нормальная цена. Есть FPU, аппаратная поддержка RS485 (умеет аппаратно дёргать ногой направления передачи данных) и куча других плюшек.

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Слева ATmega, справа STM32. При сравнимом количестве ног, размер у STM32 меньше.

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

Макси: ATmega2560-16AU vs STM32F405VGT6

Ну выбор МК от AVR в этой категории очевиден. STM32F405 выбрал также из-за его сбалансированности. А ещё вкусной цене при таких-то характеристиках.

Feinpolierpaste 562 1602 для чего. Смотреть фото Feinpolierpaste 562 1602 для чего. Смотреть картинку Feinpolierpaste 562 1602 для чего. Картинка про Feinpolierpaste 562 1602 для чего. Фото Feinpolierpaste 562 1602 для чего

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

Где-то года полтора назад я сам наткнулся на подобное сравнение и был ошарашен. К тому моменту уже больше года у меня было несколько отладочных плат на STM32 и я всё никак не мог к ним подступиться. Но тогда твёрдо решил добить. Отложил дела и потратил месяц на изучение. Через вопли, бури возмущения, сопли и ярость. А теперь не понимаю, как я раньше жил на Atmega’х и Arduino.

Ладно. Хочу отметить некоторые вещи, которые здорово влияют на выбор с обеих сторон.

Плюсы Arduino и вообще.

Конечно же сама экосистема. Огромная база знаний, огромное коммьюнити.

Библиотеки есть подо всё, прям вообще.

Доступность шилдов подо всё и вся.

Чрезвычайно низкий порог вхождения, вот для любого.

На борту есть EEPROM, это очень удобно и круто.

Отдельно стоит отметить, что даже без Arduino программировать под Atmel довольно легко. Библиотеки, Atmel Studio и прочее.

Но есть и глобальные недостатки.

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

С Atmega никогда не получишь нормальной производительности. Нормального планировщика не воткнёшь. Они есть, конечно, даже FreeRTOS можно воткнуть, но памяти и так мало, а планировщики очень голодные. Потому не сделаешь нормальный интерфейс с хорошим откликом, не сделаешь контроллер с сотней прерываний и несколькими десятками устройств на периферии.

Куча народу (не все, конечно) возомнили себя крутыми спецами и штампуют дерьмо на отладочных платах и шилдах. Частенько промышленное дерьмо. Это, у меня лично, вызывает дикое негодование.

Сама по себе платформа, не смотря даже на то, что и STM32 тоже может работать с Arduino, подразумевает усреднение. Отсюда даже на нормальных чипах ты получаешь кастрата. И по-любому приходится лезть в дебри. Ну и в чём смысл тогда?

А что сказать хорошего про STM32?

Платформа изначально очень производительная. Как я писал выше, нет кучи недостатков 8-битных МК.

У тебя всегда изначально куча периферии. И ты выбираешь, на какие ноги её вешать и плату разводишь, как тебе удобно. А МК уже конфигурируешь исходя из этого.

Из неочевидного, например, на любую ногу можно сделать как PullUP, так и PullDown. А это очень облегчает проектировку плат, поверьте.

HAL, на самом деле, очень мощный инструмент. Хотя некоторые его хают за громоздкость, но на деле это в основном набор готовых #define, которые сильно облегчают написание и чтение кода. И переносимость!

Отладка практически на любом инструменте, почти в любой среде работает на ура из коробки. А это в любой момент все переменные, как на ладони. И точки, и даже графики. Я вообще не пользуюсь ничем, что выводило бы данные в консоль. Зачем? Тратить время на написание этих шаблонов, которые потом вычищать из продакшена?

STM32CubeMX вообще панацея. За пару минут переносится код на почти любой другой STM32. Что-то поменял? Нет проблем, галочки расставил, пересобрал проект и всё!

Тот же SPI на F405 можно запустить на 41Мбит! Я просто EEPROM на SPI пользую на 21Мбит. А ещё прибавьте к нему DMA и вообще красота! Летает!

А наличие USB и RTC почти во всех STM32?

Ладно, плюсами можно до бесконечности. Что из минусов есть:

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

Библиотек в свободном доступе не то чтобы нет. Есть и много. Но они либо под устаревший StdPerif, либо заточены под конкретного человека и его собственный набор библиотек. Либо и то, и другое сразу. Так, чтобы почти без доработки большая редкость. К сожалению, сложно абстрагировать библиотеку в STM32, они часто повязаны друг с другом и заточены подо что-то конкретное

Так что да, вам придётся писать свои библиотеки довольно часто. Даже под элементарные вещи вроде LCD1602

Вас будет бесить написание HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET) в сравнении с digitaWrite(LED1, HIGH). Вас будет бесить, что вы должны ВСЕГДА указывать размер буфера приёма. Ведь какая красота в Arduino Serial.available()! Нет, в STM32 мы тоже можете сделать подобное, но придётся взрыть тонны документации, чтоб понять некоторые неочевидные, но элементарные вещи.

Вас будет бесить переход к C99 после C++, но потом даже будете этому рады.

Вас будет бесить объем и количество документации по STM32. Но потом вы проникнетесь и увидите лаконичность и очень грамотную подачу относительно документации Atmel.

На борту нет EEPROM, кроме серии STM32Lxxxx, которая дорогая, как изумруд.

Стоит ещё отметить такую штуку, как Mbed. Довольно крутая вещь для IoT. Большое коммьюнити, мощная поддержка. Куча библиотек для всего. Хотя для моих задач не очень подходит. Посмотрите, если в чистом виде STM32 пугает. STM выпускает платы Nucleo под эту платформу. Так что есть готовые решения, есть =)

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *