Управление серводвигателем/Me-Servo Driver

Материал из wiki.NeoBot.ru
Перейти к: навигация, поиск

Введение

Me-Servo Драйвер разработан для управления сервомоторами. Имея высоко эффективный DC-DC конвертер, он может преобразовывать входное напряжение в подходящее напряжение для серво, а именно 6В. Не нужно искать специальный блок питания для сервоприводов (сервомоторов). На следующем рисунке показан вид сверху вниз:

IMG 5867 450.jpg

Источник питания

При подключении, драйвер Ме-Серво может получать питание от источника постоянного тока 9-12В из порта 1 или 2 в Ме-Base “шилде”.

Особенности

  • Высоко эффективный Dc-Dc конвертер на плате 9-12VDC источник питания
  • Два PWM выходных канала для управления двумя сервомоторами
  • Напряжение питания для сервоприводов регулируются до 6В
  • Поставляется с библиотекой Arduino для легкого программирования
  • Защита от сверхтока
  • Простое подключение с 6 “пин” RJ11 интерфейс
  • Маркирован красной этикеткой и совместим с Me-Base “шилд”
  • 2,54мм breakout “пины” для подключения с помощью перемычек монтажные отверстия М4 с интервалом 16mm, совместимые с Makeblock балками
  • Три светодиодных (LED) индикатора на плате для для отладки и обратной связи
  • LED (светодиодный): PWR (красный LED) – индикатор питания. SERVO-1 (голубой LED) – PWM индикатор для Servo1. SERVO-2 (голубой LED) – PWM индикатор для Servo2.

Размеры

3.2cm x 4.8cm

Функция интерфейса

Backup of Me-ServoDriver2.png

Библиотека функций Me–Servo Driver

Функция Описание Возвращаемое значение Возвращаемый тип
MeServo servoDriver(Port_Num,DEV_Num) Инициализация порта, чтобы стать модулем серводрайвера DEV порт. Модуль может быть подключен только к порту 1, 2 Me-Base “шилда”. Один модуль может управлять двумя сервоприводами.
ServoDriver.begin(int min, int max) Прикрепите данный “пин” на следующий свободный канал, установите pinMode, и установите минимальные и максимальные значения для записи. Channel number or 0 uint8_t
ServoDriver.write (int value) Значение должно быть целевым углом серводвигателя. Эта функция будет управлять двигателем с этой точки зрения. Если значение <180, он рассматривается как угол, в противном случае значение рассматривается как 180 °. void
ServoDriver.writeMicroseconds (int value) Написать длительность импульса в микросекундах void
ServoDriver.read() Текущая ширина импульса как угол между 0 и 180 градусов. Angle between 0 and 180 degrees int
ServoDriver.readMicroseconds () Текущая длительность импульса в микросекундах для этого сервопривода (была read_us () в первом выпуске). Microseconds int
ServoDriver.attached () Возврат верный, если это серво прилагается, в противном случае ложный. True/False bool

Использование

1. Как показывает красная метка, Me-Servo драйвер может быть подключен к порту 1 или 2 Ме-Base “шилда” с помощью телефонного провода. Подключите один или два серводвигатели к 3 ”пину” насадкам.
2. Подключите Ме-Servo Driver 1 к порту 1 Ме-Base “шилда” на Meduino (или другой Arduino совместимой плате).
3. Подключите серво 1 к 3”пин” насадке SERVO1 на Ме-Servo Driver. Подключите серво 2 к 3”пин” насадке SERVO2 на Ме-Servo Driver.

Me Servo Driver Usage.jpg
4. Скачайте Me библиотеку Makeblock_library.zip;
5. Разархивируйте ее в файл библиотеки Arduino IDE путем (обычно /Users/username/Documents/Arduino/libraries на OSX, My Documents/Arduino/libraries на Windows).
6. Создайте эскиз Arduino и вставьте следующие коды к нему или открыть код непосредственно путем: File -> Example ->Me-Servo Driver ->TestServoDriver.

 
/*************************************************************************
* File Name          : TestServoDriver.ino
* Author             : Evan
* Updated            : Evan
* Version            : V1.0.1
* Date               : 5/17/2013
* Description        : Test for Makeblock Electronic modules of Me -Servo 
                       Driver. The module can only be connected to the 
                       port 1, 2 of Me - Base Shield. One module can drive 
                       two servos.
* License            : CC-BY-SA 3.0
* Copyright (C) 2013 Maker Works Technology Co., Ltd. All right reserved.
* http://www.makeblock.cc/
**************************************************************************/
#include <Makeblock.h>
#include <Arduino.h>
#include <SoftwareSerial.h>
#include <Wire.h>

/*
Class Me_ServoDriver has most of the functions from class Servo, 
see Me_ServoDriver.h for more details.
*/

MeServo servoDriver1(PORT_1,DEV1);//can ONLY be PORT_1,PORT_2
MeServo servoDriver2(PORT_1,DEV2);

int pos1 = 0;
int pos2 = 180;
void setup()
{
    servoDriver1.begin();
    servoDriver2.begin();
}

void loop()
{
    servoDriver1.write(pos1);
    servoDriver2.write(pos1);
    delay(1000);  // Wait for the servo rotation to the set position
    servoDriver1.write(pos2);
    servoDriver2.write(pos2);
    delay(1000);  // Wait for the servo rotation to the set position
       
}

7. Загрузите код.
8. Подключите батарею и включите питание для того чтобы увидеть результат.

Ресурсы

Schematic
Eagle Files
Arduino Library
Example Code