Модель:
T-030618
Производитель:
Нет бренда
0
1139 ₽

Модуль управления сервомоторами с шестью степенями свободы

Совершенно простой, и одновременно очень удобный в использовании, модуль ручного управления сервомашинками SNA151 предоставляет возможность пользователю облегчить сборку несложных механизмов перемещения или манипуляции, состоящих из 1-6 сервоприводов, на основе популярной полноразмерной платы с контроллером Ардуино UNO.

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

  • Производитель: Small Hammer
  • Модель: SNA151
  • Поддержка: до 6 серво
  • Совместимость: MG90S, SG90, MG996, MG995
  • Управление: ручное
  • Входное напряжение: 5 В
  • Размеры платы: 68 х 53 мм

Основная задумка появления модуля контроля серво SNA151 от разработчика Small Hammer — управление разнообразными многоступенчатыми роботизированными манипуляторами. Однако, он может оказаться полезным в разработке других аналогичных приложений или в задачах проверки работоспособности сервоприводов. Конструкция платы расширения не несёт какого-либо дополнительного функционала за исключением возможности ручной регулировки углового отклонения вала одного или нескольких сервоприводов. Для каждого из 6 подключенных к плате сервомоторов присутствует отдельный поворотный потенциометр из переменного резистора B10K с установленной пластиковой ручкой вращения.

Управление сервомоторами в модуле SNA151, программирование

Управление серовомоторами основано на считывании процессором Atmega328 изменяемого при помощи потенциометра напряжения, поступающего на аналоговый контакт (А0-А5) платы микроконтроллера Ардуино. Пользовательское программное обеспечение, прошитое в встроенную память Atmega328, должно самостоятельно интерпретировать значение входящего аналогового сигнала в импульсы широтной модуляции (ШИМ), являющимися основным источником управления сервоприводом.

Задействованные модулем SNA151 контакты контроллера Arduino UNO:

  1. Servo 1 — аналоговый вход А0, выход ШИМ GPIO11
  2. Servo 2 — аналоговый вход А1, выход ШИМ GPIO10
  3. Servo 3 — аналоговый вход А2, выход ШИМ GPIO9
  4. Servo 4 — аналоговый вход А3, выход ШИМ GPIO6
  5. Servo 5 — аналоговый вход А4, выход ШИМ GPIO5
  6. Servo 6 — аналоговый вход А5, выход ШИМ GPIO3

Модуль 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, совмещенной с контроллером Ардуино и присоединёнными серво, необходимо получать от внешнего мощного источника постоянного тока с напряжением, не превышающим 5 В. Расчёт минимального значения силы тока, которым должен обеспечивать блок питания, выполняется из сложения пиковых токов всех сервомашинок в цепи питания плюс 1А, если энергопотребление микроконтроллера Ардуино осуществляется через плату расширения SNA151.

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

Разводка печатной платы SNA151

Печатная плата модуля управления серво SNA151 Small Hammer  
Отзывов: 0
Пожалуйста авторизируйтесь или создайте учетную запись перед тем как написать отзыв

Нет отзывов об этом товаре.

Вопросов: 0

Нет вопросов об этом товаре.