Как синхронно работать с двумя линейными приводами с помощью Arduino и драйвера двигателя VNH5019?

Я новичок и хочу создать проект, содержащий два синхронно движущихся линейных привода. Два из них будут подниматься и опускаться одновременно. Я использую arduino mega и драйвер двигателя VNH5019. У меня есть линейный привод Thompson Electricc ELD. Я никогда не пытался синхронизировать два линейных привода. Линейный привод имеет выход энкодера (это энкодер на эффекте Холла - (не абсолютный. Поэтому он не может сохранять последнее положение в случае отключения питания)). Тип энкодера - на эффекте Холла. Низкий уровень выходного напряжения энкодера (логический ноль), типичный/макс. 0,1/0,25 В постоянного тока. Также он имеет выходной полностью выдвинутый/втянутый сигнал. Я протестировал его с драйвером двигателя H-Bridge, состоящим из 4 реле SSR и кнопочных переключателей для втягивания и извлечения. Возникла проблема с синхронизацией. Система остановится, когда приводы будут извлечены на 500 мм (у приводов длина хода 900 мм). Как мне решить эту проблему с синхронизацией, не могли бы вы мне помочь? Что мне делать?

, 👍0


1 ответ


1

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

Если вам нужно сохранить положения при сбое питания, вам необходимо: 1) обеспечить достаточное резервное питание, чтобы поддерживать работоспособность системы после сбоя питания, чтобы у вас было время остановить оба привода и сохранить оба их положения в EEPROM. ; и 2) подайте сигнал Arduino о том, что подача питания (не резервная) снижается, чтобы он мог начать свое нормальное отключение.

,