Promobot Education

Logo

Платформы

RoboxКомплект из сервопривода и датчика расстояния

RookyРука-манипулятор

V.4Лабораторный стенд Promobot

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

RRStudioПростое написание алгоритмов

TestDevicesТестирование оборудования и проверка связи

Настройка WSL2Windows Subsystem for Linux

Поддержка

TelegramНаписать в чат технической поддержки


Перейти в профиль на GitHub

Описание библиотеки Servo.py


class Servo(addr,master,init = True)

Класс для работы с сервоприводом.

Args:
    * master (ModbusRTU): объект посдеовательного порта.
    * addr (int): Адрес устройства. 1-250
    * init (bool): Начальная инициализация сервопривода

set_torque(state):

Включение(отключение) питания обмоток двигателя
Args:       
    * state (int): 
        0 - отключение питания обмоток двигателя, обмотки замкнуты, двигатель в торможении. 
        1 - включение питания обмоток двигателя. 
Returns:
    * True если отправка команды прошла успешно
    * False если при отправке команды произошла ошибка
Raises:
    None

set_speed(speed):

Установка ограничения скорости сервопривода, об/мин
Args:
    * speed (float): speed limit. от 0.0 до 100.0
Returns:
    * True если отправка команды прошла успешно
    * False если при отправке команды произошла ошибка
Raises:
    None

set_command(command):

Запись команды в сервопривод.
Args:
    * command (int(hex)): одна из доступных команд. 
    > Разрешенные комманды: 0xDEAD, 0xAAAA
Returns:
    * True если отправка команды прошла успешно
    * False если при отправке команды произошла ошибка
Raises:
    None

set_point(value):

Установка задачи. (Положение, скорость, ШИМ в зависимости от режима работы)
Args:
    * value (int): Требуемое значение. от -32768 до 32767. 
Returns:
    * True если отправка команды прошла успешно
    * False если при отправке команды произошла ошибка
Raises:
    None

set_Pos_PID_P(value):

Запись коэф. P в ПИД регулятор по положению.
Args:
    * value (float): Желаемое значение в диапазоне от 0.0 до 20.0.
Returns:
    * True если отправка команды прошла успешно
    * False если при отправке команды произошла ошибка
Raises:
    None

set_Pos_PID_I(value):

Запись коэф. I в ПИД регулятор по положению.
Args:
    * value (float): Желаемое значение в диапазоне от 0.0 до 20.0.
Returns:
    * True если отправка команды прошла успешно
    * False если при отправке команды произошла ошибка
Raises:
    None

set_Pos_PID_D(value):

Запись коэф. D в ПИД регулятор по положению.
Args:
    * value (float): Желаемое значение в диапазоне от 0.0 до 20.0.
Returns:
    * True если отправка команды прошла успешно
    * False если при отправке команды произошла ошибка
Raises:
    None

set_Speed_PID_P(value):

Запись коэф. P в ПИД регулятор по скорости.
Args:
    * value (float): Желаемое значение в диапазоне от 0.0 до 20.0.
Returns:
    * True если отправка команды прошла успешно
    * False если при отправке команды произошла ошибка
Raises:
    None

set_Speed_PID_I(value):

Запись коэф. I в ПИД регулятор по скорости.
Args:
    * value (float): Желаемое значение в диапазоне от 0.0 до 20.0.
Returns:
    * True если отправка команды прошла успешно
    * False если при отправке команды произошла ошибка
Raises:
    None

set_Speed_PID_D(value):

Запись коэф. D в ПИД регулятор по скорости.
Args:
    * value (float): Желаемое значение в диапазоне от 0.0 до 20.0.
Returns:
    * True если отправка команды прошла успешно
    * False если при отправке команды произошла ошибка
Raises:
    None

set_PID_Mode(value):

Выставление режима работы ПИД регуляторов сервопривода.
Args:
    * value (str): Режим работы.
        "NORMAL" - каскадный режим ПИД ругялтора по скорости и положению.
        "PWM" - отключение всех ПИД регуляторов и прямое управление скважностью ШИМ.
        "SPEED" - включение только ПИД регулятора поп сокрости.         
Returns:
    * True если отправка команды прошла успешно
    * False если при отправке команды произошла ошибка
Raises:
    None

set_PID(mode, val_P, val_I, val_D)

Высталвение режима работы ПИД регуляторов c заданными коэффициентами.
Args:
    * mode (str): Режим работы.
        | "position" - каскадный режим ПИД ругялтора по скорости и положению.
        | "speed" - включение только ПИД регулятора по сокрости.
    * val_P - пропорциональный коэффициент
    * val_I - интегральный коэффициент
    * val_D - дифференциальный коэффициент
Returns:
    * True если отправка команды прошла успешно
    * False если при отправке команды произошла ошибка
Raises:
    None

get_data():

Чтение данных с сервопривода
Args:
    None
Returns:
    * Словарь с ключами: 
        "ID"
        "Torque", 
        "Setpoint" 
        "Position" 
        "Speed" 
        "Command" 
        "Current" 
        "Pos_PID_P" 
        "Pos_PID_I" 
        "Pos_PID_D" 
        "Speed_PID_P" 
        "Speed_PID_I" 
        "Speed_PID_D" 
        "Errors"
        или пустой, при ошибке
Raises:
    None