Цена:
Модуль управления сервомоторами с шестью степенями свободы
Совершенно простой, и одновременно очень удобный в использовании, модуль ручного управления сервомашинками SNA151 предоставляет возможность пользователю облегчить сборку несложных механизмов перемещения или манипуляции, состоящих из 1-6 сервоприводов, на основе популярной полноразмерной платы с контроллером Ардуино UNO.
Технические характеристики
Основная задумка появления модуля контроля серво SNA151 от разработчика Small Hammer — управление разнообразными многоступенчатыми роботизированными манипуляторами. В тоже время, модуль SNA151 может оказаться полезным при разработке других аналогичных приложений или пригодится в задачах проверки работоспособности поддерживаемых сервоприводов. Конструкция платы расширения не несёт какого-либо дополнительного функционала за исключением возможности ручной регулировки углового отклонения вала одного-шести сервоприводов. Для каждого сервомотора, подключенного к плате расширения SNA151, выделен отдельный аналоговый поворотный потенциометр B10K (10кОм) с установленной на него пластиковой ручкой вращения.
Управление сервомоторами в модуле SNA151, программирование на Arduino
Управление сервомоторами основано на считывании микроконтроллером Ардуино аналогового сигнала, поступающего на аналоговый вход А0-А5 платы. Пользовательское программное приложение, прошитое во встроенную память Arduino-контроллера, должно самостоятельно отвечать за интерпретацию уровня входящего аналогового сигнала в соответствующие импульсы широтной модуляции (ШИМ), управляющих углом поворота вала сервопривода.
Задействованные модулем SNA151 контакты контроллера Arduino R3:
Модуль SNA151 поддерживает работу с интегрированной в среду разработки Arduino IDE библиотекой Servo, однако в репозитории сайта GitHub опубликована в открытом доступе переработанная и улучшенная её версия под названием VarSpeedServo. Её алгоритмы построены на использовании внешних прерываний и позволяют управлять одновременно несколькими моторами в независимом друг от друга режиме. Библиотека включает набор дополнительных полезных процедур, среди которых найдутся: остановка мотора на заданной позиции, установка скорости поворота вала, ожидание окончания позиционирования вала перед возвращением и другие.
#include "VarSpeedServo.h"
// Инициализируем подкласс для серво
VarSpeedServo servo1;
VarSpeedServo servo2;
VarSpeedServo servo3;
VarSpeedServo servo4;
VarSpeedServo servo5;
VarSpeedServo servo6;
// Назначем аналоговые входы
int potpin1 = 0; //A0
int potpin2 = 1; //A1
int potpin3 = 2; //A2
int potpin4 = 3; //A3
int potpin5 = 4; //A4
int potpin6 = 5; //A5
// Переменные входящего аналогового напряжения
int val1;
int val2;
int val3;
int val4;
int val5;
int val6;
void setup()
{
// Назначаем серво контакт GPIO PWM
servo1.attach(11);
servo2.attach(10);
servo3.attach(9);
servo4.attach(6);
servo5.attach(5);
servo6.attach(3);
}
void loop()
{
//Считываем потенциометр Control 1 и поворачиваем вал серво1
val1 = analogRead(potpin1);
val1 = map (val1, 0, 1023, 0, 179);
servo1.write(val1);
delay(10);
//Считываем потенциометр Control 2 и поворачиваем вал серво2
val2 = analogRead(potpin2);
val2 = map (val2, 0, 1023, 0, 179);
servo2.write(val2);
delay(10);
//Считываем потенциометр Control 3 и поворачиваем вал серво3
val3 = analogRead(potpin3);
val3 = map (val3, 0, 1023, 0, 179);
servo3.write(val3);
delay(10);
//Считываем потенциометр Control 4 и поворачиваем вал серво4
val4 = analogRead(potpin4);
val4 = map (val4, 0, 1023, 0, 179);
servo4.write(val4);
delay(10);
//Считываем потенциометр Control 5 и поворачиваем вал серво5
val5 = analogRead(potpin5);
val5 = map (val5, 0, 1023, 0, 179);
servo5.write(val5);
delay(10);
//Считываем потенциометр Control 6 и поворачиваем вал серво6
val6 = analogRead(potpin6);
val6 = map (val6, 0, 1023, 0, 179);
servo6.write(val6);
delay(10);
}
Питание модуля SNA151
Питание для платы расширения SNA151 необходимо рассчитывать с учётом совмещения её с контроллером Ардуино и присоединением 1-6 серво. Минимальное значение силы тока, которым должен обеспечивать внешний 5-вольтовый блок питания, складывается из пиковых токов всех используемых сервомашинок. Если энергообеспечение микроконтроллера Ардуино осуществляется через плату расширения SNA151, к расчёту величины тока добавляется дополнительно еще 1000мА.
Обратите внимание! Модуль расширения SNA151 не имеет какой-либо защиты от превышения рабочего напряжения или ошибки полярности подключения источника питания. Все питающие линии в модуле разведены напрямую на соответствующие контакты Arduino R3. Встроенные в Arduino-контроллер стабилизаторы не используются.
Разводка печатной платы SNA151
г. Москва, Пятницкое ш. д. 18, пав. 566
zakaz@compacttool.ru
8-495-752-55-22
Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !
© Все права защищены 2015 - 2024г https://compacttool.ru