Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

Содержание

Arduino и двигатели||Arduino-diy.com

Одно из самых интересных в хобби-электронике – это использование двигателей для «оживления» ваших проектов.

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

Данная статья даст вам понимание принципов работы двигателей различных типов и пояснит многие необходимые нюансы и их особенности.

Принцип работы двигателей

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

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

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

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

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

Основные узлы электродвигателя:

– Постоянный магнит (магниты), в случае, когда он установлен неподвижно, называется статором;

– внутри статора есть катушка, которая установлена на оси и вращается, называется ротором.

Двигатели постоянного тока

Двигатели постоянного тока (DC motor) во многом являются самыми простыми электродвигателями. Большинство «щеточных» двигателей работают одинаково. Есть ротор и статор. Есть магниты на статоре и катушка на роторе с магнитным полем, которое генерируется с помощью подачи на нее силы тока. Есть щетки внутри мотора, которые заставляют двигаться ротор.

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

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

Шаговые двигатели

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

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

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

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

Серводвигатели

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

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

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

Сигнал управления является цифровым ШИМ сигналом с частотой 50 Гц. Каждые 20 миллисекунд подается цифровой импульс управления. Продолжительность (ширина) импульса находится в диапазоне от 1.0 миллисекунды до 2.0 миллисекунд. 1.5 – середина диапазона. Большая ширина импульса может использоваться для дополнительного хода, который выходит за нормальный рабочий диапазон. ШИМ (широтно-импульсная модуляция) сигнал иногда называют ШПМ (широтно-позиционная модуляция), хотя это не корректно.

Импульс шириной 1.5 миллисекунды обычно устанавливает серводвигатель в «нейтральное» положение или 90 градусов. Импульс шириной 1.25 миллисекунд может установить его в 0 градусов, а импульс 1.75 миллисекунды в 180 градусов. Физические ограничения и время для различных серводвигателей могут отличаться, но его нейтральное положение всегда соответствует 1.5 миллисекундам.

Вибрационные двигатели

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

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

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

Как выбрать двигатель для проекта

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

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

Дальше в статье приведена информация о том, как можно быстро «оживить» выбранный вами предварительно двигатель с использованием платы Arduino.

Использование шагового двигателя с Arduino

Стоит отметить, что «оживлять» свои проекты с помощью плат Arduino и оболочки Arduino IDE для их программирования очень легко из-за наличия большого количества уже готовых библиотек. Подключение шагового двигателя к плате Arduino отличается от подключения двигателя постоянного тока. Существует специальная библиотека и функция, встроенные в Arduino IDE. Более детально об этом вы можете почитать здесь.

После открытия Arduino IDE, перейдите в меню во вкладку

File -> Examples -> Stepper -> stepper_oneRevolution

Данная программа дает возможность управлять уни- или биполярным шаговым двигателем после его подключения к цифровым пинам 8-11 на плате Arduino. После загрузки скетча на плату Arduino, шаговый двигатель должен сделать один оборот по часовой стрелке, после этого – один поворот против часовой стрелки.

Данный пример – отличное начало. Естественно, вы можете вносить свои коррективы в программу, подстраивая ее под свои задачи. Задержка указывается в миллисекундах, так что если вы не хотите выдерживать паузу между оборотами, можете выставить задержку delay(10). Или, для того, чтобы замедлить вращение можете изменить stepsPerRevolution и присвоить ему значение, например, (1000000).

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

Использование двигателя постоянного тока / вибрационного двигателя с Arduino

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

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

Использование серводвигателя с Arduino

Так же как и шаговые двигатели, для работы серводвигателей в оболочке Arduino IDE есть встроенная библиотека.

После открытия Arduino IDE, перейдите в меню во вкладку

File -> Examples -> Servo -> Knob

Данная программа обеспечивает управление серводвигателем, который подключен к 9-му ШИМ пину платы Arduino. Потенциометр, в свою очередь, подключен к аналоговому пину 0 и обеспечивает управление положением серводвигателя, посылая напряжение, пропорциональное сопротивлению на пин А0 платы Arduino. Скетч, который «залит» в плату Arduino, интерпретирует сигнал в импульсы, которые посылаются на серводвигатель. Двигатель обеспечивает поворот вала в соответствии с положением «крутилки» потенциометра.

Ардуино и микросхемы | L298N Драйвер шагового двигателя Ардуино

Модуль драйвера двигателей собран на микросхеме “L298N” от производителя “STMicroelectronis”. Купить отдельно данну микросхему можно в нашем магазине (код товара: 12185). К данному модулю можно подключить  два DC-двигателя с нагрузкой до 2 ампер или один двигатель с нагрузкой до 4 ампер. Питание логики подключается к разъему “5V”, а питание двигателей а разъему “Vss” (дополнительный источник питания). Управление двигателями (например скоростью, остановкой, временем) происходит через разъемы “IN1” и “IN3” (первым и вторым двигателем). За направление движения отвечают разъемы “IN2” и “IN4”  (первым и вторым двигателем). Если проще – то можно задать направление вращения двигателя через разъемы “EnA” и “EnB”, подавая на них логический “0” или “1”. Если Ваш микроконтроллер уже загружен Вы можете задать питание логики “+5V” от внутреннего источника питания, сняв для этого джампер “S1”.

   Алгоритм работы модуля через разъемы “IN1” и “IN3” и “IN2” и “IN4” следующий:

   “IN1” и “IN3”     “IN2” и “IN4”      Результат

          0             0              Движения нет.                                                       

         0             1         Вращение по часовой стрелке

         1             0         Вращение против часовой стрелки

         1              1                  Движения нет.

     PWM           1        Движение по стрелке с                                                      регулировкой скорости

     PWM          0         Движение против стрелки с                                              регулировкой скорости

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

УРОК 12. ARDUINO И ЭЛЕКТРОМОТОР

Вращаем двигатель — Крутись Мотор.

Помните, ранее мы с вами изучили серводвигатель которым управляла ардуина? Теперь мы познакомимся с двигателем вращения. Для это потребуется транзистор, который может коммутировать (переключать) больший ток, чем может себе позволить Arduino. При использовании транзистора, нужно убедиться, что его параметры, подходят для работы определенного оборудования. Транзистор который мы используем для этой схемы — 2N222A, может справится с напряжением до 40 Вольт и до 200 миллиампер, — идеально подходит для нашего микро двигателя!

Когда вы будете собирать эту схему, будьте осторожны, не перепутайте транзистор с датчиком температуры, они очень похожи!

Вы видите саму принципиальную схему к уроку 12, сложностей быть не должно, при правильном соединении всех частей, все должно получиться.

 

Принципиальная схема. Урок 12. Мотор и Arduino

Для этого опыта вам понадобится:

1. Arduino UNO — 1 шт.

2. Электромотор — 1 шт.

3. Транзистор 2N222A — 1 шт.

4. Диод 1N4148 — 1 шт.

5. Резистор 330 Ом — 1 шт..

6. Соединительные провода.

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

Далее идет схема электрических соединений для этого опыта.

 

Cхема электрических соединений макетной платы, мотора и Arduino. Уроку 12. Arduino и Электромотор

Скачать код к опыту 12. Скетч и подробное описание (Обязательно прочтите весь скетч! Он подробно описан здесь):

Набор для экспериментов ArduinoKit.
Код программы, на руском языке для опыта №12 можно скачать здесь: sketch 12

Вид созданного урока на макетной плате, у вас должно получиться что-то подобное:

 

Arduino — Крутись мотор. Урок 12

В результате проделанного опыта Вы должны увидеть…

Если схема собрана правильно и все электронные компоненты исправны двигатель постоянного тока должен вращаться.

Возможные трудности:

Мотор не вращается
Это может быть из за того что вы используете свой транзистор, т.е. отличающийся номиналом. Найдите распиновку (в интернет или справочнике) имеющегося у вас транзистора и его совместимость с P2N2222A. Проверьте работу двигателя от источника 5 вольт. Возможно двигатель расчитан на больший ток, в таком случае вы можете использовать реле из уроака 13. Иногда плата ардуино может отключиться от компьютера, попробуйте отключить от нее USB разъем, а затем снова подключить к порту USB. Проверьте надежность и правильность всех электрических соединений.

Всем удачи! Ждём от вас комментарии и фотоотчеты о ваших опытах. ARDUINO УРОК 12. КРУТИСЬ МОТОР.

Шаговый двигатель для ардуино | Stepmotor

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

Что такое шаговый двигатель для ардуино
Arduino представляет собой готовую вычислительную платформу, выполненную в виде набора печатных плат и микроконтроллера, которая управляется программно. Скетчи или наброски (программы для Arduino) могут быть созданы на языке программирования C++ и закачаны на устройство через USB, Ethernet или RS232. Кроме того Arduino имеет встроенный интерфейс UART, а также SPI и I2C. Другим способом программирования устройства является программатор, поддержка которого осуществляется встроенным в IDE модулем.

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

Выбираем шаговый двигатель для ардуино
Периферия ардуино поддерживает работы с шаговым или коллекторным двигателем. Диапазон мощностей силовых установок может колебаться до 12В, сила тока — до 2А на один канал. Дополнительная плата расширения позволяет осуществлять двухканальное управление направлением и скоростью вращения, при этом предельное напряжение может достигать 24В. Управлять большой нагрузкой можно при помощи специальных устройств расширения типа Motor Shield.

Сегодня шаговый двигатель для ардуино может быть гибридным, с отрицательным потенциалом, постоянного тока.

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

  • Силовая установка
  • Плата ардуино
  • Плата управления силовой установки
  • Источник питания

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

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

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

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

Купить Шаговый двигатель для ардуино
Торговый Дом «Степмотор» занимается поставками систем промышленной автоматизации, шаговыми двигателями, мотор-редукторами и другими силовыми системами, а также системами позиционирования. Мы бесплатно подберем шаговый двигатель для ардуино по вашему техническому заданию, порекомендуем надежных производителей и поставим оборудование в срок.

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

Позвоните нам или напишите на электронную почту [email protected], и мы проконсультируем вас по интересующей вас продукции в течение 15 минут (по рабочим дням).

Управление двигателем на основе Arduino (топливо и зажигание): arduino

Итак, какое-то время я разрабатывал проект самостоятельной системы управления двигателем (EMS), призванной помочь людям понять концепции этих «черных ящиков». Это произошло потому, что я, казалось, разговаривал со многими людьми, которые интересовались электроникой, и многими людьми, которые интересовались электроникой, которые интересовались автомобилями / двигателями, но лишь немногие из них совпадали.

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

Некоторые из планируемых в настоящее время функций:

  • 100% компилируемость и установка из Arduino IDE

  • Небольшая сборка или ее отсутствие и определенно отсутствует в основных алгоритмах

  • Полностью программируемая MAP (плотность скорости) или Впрыск и зажигание на основе TPS (alpha-n)

  • Карты 8×8 для вышеуказанного с интерполяцией

  • Пакетная поддержка до 8 цилиндров, полная последовательная до 4 цилиндров

  • Настройка на всех платформах с помощью Tuner Studio или Mega Tune.Это включает в себя вещи, предоставляемые этими пакетами, такие как «автонастройка» и т. Д.

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

Если кто-то захочет это проверить, код, схема и герберы доступны по адресу: https: // github.com / noisymime / Kartduino Конечно, я более чем счастлив ответить на вопросы об EMS в целом или об этом в частности. 🙂

Управляйте бесщеточным двигателем с помощью Arduino • AranaCorp

Теги: Arduino, Бесщеточный двигатель, C / C ++, Программирование

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

Оборудование

  • Компьютер
  • Arduino UNO
  • USB-кабель от мужчины к мужчине B
  • Бесщеточный + ESC

Принцип работы

Бесщеточные двигатели – это двигатели с тремя обмотками, называемые трехфазными двигателями. Это означает, что он генерирует непрерывное вращение, когда токи в этих обмотках смещаются.Создание профилей тока на каждой катушке для получения желаемой скорости требует использования регулятора скорости (называемого ESC, электронный регулятор скорости) для преобразования команды ШИМ в скорость вращения.

Схема

Для правильной работы двигателя требуется высокий ток, поэтому ESC будет питаться от источника питания, внешнего по отношению к микроконтроллеру. Регулятор ESC подключен к слоту PWM на микроконтроллере.

Код

Каждый раз при запуске кода ESC должен выполнять определенную процедуру для правильной инициализации.Эта процедура описана в функции initProcedure () и состоит из последовательности команд ШИМ в течение определенного времени (соответствующего сигналам от пультов дистанционного управления).

 // Параметры
const int escPin = 3;
int min_throttle = 1000;
int max_throttle = 2000;
беззнаковый длинный currentMillis, previousMillis;

void setup () {
 // Инициируем последовательный USB
  Серийный . Начало (9600);
  Последовательный  .println (F («Инициализировать систему»));
 // Запускаем ESC
 pinMode (escPin, ВЫХОД);
 initProcedure ();
}

void loop () {
 runBrushless ();
}

void runBrushless () {/ * функция runBrushless * /
 //// Проверка бесщеточного режима
  Серийный .println ("работает");
 currentMillis = 0;
 previousMillis = millis ();
 while (currentMillis <2000) {
 currentMillis = millis () - предыдущий миллис;
 digitalWrite (escPin, HIGH);
 delayMicroseconds (1350);
 digitalWrite (escPin, LOW);
 задержка (20);
 }
  Серийный  .println ("стоп");
 currentMillis = 0;
 previousMillis = millis ();
 while (currentMillis <2000) {
 currentMillis = millis () - предыдущий миллис;
 digitalWrite (escPin, HIGH);
 delayMicroseconds (min_throttle);
 digitalWrite (escPin, LOW);
 задержка (20);
 }
}

void initProcedure () {/ * функция initProcedure * /
 //// Процесс инициализации ESC
 previousMillis = millis ();
  Серийный . println ("дроссельная заслонка");
 while (currentMillis <3000) {
 currentMillis = millis () - предыдущий миллис;
  Серийный  .println (currentMillis);
 digitalWrite (escPin, HIGH);
 delayMicroseconds (max_throttle);
 digitalWrite (escPin, LOW);
 задержка (20);
 } // гудок- гудок-
 currentMillis = 0;
 previousMillis = millis ();
  Серийный  .println ("дроссельная заслонка");
 while (currentMillis <4500) {
 currentMillis = millis () - предыдущий миллис;
  Серийный  .println (currentMillis);
 digitalWrite (escPin, HIGH);
 delayMicroseconds (min_throttle);
 digitalWrite (escPin, LOW);
 задержка (20);
 } // гудок -
 // 1 2 3
}

 

Результат

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

Приложения

  • Построить дрон
  • Движение лодки с дистанционным управлением

Найдите другие примеры и руководства в нашем автоматическом генераторе кода
Code Architect

daveruiz / doom-nano: движок 3D Raycast для Arduino

Движок 3D Raycast для Arduino

.

Посмотреть в действии:

Просто экспериментирую с Arduino Nano, купленным мной некоторое время назад.Этот чип очень ограничен в процессах и памяти: 16 МГц, всего 32 КБ для программной памяти и 2 КБ ОЗУ, из которых 1 КБ полностью используется для экрана. Большинство проблем, с которыми я сейчас сталкиваюсь, связаны с памятью. Тактовая частота процессора тоже может быть проблемой, но ее можно более или менее избежать, имея больше памяти для быстрых клавиш вычислений. Несмотря на все эти ограничения, он способен работать со скоростью до 14 кадров в секунду. Наверное, его можно оптимизировать и структурировать намного лучше. Постараюсь продолжать учиться и улучшать это.

Для ясности. Это не настоящая игра Doom , просто взяли из нее несколько спрайтов (и сильно упростили). Механизм рендеринга больше похож на Wolfeistein 3D. Идея Doom возникла потому, что я начал создавать причудливый эффект плавления экрана (включенный в раннюю версию, но не сейчас).

Оборудование, которое я использовал:

  • Проточная плата
  • Arduino nano V3 (ATmega328P)
  • OLED-дисплей (i2c 128×64)
  • 4 кнопки
  • 4 резистора 10 кОм (опционально.Вы можете использовать внутренний подтягивающий резистор, раскомментировав #define USE_INPUT_PULLUPS из файла constants.h)

Ресурсов:

Текущий статус:

  • Рендеринг карты работает нормально. Даже мне удалось добавить эффект глубины, используя различные шаблоны дизеринга, в зависимости от расстояния до поля зрения.
  • Спрайты тоже работают, хотя есть некоторые проблемы с их скрытием за стенами из-за ограничений памяти (точность z-буфера была сильно ограничена, чтобы уменьшить его).
  • Вы можете перемещаться по карте, сталкиваться со стенами, собирать предметы и взаимодействовать с врагами. Я мог бы также добавить эффект бега, как у Doom.
  • AI врагов, несмотря на то, что он очень прост, я думаю, работает очень хорошо, и этого достаточно для целей игры. Очень похож на врага Беса из оригинального Doom.
  • Для HUD я понял, что собственный print из библиотеки Adafruit использует слишком много памяти. Итак, я реализовал свои собственные методы рендеринга текста и собственный шрифт, который включает только необходимые символы и некоторые значки.
  • В настоящее время я использую 99% программной памяти, что не позволяет мне добавлять больше кода. Мне нужно изучить, как его оптимизировать, чтобы сделать меньше.
  • FPS и потребление памяти были улучшены с использованием тонкой и настроенной версии библиотеки SSD1306 от Adafruit. Спасибо @miracoly
  • Теперь он имеет базовую поддержку звука через Pin 9. Еще раз спасибо @miracoly!

(я бы хотел) Сделать:

  • Сделайте возможным убивать врагов.
  • Двери и запертые двери.
  • Игра окончена.
  • Добавить спрайты, декоративные элементы и т. Д.
  • Текстуры? Очень дорого. Я так не думаю.
  • Сделайте код лучше! Перенести все на чистый c ++.
  • Звук / Музыка? Хммм, я так хочу, но …

Другие экраны (устар.):

Джеймс Стэнли – Как сделать ограничитель оборотов с помощью Arduino

Как сделать ограничитель оборотов с Arduino

Пн 22 июля 2019

Tagged: газонокосилка, 3dпечать, электроника

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

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

Обнаружение числа оборотов в минуту

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

Это вызывает прерывание в коде Arduino один раз при каждом вращении двигателя, и время между прерываниями может использоваться для расчета оборотов двигателя (например, при 20 мсек. между прерываниями двигатель вращается со скоростью 3000 об / мин).

Глушение зажигания

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

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

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

Я использовал твердотельное реле Omron G3MB-202P, оно выглядит так:

Установка

Заставив ограничитель оборотов работать на макетной плате, я сделал кусок медной полоски с Arduino Nano, твердотельным реле, и необходимые разъемы:

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

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

Необходимые нам разъемы – это USB-кабель для перепрограммирования Arduino, разъем для питания от аккумулятора газонокосилки, кабель для подключения к датчику эффекта Холла (с аудиоразъемом 2,5 мм для удобства) и провод для подключения к проводу аварийного выключателя (с лопатообразным разъемом).

Я напечатал на 3d принтере футляр:

Как видите, реальный проект занимает примерно половину места внутри корпуса. Остальное занимает неудобный USB-штекер. Намного лучший способ спроектировать корпус – это сделать провода выходит из одного конца, а не из вершины. Также было бы полезно положить твердотельное реле на бок, параллельно Ардуино.

Я залил плату в корпус полиуретановой смолой для защиты от воды и вибрации:

и прикрутил его к кузову газонокосилки:

Последний проект Arduino, который я сделал для транспортного средства, – это драйвер спидометра для моего скутера. Уроки извлеченные из этого проекта включают:

  • Arduino Nano проще в использовании, чем необработанный ATmega328p, поскольку он включает в себя собственный регулятор напряжения и USB-разъем
  • Следует избегать использования гнездовых разъемов
  • на печатной плате, так как они могут быть заполнены смолой
  • легче закрепить электронику на транспортном средстве, если в корпусе есть монтажные отверстия

Программное обеспечение

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

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

Мы проработали газонокосилку 2 или 3 часа с этим ограничителем оборотов, и, похоже, он все еще работает.

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

Программа записывает текущие обороты на последовательную консоль 10 раз в секунду, что подходит для использования с «последовательным плоттером» Arduino для получения графика скорости двигателя в реальном времени.

Красная линия настраивается путем редактирования константы max_rpm в коде Arduino. Я ожидаю, что с этим все будет в порядке, но если вы ожидаете, что вам придется много его настраивать вместо этого вы можете прочитать это с помощью потенциометра.

Хуже всего в редактировании кода в полевых условиях то, что экран ноутбука может быть плохо виден даже в пасмурный день:

Лучшие монтажные отверстия

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

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

Если вам нравится мой блог, рассмотрите возможность подписки на RSS-канал или список рассылки:

управление двигателем arduino




Тот, что слева, работает со скоростью, которую мы знаем прошивку. Тот, что справа, работает, наша программа симулятора кривошипа и кулачка. В настоящее время он имитирует колесо из тридцати шести минус один кривошипно-шатунный механизм, на вершине которого есть пара регуляторов подстройки, одна из которых управляет частотой вращения этого смоделированного сигнала, а есть и другие.Кроме того, триммер, имитирующий TPS, и еще один для o2. Эти двое участвуют в скорости. Мы знаем Arduino на примере выходов. Здесь вы можете увидеть чистую прибыль. Там показан сигнал от нашего do: ствол 36 минус один импульс и сигнал вверху. Там показан выход форсунки из числа оборотов. Мы знаем и можем ускорить и замедлить при необходимости. У вас довольно стандартный, студийный тюнер, экран приборной панели, я отключил сигнал оборотов от скорости, которую мы знаем на данный момент, просто чтобы проработать пару вещей. Первая стандартная установка очень похожа на то, что вы видите в мега-впрыскивании, мы устанавливаем необходимое количество топлива, мы диктуем количество впрыскиваний за цикл и ступенчатость инжектора. Сейчас в этом есть некоторые ограничения. Какая постановка является поддерживающей, с каким количеством впрыскиваний, которые будут развиваться в будущем, но поддерживаются как попеременные, так и одновременные. Мы можем посмотреть на настройку триггера. В данном конкретном случае у меня тридцать шесть минус один, и это то, что выдает стимулятор.

Угол срабатывания установлен как 240 градусов для кривошипа после верхней мертвой точки и до циклов пропуска, то есть количество оборотов, которое должно произойти после проворачивания или около того во время проворачивания перед включением системы. Мы также можем установить некоторые очень основные характеристики форсунки, такие как время открытия и любые корректировки напряжения батареи, которые нам нужны, поэтому я собираюсь пойти дальше и подключить сигнал кривошипа в данный момент, и вы увидите, что число оборотов в минуту всплывает до около 3300 вы увидите. Кроме того, началось обогащение исследования после включения, которое будет выполняться в течение предварительно настроенного количества секунд с определенным процентом.Мы можем видеть здесь общее обогащение, теперь, когда после запуска Ричмонд закончился, он составляет около 116-17. Это основано на температуре охлаждающей жидкости, и все это происходит, как вы можете видеть из разогрева в Ричмонде, обогащение разминки можно настроить так же, как и мега-сквирт. У вас здесь стандартная кривая. Мы можем поднять эти значения, увидеть здесь соответствующее изменение или я могу вернуть их вниз и увидеть то же всплывающее окно, возвращающееся к разумному значению. Если я просто отрегулирую сигнал охлаждающей жидкости, который поступает в ЭБУ, я могу довести его до температуры около 82 градусов, и мы увидим, что обогащение для четырех разогрева и, следовательно, общее обогащение теперь составило около 100 процентов это то, что мы ожидаем от нашей базовой настройки.

У нас есть таблица топлива 8 на 8. Здесь вы можете увидеть соответствующие сигналы оборотов в минуту и ​​TPS, оба из которых, очевидно, можно регулировать вверх и вниз, и их изменения, очевидно, также влияют на ширину импульса. Все это может быть в реальном времени, отредактировано, чтобы снова показать разницу в импульсе, ширине, и все это обновляется в реальном времени на ECU. У нас также есть таблица трехмерного вида, если мы хотим ее отредактировать. То же самое касается точечного контроля, который влияет на опережение искры, которую вы можете видеть здесь.Это четырехсторонняя интерполяция для всех этих таблиц и, наконец, таблица настройки, которая у нас есть, для целевых показателей соотношения воздух-топливо. В настоящее время есть два способа сделать автофокусировку с замкнутым контуром: наша узкополосная и белая полоса поддерживаются для узкополосного там, простого алгоритма преследования цели или для широкополосного там, алгоритма Питтса и всего того, что пропорциональные интегралы и производные могут быть настроены отсюда. В настоящее время существует ускорение обогащения на основе TPS. Только если я быстро настрою здесь TPS, вы увидите, как это подскакивает.Вы также видите изменение ve, обогащение гаммы и включение индикатора ускорения TPS. Мы можем изменить график здесь, чтобы показать обогащение при ускорении и влияние, которое оно оказывает на общее обогащение, здесь есть базовая настройка топлива для замедления, сокращается пороговое значение TPS для ускорения и время, в течение которого обогащение должно длиться в контроле.

У нас также есть отдельные настройки задержки, задержки запуска и работы, а также некоторая защита от задержки в случае проблем с шумом или чего-то подобного.Есть как жесткие, так и мягкие ограничители оборотов, которые вы сейчас используете. Таким образом, они будут замедлять синхронизацию для мягкого ограничителя и полностью сокращать его для жесткого ограничения. Наконец, я просто хотел получить то, что мы получаем от использования Tuner Studio, и что мы получаем все возможности регистрации данных, которые есть в этом пакете. Это краткие данные. Журнал, который я только что записал, чтобы показать некоторые возможности разогрева и после запуска, и мы можем их зарегистрировать, поэтому я показываю здесь три разных элемента информации: верхний – это обороты, средняя линия – ширина импульса, а нижняя – показывает гамму II.Для общего количества исправлений, которые у нас есть в начале, мы видим ноль оборотов в минуту. Затем запускается двигатель или, в этом случае, подключается стимулятор. Очевидно, что ширина импульса возрастает, и мы видим относительно высокую гамму a около 130. Это длится в течение предварительно сконфигурированного периода времени, в этот момент после запуска обогащение отключается, и остается только теплый вверх обогащение, кто бы добавил, добавьте сюда еще одну строчку только для обогащения разминки. Мы бы увидели, что в этой части он прослеживает линию общего гамма-обогащения.Точно позвольте мне сказать, что эти два значения здесь абсолютно одинаковы. Если я изменю значение охлаждающей жидкости, которое мы также можем сопоставить с охлаждающей жидкостью, идущей здесь, от примерно 43 градусов до 82, в этот момент разогрев в Ричмонде прекращается и ширина импульса соответственно изменяется, в этот момент двигатель разгоняется несколько раз, и там же мы видим соответствующие горшки со сдачей.

Второй второй журнал здесь просто показывает пример линии ускорения обогащения вверху, которая у нас есть, это сигнал TPS.Вторая линия красного цвета показывает TPS, пунктирную дельту с течением времени. Зеленая линия здесь показывает величину обогащения при ускорении, которая была рассчитана на основе этого значения TPS для док-станции. И, наконец, мы видим, как это влияет на фактическую ширину импульса в зависимости от скорости изменения TPS. Добавленная стоимость может составлять примерно от 21, что мы видим здесь, до большего значения для более быстрого ускорения TPS. Мы видим здесь примерно 35-процентное увеличение расхода топлива и то, как это отражается на ширине импульса. На этом мы закончили все, что я хотел показать.О скорости прошивки узнаем и какие функции она есть на данный момент совсем скоро. Проект перейдет в особенность: заморозить, и я посмотрю на создание некоторых релизов-кандидатов для прошивки V 1.0. Если вас интересует проект и вы хотите узнать о нем больше, перейдите по ссылке в описании проекта, и мы с радостью ответим на любые вопросы и поможем, если вы хотите попробовать проект.


Впервые мы будем участвовать в
Хактоберфест – ежемесячный праздник открытого программного обеспечения.

Внесите свой вклад! github.com/arduino/arduino-cli – хорошее место, чтобы начать веселье!

Сообщение отправлено 29 мая 2016 г., 06:02:10.

Этот энтузиаст гонок построил свой собственный, вдохновленный Koenigsegg, управляемый Arduino двигатель Freevalve

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

Каган работал над полностью кастомным гоночным автомобилем под открытым небом, используя многие донорские детали от Porsche Boxster, включая двигатель.Он не стал добавлять эту систему Freevalve к этому двигателю, потому что она слишком экспериментальная, чтобы испытывать ее на дорогом двигателе Boxster. Вместо этого он выполнил эту модификацию на дешевом двигателе мощностью 6,5 лошадиных сил от Harbour Freight. После того, как он исправит неполадки, не исключено, что он может сделать аналогичную модификацию двигателя Porsche. Преимущество системы Freevalve заключается в том, что каждый клапан может управляться полностью независимо, поэтому время газораспределения не определено заранее и не зависит от распределительного вала, который можно изменять только между гонками.Клапаны с пневматическим приводом управляются компьютером, что означает, что время можно запрограммировать для регулировки на лету в соответствии с текущими условиями.

Двигатель, используемый в этом проекте, представляет собой небольшую газовую одноцилиндровую модель от Harbour Freight с системой верхних клапанов. Он имеет два клапана – один для топливовоздушной смеси и один для выхлопа, которые приводятся в действие толкателем. Толкатели и коромысла были полностью сняты и заменены пневмоприводами. Они были выбраны специально из-за их быстрой скорости рабочего цикла, потому что клапаны необходимо открывать и закрывать примерно 75 раз в секунду (при 4500 об / мин). Соленоиды управляются платой Arduino Uno, которая отслеживает вращение двигателя с помощью датчика Холла.

Использование Arduino позволяет Кагану устанавливать точное время открытия клапанов. Если бы он захотел, он мог бы запрограммировать его на регулировку времени, чтобы реагировать на внешние условия, такие как температура двигателя или давление турбонаддува (если присутствует турбонагнетатель). Пневматические приводы были установлены в головке с использованием комбинации деталей, напечатанных на 3D-принтере и обработанных на станке. Датчик эффекта Холла установлен рядом с напечатанным на 3D-принтере диском, прикрепленным к коленчатому валу, который содержит магнитные зубцы, причем один отсутствующий зуб указывает на верхнюю мертвую точку.Результат – передовая технология гиперкара в одном из самых дешевых доступных двигателей. Надеюсь, Каган сможет использовать уроки, извлеченные из этого проекта, для улучшения характеристик своего гоночного автомобиля.

Pololu Dual VNH5019 Motor Driver Shield для Arduino (ash02a)

Уведомление о прекращении производства: эта оригинальная версия (ash02a) нашей двойной VNH5019 Motor Driver Shield была заменена на более новую версию (ash02b) , которая добавляет сквозные для четырех новых контактов на Arduino Uno R3. Вообще говоря, большинство пользователей не должны замечать никаких других различий между двумя версиями щита; подробности можно найти в этом разделе руководства пользователя. Самый простой способ отличить две версии – это шелкография в верхнем левом углу, где исходная версия имеет маркировку ash02a , а новая версия – ash02b .

Обзор

Двойной щиток драйвера двигателя Pololu VNH5019 для Arduino (ash02a).

Этот щит драйвера двигателя и соответствующая ему библиотека Arduino позволяют легко управлять двумя двунаправленными мощными щеточными двигателями постоянного тока с помощью клона Arduino или Arduino. Плата оснащена парой надежных драйверов двигателя VNH5019 от ST, которые работают от 5,5 до 24 В и могут непрерывно выдавать 12 А (пик 30 А) на канал, и включает в себя большинство компонентов типовой схемы приложения на стр. 14 техническое описание VNH5019 (475k pdf), включая подтягивающие и защитные резисторы и полевые транзисторы для обратной защиты батареи. Он поставляется полностью укомплектованным SMD-компонентами, включая две микросхемы VNH5019, как показано на рисунке справа; штабелируемые разъемы Arduino и клеммные колодки для подключения двигателей и питания двигателя включены, но не припаяны (см. раздел «Включенное оборудование» ниже).

Этот универсальный драйвер двигателя предназначен для широкого круга пользователей, от новичков, которым просто нужно решение для управления двигателем по принципу plug-and-play для своих Arduinos (и которые согласны с небольшой пайкой), до экспертов, которые хотят напрямую взаимодействовать с великолепными ST. микросхемы драйвера двигателя.Назначение контактов Arduino можно настроить, если значения по умолчанию не подходят, а линии управления VNH5019 разорваны вдоль левой стороны платы для общего использования без Arduino (см. Правую схему подключения ниже). Эта универсальность, наряду с возможностью питания Arduino непосредственно от щита, отличает эту плату от аналогичных конкурирующих моторных щитов.

Двойной щит драйвера двигателя VNH5019 с Arduino (щит и Arduino питаются отдельно).

Двойной экран драйвера двигателя VNH5019, подключенный к микроконтроллеру (серые соединения не являются обязательными).

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

Характеристики

Двойной щиток драйвера двигателя VNH5019 Pololu (ash02a), собранный и подключенный к Arduino Uno.

Двойной щиток драйвера двигателя VNH5019 Pololu для Arduino (ash02a), вид снизу с размерами платы.

  • Широкий диапазон рабочего напряжения: 5,5 – 24 В 1
  • Высокий выходной ток: до 12 А непрерывно (максимум 30) на двигатель
  • Выходы двигателей можно комбинировать для подачи непрерывного тока до 24 А (максимум 60 А) на один двигатель
  • Входы, совместимые как с 5 В, так и с 3.Системы 3 В (логический верхний порог 2,1 В)
  • ШИМ-режим до 20 кГц, ультразвуковой, позволяющий снизить шум двигателя
  • Токовый выход напряжения, пропорциональный току двигателя (прибл. 140 мВ / А)
  • Светодиодные индикаторы двигателя показывают, что делают выходы, даже если двигатель не подключен
  • Может использоваться с клоном Arduino или Arduino (через защитные заголовки) или другими платами микроконтроллера (через 0,1 ″ заголовок с левой стороны).
  • При использовании в качестве экрана источник питания двигателя может дополнительно использоваться для питания базы Arduino.
  • Назначение контактов Arduino можно настроить, если сопоставления по умолчанию не подходят.
  • Библиотека
  • Arduino позволяет легко начать использовать эту плату в качестве защиты драйвера двигателя.
  • Подробное руководство пользователя
  • Защита от обратного напряжения
  • Надежные драйверы:
    • Может выдерживать входное напряжение до 41 В
    • Отключение при понижении и повышении напряжения
    • Тепловое отключение со стороны высокого и низкого давления
    • Защита от короткого замыкания на землю и короткого замыкания на Vcc

1 Хотя защита от перенапряжения обычно срабатывает при 27 В, она может срабатывать при напряжении до 24 В, поэтому мы не рекомендуем использовать этот драйвер двигателя с батареями на 24 В, которые значительно превышают 24 В при полной зарядке.Если экран настроен для питания клона Arduino или Arduino, напряжение питания должно соответствовать требованиям к входному напряжению Arduino.

Оборудование в комплекте

Двойной экран драйвера двигателя Pololu VNH5019 для Arduino (ash02a) с оборудованием в комплекте.

Эта плата привода двигателя поставляется со всеми установленными деталями для поверхностного монтажа. Однако для сборки входящих в комплект деталей со сквозным отверстием требуется пайка.В комплект входят следующие детали для сквозных отверстий:

Закорачивающий блок 0,1 ″ (для опциональной подачи питания экрана на Arduino) также включен.

Вы можете припаять клеммные колодки к шести большим сквозным отверстиям, чтобы подключить двигатель и силовые соединения двигателя, или вы можете отломить секцию 12 × 1 на 0,1-дюймовой полосе заголовка и припаять ее в меньшие сквозные отверстия, которые граничат эти большие отверстия. Однако обратите внимание, что клеммные колодки рассчитаны только на 16 А, а каждая пара контактов разъема рассчитана только на комбинированные 6 А, поэтому для приложений с более высокой мощностью толстые провода следует припаять непосредственно к плате.

Если эта плата не используется в качестве экрана Arduino, вы можете припаять 0,1-дюймовые разъемы к логическим разъемам на левой стороне платы, чтобы использовать их с нестандартными кабелями или макетными платами без пайки, или вы можете припаять провода непосредственно к плате для большего компактные установки. Обратите внимание, что подключение двигателя и питания двигателя не должно осуществляться через макетную плату.

Драйвер двигателя включает три электролитических силовых конденсатора емкостью 47 мкФ, и есть место для добавления дополнительных конденсаторов (например,грамм. для компенсации длинных проводов питания или повышения стабильности источника питания). Дополнительные силовые конденсаторы обычно не требуются, и в этот драйвер двигателя не входят дополнительные конденсаторы.

Два монтажных отверстия предназначены для использования с винтами №4 (не входят в комплект). У них есть горизонтальное разделение 0,30 дюйма и вертикальное расстояние 1,70 дюйма.

Arduino – это , не включая .

Принципиальная схема

Принципиальная схема платы драйвера двигателя Pololu dual VNH5019 для Arduino (ash02a).

Эта схема также доступна в виде загружаемого pdf: Схема двойного щита драйвера двигателя VNH5019 (87k pdf)

ВНХ4СП30, ВНХ3СП30, ВНХ5019 Сравнение

Тепловое изображение верхней стороны двойного экрана драйвера двигателя VNH5019 во время одного из наших текущих тестов.

В дополнение к этому щиту VNH5019 мы предлагаем несущие платы для двух аналогичных старых драйверов двигателей от ST: VNh4SP30 и VNh3SP30.VNH5019 – единственный из трех с практическим рабочим напряжением выше 16 В. VNH5019 – единственный драйвер из трех, доступных на плате Pololu Arduino.

Текущие значения в таблице ниже (т. Е. Записи, к которым применяется сноска 3) являются результатами тестов только для одной или двух из каждой версии драйвера, поэтому они не отражают потенциальные вариации от единицы к единице, и они были выполнены с использованием версий с одним драйвером и , а не с двумя несущими. Таким образом, значения следует рассматривать как приблизительные оценки производительности, а не как гарантии производительности.Хотя эти тесты, похоже, указывают на то, что VNh3SP30 работает немного холоднее – и, следовательно, может обеспечивать более продолжительный ток – чем VNH5019, важно отметить, что три версии драйвера были протестированы в разное время в потенциально разных условиях, поэтому результаты не обязательно точные показатели относительной производительности.

В ходе наших тестов мы заметили, что тепловая защита на VNH5019 срабатывала при более низкой температуре (153 ° C), чем на VNh3SP30 (170 ° C), что частично могло объяснить более короткое время перегрева VNH5019.Однако мы также заметили, что VNH5019 достиг немного более высоких температур, чем VNh3SP30 при использовании в тех же условиях: VNH5019 достиг температуры 85 ° C через 3 минуты при 10 А, в то время как VNh3SP30 достиг температуры 80 ° C.

В следующей таблице представлено сравнение версий всех трех драйверов с одним носителем:

ВНХ4СП30 ВНХ3СП30 VNH5019
Рабочее напряжение: (1) 5.5-16 В (2) 5,5 – 16 В 5,5 – 24 В
MOSFET сопротивление в открытом состоянии (на ногу): 34 мОм тип. 19 мОм макс. 18 мОм тип.
Макс.частота ШИМ 10 кГц 20 кГц 20 кГц
Текущее восприятие н / д 0,13 В / А тип. 0,14 В / А тип.
Отключение по перенапряжению 36 В мин. (2) /43 В тип. 16 В мин. / 19 В тип. 24 В мин. / 27 В тип.
Верхний порог логического входа 3,25 В мин. 3,25 В мин. 2,1 В мин.
Время перегрева при 20 А (3) 8 с 35 с 20 с
Время перегрева при 15 А (3) 30 с 150 с 90 с
Ток для бесконечного времени работы (3) 9 А 14 А 12 А

1 VNh4SP30 может выдерживать входное напряжение до 40 В, а VNh3SP30 и VNH5019 могут выдерживать входное напряжение до 41 В, но отключение по перенапряжению срабатывает при более низких напряжениях.
2 Хотя отключение VNh4SP30 от перенапряжения не срабатывает до 36 В, по нашему опыту, сквозные токи делают работу ШИМ непрактичной выше 16 В.
3 Типичные результаты с использованием Несущие платы драйверов двигателей Pololu со 100% рабочим циклом при комнатной температуре (без принудительного воздушного потока или теплоотвода за несущую печатную плату).

Учет рассеиваемой мощности в реальных условиях

Каждая микросхема драйвера двигателя имеет максимальный постоянный ток 30 А.Однако микросхемы сами по себе будут перегреваться при более низких токах (типичные значения см. В таблице выше). Фактический ток, который вы можете обеспечить, будет зависеть от того, насколько хорошо вы можете поддерживать охлаждение приводов двигателей. Печатная плата экрана предназначена для отвода тепла от микросхем драйвера двигателя, но производительность можно улучшить, добавив радиаторы. В наших тестах мы смогли обеспечить короткие промежутки времени (порядка миллисекунд) 30 А и несколько секунд 20 А без перегрева. При токе 6 А чип едва заметно нагревается на ощупь.Для сильноточных установок провода двигателя и источника питания также следует паять напрямую, а не проходить через прилагаемые клеммные колодки, рассчитанные на ток до 16 А.

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

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

Примечание: В техническом описании микросхема драйвера двигателя обозначается полным номером детали VNH5019A-E , но буква «А», кажется, просто указывает на то, что она была упакована в пробирки.

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

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