Контроллер для квадрокоптера на базе Arduino своими руками. Контроллер arduino
Ардуино что это и зачем? / Arduino / RoboCraft. Роботы? Это просто!
Как мы узнали — это “аппаратная вычислительная платформа”, а по-русски — контроллер.А что такое контроллер?
Для тех кто немного в курсе: не путать с микроконтроллером — МК это atmega, PIC и прочие “микросхемы” – однокристальные микро-ЭВМ,а контроллер это плата такая, на которую этот самый МК запаян. Для тех кто совсем не в курсе: контроллер это такое электронное устройство которое что- нибудь контролирует — то есть реагирует на изменения одних параметров изменением других. Ну вот например кондиционер на стене видишь? (я тоже не вижу, но у кого-то он наверняка есть) так вот там тоже стоит умная плата-контроллер включающая/выключающая подогрев/охлаждение/осушение/увлажнение воздуха когда нужно.
Кондиционер, mp3 плеер, велокомпьютер, сигнализация, мобильник, навигатор — всё это (грубо говоря) специализированные контроллеры. А вот комп настольный это контроллер универсальный, да ещё и расширяемый, и с его помощью всё вышеперечисленное можно реализовать. Нужны будут только соответствующие платы расширения и софт.
Ардуино
Так вот ардуино тоже универсальный контроллер, который можно заточить под какую-нибудь задачу и превратить в законченное электронное устройство произвольного назначения, от часов с будильником до робота. Или просто играться — собирая разбирая всякие приблуды=) Радиоконструктор в общем. К самой плате можно подключать различную периферию – кнопки, некоторые виды датчиков (температуры, давления, освещённости, ускорения и т.п.), светодиоды, жидкокристаллические индикаторы (цифро-буквенные, а не LCD-монитор конечно =) написать программу и заставить взаимодействовать всё это как угодно. Масса применений кстати.
Системы сбора данных (чёрный ящик для аквариума – пишет температуру раз в 5 минут)
Таймеры-Счётчики событий (сколько раз и во сколько кот подходил к пустой миске)
Сигнализации-Извещатели (кот превысил разрешенное количество подходов к миске, температура в аквариуме ниже 0, кто-то покинул туалет не выключив свет/не смыв/не опустив стульчак =)
В таком духе. Cкучновато конечно. Прям как древний пустой комп — ну клава, ну моник, ну часы, ну пасьянс какой-нибудь… А вот если воткнуть звуковушку, модем, мышь с джойстиком, да тв-тюнер с веб-камерой присобачить… уже больший полёт фантазии можно наблюдать.
Так же подключая к ардуино различные устройства – шилды(shields) добавляем различные функции — так можно управлять всякими двигателями, сервомашинками, сетевой нагрузкой наконец (свет, обогреватель, чайник и т.п.). Можно подключить GPS или GSM модуль и получать координаты со спутника или отправлять данные на свой телефон – координаты своей машины которую кореш взял покататься, или угнали не дай бог, или в командировке узнать что твой любимый кактус никто не поливает. Можно воткнуть Ethernet-модуль и выпустить свой девайс в интернет — пусть шлёт данные на твой сайт, или пусть пишет всё на SD-карту воткнутую в соответствующий шилд. Можно добавить каналы связи – ИК, радиоканал, а то и вообще Bluetooth, со всеми вытекающими.
Ещё примеры что в голову приходит:
Автокормушка для домашних животныхКонтроллер аквариумаДебаггер для машины (все температуры, давления, обороты твоего жигуля на красивом экранчике, расшифровка блинк-кодов)Системы удалённой телеметрии ВелокомпьютерЭлементы умного дома (управление светом, шторами, вентиляцией, кондиционированием, отоплением, прочими электроприборами)Элементы хобби-чпуПростые промышленные контроллерыНу и конечно робототехника! (для этого сайта — основное направление развития =)
И всё это в произвольных комбинациях — ограничивает только фантазия и владение железом/софтом.
Почему ардуино? Да, есть ещё немало универсальных контроллеров и плат развития позволяющих осуществлять и более амбициозные проекты. Но! Ардуино имеет ряд преимуществ:Не нужен программаторНе нужны особо глубокие познания в программирования микроконтроллеров Проект ардуино полностью открытыйПлатформа набирает популярность — куча сайтов с библиотеками, схемами и проектамиСтандартизация расположения выводов — это делает её привлекательной для производителей – появляются всё новые шилдыКроссплатформенная среда разработки
Вообще полазив по интернету возникает ощущение что ардуино становится стандартом для целого класса хоум-мейдеров=)
далее: ХоумМейд Arduino — как сделать Arduino своими руками
По теме:Почему Arduino побеждает и почему он здесь, чтобы остаться?Arduino, термины, начало работыКМБ для начинающих ардуинщиковСостав стартера (точка входа для начинающих ардуинщиков)Возможные ошибки при работе с Arduino
Купить Arduino или CraftDuino — можно в нашем Магазине.
robocraft.ru
Что нельзя делать с Arduino: 10 способов убить контроллер
Платы Arduino очень популярны среди электронщиков и изобретателей, и это факт: стоимость оригинальных контроллеров относительно невелика, при этом существует множество китайских клонов, которые стоят чуть ли не в 3 раза дешевле. С данным контроллером можно придумать и сконструировать все, что душа пожелает. Но, к сожалению, плата очень сильно подвержена внешним воздействиям: при малейшей оплошности контроллер готов тут же выйти из строя.
Вот десять нежелательных экспериментов, после которых контроллер можно смело выбрасывать на помойку.
Ошибка 1: Высокое напряжение
Не подавайте напряжение на Arduino выше 5V через пины вывода (или выше 3.3V для контроллеров с этим рабочим напряжением)! Почему-то люди иногда путают пины 5V и vin и подают напряжение именно на вывод с надписью 5V. Он является выводом, поэтому можно не удивляться, если ваша Arduino после такого эксперимента больше не включается.
Ошибка 2: Два источника питания
Не питайте Arduino от двух разных источников одновременно! Это приводит к перекосу напряжения, и как следствие, через некоторое время контроллер может просто выйти из строя.
Ошибка 3: Программное сопротивление
Никогда не включайте в контроллерах Arduino сопротивление программно! При задействованном выводе оно должно быть обязательно подключено через подтягивающий резистор в 10кОм на землю. Это делается для исключения наводок от внешних источников питания.
У контроллера Arduino существуют внутренние подтягивающие резисторы на каждом выводе (pull-up), они включаются через код программы, и их можно использовать в качестве защиты от ложных срабатываний. Но если такой вывод перегрузить или нечаянно замкнуть, он просто сгорит и больше работать не будет.
Ошибка 4: Замыкание
Никогда не замыкайте питающие провода контроллера! Возможно, вы уже догадались, что микросхема боится практически любого замыкания. Вообще подобной оплошности боится любое оборудование. Многие производители ставят на свои устройства специальные предохранители, которые разрывают цепь при малейшем превышении тока или напряжения. Но не испытывайте судьбу.
На платах типа Arduino Mega уже предусмотрена так называемая «защита от дурака» и от невнимательных юзеров. Но на платах типа Nano предохранитель отсутствует из-за физических ограничений. Хорошо, если сгорит всего лишь обвязка на плате. Поменять диод или резистор не проблема, но спалить контроллер из-за неосторожного движения – большая досада.
Ошибка 5: Замыкание без нагрузки
Не замыкайте выводы Arduino между собой без какой-либо нагрузки! Просто не делайте так. В самом крайнем случае если вам кажется, что оно должно работать так, и по-другому не может быть, подключайте только через резистор.
Ошибка 6: Перегруз
Не перегружайте выводы Arduino по напряжению и току. Выводы контроллера рассчитаны на суммарный ток до 200мА. При превышении этого порога контроллер начнет перегреваться и выйдет из строя.
Подключение мощного двигателя или любого другого устройства к выводам нужно осуществлять через обвязку с применением мосфетов или оптопары. Источник питания должен быть либо отдельный, либо должен запитываться напрямую в обход контроллера.
Ошибка 7: Переполюсовка контроллера
Переполюсовка напряжения также страшно вредна контроллеру: в результате вы получите полностью сгоревшую плату! Впрочем, есть шанс, что сгорела только обвязка контроллера, например, защитный диод. Попробуйте сначала заменить его: возможно, контроллер оживет, но это не точно.
Ошибка 8: Статическое электричество
Микросхема чувствительна ко всяким внешним воздействиям, а сильная дуга статического электричества просто прошьет контроллер намертво. Лучше работайте с контроллером в антистатической одежде. Также в продаже есть специальные антистатические браслеты: не пожалейте денег, купите себе один.
Ошибка 9: Включенный контроллер
Не собирайте схему при включенном контроллере. Люди, начинающие работу с контроллерами, часто не знают, что нельзя менять или отсоединять компоненты в схеме, пока она работает. Сбой программы – не самое страшное, что может случиться.
Страшно, когда половина выводов перестанут подавать признаки жизни. Такой контроллер больше никогда не будет работать адекватно (если он вообще будет работать).
Ошибка 10: Двенадцать вольт
Не подавайте на плату напряжение выше 12V. Модули, подсоединяемые к плате, могут работать при напряжении выше номинального, отличного от предусмотренного напряжения на плате.
Инженеры, проектирующие Arduino, учли этот нюанс, и микросхема способна выдержать большое напряжение, но при этом она будет сильно греться. При превышении порога по напряжению в 12 вольт контроллер просто сгорит!
При работе с платами Arduino будьте очень внимательны, лучше десять раз перепроверить все подключения, прежде чем запускать устройство.
arduinoplus.ru
Как научиться делать электронные схемы
Этот конструктор не предложит вам построить ничего феерического и сногсшибательного. И его уж точно нельзя назвать игрушкой. Но с его помощью можно в кратчайшие сроки приобрести весьма обширные навыки, которые послужат входным билетом в мир безграничных возможностей современной электроники.
Сергей Апресов
22 января 2018 16:00
Очень многие люди в деталях представляют себе, как устроен автомобиль. Многие даже строят собственные машины, игрушечные и настоящие, сделав это своим хобби. Достаточно один раз разобрать автомобильный двигатель, чтобы увидеть (и навсегда запомнить) клапаны, через которые цилиндр наполняется топливом и воздухом, камеру сгорания, в которой воспламеняется смесь, шатуны и коленчатый вал, которые заставляют вращаться маховик.
Если вы разберете пульт от телевизора, вы увидите микросхемы и электронные компоненты. Их внешний вид мало что расскажет вам о том, как все это работает. Примерно так же в разобранном виде выглядят компьютерная мышь, мобильный телефон или аудиоплеер. Чтобы самостоятельно собирать, а тем более проектировать современную электронику, нужно обладать глубокими познаниями в области электротехники, уметь на все лады склонять закон Ома, разбираться в программировании и дружить с паяльником. Поэтому хобби, связанные с электроникой, как правило, остаются уделом людей со специальным образованием.
Набор под названием «Матрешка Z» от компании «Амперка» призван в кратчайшие сроки ликвидировать электронную безграмотность пользователя и научить его обращаться с универсальным контроллером Arduino.
Доска для прототипирования
Чтобы попробовать в деле только что придуманную электронную схему и поэкспериментировать с подбором компонентов, вовсе не обязательно каждый раз браться за паяльник. Для быстрой и надежной сборки схем существует доска для прототипирования, или монтажная доска. Она состоит из многочисленных разъемов, соединенных определенным образом. По правому и левому краю доски идут две пары рельс питания. Все эти контакты соединены по вертикали и служат для подключения компонентов к источнику тока. Если рельсы питания напоминают столбцы таблицы, то все остальные контакты объединены в строчки, по горизонтали. На них располагаются электронные компоненты: микросхемы, транзистры, резисторы, конденсаторы. Все они соединяются в нужную схему с помощью перемычек. Набор перемычек разной длины также входит в комплект.
Умный чип
Контроллер — это миниатюрный компьютер с набором входов и выходов, работающий по заранее написанной программе. Микросхема-контроллер обязательно присутствует в вышеупомянутых телефоне, плеере и пульте, равно как в практически любом современном электронном устройстве.
Контроллер — вещь сама по себе универсальная. Ко входам можно подключить как обычные кнопки (пульт), так и температурные датчики (кондиционер), модули беспроводной связи (телефон) и даже электрогитару (цифровой процессор эффектов). Выходы также могут управлять чем угодно. Задача контроллера — измерять электрическое напряжение на входах и подавать напряжение на выходы в соответствии с программой.
Контроллер Arduino Uno
Arduino Uno — базовый контроллер семейства Arduino, идеально подходящий для решения большинства задач. У него есть 14 контактов, которые могут служить и входами, и выходами, serial-интерфейс для подключения к компьютеру, USB-порт. Для более специфических задач могут подойти другие платы. Arduino Mega содержит большее количество входов, выходов и serial-портов. Arduino Nano — аналог Uno в ультракомпактном исполнении. Бесчисленные платы расширения готовы превратить ваш Arduino в Wi-Fi-роутер, мобильный телефон, музыкальный инструмент или робота.
Arduino — один из самых распространенных контроллеров. Он чрезвычайно удобен для постройки прототипов электронных устройств и поэтому пользуется популярностью среди любителей, студентов и вполне серьезных изобретателей по всему миру. На то есть несколько веских причин.
Резисторы. Arduino — универсальный контроллер, способный работать практически с любыми электронными компонентами. Каждый компонент рассчитан на свой ток и напряжение. Набор учит нас применять резисторы по нескольким типичным схемам. Схема делителя напряжения, состоящая из пары резисторов, позволяет управлять напряжением в любой точке схемы. Токоограничивающий резистор защищает маломощные компоненты от перегрева. Кроме того, применяются стягивающие и подтягивающие резисторы, которые отводят наводки и помехи в землю от входов контроллера во избежание случайных срабатываний.
Во-первых, Arduino действительно универсален. С помощью специальных плат расширения его можно обучить общению с другими устройствами по Wi-Fi, Bluetooth иGPRS, принимать SMS-сообщения и телефонные звонки. Встроенные библиотеки протоколов позволяют Arduino общаться с сервоприводами и сенсорами, распространенными в современной робототехнике. Открытая архитектура софта и железа позволяет более продвинутым пользователям с легкостью настроить его под любые нужды.
Конденсатор можно представить как маленький аккумулятор, который очень быстро заряжается и разряжается. Конденсаторы применяются для стабилизации напряжения питания — постоянно заряжаясь и разряжаясь, они сглаживают шумы. Фильтрующий конденсатор позволяет отделить изменяющуюся составляющую сигнала от постоянной, к примеру, если в цепь с источником питания включен электретный микрофон.
Во-вторых, Arduino использует несколько упрощенный язык программирования, с которым легко освоиться даже начинающим пользователям. Контроллер представляет собой не просто микросхему, а плату с готовой схемой питания и интерфейсами для подключения к компьютеру, входным и выходным компонентам.
Наконец, Arduino дешев. Не настолько, чтобы использовать его в оптовом промышленном производстве (для этого лучше применять отдельные чипы), но как раз настолько, чтобы любой изобретатель, дизайнер или программист, у которого есть оригинальная идея, мог приобрести контроллер и создать на его основе действующий прототип.
Провода. «Резать красный или зеленый» — вот главный вопрос всей жизни для любого сапера. На самом деле, какого цвета провода использовать в схеме — исключительно дело вкуса. Так что никогда не ставьте на цвет провода свою жизнь.
Интенсивный курс
Продажей Arduino в России занимается компания «Амперка». Продукт этот полезный и нужный, но не простой: чтобы начать им пользоваться, нужно разбираться в схемотехнике и программировании. Чтобы помочь всем творческим энтузиастам освоиться с контроллером, «Амперка» выпускает ознакомительные наборы, один из которых и попал нам в руки. Помимо самого Arduino в набор входит монтажная доска, всевозможные радиодетали, блок питания, интерфейсный кабель, комплект проводов — в общем, все необходимое, чтобы построить несколько простых схем и начать ставить собственные эксперименты.
![](/img/kontroller-arduino_8.jpg)
Транзисторы и диоды — это своеобразные ворота, которые мы ставим на пути течения тока. Диод позволяет току течь только в одном направлении. В частности, диоды незаменимы для превращения переменного тока в постоянный. Транзистор позволяет нам управлять большим напряжением или током с помощью слабого управляющего сигнала. К примеру, Arduino слишком слаб, чтобы запитать электродвигатель с собственного выхода. Однако он может подавать управляющий сигнал на транзистор, который откроет ворота для большого потока электричества, необходимого мотору.
![](/img/kontroller-arduino_9.jpg)
Светодиод — современный, экономичный, яркий источник света различных цветов. Светодиоды незаменимы для отладки программ, так как их свечение наглядно демонстрирует наличие сигнала. В то же время они настолько экономичны, что им с лихвой хватает питания от выходов Arduino. Чтобы диоды не перегревались и служили долго, их необходимо подключать через токоограничивающий резистор.
![](/img/kontroller-arduino_10.jpg)
И вновь классический атрибут киношной бомбы, который представляет собой семь светодиодов, расположенных в виде восьмерки. Чтобы управлять цифровым индикатором с помощью Arduino, пришлось бы задействовать семь выходов контроллера, а это весьма расточительно. Входящая в комплект микросхема-счетчик позволяет подключить многоразрядный дисплей (несколько индикаторов) с помощью всего двух выходов.
![](/img/kontroller-arduino_11.jpg)
Электродвигатель с обратной связью, или сервопривод — это компонент, без которого немыслима современная робототехника. Помимо контактов питания сервопривод имеет еще и управляющий контакт. С его помощью контроллер может подать мотору команду повернуться строго на определенный угол. Arduino умеет общаться с сервоприводами по специальному протоколу. Для этого не нужно писать отдельную программу, достаточно просто указать необходимый угол поворота.
Еще одна важная часть обучающей системы — видеоуроки от выпускника Корнеллского университета Джереми Блюма, в которых инженер шаг за шагом демонстрирует сборку схем и программирование контроллера, подробно объясняя, как именно все это действует.
Первое, чему учит нас Джереми, — это работа с монтажной доской. Оказывается, чтобы экспериментировать с электроникой, вовсе не обязательно постоянно дымить паяльником.
Источники сигнала. Контроллер управляет потребителями тока по команде, а команда должна откуда-то поступить. Для управления схемами в комплект входит несколько кнопок и переменный резистор. Есть компоненты и поинтереснее: термистор изменяет собственное сопротивление в зависимости от температуры, а фоторезистор реагирует на количество падающего на него света.
Второй важнейший урок — это практическое применение закона Ома. Постоянные читатели помнят, что мы и раньше сталкивались с контроллерами — в конструкторе Lego Mindstorms и роботе Robonova. Эти контроллеры предназначены для работы с фиксированным набором компонентов (сервоприводы и датчики для роботов), которые идеально подобраны и подходят друг к другу. Arduino — универсальный контроллер, его можно использовать с любыми компонентами, каждый из которых рассчитан на собственное напряжение и ток. Джереми просто и наглядно объясняет, как с помощью резисторов доставить ровно необходимое количество электричества в любую точку схемы.
Адаптер питания. В комплект входит универсальный адаптер питания с переключателем напряжения и исчерпывающим набором разъемов. При работе с Arduino адаптер может потребоваться в двух случаях. Во‑первых, если вы хотите, чтобы чип работал по заранее написанной программе без участия компьютера. Во‑вторых, если мощность потребителей схемы слишком велика, чтобы USB-разъем компьютера мог ее предоставить. Классический пример прожорливого потребителя — электродвигатель или сервопривод.
К основам схемотехники относится и решение задачи об устранении помех и наводок, которые Arduino может ошибочно принять за управляющие сигналы. Мы учимся использовать стягивающие резисторы и стабилизирующие конденсаторы, чтобы поведение схемы было контролируемым. Упражняясь в программировании, первым делом создаем простые схемы: ночник, управляемый уровнем освещения в комнате, электродвигатель, совершающий движения по заданному алгоритму. В более сложных примерах мы учимся принимать данные с компьютера и управлять им с помощью Arduino — к примеру, создаем некое подобие джойстика, способного менять цвет монитора. Подробные уроки по подключению к чипу более сложных устройств, таких как текстовые экраны, модули беспроводной связи, сервоприводы, можно найти на сайтах сообщества Arduino.
В следующий раз, увидев на киноэкране управляемую эсэмэсками бомбу замедленного действия, собранную безумным ученым в классическом образе, вы будете отлично представлять себе, как именно она устроена. При желании вы даже сможете собрать такую сами. В ближайших номерах «Популярной механики» мы обязательно продемонстрируем, как с помощью Arduino можно сконструировать что-нибудь полезное.
www.popmech.ru
Контроллер arduino своими руками
Не всегда есть смысл брать готовую плату arduino,если можно собрать контроллер самому,заказав комплектующие по частям - цена такого самодельного конроллера ниже в 3 раза.Такой вариант будет актуален,если у Вас уже имеется плата arduino для загрузки скетча(прошивки).
Схема содержит процессор ATMEGA328P ,кварц на 16мгц с обвязкой,а так же микросхем(ы) расширения портов.Собирается все на макетной плате.
Процессор имеет 14 входов/выходов и 6 аналоговых входа,но этого иногда бывает недостаточно,и для расширения портов можно использовать 2 варианта:
1. Расширение портов с помощью микросхемы MCP23017,которая дает плюсом 16 портов,которые можно настроить как на вход,так и на выход.
На фото 1 и 2 показан вариант с MCP23017,где на разъемы подключаются все устройства:датчики,реле,кнопки.Назначение выводов на плате определяется скетчем.Резисторы R2,R3 имеют номинал 4.7 KoM.
Примерная себестоимость данной платы - 5$ (150 руб) без учета Ethernet модуля.
2. Пример расширения портов с помощью регистров 74HC595,которая дает возможность добавить 16 портов на выход,но при этом занимает 3 цифровых выхода.
Внимание ! Данная схема подключения устарела - рекомендуется использовать вариант через SPI
Примерная себестоимость данной платы 4$(120 руб) без учета Ethernet модуля.
Ethernet шилд в обеих случаях может быть как W5100 ,так и ENC28J60 (как на первом фото).Для ENC28J60 необходима установка стабилизатора на 3.3в. Возможны варианты подключения без Ethernet шилда,подключив напрямую к роутеру через RS-232.
К сожалению такие варианты не могут на себя взять много функций из-за слабого процессора ATMEGA328P,но иногда этого и предостаточно,если необходимо поставить несколько контроллеров в квартире в разных местах,которые будут выполнять немного функций.
Примеры скетчей находятся на соотвествующих страницах Ethernet модулей и микросхем расширения портов.
homes-smart.ru
Arduino Due (дополнено) | Аппаратная платформа Arduino
![]() | ![]() |
Arduino Due, вид спереди | Arduino Due, вид сзади |
Arduino Due — плата микроконтроллера на базе процессора Atmel SAM3X8E ARM Cortex-M3 (описание). Это первая плата Arduino на основе 32-битного микроконтроллера с ARM ядром. На ней имеется 54 цифровых вход/выхода (из них 12 можно задействовать под выходы ШИМ), 12 аналоговых входов, 4 UARTа (аппаратных последовательных порта), a генератор тактовой частоты 84 МГц, связь по USB с поддержкой OTG, 2 ЦАП (цифро-аналоговых преобразователя), 2 TWI, разъем питания, разъем SPI, разъем JTAG, кнопка сброса и кнопка стирания.
Внимание! В отличие от других плат Arduino, Arduino Due работает от 3,3 В. Максимальное напряжение, которое выдерживают вход/выходы составляет 3,3 В. Подав более высокое напряжение, например, 5 В, на выводы Arduino Due, можно повредить плату.
Плата содержит все, что необходимо для поддержки микроконтроллера. Чтобы начать работу с ней, достаточно просто подключить её к компьютеру кабелем микро-USB, либо подать питание с AC/DC преобразователя или батарейки. Due совместим со всеми платами расширения Arduino, работающими от 3,3 В, и с цоколевкой Arduino 1.0.
Расположение выводов Due повторяет цоколевку Arduino 1.0:
- TWI: Выводы SDA и SCL расположены рядом с выводом AREF.
- Вывод IOREF, который позволяет с помощью правильной конфигурации адаптировать присоединенную плату расширения к напряжению, выдаваемому Arduino. Благодаря этому платы расширения могут быть совместимы и с 3,3-вольтовыми платами типа Due и с платами на базе AVR, работающими от 5 В.
- Неподключенные выводы, зарезервированные для использования в будущем.
Преимущества ядра ARM
На Due установлено 32-битное ARM ядро, превосходящее по производительности обычные 8-битные микроконтроллеры. Наиболее значимые отличия:
32-битное ядро, позволяющее выполнять операции с данными шириной 4 байта за 1 такт (более подробную информацию смотри на странице int type).
- частота процессора (CPU) 84 МГц.
- 96 КБ ОЗУ.
- 512 КБ флеш-памяти для хранения программ.
- контроллер DMA, который разгружает центральный процессор от выполнения интенсивных операций с памятью.
Файлы EAGLE: arduino-Due-reference-design.zip
Схема: arduino-Due-schematic.pdf
Расположение выводов: SAM3X Pin Mapping page
Характеристики Микроконтроллер | AT91SAM3X8E |
Рабочее напряжение | 3,3 В |
Входное напряжение (рекомендуемое) | 7-12 В |
Входное напряжение (предельное) | 6-20 В |
Цифровые Входы/Выходы | 54 (на 12 из которых реализуется выход ШИМ) |
Аналоговые входы | 12 |
Аналоговые выходы | 2 (ЦАП) |
Общий выходной постоянный токна всех входах/выходах | 50 мА |
Постоянный ток через вывод 3,3 В | 800 мА |
Постоянный ток через вывод 5 В | 800 мА |
Флеш-память | 512 КБ доступно всего для пользовательских приложений |
ОЗУ | 96 КБ (два банка: 64 КБ и 32 КБ) |
Тактовая частота | 84 МГц |
Питание Arduino Due может осуществляться через USB соединитель или с помощью внешнего источника питания. Выбор источника питания выполняется автоматически.
Внешним (не USB) источником питания может быть либо AC/DC преобразователь («wall wart» - адаптер в одном корпусе с вилкой), либо батарея. Адаптер подключается к разъему питания платы 2,1 мм штепсельной вилкой с центральным положительным контактом. Выводы батареи подключаются к контактам Gnd и Vin разъема POWER. Плата может функционировать при внешнем питании от 6 до 20 В. Но если напряжение питания опускается ниже 7 В, на выводе 5 В может оказаться меньше пяти вольт, и плата будет работать нестабильно. Если же подается напряжение более 12 В, может перегреться стабилизатор напряжения, что приведет к повреждению платы. Рекомендуемый диапазон напряжений – от 7 до 12 В.
Ниже перечислены выводы питания:
- VIN. Это входное напряжение для платы Arduino, когда она питается от внешнего источника питания (в противоположность 5 вольтам, поступающим через USB соединение или от иного регулируемого источника питания). Напряжение питания может подаваться на этот вывод, или сниматься с этого вывода в случае питания через разъем питания.
- 5V. Данный вывод служит выходом регулируемого напряжения 5 В со встроенного стабилизатора на плате. Сама плата может питаться через разъем питания постоянного тока (7-12 В), либо через USB соединитель (5 В), либо через вывод VIN на плате (7-12V). Питающее напряжение через выводы 5 В и 3,3 В подается в обход стабилизатора и может повредить вашу плату. Мы не советуем так делать.
- 3.3V. Питание 3,3 В, вырабатываемое встроенным стабилизатором. Максимальный выходной ток 800 мА. Стабилизатор также обеспечивает питание микроконтроллера SAM3X.
- GND. Земляные выводы.
- IOREF. Данный вывод платы Arduino обеспечивает опорное напряжение, при котором работает микроконтроллер. Верно сконфигурированная плата расширения может считать напряжение на выводе IOREF и выбрать соответствующий источник питания, или разрешить использование выходных преобразователей напряжения для работы с 5 В или 3,3 В.
Флеш-память SAM3X составляет 512 КБ (2 блока по 256 КБ) для хранения программ. Загрузчик (бутлодер) записывается Atmel при производстве и хранится в специально отведенном для него ПЗУ. Доступный объем ОЗУ составляет 96 КБ в двух смежных банках – 64 КБ и 32 КБ. Вся доступная память (флеш-память, ОЗУ и ПЗУ) может адресоваться напрямую как плоское адресное пространство.
Существует возможность стереть флеш-память SAM3X с помощью встроенной кнопки стирания. При этом из микропроцессора удалится текущая загруженная программа. Для стирания нажмите и несколько секунд удерживайте кнопку стирания при включенном питании платы.
Входы и Выходы- Цифровые входы/выходы: выводы с 0 по 53Каждый из 54 цифровых выводов Due может использоваться в качестве входа или выхода, с помощью функций pinMode(), digitalWrite() и digitalRead(). Выводы работают от 3,3 В. Каждый вывод может выдавать (как источник) ток 3 мА или 15 мА, в зависимости от вывода, или получать (как приемник) ток 6 мА или 9 мА, в засимости от вывода. На них также имеются внутренние нагрузочные резисторы (по умолчанию они отключены) номиналом 100 кОм. Кроме этого, некоторым выводам назначены специализированные функции:
- Последовательная линия: 0 (RX) и 1 (TX)
- Последовательная линия 1: 19 (RX) и 18 (TX)
- Последовательная линия 2: 17 (RX) и 16 (TX)
- Последовательная линия 3: 15 (RX) и 14 (TX)Эти выводы используются для приема (RX) и передачи (TX) последовательных данных TTL (с уровнем 3,3 В). Выводы 0 и 1 соединены с соответствующими выводами последовательного контроллера ATmega16U2 USB-to-TTL.
- ШИМ: выводы с 2 по 13 На них реализуется 8-битный выход ШИМ с помощью функции analogWrite(). Разрешение ШИМ можно менять, используя функцию analogWriteResolution().
- SPI: разъем SPI (разъем ICSP на других платах Arduino)Данные выводы служат для связи по SPI с использованием библиотеки SPI. Сигналы SPI выведены на центральный 6-контактный разъем, который физически совместим с Uno, Leonardo и Mega2560. Разъем SPI можно использовать только для связи с другими устройствами SPI, но не для программирования SAM3X по технологии внутрисхемного последовательного программирования (ICSP). SPI на Due также имеет расширенные функции, доступные при использовании Расширенных методов SPI для Due.
- CAN: CANRX и CANTXНа этих выводах поддерживается протокол связи CAN, но пока его не поддерживают программные интерфейсы (API) Arduino.
- "L" LED: 13 Встроенный светодиод, подключенный к цифровому выводу 13. При высоком уровне сигнала на данном выводе, светодиод включается, при низком – выключается. Возможно также убавить яркость светодиода, поскольку вывод 13 одновременно является выходом ШИМ.
- TWI 1: 20 (SDA) и 21 (SCL)
- TWI 2: SDA1 и SCL1 На данных выводах с использованием библиотеки Wire поддерживается связь по TWI.
- Аналоговые входы: выводы с A0 по A11 Плата Arduino Due имеет 12 аналоговых входов, каждый из которых может обеспечить разрешение 12 бит (т.е. 4096 различных значений). По умолчанию установлено разрешение 10 бит для совместимости с другими платами Arduino. Разрешение АЦП можно менять при помощи функции analogReadResolution(). Аналоговые ходы Due производят измерения от уровня земли до максимального значения 3,3 В. Приложение к этим выводам напряжения свыше 3,3 В вызовет повреждение кристалла SAM3X. Функция analogReference() на Due игнорируется.Вывод AREF подключен к аналоговому выводу опорного напряжения SAM3X через резисторный мост. Для активации вывода AREF необходимо отпаять с печатной платы резистор BR1.
- DAC1 и DAC2 На выводах ЦАП DAC1 и DAC2 предоставляются достоверные аналоговые выходы с 12-битным разрешением (4096 уровней) при помощи функции analogWrite(). Данные выводы можно использовать для создания аудиовыхода, используя при этом библиотеку Audio.
Другие выводы:
- AREF Опорное напряжение для аналоговых входов. Используется с функцией analogReference().
- Reset
- По низкому уровню на этой линии происходит сброс микроконтроллера. Типичное применение вывода Reset – добавление кнопки сброса на плату расширения, которая перекрывает эту кнопку на микроконтроллере.
В Arduino Due есть ряд средств для взаимодействия с компьютером, платами Arduino и другими микроконтроллерами, а также различными устройствами, такими как телефоны, планшеты, фотокамеры и т.п. SAM3X имеет один аппаратный UART и три аппаратных USARTа для последовательной связи TTL-уровня (3,3 В).
Порт программирования соединен с ATmega16U2, предоставляющей виртуальный COM порт для программ на подключенном компьютере. (Для определения этого устройства компьютеру с ОС Windows потребуется файл .inf, на машинах же с OSX и Linux плата автоматически будет распознана как COM порт). Чип 16U2 также соединен с аппаратным UARTом SAM3X. Последовательная шина на выводах RX0 и TX0 предоставляет преобразование Serial-to-USB для программирования платы через микроконтроллер ATmega16U2. В программное обеспечение Arduino входит монитор последовательной шины, который дает плате возможность отправлять и принимать простые текстовые сообщения. Светодиоды RX и TX на плате будут мигать, когда идет передача данных через кристалл ATmega16U2 и через USB подключение к компьютеру (но не во время последовательного обмена по выводам 0 и 1).
Собственный USB порт (Native USB port) подключен к SAM3X. Это позволяет осуществлять последовательную связь (CDC) посредством USB. Таким образом обеспечивается подключение к монитору последовательной шины, или другим приложениям на вашем компьютере. Также это дает Due возможность эмулировать для присоединенного компьютера USB мышь или клавиатуру. Для использования этих возможностей смотрите справочные страницы Библиотека мыши и клавиатуры.
Собственный USB порт может также работать как USB хост для подключенных периферийных устройств: мыши, клавиатуры и смартфотонов. Чтобы использовать эти свойства, обратитесь к справочным страницам USB хост.
Контроллер SAM3X поддерживает, кроме того, связь по интерфейсам TWI и SPI. Программное обеспечение Arduino включает в себя библиотеку Wire для облегчения работы с шиной TWI; смотрите более детальное описание в документации. Для связи через SPI воспользуйтесь библиотекой SPI.
ПрограммированиеArduino Due можно запрограммировать с помощью программных средств Arduino (скачать). Более детальная информация содержится в справочнике.
Загрузка программ для SAM3X отличается от таковой для микроконтроллеров AVR, находящихся на других платах Arduino, поскольку необходимо стереть флеш-память перед тем как перепрограммировать её. Загрузка в кристалл управляется из ПЗУ контроллера SAM3X и запускается, только когда флеш-память кристалла пуста.
![](/img/kontroller-arduino_16.jpg)
Плату можно программировать через оба USB порта, хотя рекомендуется использовать порт программирования, в связи с тем, что он поддерживает стирание кристалла:
- Порт программирования: Для использования этого порта выберите в Arduino IDE в качестве вашей платы "Arduino Due (Programming Port)". Подключите порт программирования платы Due (ближайший к разъему питания постоянного тока) к вашему компьютеру. Порт программирования использует микросхему 16U2 в качестве преобразователя USB-to-serial, соединенный с первым UARTом контроллера SAM3X (RX0 и TX0). Два вывода 16U2 подключены к выводам Reset и Erase SAM3X. Открытие и закрытие порта программирования, подключенного на скорости передачи 1200 бит в секунду, запускает процедуру «аппаратного стирания» чипа SAM3X, активирование выводов Erase и Reset на SAM3X перед установлением связи с UART. Это рекомендуемый порт для программирования Due. Аппаратное стирание более надежно, чем «программное стирание», которое происходит на собственном USB порте, и будет работать даже в случае повреждения главного микропроцессора.
- Собственный порт: Чтобы использовать этот порт, выберите в Arduino IDE тип вашей платы "Arduino Due (Native USB Port)". Собственный USB порт подсоединен напрямую к SAM3X. Подключите собственный USB порт Arduino Due (ближний к кнопке Reset) к вашему компьютеру. Открытие и закрытие собственного порта при скорости передачи 1200 бит в секунду запускает процедуру «программного стирания»: флеш-память стирается и плата перезапускается с помощью загрузчика. Если главный микроконтроллер по какой-либо причине поврежден, то, вероятно, программное стирание не будет работать, так как эта процедура на SAM3X происходит полностью программно. Открытие и закрытие собственного порта на других скоростях передачи не вызовет сброса SAM3X.
В отличие от других плат Arduino, использующих для загрузки avrdude, Due полагается на bossac.
Исходный код программы для ATmega16U2 доступен в архиве Arduino. К разъему ISP можно подключать внешний программатор (перезаписывая загрузчик DFU). Более подробную информацию можно найти в инструкциях для помощи пользователям.
Токовая защита разъема USBНа Arduino Due имеется самовосстанавливающийся предохранитель, назначение которого – защитить USB порты вашего компьютера от короткого замыкания и перегрузки по току. Несмотря на то, что в большинстве компьютеров есть встроенная защита по току, этот предохранитель дает дополнительную защиту. При токе через USB порт более 500 мА связь автоматически обрывается предохранителем до прекращения перегрузки или короткого замыкания.
Физические характеристики и совместимость с платами расширенияМаксимальная длина печатной платы Arduino Due равна 4 дюйма, а ширина – 2,1 дюйма, без учета USB соединителей и разъема питания, которые выступают за приведенные габаритные размеры. Три отверстия под винты позволяют закрепить плату на поверхности или в корпусе. Обратите внимание, что расстояние между цифровыми выводами 7 и 8 составляет 160 мил (0.16", 4,064 мм), не кратно промежуткам в 100 мил (2,54 мм) между остальными выводами.
Arduino Due сделан совместимым с большинством плат расширения, разработанных для Uno, Diecimila или Duemilanove. Цифровые выводы с 0 по 13 (и соседние выводы AREF и GND), аналоговые входы с 0 по 5, разъем питания, разъем "ICSP" (SPI) расположены одинаково на всех платах. Более того, основной UART (последовательный порт) находится на тех же выводах (0 и 1).Пожалуйста, обратите внимание, что шина I2C расположена в Arduino Due на других выводах (20 и 21), не так как в Duemilanove / Diecimila (аналоговые входы 4 и 5).
arduino.ru
Контроллер для квадрокоптера на базе Arduino своими руками||Arduino-diy.com
Для того, чтобы ваш квадрокоптер на Arduino благополучно взлетел, надо обеспечить минимальный вес всей конструкции.
В нем важен каждый грамм. Именно по этой причине часто используют миниатюрную Arduino Nano, которую устанавливают на монтажной плате. В этом проекте предложена конструкция платы управления для квадрокоптера с минимально необходимой обвязкой и платами Arduino Nano и GY80.
Какого-то супер концепта в предложенной конструкции нет. Ее можно сделать и получше, но надеюсь, что благодаря этим материалам у кого-то появятся собственные идеи или же вы воспользуетесь предложенным решением.
Arduino-контроллер для квадрокоптера
Ниже представлена информация о конструкции контроллера. Свободное пространство в правом верхнем углу было оставлено специально, чтобы была возможность расширить модуль. Например, установить GPS или ультразвуковой датчик расстояния.
![](/img/kontroller-arduino_17.jpg)
![](/img/kontroller-arduino_18.jpg)
![](/img/kontroller-arduino_19.jpg)
Предложенная конструкция контроллера для квадрокоптера на Arduino Nano имеет ряд недостатков. Некоторые размышления на этот счет приведены ниже.
Вход BEC для питания квадрокоптера
Все, кроме одного контакта питания BEC (cистема питания приемника и квадрокоптера от силовой батареи и отключении мотора при достижении порогового напряжения) должны быть отключены. Порой на форумах люди заявляют, что несколько источников питания может вызывать неполадки из-за разницы в напряжениях (что очень похоже на правду, так как на них действительно разные регуляторы напряжения, хоть и очень маленькие). Отделить подключение сзади невозможно, так как там припаяно. Так что приходится отделять контакты моторов 2,3 и 4, чтобы в результате оставались только контакты сигнала и земли.
По сути эти источники питания BEC 5 В надо убрать или использовать в других целях. Например, можно предусмотреть дополнительный источник питания для контроллера, если первый перестал работать. Остальные BEC можно использовать для серводвигателей видеокамеры.
Расположение контактов для мотора и ресивера
Контакты для моторов желательно разместить в четырех различных углах для более простого доступа к ним. Контакты для ресивера (приемника) желательно располагать неподалеку от контактов питания.
Сокет для микроконтроллера
Для того, чтобы передавать данные по GPS или использовать ультразвуковой датчик расстояния с Arduino Nano, UNO или Pro Mini, нам понадобится дополнительный микроконтроллер. Он будет обрабатывать данные с GPS или сонар модулей и передавать их на плату контроллера полета через I2C.
Очень удобная фича - встроенный сокет для легкого подключения по I2C для периферийных устройств.
2 дополнительных контакта для моторов (для гексакоптера) показаны на риунке ниже.
![](/img/kontroller-arduino_20.jpg)
Другие проекты контроллеров для квадрокоптеров
Ниже приведены несколько других проектов контроллеров для квадрокоптеров на базе Arduino.
Плата контроллера может использоваться для три- и квадрокоптера с возможностью дополнительной установки камеры и стабилизацией тангажа.
Для питания сенсоров используется 3.3 В постоянный ток от Arduino Nano.
![](/img/kontroller-arduino_21.jpg)
Контроллер, выполненный в круглом форм-факторе. Контроллер можно использовать на три- и квадрокоптерах.
![](/img/kontroller-arduino_22.jpg)
Еще один круглый контроллер. Может использоваться для три- и квадрокоптеров. Можно подключить видеокамеру. Предусмотрена стабилизация тангажа и крен.
Предусмотрена проверка питания. Если питание отсутствует, подается сигнал на динамик. Можно запитать плату от отдельного BEC. На контроллере установлен светодиод для отслеживания состояния и питания.
![](/img/kontroller-arduino_23.jpg)
Есть интересные серийные контроллеры для квадрокоптера на Arduino. Например, в пердставленом ниже тоже используется круглый форм-фактор плат. Этот контроллер можно использовать для три- квадро-, гексакоптера. Поддерживаются все фичи MultiWii версии 1.6. Кроме того, на плате есть встроенный регулятор 3.3 вольт.
![](/img/kontroller-arduino_24.jpg)
Оставляйте Ваши комментарии, вопросы и делитесь личным опытом ниже. В дискуссии часто рождаются новые идеи и проекты!
arduino-diy.com
Ардуино что это и зачем
Как мы узнали это “апаратная вычислительная платформа” а по-русски контроллер
А что такое контроллер?
Для тех кто немного в курсе: не путать с микроконтроллером — МК это atmega, PIC и прочие “микросхемы” – однокристальные микро-ЭВМ,а контроллер это плата такая, на которую этот самый МК запаян.
Для тех кто совсем не в курсе: контроллер это такое электронное устройство которое что- нибудь контролирует — то есть реагирует на изменения одних параметров изменением других. Ну вот например кондиционер на стене так вот там тоже стоит умная плата-контроллер включающая/выключающая подогрев/охлаждение/осушение/увлажнение воздуха когда нужно.
Кондиционер, mp3 плеер, велокомпьютер, сигнализация, мобильник, навигатор — всё это (грубо говоря) специализированные контроллеры. А вот комп настольный это контроллер универсальный, да ещё и расширяемый, и с его помощью всё вышеперечисленное можно реализовать. Нужны будут только соответствующие платы расширения и софт.
Ардуино
Так вот ардуино тоже универсальный контроллер, который можно заточить под какую-нибудь задачу и превратить в законченное электронное устройство произвольного назначения, от часов с будильником до робота. Или просто играться — собирая разбирая всякие приблуды. Радиоконструктор в общем.
К самой плате можно подключать различную периферию – кнопки, некоторые виды датчиков (температуры, давления, освещённости, ускорения и т.п.), светодиоды, жидкокристаллические индикаторы, написать программу и заставить взаимодействовать всё это как угодно. Масса применений кстати:
- Системы сбора данных (чёрный ящик для аквариума – пишет температуру раз в 5 минут
- Таймеры-Счётчики событий (сколько раз и во сколько кот подходил к пустой миске)
- Сигнализации-Извещатели (кот превысил разрешенное количество подходов к миске, температура в аквариуме ниже 0, кто-то покинул туалет не выключив свет/не смыв/не опустив стульчак
В таком духе. Cкучновато конечно. Прям как древний пустой комп — ну клава, ну моник, ну часы, ну пасьянс какой-нибудь… А вот если воткнуть звуковушку, модем, мышь с джойстиком, да тв-тюнер с веб-камерой присобачить… уже больший полёт фантазии можно наблюдать.
Так же подключая к ардуино различные устройства – шилды (shields) добавляем различные функции — так можно управлять всякими двигателями, сервомашинками, сетевой нагрузкой наконец (свет, обогреватель, чайник и т.п.). Можно подключить GPS или GSM модуль и получать координаты со спутника или отправлять данные на свой телефон – координаты своей машины которую кореш взял покататься, или угнали не дай бог, или в командировке узнать что твой любимый кактус никто не поливает. Можно воткнуть Ethernet-модуль и выпустить свой девайс в интернет — пусть шлёт данные на твой сайт, или пусть пишет всё на SD-карту воткнутую в соответствующий шилд. Можно добавить каналы связи – ИК, радиоканал, а то и вообще Bluetooth, со всеми вытекающими.
Ещё примеры что в голову приходит:
- Автокормушка для домашних животных
- Контроллер аквариума
- Дебаггер для машины (все температуры, давления, обороты твоего жигуля на красивом экранчике, расшифровка блинк-кодов)
- Системы удалённой телеметрии
- Велокомпьютер
- Элементы умного дома (управление светом, шторами, вентиляцией, кондиционированием, отоплением, прочими электроприборами)
- Элементы хобби-чпу
- Простые промышленные контроллеры
- Робототехника
И всё это в произвольных комбинациях — ограничивает только фантазия и владение железом/софтом.
Arduino и Интернет шилд
Почему ардуино? Да, есть ещё немало универсальных контроллеров и плат развития позволяющих осуществлять и более амбициозные проекты. Но! Ардуино имеет ряд преимуществ:
- Не нужен программатор
- Не нужны особо глубокие познания в программирования микроконтроллеров
- Проект ардуино полностью открытый
- Платформа набирает популярность — куча сайтов с библиотеками, схемами и проектами
- Стандартизация расположения выводов — это делает её привлекательной для производителей – появляются всё новые шилды
- Кроссплатформенная среда разработки
shagir.ru
Видеоматериалы
Опыт пилотных регионов, где соцнормы на электроэнергию уже введены, показывает: граждане платить стали меньше
Подробнее...С начала года из ветхого и аварийного жилья в республике были переселены десятки семей
Подробнее...Более 10-ти миллионов рублей направлено на капитальный ремонт многоквартирных домов в Лескенском районе
Подробнее...Актуальные темы
ОТЧЕТ о деятельности министерства энергетики, ЖКХ и тарифной политики Кабардино-Балкарской Республики в сфере государственного регулирования и контроля цен и тарифов в 2012 году и об основных задачах на 2013 год
Подробнее...Предложения организаций, осуществляющих регулируемую деятельность о размере подлежащих государственному регулированию цен (тарифов) на 2013 год
Подробнее...
КОНТАКТЫ
360051, КБР, г. Нальчик
ул. Горького, 4
тел: 8 (8662) 40-93-82
факс: 8 (8662) 47-31-81
e-mail:
Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.