Скорость вращения вала rpm

Мотор-редуктор с управляющим контроллером, FLASH-I2C — Datasheet

Модуль — Мотор-редуктор с управляющим контроллером, I2C-flash.

Техническое описание: Данная страница содержит подробное техническое описание модуля — Мотор-редуктор с управляющим контроллером, I2C-flash и раскрывает работу с модулем через его регистры.

Ознакомиться с пользовательским описанием модуля и примерами работы с библиотекой iarduino_I2C_Motor можно на странице Wiki — Мотор-редуктор с управляющим контроллером, I2C-flash.

Содержание
  1. Назначение:
  2. Описание:
  3. Выводы модуля:
  4. Характеристики:
  5. Установка адреса:
  6. Регистр 0x0A «MAX_RPM_DEV» — максимальный % отклонения скорости:
  7. Регистр 0x10 «FLG» — содержит статусные флаги:
  8. Регистр 0x11 «MAGNET» — содержит количество полюсов кольцевого магнита:
  9. Регистры 0x12-0x14 «REDUCER» — содержат передаточное отношение редуктора:
  10. Регистры 0x15-0x16 «SET_PWM» — задают скорость через коэффициент ШИМ:
  11. Регистры 0x17-0x18 «SET_RPM» — задают скорость через обороты в минуту:
  12. Регистры 0x19-0x1A «GET_RPM» — содержат количество оборотов в минуту:
  13. Регистры 0x1B-0x1D «GET_REV» — содержат количество совершённых оборотов:
  14. Регистры 0x1E-0x20 «STOP_REV» — содержат количество оборотов до остановки:
  15. Регистры 0x21-0x23 «STOP_TMR» — содержат время до остановки вала:
  16. Регистр 0x24 «STOP» — содержит биты остановки вала:
  17. Регистр 0x25 «BITS_2» — содержит биты инверсии направления вращения:
  18. Регистр 0x26 «VOLTAGE» — содержит номинальное напряжение электродвигателя:

Назначение:

Модуль — Мотор-редуктор с управляющим контроллером, I2C-flash — является устройством состоящим из коллекторного двигателя с редуктором и платы управления, подключаемой к шине I2С.

К одной шине I2C можно подключить более 100 модулей. Адрес модуля на шине I2C (по умолчанию 0x09) назначается программно и хранится в его энергонезависимой памяти.

Описание:

Модуль построен на базе двигателя GM12-N20, редуктора, микроконтроллера STM32F030F4 и драйвера DRV8833, снабжен многополюсным магнитным валом, датчиками Холла, и собственным стабилизатором напряжения. Модуль способен поддерживать заданную скорость и направление вращения вала, сверяясь с показаниями датчиков Холла. Модуль самостоятельно обрабатывает полученные данные сохраняя их в своих регистрах. Доступ к регистрам модуля осуществляется по шине I2C.

С помощью регистров модуля можно выполнять следующие действия:

  • Изменить адрес данного модуля на шине I2C. При изменении адреса, можно указать, что новый адрес должен сохраниться в flash память модуля, а значит адрес сохранится и после отключения питания.
  • Включить / отключить внутреннюю подтяжку линий шины I2C (по умолчанию включена). Состояние подтяжки линий шины I2C автоматически сохраняется в flash память модуля, а значит состояние линий сохранится после отключения и включения питания.
  • Узнать версию прошивки модуля.
  • Указать передаточное отношение редуктора мотора, от 0.01 до 167’772.15.
  • Указать количество полюсов (одной полярности) магнитного вала, от 1 до 255.
  • Указать наличие инверсии редуктора и тип подключения мотора.
  • Задать направление вращения вала при положительной скорости, по/против ч.с.
  • Задать скорость вращения вала указав коэффициент заполнения ШИМ, от 0 до ±4095.
    При отрицательных значениях, вал будет вращаться в противоположном направлении.
  • Задать скорость вращения вала указав количество оборотов в минуту, от 0 до ±32’767.
    При отрицательных значениях, вал будет вращаться в противоположном направлении.
    Скорость будет поддерживаться модулем на основании показаний с датчиков Холла.
  • Узнать каким образом задана скорость вращения вала (указанием ШИМ или количеством оборотов в минуту).
  • Задать максимально допустимый % (от 0 до 100) отклонения реальной скорости от заданной.
    Указанное значение сохранится в flash память модуля.
    На плате модуля есть красный светодиод, который сигнализирует о том, что заданная скорость вращения вала отличается от реальной больше чем на указанный процент.
  • Узнать отличается ли заданная скорость вращения вала от реальной больше допустимого %.
  • Узнать текущую скорость вращения вала, от 0 до ±32’767 об.мин. (RPM).
    Скорость вращения вала определяется по показаниям с датчиков Холла, даже если мотор отключён, а вал вращается по средством внешних сил.
  • Узнать количество совершённых полных оборотов вала, от 0.00 до 167’772.15, значение является беззнаковым, оно учитывает обороты, как в прямом, так и в обратном направлении. Регистр обнуляется при переполнении.
    Количество оборотов вала определяется по показаниям с датчиков Холла, даже если мотор отключён, а вал вращается по средством внешних сил.
  • Остановить двигатель и/или указать тип его остановки. Двигатель может быть остановлен двумя способами: отключением мотора (свободный ход) или торможением (стопор).
    Заданный тип применяется ко всем последующим остановкам двигателя.
  • Остановить двигатель через заданное количество полных оборотов вала, от 0 до 167’772.15, значение является беззнаковым, оно учитывает обороты, как в прямом, так и в обратном направлении. Значение регистра уменьшается по мере вращения вала, при достижении 0 мотор останавливается.
  • Остановить двигатель через заданное количество миллисекунд, от 0 до 16’777’215. Значение регистра уменьшается с каждой миллисекундой, при достижении 0 мотор останавливается.
  • Узнать остановлен ли мотор.
  • Узнать есть ли у остановленного вала возможность свободного хода, или он застопорен.
  • Узнать о наличии ошибки драйвера (перегрузка по току, перегрев, низкое напряжение).

Выводы модуля:

Скорость вращения вала rpm

Модуль содержит 2 разъема расположенные по бокам платы.

С одной стороны платы расположен разъем I2C состоящий из 4 выводов, для подключения модуля к шине I2C:

  • SCL — вход/выход линии тактирования шины I2C.
  • SDA — вход/выход линии данных шины I2C.
  • 5V — вход питания логической части драйвера +5 В (номинально), или 3,3 В.
  • GND — общий вывод питания.

С другой стороны расположен разъём VМОТ состоящий из 2 выводов, для подключения питания мотора.

  • +VМОТ — вход питания мотора от +2,7 до +12 В постоянного тока.
  • -VМОТ — общий вывод питания мотора, внутрисхемно соединён с выводом GND шины I2C.

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

  • Напряжение питания логики: 5 В (номинально), или 3,3 В.
  • Диапазон напряжений мотора поддерживаемый драйвером: 2,7 В . 12 В.
  • Максимальный ток мотора поддерживаемый драйвером: до 3 А (пиковый ток до 4 А).
  • Драйвер оснащён защитой от перегрева и перегрузки по току.
  • Интерфейс: I2C.
  • Скорость шины I2C: 100 кбит/с.
  • Адрес на шине I2C: устанавливается программно (по умолчанию 0x09).
  • Уровень логической 1 на линиях шины I2C: Vcc.
  • Рабочая температура: от -20 до +70 °С.
  • Габариты: 45 х 40 мм.
  • Вес: 32 г.

Установка адреса:

Модуль — Мотор-редуктор с управляющим контроллером, I2C-flash относится к серии «Flash» модулей. Все модули данной серии позволяют назначать себе адрес для шины I2C, как временно (новый адрес действует пока есть питание), так и постоянно (новый адрес сохраняется в энергонезависимую память и действует даже после отключения питания). По умолчанию все модули серии «Flash» поставляются с адресом 0x09.

Читайте также: Сверлить отверстие в валу

Регистр 0x0A «MAX_RPM_DEV» — максимальный % отклонения скорости:

Регистр только для записи.

Значение регистра сохраняется после отключения питания.

  • MAX_RPM_DEV8 — Число от 0 до 100 задаёт максимально допустимый процент отклонения реальной скорости от заданной, при котором устанавливается флаг ошибки скорости.
    Значение регистра не влияет на скорость, а определяет границу установки флага ошибки.
    Значение по умолчанию 0x0A = 10%.
    Если записать значение больше 100% (больше 0x64) то в регистре появится 0x64 = 100%.
  • Если скорость вращения вала отличается от заданной регистрами 0x17-0x18 «SET_RPM» более чем на указанный процент, то в регистре 0x10 «FLG» устанавливается флаг ошибки скорости «FLG_RPM_ERR», а на плате модуля включается красный светодиод.
  • Снижение отличия заданной и реальной скорости ниже указанного процента, приводит к сбросу флага «FLG_RPM_ERR» и отключению красного светодиода на плате модуля.

Регистр 0x10 «FLG» — содержит статусные флаги:

Регистр только для чтения.

  • FLG_RPM_EN — Флаг указывает на то, что скорость вращения вала задана количеством оборотов в минуту 0x17-0x18 «SET_RPM». Если флаг сброшен, значит скорость вращения вала задана коэффициентом заполнения ШИМ 0x15-0x16 «SET_PWM».
  • FLG_RPM_ERR — Флаг указывает на ошибку скорости. Флаг устанавливается если скорость вращения вала задана количеством оборотов в минуту 0x17-0x18 «SET_RPM» и эта скорость отличается от реальной скорости вращения вала более чем на 0x0A «MAX_RPM_DEV» %.
  • FLG_DRV_ERR — Флаг указывает на ошибку драйвера. Флаг устанавливается при перегрузке по току мотора, перегреве драйвера или низком уровне напряжения питания мотора.
  • FLG_STOP — Флаг информирует об остановке вала. Флаг устанавливается при установке бита «BIT_STOP» регистра 0x24 «STOP», при задании нулевой скорости, или при установке коэффициента заполнения ШИМ равного нулю.
  • FLG_NEUTRAL — Флаг информирует о наличии свободного хода у остановленного вала.
    Флаг устанавливается при установке бита «BIT_NEUTRAL» регистра 0x24 «STOP».
    Если флаг установлен значит при остановке мотора, вал можно вращать.
    Если флаг сброшен, значит при остановке осуществляется торможение (вал застопорен).

Регистр 0x11 «MAGNET» — содержит количество полюсов кольцевого магнита:

Регистр для чтения и записи.

  • MAGNET7 — Количество полюсов магнитного вала (одной полярности), значение от 1 до 255. Данное значение можно изменить при смене магнитного вала модуля, который оказывает влияние на показания датчиков Холла.
  • Запись нулевого значения означает отсутствие кольцевого магнита на роторе мотора или отсутствие датчиков Холла. При этом перестанут работать следующие регистры:
    • 0x17-0x18 «SET_RPM» — указание скорости через обороты в минуту.
    • 0x19-0x1A «GET_RPM» — получение скорости через обороты в минуту.
    • 0x1B-0x1D «GET_REV» — получение количества совершённых полных оборотов вала.
    • 0x1E-0x20 «STOP_REV» — количество оборотов вала оставшихся до остановки мотора.

    Регистры 0x12-0x14 «REDUCER» — содержат передаточное отношение редуктора:

    Регистры для чтения и записи.

    • REDUCER23 — Передаточное отношение редуктора в сотых долях, от 1 (что соответствует отношению 1:0.01) до 16’777’215 (что соответствует отношению 1:167’772.15). Передаточное отношение записанное в регистры «REDUCER23», «REDUCER15», «REDUCER7» применяется после записи старшего байта «REDUCER23». Данное значение можно изменить при смене редуктора мотора, на редуктор с другим передаточным отношением.
      Если записать значение 0x000000 то в регистрах появится 0x000064 (=100), что соответствует передаточному отношению 1:1.00 (редуктор отсутствует).
      Если записать значение от 0x000001 до 0x000064, значит редуктор повышающий.

    Регистры 0x15-0x16 «SET_PWM» — задают скорость через коэффициент ШИМ:

    Регистры для чтения и записи.

    • SET_PWM15 — Коэффициент заполнения ШИМ от 0 до ±4095. Коэффициент определяет скорость вращения вала, где 0 — остановка, а ±4095 максимальная скорость.
      При отрицательных значениях, вал будет вращаться в противоположном направлении.
      Коэффициент заполнения ШИМ записанный в регистры «SET_PWM15», «SET_PWM7» применяется после записи старшего байта «SET_PWM15».
    • Запись любого значения приводит к обнулению регистров задания скорости количеством оборотов в минуту 0x17-0x18 «SET_RPM» и сбросу флагов «FLG_RPM_EN», «FLG_RPM_ERR» регистра 0x10 «FLG».
      Если записать значение выходящее за пределы диапазона ±4095 то в регистрах появится значение 4095 с сохранением записанного знака.
    • Если записать значение 0, то будет установлен бит «BIT_STOP» регистра 0x24 «STOP», что приведёт к остановке вала и установке флага «FLG_STOP» регистра 0x10 «FLG».

    Регистры 0x17-0x18 «SET_RPM» — задают скорость через обороты в минуту:

    Регистры для чтения и записи.

    • SET_RPM15 — Скорость вращения вала заданная количеством оборотов в минуту, от 0 до ±32’767 об.мин. (RPM). При отрицательных значениях, вал будет вращаться в противоположном направлении.
      Скорость записанная в регистры «SET_RPM15», «SET_RPM7» применяется после записи старшего байта «SET_RPM15».
    • Запись не нулевого значения приводит к установке флага «FLG_RPM_EN» регистра 0x10 «FLG», указывающего что скорость задана количеством оборотов в минуту.
    • Заданная скорость поддерживается модулем на основании показаний с датчиков Холла.
      Если заданная скорость вращения вала отличается от реальной скорости вращения вала более чем на 0x0A «MAX_RPM_DEV» процентов, то в регистре 0x10 «FLG» устанавливается флаг ошибки скорости «FLG_RPM_ERR», а на плате модуля включается красный светодиод.
      В противном случае флаг «FLG_RPM_ERR» регистра 0x10 «FLG» сбрасывается, а красный светодиод на плате модуля отключается.
    • Если записать значение 0, то будет сброшен флаг «FLG_RPM_EN» регистра 0x10 «FLG» и установлен бит «BIT_STOP» регистра 0x24 «STOP», что приведёт к остановке вала и установке флага «FLG_STOP» регистра 0x10 «FLG».

    Регистры 0x19-0x1A «GET_RPM» — содержат количество оборотов в минуту:

    Регистры только для чтения.

    • GET_RPM15 — Реальное количество оборотов вала в минуту, от 0 до ±32’767 об.мин. (RPM).
      Скорость вращения вала определяется по показаниям с датчиков Холла, даже если мотор отключён, а вал вращается по средством внешних сил. Отрицательные значения означают что вал вращается в противоположном направлении.

    Читайте также: Сборка вторичного вала кпп ямз 236 схема

    Регистры 0x1B-0x1D «GET_REV» — содержат количество совершённых оборотов:

    Регистры только для чтения.

    • GET_REV23 — Количество совершённых оборотов вала в сотых долях полного оборота, от 0 (0.00 оборотов) до 16’777’215 (167’772,15 полных оборотов).
      Значение является беззнаковым, оно учитывает обороты, как в прямом, так и в обратном направлении (складывая их без учёта направления).
      Количество оборотов вала определяется по показаниям с датчиков Холла, даже если мотор отключён, а вал вращается по средством внешних сил.
    • Обнулить количество совершённых оборотов (0x1B-0x1D «GET_REV») можно записав любое значение в регистры 0x1E-0x1F «STOP_REV».

    Регистры 0x1E-0x20 «STOP_REV» — содержат количество оборотов до остановки:

    Регистры для чтения и записи.

    • STOP_REV23 — Количество полных оборотов до остановки вала. Значение хранится в сотых долях полного оборота, от 0 (0.00 оборотов) до 16’777’215 (167’772,15 полных оборотов).
      Значение является беззнаковым, оно учитывает обороты, как в прямом, так и в обратном направлении.
      Количество полных оборотов записанное в регистры «STOP_REV23», «STOP_REV15», «STOP_REV7» применяется после записи старшего байта «STOP_REV23».
    • Запись не нулевого значения включает отсчёт оборотов до остановки вала. При вращении вала, модуль уменьшает значение регистров (0x1E-0x20 «STOP_REV») на совершённое количество оборотов, а при достижении 0 устанавливает бит «BIT_STOP» регистра 0x24 «STOP», что приводит к остановке вала и установке флага «FLG_STOP» регистра 0x10 «FLG».
    • Запись нулевого значения отключает отсчёт оборотов без установки бита «BIT_STOP» регистра 0x24 «STOP», что не приводит к остановке вала.
    • Запись любого значения (в том числе и нулевого) приводит к обнулению регистров количества совершённых оборотов 0x1B-0x1D «GET_REV».
    • Количество оборотов вала определяется по показаниям с датчиков Холла, даже если мотор отключён, а вал вращается по средством внешних сил.
    • Записать новое значение в регистры (или переписать их) можно в любое время, как при вращающемся, так и при остановленном вале. Если модуль управляет колёсами, то зная их радиус, можно определить количество полных оборотов требуемое для движения на заданное расстояние.
      Если записать количество оборотов, при остановленном вале, а потом запустить вал (указав скорость), вы будите точно знать путь пройденный с момента запуска вала до его остановки.
      Если записать количество оборотов при вращающемся вале, вы будите точно задать путь пройденный с момента записи количества оборотов до остановки вала.

    Регистры 0x21-0x23 «STOP_TMR» — содержат время до остановки вала:

    Регистры для чтения и записи.

    • STOP_TMR23 — Количество миллисекунд до остановки вала, от 0 до 16’777’215 (16’777,215 сек).
      Время записанное в регистры «STOP_TMR23», «STOP_TMR15», «STOP_TMR7» применяется после записи старшего байта «STOP_TMR23».
    • Запись не нулевого значения включает отсчёт времени до остановки вала (даже если вал не вращается). Модуль уменьшает значение регистров (0x21-0x23 «STOP_TMR») на количество пройденных миллисекунд, а при достижении 0 устанавливает бит «BIT_STOP» регистра 0x24 «STOP», что приводит к остановке вала и установке флага «FLG_STOP» регистра 0x10 «FLG».
    • Запись нулевого значения отключает отсчёт времени без установки бита «BIT_STOP» регистра 0x24 «STOP», что не приводит к остановке вала.
    • Записать новое значение в регистры (или переписать их) можно в любое время, как при вращающемся, так и при остановленном вале. Если модуль управляет колёсами, то задав скорость оборотами в секунду, можно определить время требуемое для движения на заданное расстояние.

    Регистр 0x24 «STOP» — содержит биты остановки вала:

    Регистр только для записи.

    • BIT_STOP — бит остановки вала. Сброс бита в 0 не приводит ни к каким действиям. Установка бита приводит к остановке вала, сбросу регистров задания скорости 0x15-0x16 «SET_PWM» и 0x17-0x18 «SET_RPM», сбросу флагов «FLG_RPM_EN» и «FLG_RPM_ERR» регистра 0x10 «FLG» и установке флага «FLG_STOP».
    • BIT_NEUTRAL — бит определяет поведение вала при остановке. Изменение бита «BIT_NEUTRAL» приводит к аналогичному изменению флага «FLG_NEUTRAL» регистра 0x10 «FLG».
      Если флаг установлен значит при остановке мотора, вал можно вращать.
      Если флаг сброшен, значит при остановке осуществляется торможение (вал застопорен).
    • Торможение (стопор) вала осуществляется путём замыкания обмоток двигателя, что приводит к сопротивлению поворота вала внешними силами.

    Регистр 0x25 «BITS_2» — содержит биты инверсии направления вращения:

    Регистр для чтения и записи.

    • BIT_DIR_CKW — Бит вращения вала модуля по часовой стрелке, при положительной скорости. Данный бит позволяет установить два модуля по бокам устройства, например, по левому и правому борту машины. Для левого модуля бит сбрасывается, а для правого устанавливается. При указании положительной скорости для обоих модулей, колёса установленные на их валы будут вращаться в направлении по ходу машины. А при указании отрицательной скорости, оба колеса будут вращаться в обратном направлении. При этом не важно как указывалась скорость, при помощи ШИМ или указанием количества оборотов в минуту.
      По умолчанию бит установлен в 1.
    • BIT_INV_RDR — Бит инверсии редуктора. Бит указывает на то, что вал редуктора вращается в сторону противоположную вращению ротора мотора.
      Значение по умолчанию зависит от используемого в модуле редуктора.
    • BIT_INV_PIN — Бит инверсии подключения проводов мотора. Бит указывает на то, что ротор мотора вращается против часовой стрелки.
      Значение по умолчанию зависит от типа подключения мотора в модуле.

    Регистр 0x26 «VOLTAGE» — содержит номинальное напряжение электродвигателя:

    Регистр для чтения и записи.

    • VOLTAGE7 — Номинальное напряжение электродвигателя. Значение хранится в десятых долях Вольт, от 0 (0.0 В) до 255 (25,5 В).
      Значение является беззнаковым, оно носит исключительно информационный характер.


Поделиться или сохранить к себе:
Технарь знаток