Разместите свой проект бесплатно и начните получать предложения от фрилансеров-исполнителей уже спустя минуты после публикации!
500 ₴

Aruino Скетч

истекло время актуальности


void setup

Вращаем двигатель со скоростью “Speed0”(0-1024), в направлении ”Dir0”(0/1), слушаем концевой датчик, при срабатывании концевика отъезжаем в обратную сторону на значение long “Marg0” и обнуляем значение положения “Poz”, выдаем сигнал на светодиод о выполнении.

Предусмотреть включение (снятие комментирования) коррекции значения Marg0 с помощью потенциометра +-70%:


Входной сигнал: Сигнал управления SERVO ОПИСАНИЕ



void loop


Вычисляем значение “Poz” положения ОПИСАНИЕ и СКЕТЧ

предусмотреть отключение предлагаемого фильтра “Filtr”(0/1), 

PID из этого скетча не используем.


Управляем двигателем ориентируясь на значения с энкодера ОПИСАНИЕ И СКЕТЧ.

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

Предусмотреть включение (снятие комментирования) коррекции значений с помощью потенциометров +-70%:

максимального расстояния, максимальной скорости, максимального ускорения и других настроек PID.






  1. ставка отозвана
  • Вячеслав Азаров
    9 декабря 2019 |

    Так каким двигателем, от стеклоочистителя или дрона, управляем? Какова цена вопроса?

  • Юрий Исаев — заказчик проекта
    9 декабря 2019 |

    управляем https://iarduino.ru/shop/Expansion-payments/drayver-motora-na-43a-bts7960.html


  • Вячеслав Азаров
    9 декабря 2019 |

    Понятно. Думаю эти видео вам не сильно помогут. Какие динамические характеристики привода нужны и какие характеристики экодера? Это может оказаться не так просто как выгдядит в кино.

  • Игорь Афонькин
    9 декабря 2019 |

    Тут, ИМХО, можно попробовать на минимуме ШИМ поелозить в обоих направлениях и почитать энкодер. Собственно динамика больше будет зависеть от напряжения и токов на двигателе.

  • Вячеслав Азаров
    9 декабря 2019 |

    Наоборот, а то сгорит или поломается. 🙂  

  • Игорь Афонькин
    9 декабря 2019 |

    Там по ссылке на драйвере есть выходы по которым можно определять нагрузку. Ну и управление по ШИМ там дифференциальное - направление и скорость там зависит от дельты ШИМ по двум входам на драйвере.

  • Юрий Исаев — заказчик проекта
    9 декабря 2019 |

    https://www.amazon.com/LOVIVER-Mosfet-Current-Bridge-Driver%EF%BC%8CMotor/dp/B07MKQLQ22 на каких ногах мы можем определять нагркзку?

  • Игорь Афонькин
    9 декабря 2019 |

    Вы же вот приводили ссылку: https://iarduino.ru/shop/Expansion-payments/drayver-motora-na-43a-bts7960.html

    Так вот там есть эти выходы (цитата): 

    • «L_IS» - Выход состояния левого плеча H-моста (чип U3).
      • Вывод является флагом ошибки (если она есть), иначе с этого выхода можно снимать уровень напряжения пропорциональный току протекающему через мотор, а значит контролировать силу нагрузки приложенной к мотору.
    • «R_IS» - Выход состояния правого плеча H-моста (чип U2).
      • Вывод является флагом ошибки (если она есть), иначе с этого выхода можно снимать уровень напряжения пропорциональный току протекающему через мотор, а значит контролировать силу нагрузки приложенной к мотору.
  • Юрий Исаев — заказчик проекта
    9 декабря 2019 |

    спасибо, но мы не будем использовать контроль тока

  • Игорь Афонькин
    9 декабря 2019 |

    Принято.

  • Вячеслав Азаров
    9 декабря 2019 |

    Встряну, хоть и не в моих правилах. НИ НА КАКИХ! Встроенного датчика тока он не имеет. Только внешним, дополнительным, сенсором или измерительным шунтом. Можете мне не верить.

  • Юрий Исаев — заказчик проекта
    9 декабря 2019 |

    Спасибо! А то я глубоко задумался, хорошо что руки заняты а то пошел бы бороздить глубины гугла

  • Вячеслав Азаров
    9 декабря 2019 |

    Пожалуйста. На ваш вопрос же не ответили. Ответил я. Вы не сделаете по такой схеме правильную рулевую машинку или как сейчас выражаются - серву. И микроконтроллер вам не поможет, это теоретическое ограничение. Лучше задумайтесь, что произойдёт в вашей машине в результате сбоя вычислений, по внешним причинам (зависания).

  • Юрий Исаев — заказчик проекта
    9 декабря 2019 |

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

  • Вячеслав Азаров
    9 декабря 2019 |

    Я же не возражаю, снимайте. Моё участие в съемках не даром. Всё. Я молчу.

  • Юрий Исаев — заказчик проекта
    9 декабря 2019 |

    у энкодера 2 выхода с открытым коллектором управляем https://iarduino.ru/shop/Expansion-payments/drayver-motora-na-43a-bts7960.html 

  • Вячеслав Азаров
    9 декабря 2019 |

    Это не энкодер. Какая максимальная частота импульсов может быть? Вообще-то, нужна полная техническая информация по вашему приводу, чтобы составить картину работ.

  • Юрий Исаев — заказчик проекта
    9 декабря 2019 |

    например 600 кГерц, а какая максимально возможная частота , я на вал могу поставить несколько магнитов

  • Вячеслав Азаров
    9 декабря 2019 |

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

  • Юрий Исаев — заказчик проекта
    9 декабря 2019 |

    Драйвер энкодера? Для Ардуино? https://youtu.be/WJkf264yxTU?list=WL&t=462

  • Игорь Афонькин
    9 декабря 2019 |

    В некоторых случаях может потребоваться RC-фильтр. А в некоторых и он не поможет.

    Я для своего Jog Shuttle под kdenlive делал RC-фильтр, так как электромагнитных шумов у меня более чем до известного места.

  • Вячеслав Азаров
    9 декабря 2019 |

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

  • Юрий Исаев — заказчик проекта
    9 декабря 2019 |

    от ардуинки с DC драйвером это все уже работает

  • Юрий Исаев — заказчик проекта
    9 декабря 2019 |

    точность уж какая получится

  • Игорь Афонькин
    9 декабря 2019 |

    Ну, я не заказчик 😉  Но таки приятно побеседовать порой с коллегой.😎 

  • Юрий Исаев — заказчик проекта
    9 декабря 2019 |

    за сколько дней сделаете?

  • Вячеслав Азаров
    9 декабря 2019 |

    Если вы ко мне мне и никаких дополнительных требований нет, могу за завтра-послезавта. Хочу только предупредить, что это не будет полный функциональный эквивалент сервопривода. Позицию придётся периодически калибровать, для устранения накапливаемой ошибки, и каждый раз после сбоя или принудительного рестарта контроллера.

  • Юрий Исаев — заказчик проекта
    9 декабря 2019 |

    Это аналог серво машики, мне важно чтобы работала на глаз "точно", поработали  выключили , при следующем включении нашли ноль и вперед

  • Вячеслав Азаров
    9 декабря 2019 |

    Тогда подробнее опишите логику работы и управления вашей машинки. Когда можно или нужно делать выезд на ноль (концевик), а когда нельзя?

  • Юрий Исаев — заказчик проекта
    9 декабря 2019 |

    на ноль идем только после включения и больше никогда

  • Вячеслав Азаров
    9 декабря 2019 |

    A позиционирование и реверсирование, как часто и как долго после включения? Как часто влючение выключение? Как часто вы можете делать калибровку нуля?

  • Юрий Исаев — заказчик проекта
    9 декабря 2019 |

    15 минут работаем и выключаем

  • Вячеслав Азаров
    9 декабря 2019 |

    Заведомо работоспособную программу можно будет загрузить, прямо с видео Ютуба, в недалёком будушем, с помощью исскуственного интеллекта, и без помощи инженера. 🙂

  • Юрий Исаев — заказчик проекта
    9 декабря 2019 |

    это все будет делать ИИ а мы будем сбивать бананы палками

  • Игорь Афонькин
    9 декабря 2019 |

    Хорошо бы бананы, а не грызть кору осины.😉 

  • Юрий Исаев — заказчик проекта
    9 декабря 2019 |

    это уж как ии решит

  • Игорь Афонькин
    9 декабря 2019 |

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

  • Юрий Исаев — заказчик проекта
    9 декабря 2019 |

    Скайнет набирает психологов для нейронных сетей

  • Игорь Афонькин
    9 декабря 2019 |

    И это нормально.

  • Юрий Исаев — заказчик проекта
    9 декабря 2019 |

    психиаторов сбивать палками

  • Вячеслав Азаров
    9 декабря 2019 |

    Мы уже сбиваем бананы палками.

  • Вячеслав Азаров
    9 декабря 2019 |

    И псхиатров не помешает, чтобы их усмирять.

  • Игорь Афонькин
    9 декабря 2019 |

    Доброго здравия!

    Я правильно понял, что моторчик - BLDC, а обратная связь через концевики и энкодер на валу этого мотора?

  • Юрий Исаев — заказчик проекта
    9 декабря 2019 |

    правляем https://iarduino.ru/shop/Expansion-payments/drayver-motora-na-43a-bts7960.html

    концевик для установки 0 перемещение пасем энкодером

  • Игорь Афонькин
    9 декабря 2019 |

    У Вас кинематика уже готова или нет? Хотелось бы глянуть на фото, если готова.

    А концевика должно быть два, иначе непонятно, как определять диапазон при калибровке. Можно конечно попытаться отслеживать токи драйвера, но честно - я бы удаленно такие эксперименты не проводил. Хотя конечно варианты возможны.

  • Юрий Исаев — заказчик проекта
    9 декабря 2019 |

    механику делаю прямо сегодня, 0 определяем по концевику, максимальное расстояния движения определяем программно

  • Игорь Афонькин
    9 декабря 2019 |

    Ну таки замечательно!

    Принцип управления драйвером в целом понятен - остается понять кинематику и можно пробовать управлять.

  • Юрий Исаев — заказчик проекта
    9 декабря 2019 |

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

  • Вячеслав Азаров
    9 декабря 2019 |

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

  • Юрий Исаев — заказчик проекта
    9 декабря 2019 |

    мотор дает в максимуме 9000 об в мин  х на 2пары магнитов теортически такая частота возможна

  • Вячеслав Азаров
    9 декабря 2019 |

    В минуту же а не в секунду. Вы напутали.

  • Юрий Исаев — заказчик проекта
    9 декабря 2019 |

    а точно! 9000/60*2 300гц

  • Игорь Афонькин
    9 декабря 2019 |

    Т.е. в качестве энкодера - два ДХ в противофазе на зеленой плате, и один ДХ на вторичном валу в качестве концевика?

    Все ДХ с ОК?

  • Юрий Исаев — заказчик проекта
    9 декабря 2019 |

    именно!

  • Игорь Афонькин
    9 декабря 2019 |

    Ну таки нормально. Через INPUT_PULLUP будут читаться вполне сносно даже без RC-фильтра.


    Бюджет какой?

  • Юрий Исаев — заказчик проекта
    9 декабря 2019 |

    я ту первый раз. Тут ппишут : Ставки в форуме проекта запрещены. Также не забудьте ознакомиться с правилами общения.

    А бюджет можно?

  • Игорь Афонькин
    9 декабря 2019 |

    Вы как заказчик можете установить бюджет при размещении проекта.

    Попробуйте отредактировать выставленный проект, указав в нем сумму и валюту.

  • Юрий Исаев — заказчик проекта
    9 декабря 2019 |

    уже делаю,

  • Юрий Исаев — заказчик проекта
    9 декабря 2019 |

    назначил но можно обсуждать

  • Игорь Афонькин
    9 декабря 2019 |

    Разумный бюджет.

    К каким пинам какие выводы планируете подключать?

  • Юрий Исаев — заказчик проекта
    9 декабря 2019 |

    я разберусь если будет адекватное комментирование, привязка только шим и прерывание энкодера

  • Игорь Афонькин
    9 декабря 2019 |

    Понятно.

    Попробую до завтрашнего утра чего-нибудь внятное придумать. 

  • Юрий Исаев — заказчик проекта
    10 декабря 2019 |

    Как дела?

  • Игорь Афонькин
    10 декабря 2019 |

    Уже взялся.

  • Игорь Афонькин
    10 декабря 2019 |

    Увы, пока никак.

  • Юрий Исаев — заказчик проекта
    10 декабря 2019 |

    Так Вы беретесь за задание? Время терпит, но я не понимаю мне искать или я с Вами

  • Юрий Исаев — заказчик проекта
    11 декабря 2019 |

    сегодня соберу двигатель с энкодерами или возьму чтото другое похожее. Я должен в проекте както отметить что исполнитель найден. Видимо вы должны поставить метку что согласны его выполнять.


  • Игорь Афонькин
    11 декабря 2019 |

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

  • Игорь Афонькин
    11 декабря 2019 |

    Пишите в личку. Энкодер по прерываниям есть - нужно проверить на Вашем железе.