ARM. STM32 быстрый старт. Настройка параметров работы выходных пинов порта GPIO

02.05.2017

WinSun, Китай

Первое место в списке по праву занимает шанхайская компания Shanghai WinSun Decoration Design Engineering Co. Китайский строительный 3D-принтер WinSun - это солидное сооружение - 150 метров длиной, 10 метров шириной и более 6 метров высотой. WinSun способен всего за несколько часов напечатать здание высотой до 6 метров. Для печати зданий принтер WinSun использует смесь из строительных отходов, включающих стекло, сталь и цемент.

Первые десять домов компания «напечатала» в 2014 году. Каждый из них стоил немногим более £3000 (270 тыс. рублей). Постепенно технология была усовершенствована, и компания изготовила для выставки в промышленном парке в китайской провинции Цзянсу несколько разнотипных зданий, самое высокое из которых насчитывало пять этажей. Цена этих домов, начиналась от £100.000 (от 7 млн руб). Во время и после выставки компания получила несколько сотен заказов, в том числе от правительства Египта.

Возведение зданий с помощью WinSun обходится примерно на 50% дешевле, чем при использовании классических методов строительства, экономия материала достигает 60%, экономия трудозатрат - 80%!

5-этажный дом, напечатанный принтером WinSun в Шанхае.

Заказы на аренду принтеров WinSun сейчас поступают из самых разных стран - только Саудовская Аравия возьмет в лизинг 100 принтеров с планами напечатать 1.5 млн домов. Есть договоренности и с Объединенными Арабскими Эмиратами. В 2016 году здесь было сооружено строение из элементов, напечатанных в Китае на принтере WinSun

Площадь строения - 240 кв.м.

Apis Cor, США

В декабре 2016 года в Ступино Московской области был осуществлен совместный проект американского стартапа Apis Cor и шести российских компаний. С помощью разработанного компанией Apis Cor 3D-принтера был напечатан жилой дом. Российские компании взяли на себя его отделку и обустройство. Печать самонесущих стен, перегородок и ограждающих конструкций здания заняла 24 часа. После завершения печати принтер извлекли краном-манипулятором. Площадь здания составила 38 кв. м, оно напечатано с помощью аддитивной технологии, слой за слоем. Стоит упомянуть, что впервые в российской строительной практике дом печатался как единое целое, а не собирался из отпечатанных панелей.

Чтобы продемонстрировать гибкие возможности оборудования, была выбрана сравнительно сложная форма дома, а строительство велось в самое холодное время года. Оборудование для печати выдерживает морозы до -35 градусов, но применение бетонной смеси для печати возможно только при температурах не ниже +5 градусов Цельсия, поэтому строительство велось под тентом, где поддерживался необходимый температурный режим.

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

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

Стоимость строительства отпечатанного дома «под ключ» составила 593 568 рублей, или примерно 16 тысяч рублей за квадратный метр. Если бы форма здания была прямоугольной, стоимость за метр снизилась бы до 13 тысяч рублей.

Инженером-разработчиком оборудования, CEO и основателем компании Apis Cor является уроженец России, Никита Дмитриевич Чен-Юн-Тай.

Преимущества 3 Dпринтера Apis Cor:

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

Технические характеристики:

  • Собственное программное обеспечение
  • Зона печати – 132 кв. м
  • Материал для печати - фибробетон, или геополимер
  • Габариты принтера - 4 × 1,6 × 1,5 м.
  • Вес - 2 т
  • Потребление энергии – 8 кВт*ч
  • Максимальная высота подъема с одной точки - 3100 мм
  • Производительность - 100 кв.м полезной площади в сутки
  • Рабочая скорость движения - 1–10 м/мин
  • Скорость холостого хода X/ Y - 20.000 мм/мин
  • Точность позиционирования - ±0,5 мм
  • Точность повторного позиционирования - 0,1–0,2 мм
  • Привод по осям X / Y / Z - Сервопривод
  • Линейные направляющие по осям X / Y - Прецизионные профильные
  • Точность по оси Z - 0,1-0,2 мм
  • Автоматическая стабилизация по горизонту - высокоточный инклинометр 0.0001 градус
  • Реверсные выключатели - бесконтактные на всех осях
  • Отслеживание местоположения печатающей головки в пространстве - гироскоп и лазерный дальномер
  • Стабилизация в пространстве - ПИД регулятор

ProTo R 3Dp и RC 3Dp, CyBe Additive Industries, Нидерланды

В Нидерландах разработан 3D-принтер-манипулятор для строительства ProTo R 3Dp.

Он умеет строить различные конструкции произвольной формы из специального бетона. Разработчики - компания CyBe Additive Industries.

Прототип устройства имеет радиус действия 3,15 м и способен выдавливать цемент со скоростью 200 мм/сек. Диаметр печатающей головки - 30 мм, толщина каждого слоя цемента составляет 30 мм. К устройству можно присоединить несколько экструзионных головок, и тогда скорость печати может быть увеличена до 4000 мм/сек. В настоящее время ведётся разработка подающего механизма, способного уменьшить толщину слоя до 5 мм.

Разработчики утверждают, что с помощью R 3Dp трудозатраты и отходы на строительство могут быть уменьшены. Кроме того, затраченное на возведение постройки время будет снижено до 80% благодаря объединению проектирования, разработки и производства в единую систему.

Интерес представляет не столько сам строительный 3D-принтер, сколько используемый им для печати материал- бетонный раствор CyBe MORTAR, также разработанный CyBe Additive Industries в сотрудничестве со своим партнером. Состав бетонного раствора держится в секрете, но представители компании утверждают, что он отвердевает в течение нескольких минут. Данная особенность позволяет существенно ускорить процесс возведения стен. По словам разработчиков, при использовании данного бетона в атмосферу выбрасывается на 32% меньше углекислого газа, по сравнению с обычным бетоном, что делает материал более экологически чистым. Кроме того, бетон CyBe полностью подлежит вторичной переработке.

С помощью R 3Dp возможно создание опалубки, стен, полов и многого другого.

Сейчас компания занимается разработкой мобильного варианта 3D-принтера - RC 3Dp на гусеничном ходу. Разработчики предполагают, что с помощью данной модификации станет возможна, помимо прочего, печать высоких стен (до 4,5 м) и напорных канализационных труб.

Технические характеристики:

  • Программное обеспечение CyBe ARTISAN, CyBe CHYSEL
  • Материал CyBe MORTAR
  • Диапазон - 2750 мм
  • Скорость печати - 200 мм/с
  • Расход бетона приблизительно - 1,5 кг/м / 40мм.
  • Количество осей - 6
  • Сеть - локальная сеть
  • Сертификаты - наличие сертификата CE
  • Сервис - полный сервис и образовательная поддержка. Удаленная помощь
  • Для контроля работы и подачи материала требуется 2 человека

Что включено в комплект:

  • Аппаратный манипулятор
  • Система смесительных насосов
  • Блок управления с интерфейсом

В Нидерландах с использованием решения CyBe Construction планируют соорудить небольшой конференц-центр сложной формы площадью 90 кв. м. Печать должна завершиться в июле 2017 года.

Batiprint3D, Франция

Университет Нанта (University of Nantes) совместно с Nantes Digital Sciences Laboratory (LS2N) разрабатывает проект печати домов на 3D принтере, известный как Yhnova.

Для проекта будет использоваться разработанный университетом метод Batiprint3D – 3D печать «изнутри». Два слоя полиуретана распыляются послойно в качестве ограждающих конструкции, а затем между ними заливается бетон.

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

Проект Yhnova представляет собой строительство 5-комнатного социального жилья с дугообразными стенами и скругленными углами, спроектированного архитектурной фирмой TICA. По словам разработчиков, Batiprint3D сократит время строительства, улучшит теплоизоляцию и снизит эксплуатационные расходы на строительство. Здание полностью сертифицировано.

Роботизированная рука Batiprint3D может печатать структуры высотой до 7 метров, а площадь планируемого дома - 95 кв. м.

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

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

DCP, MIT, США

Разработкой поделилась и команда исследователей из Массачусетского технологического института (MIT). Чтобы доказать, что их прототип мобильного 3D-принтера Digital Construction Platform (DCP) эффективно работает, команда построила с его помощью круглую стену высотой 3,6 метра и диаметром 15 метров.

Стена возведена из быстро затвердевающей монтажной пены за 13 часов.

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

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

По мнению разработчиков, такое устройство делает DCP идеально подходящим для любых строительных проектов. Устройство работает в комбинации с некоторыми другими программами 3D-печати MIT, например, с программным обеспечением Foundry и с сохраняющими свою форму материалами. Разработчики утверждают, что для печати можно будет использовать также разнообразные биоматериалы - например, сено. Однако, DCP еще не готов работать на реальных строительных площадках. Команда хочет прежде оборудовать свою систему датчиками приближения, которые повысят безопасность пользования системой, предотвратив возможность столкновений гигантского движущегося манипулятора с людьми или какими-либо предметами на стройплощадке.

BetAbram P1, P2 и P3, Словения

Словенская компания BetAbram занимается разработкой 3D-принтеров для строительства с 2012 года. На данный момент модельный ряд продукции ограничен тремя моделями – P1, P2 и P3.

Представители компании утверждают, что принтер BetAbram P1 способен напечатать бетонное здание без опалубки площадью 144 кв. м.

Модель P3:

  • Габариты - 6 x 3 x 2,5 м
  • Вес - 250 кг
  • Потребляемая мощность - 3 кВт

Модель P2:

  • Габариты - 12 x 6 x 2,5 м
  • Вес - 400 кг
  • Потребляемая мощность - 4 кВт

Модель P1:

  • Габариты - 18 х 9 х 2,5 м
  • Вес - 520 кг
  • Потребляемая мощность - 4 кВт

Стоимость модели Р3 составит около €12000, в то время как модель Р1 будет продаваться по цене от €20000. Процесс производства одного принтера требует около двух месяцев.

Темой 3D-принтеров для строительства занимается намного больше компаний, нежели перечисленные выше. Например, с 2012 года печатью замков на 3D принтере Stroybot2 занимается и Андрей Руденко . Его 3D-принтер способен наносить слои цемента высотой 10 мм и толщиной 30 мм. По сравнению с другими «цементными» 3D-принтерами высок уровень аккуратности и точности печати. Материалом для принтера служит цементный раствор, то есть смесь цемента с песком и некоторые присадки и другие добавки в определенных пропорциях.

Пример работы 3D-принтера Stroybot2 г-на Руденко

В ролике ниже Stroybot2 печатает макет дома на Филиппинах.

В планах Андрея Руденко - 3D-печать замка Дракулы (на самом деле князь Дракула не жил в румынском замке Бран, но это уже другая история). Если получится собрать деньги на проект, то полномасштабная реплика замка появится в США, в штате Вашингтон. Принтер г-на Руденко обеспечивает возможность добавления слоев шириной от 30 мм и высотой от 10 мм, что дает высокую точность конструкции.

Екатеринбургский цементный завод в 2016 году приступил к печати двухэтажной реплики башни Винтерфелла из известного сериала "Игра престолов". Головка 3D-принтера закреплена на роботизированном манипуляторе. Принтер может печатать сооружения размерами 8 х 8 х 4 м. Не знаю, что сталось с этим проектом.

Также модульные, экологичные, напечатанные на 3D-принтере жилые дома предлагает украинская компания PassivDom . По словам представителей компании, выполненные «под ключ» дома можно распечатать за 8 часов, а их стоимость равняется $32000.

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

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

3 D принтер построит дома на Луне?

Примерно с середины 2000-х годов параллельно друг с другом в различных университетах мира начались исследования, ориентированные на изучение возможности использования 3D печати в строительной сфере. В 2012 году профессор Берох Кошневис (Behrokh Khoshnevis) из Университета Южной Калифорнии провел презентацию своего инновационного проекта – строительство домов с помощью 3D принтера. Он подумал, что раз с помощью трехмерной печати можно создавать самые разнообразные предметы и объекты, то почему бы не печатать дома с помощью таких принтеров?

Для печати домов Кошневис предложил использовать послойный метод создания, который сам он назвал Контурной обработкой. В качестве материала для строительной печати можно использовать бетон или глину. Сам принтер в этом случае представляет собой передвижное устройство, высотой больше создаваемого здания. Гигантское устройство ездит по специальным рельсам вокруг возводимого дома.

Принцип строительства очень простой: в такой 3D принтер заливают бетонную смесь, и затем осуществляется процесс трехмерной печати, когда слой за слоем формируется заданная конструкция. Нижние слои постепенно уплотняются, что дает им возможность выдерживать все более увеличивающийся вес конструкции. То же самое происходит и в обычном трехмерном принтере, создающем предметы из пластмассы.

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

В данный момент технология проходит тестирование. Сам профессор Кошневис утверждает, что она будет полностью готова к 2017 году. Как бы то ни было, новыми возможностями в области возведения зданий сразу же заинтересовались даже не строительные компании, а космическое агентство НАСА. Оно выделило специальный грант для изучения возможностей использования технологии 3D строительства на Луне. Ведь 3D принтерам для выполнения работы не нужен кислород и, главное, они могут осуществлять строительство в самых экстремальных условиях, включая вакуумное пространство или очень высокие температуры.

Послойное экструдирование

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

3 D дома в Китае

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

Архитектурная компания Winsun использовала для строительства жилых домов гигантский промышленный принтер длиной в сто пятьдесят метров и высотой в шесть метров. Пока речь идет лишь о возведении недорогого, бюджетного жилья. Для Китая с его перенаселенными городами технология 3D строительства может открыть огромные перспективы. Впрочем, если взглянуть на эти домики, возведенные с помощью 3D принтера, то они не произведут большого впечатления. Это прямоугольные, очень простые сооружения. Однако для рынка экономичного, быстровозводимого жилья – они действительно находка. В Китае в ближайшие годы планируется построить несколько предприятий по переработке отходов и мусора, чтобы наладить выпуск смеси в больших объемах для осуществления 3D строительства.

Серийные 3 D принтеры

Компания BetAbram готовит к выпуску серийный 3D принтер для возведения домов, который сможет приобрести любой желающий. Печатающее устройство способно перемещаться как в горизонтальной, так и вертикальной плоскостях. Пока высота ограничена двумя метрами, однако в компании утверждают, что высоту можно будет увеличить в случае необходимости с помощью специальной системы рельсов и подвижной платформы. В модельном ряду BetAbram будет три модели строительных принтеров. Модель P3 позволит напечатать маленький дом длиной четыре метра и шириной три, принтер P2 – бетонный дом без опалубки 12 х 6 метров, и P1 – здание 16 х 9 метров.

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

Дом, напечатанный из соли

Все вышеупомянутые проекты ориентированы на возведение несущих конструкций и стен, однако в компании Emerging Objects справедливо полагают, что возможности 3D печати отнюдь не ограничиваются строительством наружных стен. Ведь с помощью печатающего устройства можно заняться и внутренними интерьерами. В Emerging Objects предложили использовать для создания межкомнатных перегородок, которые бы изящно зонировали внутреннее пространство дома, соляной полимер. Специалисты этой компании соединили строительный клей и соль, получив экономичный, легкий полупрозрачный материал, который идеально подходит для 3D печати. Материал получил название Saltygloo, и, несмотря на свою легкость, он прочнее цемента. Из него будут создавать внутренние стены и межкомнатные перегородки. При желании стены из Saltygloo можно отшлифовать до блеска, либо оставить шероховатыми.

В настоящий момент американская компания работает над своим проектом «Печатный дом 1.0». Он предусматривает строительство дома с помощью печатающего устройства. Причем для возведения внутренних стен используется Saltygloo, а для наружных — блоки Picoroco, представляющие собой цементный полимер. Возводимый 3D дом будет состоять из просторных помещений, разделенных на небольшие комнаты. Полупрозрачные стены из смеси соли со строительным клеем будут создавать в комнатах эффектное освещение.

3 D печать стройматериалов

А вот в Голландии пошли несколько другим путем. Группа ученых из Sabin Design решила найти применение 3D печати не для возведения зданий, а для получения экономичных и надежных строительных материалов. Им удалось создать посредством трехмерной технологии печати керамические кирпичи Polybrick, которые внешне похожи на шлакоблоки. Отличительная особенность и преимущество таких кирпичей – для их установки не требуется использовать клей или строительный раствор как в случае с обычными кирпичами. Кирпичи Polybrick обладают конической формой и надежно крепятся друг к другу.

Новый строительный материал, создаваемый путем 3D печати из специального цветного порошка, обжигается слабым огнем, приобретая красивый вид атласной глазури. Печать кирпичей экономически оправданна, затраты на их производство минимальны. При этом Polybrick могут использоваться для создания самых разнообразных кирпичных конструкций без применения специального раствора.

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

3D принтер для возведения дома на берегу канала Буйкслотер представляет собой гигантскую установку, которая превышает в несколько раз размеры промышленного станка. На первом этапе планируется распечатать каждую составляющую дома в масштабе 1 к 20, чтобы протестировать и проверить надежность конструкций, а затем уже начинать возведение здания с помощью принтера KamerMaker в натуральную величину.

Трудности 3 D строительства

Несмотря на то, что 3D печати предрекают огромные перспективы в строительстве и дома, напечатанные принтером, уже существуют в реальности, имеется множество тонких вопросов, касающихся самой технологии возведения зданий. В частности, 3D принтеры строят дома путем нанесения слоя бетонной смеси на ранее выложенный слой. При этом ничего не говорится о применении в строительстве арматуры – вертикальная арматура просто помешает принтеру свободно перемещаться над слоями на нужной высоте. Однако бетонные дома для обеспечения высокой надежности конструкции просто не могут обойтись без арматуры. Такой дом потрескается и рассыплется с течением времени. В Китае выстроенные принтером дома армировали стеклопластиковой сеткой. Однако прочность и надежность таких конструкций все же вызывает вопросы. Вероятно, эта проблема может быть решена путем использования одновременно двух устройств – одно монтирует арматуру, а другое «печатает» бетонной смесью слой за слоем.

Другой вопрос связан с виброобработкой бетона. Дело в том, что и при монолитном, и при блочно-панельном строительстве применяется виброобработка для удаления воздуха и воздушных пустот из бетона. С этой целью используются различные переносные, электрические или пневматические вибраторы. Благодаря этому железобетон приобретает очень высокую прочность. В случае с технологией 3D строительства вследствие отсутствия опалубки и краткосрочного размещения поддерживающих формовочных лопаток в контакте с бетоннымм раствором виброобработка фактически невозможна. Это опять-таки говорит о том, что дом, построенный из бетонной смеси по 3D технологии, может не простоять долго.

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

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

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

Для мучений и изучений данного девайса. Сказано, сделано. Была собрана платка и пошло поехало. Ах да! Тема нашего разговора зашла о сравнении двух МК. Один выше сказанный против ATmega328. Почему именно они. Оба МК в корпусе TQFP-32. (Правда ATmega328 бывает и в DIP корпусе)
Теперь давайте рассмотрим по ближе их внутренности. Для большего понимания я собрал все необходимые данные в одну табличку.

Параметры ATmega328 STM32F030K6T6
Разрядность 8 бит 32 бита
FLASH 32кб 32кб
SRAM 1кб 4кб
EEPROM 512б -
Таймер 8 бит 2 шт -
Таймер 16 бит 1 шт 16 шт
ШИМ 3 канала 6 каналов
USART 1 шт 1 шт
SPI 1 шт 1 шт
I2C 1 шт (TWI) 1 шт
АЦП 8 каналов 10 бит 16 каналов 12 бит
Питание 2,7 - 5,5 2,4 - 3,6
Скорость 0 - 16МГц 48МГц при внешних 4 - 32МГц
Стоимость 160 - 170 руб. 80 - 140 руб.
Как видно из таблицы, STM32 довольно интереснее и богаче чем AVR. Есть правда одна мелочь. У STM32 нет EEPROM, но зато есть DMA которое просто убивает AVR напрочь. Правда AVR может похвастаться Ардуиной и простатой программирования. Да не спорю, но у STM32 есть STM32Cube, который генерит код для IAR и берет на себя всю рутину настройки периферии. И последний гвоздь в "гроб" AVR это RTOS. Да, на AVR тоже можно установить, но с ней надо разбираться, а в STM32 ставим галочку "FREERTOS" и все. Система сама сделает все что нужно, а нам останется только создавать потоки и писать код в них. Ну это так для затравки. На самом деле там все немного сложнее. Короче STM32 мне нравится и для того чтобы окончательно склонить вас на эту платформу, бросив в ящик стола Ардуину, я создам от начала до конца плату и покажу как с ней работать. О, забыл. У всех STM32 есть отладчик SWD. Это три провода SWDIO, SWCLK, GND и можно скакать по строкам кода прямо в железе, а не как у ATmega328 виртуально в Протеусе. Для этого нужен всего лишь универсальный программатор ST-LINK. Его можно использовать если приобрести плату Discovery или отдельно программатор . А теперь от слов к делу.
Схема. Покрупнее
Данную плату я делал как модуль для своей отладочной платы под AVR. Но ее можно повторить разведя плату по своему усмотрению (Проект под DipTrace я выложу в конце статьи). Что на схеме. А на схеме простая обвязка как и для AVR. Кварц на 8МГц с двумя конденсаторами по 20p. Так же как и в AVR собрана схема питания для опорки АЦП. Цепь сброса как у AVR. Единственное отличие это цепь BOOT. В отличии от AVR у всех STM32 на борту есть железный загрузчик. По умолчанию он выведен на USART. То есть если прижать к питанию ножку BOOT0 и рестартануть МК, то при помощи программы Flash Loader Demonstrator можно прошить МК без программатора. Данная фишка полезна если у вас уже есть готовое и работающее устройство и необходимо обновить прошивку, то нужно лишь переходник USB USART. Многие не хотят связываться с STM32 из-за питания не более 3,6 вольт. Ерунда. Если посмотреть в таблицу пинов, то можно заметить что все ножки могут принимать на себя 5 вольт без последствий. Поехали дальше.

А так она выглядит установленная на плату.

Теперь подключаем программатор ST-LINK-GA к SWD разъему.

Теперь когда все готово, качаем свежую версию с сайта ST (ссылка в самом низу страницы). Устанавливаем и запускаем.

Жмем New Project. И в появившемся окне находим наш контроллер. Жмем Ок.

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

Расписывать что и зачем я не буду, так как это тема отдельной статьи. Сейчас для примера просто сделайте то что я покажу. Что мы будем делать. Мы запустим операционную систему и в единственном потоке будем моргать светодиодом. Этакий "Хелой Ворд" из пушки.))) Для этого в левом окошке нажмите на плюс у надписи "FREERTOS" и в выпавшем списке поставте галочку.

Причем как только будет выбран внешний кварц, справа на контроллере подсветятся зеленым ножки на которые нужно его повесить. Следующим делом надо выбрать ножку на которой будет висеть светодиод. Я выбрал порт В и пин 0. И нашел граблю.Я с перепугу что ли, не знаю зачем, перевернул выводную гребенку первых четырех пинов к верху ногами. Отсюда неразбериха на порте В. Этот косяк касается только моей платы. Но ничего, от этого МК работать не перестал. И так как настроить пин. Дело в том что у STM все пины могут принимать кучу значений, но если касаться дискретного ввода/вывода, то на выход может быть три варианта. Выход в воздухе, выход с подтяжкой к плюсу питания, выход с подтяжкой к общей шине. По умолчанию STM32CubeMX вешает ножку в воздухе. Ну и пусть, нам же нужно просто проверить работу и продемонстрировать силу STM32. Для того чтобы настроить ножку, нужно щелкнуть по ней левой кнопкой мышки и в появившемся окне выбрать GPIO_Output. Если МК мелковат, то можно покрутить колесиком и увеличить его.)))

Следующим этапом нужно настроить тактование МК. Дело в том что у STM32 с этим делом очень мутно. В отличии от AVR у STM32 на входе стоит кварц с частотой от 4 до 32 МГц, а на шинах его можно разогнать до 48 МГц. Внутри МК очень сложная система тактования, но на помощь нам идет опять STM32CubeMX. Переходим во вкладку Clock Configuration и настраиваем как на картинке ниже.

Вот и все. Жмем на иконку с шестеренкой на верху.

Появится вот такое окно.

А вот тут я забыл сказать. Скачайте и установите себе IAR. Его можно скачать у официалов но урезанный по количеству кода, либо можно найти в торрентах. Либо если много лишних денег, то можно и прикупить лицензию. Ну я думаю многие пойдут по тропе с CodeVisionAVR. В общем это оставляю на ваше усмотрение. У меня версия 7.40. Возвращаемся к Кубу. В окошке назовите проект, но только латинскими, IAR не любит русские буквы в путях. И задайте где будет хрониться проект. В окне IDE нужно выбрать (а он по умолчанию) EWARM. Жмем Ок. Программа думает, а потом выдает вот такое окно. Бла-бла-бла. В общем жмем открыть проект (для тех кто в танке средняя кнопка).

Окно исчезнет, а вместо него запустится IAR и наш проект. Слева заходим в Aplication->User и запускаем main.c. Вот эта куча кода и есть то что нагенерил за нас STM32CubeMX.

И что теперь с этим ужасом делать? А вот для этого нужно целую серию статей))) А сейчас просто находим вот такой кусок кода.

Это и есть наш единственный поток. В теле цикла for(;;) удаляем единственную функция osDelay(1);, а вместо нее запишем вот такой код. HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_SET);
osDelay(500);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_RESET);
osDelay(500);

Чудненько. Теперь просто жмем на кнопочку с зеленой стрелочкой справа на верху и ждем компиляцию и загрузку.

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

Вот и все. Микроконтроллеры можно купить по самой низкой цене аж по 78 рублей за штуку в магазине ЧипРезистор . Ну а если хочется по дешевле то есть и мелкий опт. От 35 штук уже по 50 руб.
Проект для DipTrace.
И конечно же видео.


гость 31.12.15 10:35

Недавно хотел сделать частотомер на АТМЕГА16 плюс внешний 8 бит счетчик на 74логике, -не хватило быстродействия.На ассемблере писать-голова не выдержит,городить внешний счетчик на 16 бит-геморойно.АВР - это прошлый век, недешевый контроллер.Поддержу автора, АВР это пройденый этап,я тоже купил чип stm32f100 плюс чип адаптера ЮСБ CP2103, скоро от АВР все откажутся.

Алексей 31.12.15 12:26

Я не согласен. Все таки еще развивается Arduino и многие на нее подсели, а последняя в свою очередь работает на AVR. Переход на STM это что-то вроде перехода на следующий уровень. Так сказать из Детсада в школу.

АНОНИМ 12.02.16 10:44

AVR и STM32 это процессоры не конкурирующие друг с другом. В вашей табличке нет самого главного параметра - это ток потребления!! А посмотрев на них - можно прослезится. Atmega 328 - – Active Mode: 0.2 mA – Power-down Mode: 0.1 µA – Power-save Mode: 0.75 µA (Including 32 kHz RTC) STM32F030K6T6 48 MHz - Active Mode: периферия включена 23.3 mA периферия выключена 11.5 mA - Stop Mode: 0.048 mA STM32 жрёт электричество нещадно - грубо говоря в 100 раз больше чем AVR. От батарейки девайс на STM32 не запитаешь. А вот AVR будут работать месяцами. Так что отказаться от AVR трудно. Удачи всем.

Алексей 12.02.16 10:54

А никто и не предлагает отказаться от AVR. Я лишь показа разницу в периферии. Я до сих пор поддерживаю библиотеку для AVR и до сих пор мой основной МК ATMega8A.

Сергей 24.02.16 18:02

На мой взгляд как то странно сравнивать свежие STM32 с пенсионерами AVR. Если хотите сравнивать STM32 с контролерами ATMEL, то сравнивайте их с семейством ATSAM но не как ни с AVR.

Андрей 24.02.16 18:06

Это кто это пенсионер? AVR жив и будет еще жить хрен знает сколько. И глядя в таблицу, сравнение по моему идет больше по периферии, а не по архитектуре.

Алексей 24.02.16 19:04

Ну начинается. Давайте теперь обсудим АМД и Интел.

Сергей 24.02.16 22:02

На хабре один "знаток" написал, что у AVR нет параллельной шины для подключения стандартного LCD, а у STM32 есть...

Алексей 24.02.16 22:36

Что значит стандартный LCD? Это про FSMC? Так это не только для дисплея, это и для памяти. Просто параллельная шина. У AVR тоже есть, например у Mega8515. К ней через регистр-защелку можно SRAM подключить.

Сергец 25.02.16 06:24

Алексей, ну а я про что?! Такое впечатление, что вы даже не пытаетесь вникнуть в смысл моих сообщений.

Алексей 25.02.16 09:38

Ну, а какой смысл сравнивать два одинаковых микроконтроллера разных фирм. Оба на ядре ARM. Если совсем придираться, то тогда уж надо сравнивать AVR с STM8. Я то придерживался приближенностью периферии, формфактора и цены. И как раз разной архитектуры.

Адлан 03.06.16 17:40

Здравствуйте. Помогите, пожалуйста, кто может. Установил последнюю версию Куба 4.15, Библиотеки F1 1.4.0. Созданный пустой проект в EWARM не компилируется - больше сотни ошибок. ЧТо может быть? Спасибо [email protected]

Алексей 03.06.16 20:48

Адлан, первое что нужно сделать, так это скинуть проект который не компилится.

Doc 18.07.16 21:51

"Правда AVR может похвастаться Ардуиной и простатой программирования." ЧЕМ может похвастаться? ;D

Алексей 19.07.16 11:41

Это глупое сравнение. Во первых у STM есть аналог ардуины под названием нуклео. Программы пишутся в онлайн IDE прямо через браузер. А вот если плюсы лично камня, то. Частота работы ядра 72МГц, AVR и не снилась такая скорость. Конечно если маргать светодиодом, то разницы никакой, а вот если запустить ось и кучу периферии, то AVR сдуется. Разряднось, 32 далеко не 8. Попериферии на STM может находиться 3 I2C, 3 SPI, 6 UART, USB, CAN, Ethernet. Почти все имеет возможность ремапится, то есть переноситься на другие ноги мк. Есть так же DMA, это независимый сопроцессор для работы с периферией. Так что прерывания у AVR нервно курят в сторонке. Есть аппаратный SDIO для полноценной работы с CD картами, а не костыльный ISP в AVR. В общем там много чего еще есть, но самый жирный камень в огород AVR, это помехоустойчивосиь. AVR выбить пролегающим рядом кабелем от электромортора как нефиг делать, а вот STM нужно постараться. Так что язвить с ардуиной я бы не советовал.

гость 11.08.16 23:27

MICROCHIP поглотила AVR!))))))))))

Алексей 12.08.16 08:35

Опоздали с новостью, уже как лет пять назад.

Владимир 17.08.16 22:56

Алексей! В январе 2016 года фирма Microchip покупает Atmel за 3,56 млрд долларов.Каких 5лет?

Алексей 18.08.16 10:30

Это деюро, а дефакто это тянется аж с 2008 года. Так что я действительно ошибся, не 5 лет, а 8 лет назад.))))

Владимир 18.08.16 23:53

Алексей!Стал переходитьна stm32 !А насчёт потребления в авотономном режиме советует всё не тактировать, тогда и снизится ток потребления.

Олег 09.11.16 22:31

В datashet на STM не нашел графиков потребления оттактовой CLK системной как у AVR - а по тем табличкам что есть - STM32 вчистую проигрывает акак в обычном режмие, так и в Idle. Да и нет у этого STM32 тактовой в 72Мгц - только 48 макс, ивсе, так что даже при 32 разрядах 8 битник AVR - лучше получается, и кстати производитель в datasheet не написал сколько тактов в STM32 машинный цикл у него, так что если окажется 2 такта против 1 у AVR - то считай что 48/2=24 реальных Мгца - почти те же самые что и у 20 Мгц у AVR. Вот и вопрос - а чудо-то где у этого STM32 о котором Вы все талдычете?

АНОНИМ 09.11.16 23:03
Алексей 10.11.16 00:23

Я даже не хочу спорить. Что лучше Интел или АМД? Или Жигули или Волга? У СТМ есть аппаратный USB, CAN, Ethernet, SDIO и еще куча периферии которой AVRу только может присниться во сне. В конце концов есть ДМА как самостоятельный сопроцессор с прямым доступом к памяти перед которым все прерывания AVR нервно покуривают в сторонке. Например у первых сериях на борту сразу 3 UARTа, 2 SPI, 3 I2C. Ремап портов есть и не нужно ломать башку как развести плату. Если вам по нраву работать с AVR, то работайте, кто вам мешает. Я по сей день под мелкие проекты леплю меги восьмые и не жалуюсь. Ай да, воткните AVR рядом с пускателем и посмотрите как ему башку снесет наводками. У AVR нет защиты от ЭМН. Поэтому в автосигнализации всегда ставили ПИКи, так как АВР умирает в таких условиях. Да чего спорить, дохлый номер.

Корнет 27.11.16 21:22

Ну кстати уже есть ардуино и на STM32. Это и Амперка и Espruino всякие на JS) Тем более если Микрочип взял Атмел ну нафиг их

Алексей 27.11.16 21:44

Название Espruino пародирует Arduino, самую известную на тот момент хобби-платформу, но Espruino не совместима с классической Arduino Uno ни механически, ни программно.(цитата из Амперки)
Еще у меня есть плата Нуклео и она тоже никаким боком к Arduino не относится, разве что геометрией самой платы)))
Вообще по сути я использую тот МК, который подходит для текущей задачи.

Андрей 20.12.16 22:50

Кому нравится переплачивать: стоит attiny2313-20 - 2Kb-flash /128bit-ram/16bit_ timer -1/8bit_ timer -1 =2.1$ против stm32f103c8t6 64Kb-flash/20Kb-sram/16BIT timer (+контроль мертвого времени для двухканального режима ШИМ) -4/ADC-2/72MHz CPU/=2.3$.По-моему сделать измеритель импеданса цепи RLC c помощью авр практически нереально,либо городить 10 камней.А с STM и БПФ можно сделать(ДМА помогает).Попытался как-то сделать на Меге10 частотомер (точность 1 герц)- банально не хватило быстродействия (либо городить внешний 32-битный счетчик с регистром сдвига-откуда габариты).От АВР отказался год назад, AVR- выходит, для небедных людей.

Andrey 20.12.16 22:53

АНОНИМ писал-"И вот еще, цитата из описания STM32 на русском - "...С
момента
получения
прерывания
до
начала
выполнения
первой
команды
обработчика
прерывания
затрачивается
только
двенадцать
циклов
тактового
сигнала"

Это правда.Но перемножьте два 32-битных числа на avr - явно 8-10 тактов!

Алексей 20.12.16 23:31

Да, я уже сожалею что этот халивар начал.))))

Александр 21.12.16 00:27

Почитал коменты и вспомнил.
Два малыша в песочнице
Один дудука!
Второй, бибика!
Первый, ДУдука! (интонация более грозная)
Второй, БИБИКА! (С еще более выразительной интонацией)
Первый ДУДУКА! (Уже крича)
Второй БИБИКА!!! (Чуть ли не плача)
....
Закончилось эта баталия, оба стоят и плачат, один громче другова.)))

Вал 10.02.17 01:43

Какая частота будет если зациклить без задержки
while (1)
{
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_RESET);
}

Алексей 10.02.17 10:07

Та что на шине APB

Игорь 08.06.17 22:33

Так давайте сразу ноутбуки во встраиваемые системы встраивать, они же лучше чем СТМ в сотни раз, и пееферии там ну просто охрененно сколько, там уже и вай фай есть и блютузы и даже программаторы не нужны, сразу и монитор есть с клавой чтобы писать прогу и сразу запустить, и программаторы не нужны и отладчики.
Всё равно что купить себе на дачу в личное пользование экскаватор для того чтобы ИНОГДА выкапывать пару ям глубиной в пол метра.
Ставить в термостат, часы, весы СТМ ну по моему это не нормально. Кстати да, как насчёт энергонезависимой памяти, вот делаю я термостат, выставляю температуру, тут вырубается свет, и что, настройки потеряны. А ведь во встроенные системы которые должны настраиваться 1 раз для дальнейшей работы, значения должны сохраняться навсегда

Алексей 09.06.17 08:25

Ну например в чип-дип STM32F030F4P6 стоит 48р, а прямой аналог ATtiny2313 98р. Я думаю для построения термостата любого из них будет достаточно. А компенсация памяти у STM может быть в любом датчике температуры. Да хотя бы в том же DS18B20. А что касается ноутов, так в любом терминале приема оплаты как раз установлен ПК с ОС и монитором. Так что даже такие системы есть. При выборе МК в первую очередь выбирают тот что дешевле. Это если хобби, то можно купить ардуину дабы не заморачиваться с пайкой, а когда систему планируется ввести на производство и выпускать сотнями, то считается каждая копейка. И переплата за МК 50 рублей при его цене в 48 это непозволительная роскошь.

Руслан 17.06.17 21:46
Я ее переделал под хол!
Но при подключении вилазят еррори!
Нужна информация как работать с не родними библиотеками!
В интернете ничего не нашел там только расказивают как подключать родние библиотеки.
Если "плохо искал" то дайте ссилку где можно посмотреть или почитать как ето делать!
А еще лучше сделайте видео, думаю многим начинающим (и не только) оно будет интересно посмотреть!
Заранее благодарен!
Алексей 05.08.17 10:19
Руслан 22.11.17 12:17

Я имел ввиду ето https://www.youtube.com/watch?v=wOIlhRd-vN8
5 - 7 минута!!!

Руслан 22.11.17 12:18

Алексей подскажите пожалуйста как работать с перечислениями "enum" а то нигде нету такой информации и в ваших видео "Си для самих маленьких" тоже нету а мне как раз очень надо!
Когда баловался AVR-ками то такоє чудо как перечисления не встречал а сейчас заинтересовался STM-ками а там их очень много! И нету информации как с ними работать!
Есть такой пример из реального кода:


StatusCode MIFARE_Read(byte blockAddr, byte * buffer, byte * bufferSize);

Где StatusCode ето перечисление:


enum StatusCode: byte {
STATUS_OK , // Success
STATUS_ERROR , // Error in communication
STATUS_COLLISION , // Collission detected
STATUS_TIMEOUT , // Timeout in communication.
STATUS_NO_ROOM , // A buffer is not big enough.
STATUS_INTERNAL_ERROR , // Internal error in the code. Should not happen ;-)
STATUS_INVALID , // Invalid argument.
STATUS_CRC_WRONG , // The CRC_A do es not match
STATUS_MIFARE_NACK = 0xff // A MIFARE PICC responded with NAK.
};

Ето из ардуиновской библиотеки(С++), но Keil ругается на ето!
Как правильно записать возврат функцией перечисления?

Руслан 22.11.17 12:29

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


void PCD_WriteRegister(PCD_Register reg, byte value);

Где PCD_Register перечислениє:


enum PCD_Register: byte {
// Page 0: Command and status
// 0x00 // reserved for future use
CommandReg = 0x01 << 1, // starts and stops command execution
ComIEnReg = 0x02 << 1, // enable and disable interrupt request control bits
DivIEnReg = 0x03 << 1, // enable and disable interrupt request control bits
ComIrqReg = 0x04 << 1, // interrupt request bits
...
};

А reg ето как я понял име перечисления но его нигде нету обьявленним в коде и откуда оно взялось мне не понятно!
Много страний перечитал в интернете и нашел информацию что ети перечисления можно заменить дефайнами но все же хотелось би узнать как с ними работать!!!

Руслан 22.11.17 12:35

С нетерпением жду ответа!
Может снимите видосик как с ними работать,чтоб и для других било, думаю видео будет очень полезним потому что таких видео нету(по крайней мере я не нашел)!

Дмитрий 28.11.17 22:02

"простатой программирования"

Интересный орган для программирования контроллеров. Вообще как можно было сравнивать 32-битные с 8-битными непонятно. Как Порш Каен с Зарпорожцем.

Алексей 29.11.17 10:24

Можно сравнивать, можно. Просто нужно учесть что в данном сравнении Порш стоит дешевле Запорожца. По поводу урологии, так пикантнее. Так что исправлять не буду.

Константин 23.12.17 00:06

Руслан, я не понимаю, как ты ищешь и ничего не находишь (видимо, не ищешь). Это самые-самые основы языка С (не только для МК, но и для компов). Почитай книгу Кернигана и Ритчи, там весь С прекрасно описан.
А на твои вопросы никто тебе отвечать не будет, это элементарщина.

АНОНИМ 11.02.18 16:27

Почему вы сравниваете 32разрядный МК ST с 8разрядным Atmel. Глупое сравнение. Равносильно сравнивать 32разрядный Atmel AT91SAM с 8разрядными STM8 учитывая даже что у Atmel есть 32 разрядники еще мощнее

Алексей 13.02.18 12:18

Потому что на момент написания статьи, 8-ми бинтных ST не было в продаже, а по цене мега и СТМ32 стоят одинаково.

Опубліковано 09.08.2016

Микроконтроллеры STM32 приобретают все большую популярность благодаря своей мощности, достаточно разнородной периферии, и своей гибкости. Мы начнем изучать , используя бюджетную тестовую плату, стоимость которой не превышает 2 $ (у китайцев). Еще нам понадобится ST-Link программатор, стоимость которого около 2.5 $ (у китайцев). Такие суммы расходов доступны и студентам и школьникам, поэтому именно с такого бюджетного варианта я и предлагаю начать.


Этот микроконтроллер не является самым мощным среди STM32 , но и не самый слабый. Существуют различные платы с STM32 , в томе числе Discovery которые по цене стоят около 20 $. На таких платах почти все то же, что и на нашей плате, плюс программатор. В нашем случае мы будем использовать программатор отдельно.

Микроконтроллер STM32F103C8. Характеристики

  • Ядро ARM 32-bit Cortex-M3
  • Максимальная частота 72МГц
  • 64Кб Флеш память для программ
  • 20Кб SRAM памяти
  • Питание 2.0 … 3.3В
  • 2 x 12-біт АЦП (0 … 3.6В)
  • DMA контролер
  • 37 входов / выходов толерантных к 5В
  • 4 16-розрядних таймера
  • 2 watchdog таймера
  • I2C – 2 шины
  • USART – 3 шины
  • SPI – 2 шины
  • USB 2.0 full-speed interface
  • RTC – встроенные часы

На плате STM32F103C8 доступны

  • Выводи портов A0-A12 , B0-B1 , B3-B15 , C13-C15
  • Micro-USB через который можно питать плату. На плате присутствует стабилизатор напряжения на 3.3В. Питание 3.3В или 5В можно подавать на соответствующие выводы на плате.
  • Кнопка Reset
  • Две перемычки BOOT0 и BOOT1 . Будем использовать во время прошивки через UART .
  • Два кварца 8Мгц и 32768 Гц. У микроконтроллера есть множитель частоты, поэтому на кварце 8 МГц мы сможем достичь максимальной частоты контроллера 72Мгц.
  • Два светодиода. PWR – сигнализирует о подачи питания. PC13 – подключен к выходу C13 .
  • Коннектор для программатора ST-Link .

Итак, начнем с того, что попробуем прошить микроконтроллер. Это можно сделать с помощью через USART, или с помощью программатора ST-Link .

Скачать тестовый файл для прошивки можно . Программа мигает светодиодом на плате.

Прошивка STM32 с помощью USB-Uart переходника под Windows

В системной памяти STM32 есть Bootloader . Bootloader записан на этапе производстве и любой микроконтроллер STM32 можно запрограммировать через интерфейс USART с помощью USART-USB переходника. Такие переходники чаще всего изготавливают на базе популярной микросхем FT232RL . Прежде всего подключим переходник к компьютеру и установим драйвера (если требуется). Скачать драйвера можно с сайта производителя FT232RL – ftdichip.com . Надо качать драйвера VCP (virtual com port). После установки драйверов в компьютере должен появиться виртуальный последовательный порт.


Подключаем RX и TX выходы к соответствующим выводам USART1 микроконтроллера. RX переходника подключаем к TX микроконтроллера (A9). TX переходника подключаем к RX микроконтроллера (A10). Поскольку USART-USB имеет выходы питания 3.3В подадим питания на плату от него.

Чтобы перевести микроконтроллер в режим программирования, надо установить выводы BOOT0 и BOOT1 в нужное состояние и перезагрузить его кнопкой Reset или выключить и включить питание микроконтроллера. Для этого у нас есть перемычки. Различные комбинации загоняют микроконтроллер в различные режимы. Нас интересует только один режим. Для этого у микроконтроллера на выводе BOOT0 должно быть логическая единица, а на выводе BOOT1 – логический ноль. На плате это следующее положение перемычек:

После нажатия кнопки Reset или отключения и подключения питания, микроконтроллер должен перейти в режим программирования.

Программное обеспечение для прошивки

Если используем USB-UART переходник, имя порта буде примерно такое /dev/ttyUSB0

Получить информацию о чипе

Результат:

Читаем с чипа в файл dump.bin

sudo stm32flash -r dump.bin /dev/ttyUSB0

Пишем в чип

sudo stm32flash -w dump.bin -v -g 0x0 /dev/ttyUSB0

Результат:

Stm32flash 0.4 http://stm32flash.googlecode.com/ Using Parser: Raw BINARY Interface serial_posix: 57600 8E1 Version: 0x22 Option 1: 0x00 Option 2: 0x00 Device ID: 0x0410 (Medium-density) - RAM: 20KiB (512b reserved by bootloader) - Flash: 128KiB (sector size: 4x1024) - Option RAM: 16b - System RAM: 2KiB Write to memory Erasing memory Wrote and verified address 0x08012900 (100.00%) Done. Starting execution at address 0x08000000... done.

Прошивка STM32 с помощью ST-Link программатора под Windows

При использовании программатора ST-Link выводы BOOT0 и BOOT1 не используются и должны стоять в стандартном положении для нормальной работы контроллера.

(Книжка на русском языке)

Маркировка STM32

Device family Product type Device subfamily Pin count Flash memory size Package Temperature range
STM32 =
ARM-based 32-bit microcontroller
F = General-purpose
L = Ultra-low-power
TS = TouchScreen
W = wireless system-on-chip
60 = multitouch resistive
103 = performance line
F = 20 pins
G = 28 pins
K = 32 pins
T = 36 pins
H = 40 pins
C = 48/49 pins
R = 64 pins
O = 90 pins
V = 100 pins
Z = 144 pins
I = 176 pins
B = 208 pins
N = 216 pins
4 = 16 Kbytes of Flash memory
6 = 32 Kbytes of Flash memory
8 = 64 Kbytes of Flash memory
B = 128 Kbytes of Flash memory
Z = 192 Kbytes of Flash memory
C = 256 Kbytes of Flash memory
D = 384 Kbytes of Flash memory
E = 512 Kbytes of Flash memory
F = 768 Kbytes of Flash memory
G = 1024 Kbytes of Flash memory
I = 2048 Kbytes of Flash memory
H = UFBGA
N = TFBGA
P = TSSOP
T = LQFP
U = V/UFQFPN
Y = WLCSP
6 = Industrial temperature range, –40…+85 °C.
7 = Industrial temperature range, -40…+ 105 °C.
STM32 F 103 C 8 T 6

Как снять защиту от записи / чтения?

Если вы получили плату с STM32F103, а программатор ее не видит, это означает, что китайцы защитили Флеш память микроконтроллера. Вопрос “зачем?” оставим без внимания. Чтобы снять блокировку, подключим UART переходник, будем программировать через него. Выставляем перемычки для программирования и поехали:

Я это буду делать из под Ubuntu с помощью утилиты stm32flash.

1. Проверяем видно ли микроконтроллер:

Sudo stm32flash /dev/ttyUSB0

Должны получить что-то такое:

Stm32flash 0.4 http://stm32flash.googlecode.com/ Interface serial_posix: 57600 8E1 Version: 0x22 Option 1: 0x00 Option 2: 0x00 Device ID: 0x0410 (Medium-density) - RAM: 20KiB (512b reserved by bootloader) - Flash: 128KiB (sector size: 4x1024) - Option RAM: 16b - System RAM: 2KiB

2. Снимаем защиту от чтения а затем от записи:

Sudo stm32flash -k /dev/ttyUSB0 stm32flash 0.4 http://stm32flash.googlecode.com/ Interface serial_posix: 57600 8E1 Version: 0x22 Option 1: 0x00 Option 2: 0x00 Device ID: 0x0410 (Medium-density) - RAM: 20KiB (512b reserved by bootloader) - Flash: 128KiB (sector size: 4x1024) - Option RAM: 16b - System RAM: 2KiB Read-UnProtecting flash Done. sudo stm32flash -u /dev/ttyUSB0 stm32flash 0.4 http://stm32flash.googlecode.com/ Interface serial_posix: 57600 8E1 Version: 0x22 Option 1: 0x00 Option 2: 0x00 Device ID: 0x0410 (Medium-density) - RAM: 20KiB (512b reserved by bootloader) - Flash: 128KiB (sector size: 4x1024) - Option RAM: 16b - System RAM: 2KiB Write-unprotecting flash Done.

Теперь можно нормально работать с микроконтроллером.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: