Что такое шим регулятор: ШИМ-регулятор – это просто! — самые полезные статьи в интернет-магазине радиодеталей и радиоэлектроники Electronoff

Драйвер двигателя ШИМ регулятор двигателя

ООО «ЭЛГРАД Про» Производственные поставки пн — пт: 900—1730

Магазин «ВольтМастер» Розничные продажи пн — пт: 900—1900
сб: 1000—1700

График работы в праздники

ООО «ЭЛГРАД Про»

Производственные поставки

22февраля ср

900—1600

23февраля чт выходной

24февраля пт выходной

25февраля сб выходной

26февраля вс выходной

Магазин «ВольтМастер»

Розничные продажи

22февраля ср 900—1800

23февраля чт выходной

24февраля пт 1000—1700

25февраля сб

1000—1700

26февраля вс выходной

ШИМ-регуляторы 2А 15В

Не так давно я делал обзор сенсорного диммера для светодиодных лент. Но ведь в принципе ШИМ-регулировка может применяться не только для светодиодов, но и для электродвигателей, ламп накаливания и почти любых других нагрузок. Сегодня пощупаем парочку ШИМ-регуляторов с переменным резистором.

Оба регулятора чертовски похожи, тем не менее чуть отличается топология платы, номиналы элементов, да и сами эти элементы. Но отличия по сути чисто символические, за одним исключением — у второй платы выносной регулятор, что бывает удобно. При этом в обе платы можно впаять и переменные резисторы, и разъем для выносного регулятора.

Девайс номер один представляет собой платку на классическом TL555, силовой ключ — 9926A, пара мосфетов 20В/6.5А в одном корпусе (в связи с этим я просто поражаюсь, что в параметрах указано всего 2А, а не 12А ). Перменный резистор с выключателем. Конденсатор 100мкФ, 25В. Размеры платы 32х32мм, между центрами отверстий — 26х26мм.

фоточки:



Крупнее:

Если я правильно понимаю, то тут можно увидеть еще и самовосстанавливающийся предохранитель на 2А. Но я могу круто ошибаться, например это может быть и 2А 80В, а может и наоборот — 8А 20В. Или вообще не предохранитель. Отпишитесь в комментах кто точно знает.

Девайс номер два отличается выносным регулятором и установленной 75551D, которая совместама с 555 таймером, но имеет улучшенные параметры, если верить даташиту. Разъем с шагом 2.5мм, Резистор B100k, длина провода чуть меньше 20см. Резистор без выключателя, поэтому на плате стоит перемычка там где были контакты выключателя. Конденсатор 220мкФ, 25В



Теперь тесты. Честно говоря, забыл проверить потребляемый второй платкой ток, первая ест до 15мА. частота ШИМ — 23-29кГц.

Схему, если честно, чертовски не хочется разрисовывать, не думаю что там изобретено что-то инновационное, скорее всего классическая даташитовская схема типа этой, ну плюс-минус номиналы и прочая несущественная обвязка

Как это работает.
Осциллограмма на нагрузке 100 Ом:

Попробуем подключить светодиодную полоску

Понятно, что на видео не получится нормально увидеть как оно работает.

Ну и вентилятор:

Изолента на тахометре — потому что там кнопка без фиксации.

Итог: рабочий ШИМ на 555 таймере для тех кому лень паять такую мелочёвку. По факту может оказаться дешевле чем 555 таймер + переменник с выключателем в оффлайне. Частота — те самые «заветные» 20-30кГц, которые пока еще видит не всякий человеческий глаз. Не так давно я нечто подобное делал сам, сейчас пожалуй закуплю пару штук в коробочку, на будущее, чтобы месяц-другой не ждать.

Ну или поищу что-то более мощное. Вот так вот китайцы убивают позывы к радиолюбительству 😉

Традиционно оговорюсь, что покупать в китае и у этого продавца может быть невыгодно в данный момент или из вашей страны, либо у вас по окном китайцы торгуют теми же товарами но по рублю ведро. Данные регуляторы были выбраны при покупке, исходя из цены и рейтинга продавца.

Контроллер поворотной шайбы

— документация Navigation 2 1.0.0 Контроллер вращательной шайбы

— документация Navigation 2 1.0.0

Редактировать

Исходный код на Github.

nav2_rotation_shim_controller проверит приблизительную разницу курса относительно робота и вновь полученного пути. Если в пределах порога, он передаст запрос на primary_controller для выполнения задачи. Если он выходит за пороговое значение, этот контроллер будет вращать робота на месте в направлении этого направления пути.

Как только он окажется в пределах допуска, он передаст управление-исполнение с этого контроллера поворотной прокладки на подключаемый модуль основного контроллера. На этом этапе основной плагин робота возьмет на себя управление для плавного перехода к задаче.

Контроллер RotationShimController наиболее подходит для:

  • Роботов, которые могут вращаться на месте, таких как дифференциальные и всенаправленные роботы.

  • Предпочтение вращаться на месте, когда начинается отслеживание нового пути, направление которого значительно отличается от текущего направления робота, или когда настройка контроллера для его задачи затрудняет крутые повороты.

  • Использование планировщиков, не реализуемых с кинематической точки зрения, таких как NavFn, Theta* или Smac 2D (планировщики, реализуемые, такие как Smac Hybrid-A* и State Lattice, начнут поиск с фактического начального направления робота, не требуя поворота, поскольку их пути гарантированно управляются физическими ограничениями).

См. пакет README для получения более полной информации.

Параметры контроллера поворотной прокладки

angular_dist_threshold

Тип

По умолчанию

двойной

0,785

Описание

Максимальное угловое расстояние, в радианах, от направления пути до начала поворота внутрь.

forward_sampling_distance

Тип

По умолчанию

двойной

0,5

Описание

Прямое расстояние в метрах вдоль пути для выбора точки отбора проб, используемой для аппроксимации направления пути

rotate_to_heading_angular_vel

Тип

По умолчанию

двойной

1,8

Описание

Угловая скорость вращения, в рад/с, для поворота к курсу пути

первичный_контроллер

Тип

По умолчанию

строка

Н/Д

Описание

Плагин внутреннего контроллера, используемый для фактического управления поведением после перехода к заголовку

max_angular_accel

Тип

По умолчанию

двойной

3. 2

Описание

Максимальное угловое ускорение для поворота на курс (рад/с/с)

симулировать_вперед_время

Тип

По умолчанию

двойной

1,0

Описание

Время в секундах для прямой имитации команды поворота для проверки на коллизии. Если обнаружено столкновение, перенаправляет управление обратно на основной плагин контроллера.

Пример

 controller_server:
  ros__параметры:
    use_sim_time: Истина
    частота_контроллера: 20.0
    min_x_velocity_threshold: 0,001
    min_y_velocity_threshold: 0,5
    min_theta_velocity_threshold: 0,001
    progress_checker_plugin: "прогресс_чекер"
    target_checker_plugins: ["goal_checker"]
    controller_plugins: ["FollowPath"]
    progress_checker:
      плагин: "nav2_controller::SimpleProgressChecker"
      required_movement_radius: 0,5
      traffic_time_allowance: 10. 0
    цель_проверка:
      плагин: "nav2_controller::SimpleGoalChecker"
      xy_goal_tolerance: 0,25
      yaw_goal_tolerance: 0,25
      с состоянием: правда
    Путь следования:
      плагин: "nav2_rotation_shim_controller::RotationShimController"
      primary_controller: "nav2_regulated_pure_pursuit_controller::RegulatedPurePursuitController"
      angular_dist_threshold: 0,785
      forward_sampling_distance: 0,5
      rotate_to_heading_angular_vel: 1,8
      max_angular_accel: 3.2
      Simulation_ahead_time: 1.0
      # Параметры первичного контроллера можно разместить здесь ниже
      # ...
 

© Copyright 2020.

Использование контроллера поворотной прокладки — Навигация 2 Документация 1.0.0

Редактировать

  • Обзор

  • Что такое контроллер поворотной прокладки?

  • Конфигурация контроллера поворотного шимма

  • Настройка основного контроллера

  • Демо исполнение

Обзор

В этом руководстве рассказывается, как настроить робота для использования RotationShimController , чтобы помочь создать интуитивно понятное поведение с вращением на месте для вашего робота, когда он начинает отслеживать путь. Цель этого руководства — объяснить читателю ценность контроллера, как его настроить, как настроить с ним основной контроллер и, наконец, привести пример его использования.

Перед началом работы с этим учебным пособием настоятельно рекомендуется пройти руководство по началу работы, особенно если вы не знакомы с ROS и Nav2. Требования: последняя установка Nav2 / ROS 2, содержащая этот пакет.

Что такое контроллер поворотной прокладки?

Это было разработано из-за особенностей TEB и DWB, но применимо к любому другому типу подключаемого модуля контроллера, с которым вы хотели бы иметь вращение на месте. Поведение TEB имеет тенденцию подбрасывать робота с небольшими поворотами или когда путь начинается с направления, сильно отличающегося от текущего, несколько неожиданным образом из-за подхода с эластичной лентой. DWB можно настроить на любой тип поведения, но, как правило, настройка на превосходное отслеживание пути также делает его менее оптимальным для плавного перехода к новым путям в дальних направлениях — всегда есть компромиссы. Предоставление TEB и DWB лучшей отправной точки для начала отслеживания пути значительно упрощает настройку контроллеров и создает более интуитивно понятные результаты для наблюдателей.

Обратите внимание, что это не обязательно использовать с любым плагином . Многие пользователи вполне успешно обходятся без использования этого контроллера, но если робот может вращаться на месте перед тем, как приступить к выполнению своей задачи отслеживания пути (или другой задачи), это может быть выгодно.

nav2_rotation_shim_controller проверит приблизительную разницу курса относительно робота и вновь полученного пути. Если в пределах порога, он передаст запрос на primary_controller для выполнения задачи. Если он выходит за пороговое значение, этот контроллер будет вращать робота на месте в направлении этого направления пути. Как только он окажется в пределах допуска, он передаст управление-исполнение с этого контроллера поворотной прокладки на подключаемый модуль основного контроллера. На этом этапе основной плагин робота возьмет на себя управление для плавного перехода к задаче.

RotationShimController наиболее подходит для:

  • Роботов, которые могут вращаться на месте, таких как дифференциальные и всенаправленные роботы.

  • Предпочтение вращаться на месте, когда начинается отслеживание нового пути, направление которого значительно отличается от текущего направления робота, или когда настройка контроллера для его задачи затрудняет крутые повороты.

  • Использование планировщиков, не реализуемых с кинематической точки зрения, таких как NavFn, Theta* или Smac 2D (планировщики, реализуемые, такие как Smac Hybrid-A* и State Lattice, начнут поиск с фактического начального направления робота, не требуя поворота, поскольку их пути гарантированно управляются физическими ограничениями).

Примечание

Regulatory Pure Pursuit имеет встроенную функцию, поэтому нет необходимости выполнять сопряжение с RPP. Однако он применим ко всем остальным. См. Плагины навигации для получения полного списка текущих плагинов контроллера.

Настройка контроллера поворотной прокладки

Этот контроллер представляет собой прокладку , поскольку он расположен между основным подключаемым модулем контроллера и сервером контроллера. Он принимает команды и предварительно обрабатывает их, чтобы перейти к заголовку, а затем передает управление выполнением основному плагину, как только это условие выполняется — действуя как простой проход.

Таким образом, его конфигурация очень похожа на конфигурацию любого другого плагина. В приведенном ниже блоке кода вы можете видеть, что мы добавили RotationShimController в качестве плагина для отслеживания пути на сервере контроллера. Вы можете видеть, что мы также настроили его ниже с его внутренними параметрами, от angular_dist_threshold до max_angular_accel .

 контроллер_сервер:
  ros__параметры:
    use_sim_time: Истина
    частота_контроллера: 20. 0
    min_x_velocity_threshold: 0,001
    min_y_velocity_threshold: 0,5
    min_theta_velocity_threshold: 0,001
    progress_checker_plugin: "прогресс_чекер"
    target_checker_plugins: ["goal_checker"]
    controller_plugins: ["FollowPath"]
    progress_checker:
      плагин: "nav2_controller::SimpleProgressChecker"
      required_movement_radius: 0,5
      traffic_time_allowance: 10.0
    цель_проверка:
      плагин: "nav2_controller::SimpleGoalChecker"
      xy_goal_tolerance: 0,25
      yaw_goal_tolerance: 0,25
      с состоянием: правда
    Путь следования:
      плагин: "nav2_rotation_shim_controller::RotationShimController"
      angular_dist_threshold: 0,785
      forward_sampling_distance: 0,5
      rotate_to_heading_angular_vel: 1,8
      max_angular_accel: 3.2
      Simulation_ahead_time: 1.0
 

Контроллер поворотной прокладки очень прост и имеет всего несколько параметров, определяющих условия, при которых он должен работать.

  • angular_dist_threshold : Угловое расстояние (в радианах) кроме текущего направления робота и приблизительного направления пути для запуска режима вращения. Как только робот находится в пределах этого порога, управление передается плагину основного контроллера.

  • forward_sampling_distance : Расстояние (в метрах) от робота, на котором нужно выбрать точку на пути для приближения к начальному курсу пути. Это аналогично точке «просмотра вперед».

  • rotate_to_heading_angular_vel : Угловая скорость (в рад/с), при которой робот поворачивается к заданному курсу, когда активируется поведение.

  • max_angular_accel : Угловое ускорение (в рад/с/с), при котором робот поворачивается в заданном направлении, когда активируется поведение.

  • Simulation_ahead_time : Время (с) для пересылки команды вращения для проверки столкновения

Настройка основного контроллера

Есть еще один оставшийся параметр RotationShimController , не упомянутый выше, primary_controller . Это тип контроллера, который ваше приложение хотело бы использовать в качестве основного метода работы.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *