Слабый крутящий момент шагового двигателя
- Войдите на сайт для отправки комментариев
Пнд, 26/08/2013 - 14:34
Здравствуйте форумчане! Пишу к вам так как уже 5-ый день мучаюсь с одной проблемой (Обыскал весь интернет так и ничего не нашёл).
Проблема заключается в следующем: имеется биполярный шаговой двигатель без опознавательных знаков (его параметры не известны). Я пытаюсь подключить его к ардуине с помощью драйвера l293d. Подаю на него 9-12В, 0,3А. Он крутится, но его крутящий момент совершенно слаб, если лёгко коснуться вала то с легкостью можно прокрутить его в обратную сторону. Пробовал разные режимы управления но между ними нету никакой разницы (по крутящему моменту).
Использую этот код
// void unStepMotor(int pin_1, int pin_2,int pin_3,int pin_4,int speedMotor){ digitalWrite(pin_1,HIGH); digitalWrite(pin_2,LOW); digitalWrite(pin_3,LOW); digitalWrite(pin_4,LOW); delay(speedMotor + 1); // digitalWrite(pin_1,HIGH); digitalWrite(pin_2,HIGH); digitalWrite(pin_3,LOW); digitalWrite(pin_4,LOW); delay(speedMotor + 1); // digitalWrite(pin_1,LOW); digitalWrite(pin_2,HIGH); digitalWrite(pin_3,LOW); digitalWrite(pin_4,LOW); delay(speedMotor + 1); // digitalWrite(pin_1,LOW); digitalWrite(pin_2,HIGH); digitalWrite(pin_3,HIGH); digitalWrite(pin_4,LOW); delay(speedMotor + 1); // digitalWrite(pin_1,LOW); digitalWrite(pin_2,LOW); digitalWrite(pin_3,HIGH); digitalWrite(pin_4,LOW); delay(speedMotor + 1); // digitalWrite(pin_1,LOW); digitalWrite(pin_2,LOW); digitalWrite(pin_3,HIGH); digitalWrite(pin_4,HIGH); delay(speedMotor + 1); // digitalWrite(pin_1,LOW); digitalWrite(pin_2,LOW); digitalWrite(pin_3,LOW); digitalWrite(pin_4,HIGH); delay(speedMotor + 1); // digitalWrite(pin_1,HIGH); digitalWrite(pin_2,LOW); digitalWrite(pin_3,LOW); digitalWrite(pin_4,HIGH); delay(speedMotor + 1); // } void setup(){ pinMode(8,OUTPUT); pinMode(7,OUTPUT); pinMode(4,OUTPUT); pinMode(2,OUTPUT); } // void loop(){ for(int i=0; i<=60; i++) unStepMotor(8,7,4,2,0); for(int j=0; j<=60; j++) unStepMotor(2,4,7,8,0); }
Кто может подсказать в чём может быть проблема ?
Во-первых, этот шаговик может питалься и от 24В.
Во-вторых, ваш блок питания может просто не давать нужные токи.
В третих, вы должны знать что момент ШД зависит от скорости вращения, чем ниже скорость тем выше момент.
Так же рекомендую вам воспользоваться библиотекой AccelStepper.
Косвенно "вольтовость" можно оценить по сопротивлениям обмоток.
Во-первых, этот шаговик может питалься и от 24В.
Во-вторых, ваш блок питания может просто не давать нужные токи.
В третих, вы должны знать что момент ШД зависит от скорости вращения, чем ниже скорость тем выше момент.
Так же рекомендую вам воспользоваться библиотекой AccelStepper.
Я увеличивал напряжение до 19В но не каких изменений в силе крутящего момента не наблюдалось. Пробовал подать на него 12В 0,6А спалил драйвер двигателя L293D. При уменьшении скорости вращения шагания он останавливается либо начинает вести себя непредсказуемо (вращается в разные стороны).
Косвенно "вольтовость" можно оценить по сопротивлениям обмоток.
Не можете ли Вы подробнее описать как это делается. Я измерял обмотки и у меня вышло 25,9 Ом ы 27,1 Ом.
Косвенно "вольтовость" можно оценить по сопротивлениям обмоток.
Не можете ли Вы подробнее описать как это делается. Я измерял обмотки и у меня вышло 25,9 Ом ы 27,1 Ом.
Значит не верно управляете двигателем.
При использование скетча приведенного выше шаговик вращался без крутящего момента.
Попробовал использовать следующий скетч
где 2,3 - первая обмотка, 3,4-вторая. К сожелению двигатель не вращяется (
И попробуйте поменять местами выводы.
Попробуйте поиграться примерами из библиотеки AccelStepper
И попробуйте поменять местами выводы.
Использовал Ваш код и перебрал все возможные 24 комбинации.Но к сожалению двигатель дёргается но не крутится ( В чём может быть проблема ?
Попробуйте поиграться примерами из библиотеки AccelStepper
У меня Arduino Leonardo и к сожелению под неё примеры не компилируются.
Кто может подсказать в чём может быть проблема ?
Незаметил что бы вы задавали скорость, Вам не кажется что частота слишком велика, и он не успевает за ней, точнее не синхронно идет?
Немного не понятно в первом скетче у вас обмотки подключены
первая 8-4 вторая 7-2 ?
Кто может подсказать в чём может быть проблема ?
Незаметил что бы вы задавали скорость, Вам не кажется что частота слишком велика, и он не успевает за ней, точнее не синхронно идет?
Если я увеличу задержку то шаговик перестаёт вращаться и дёргается со стороны в сторону. Экспериментально нашел что максимальная задержка между шагами может быть 1800 микросекунд.
Немного не понятно в первом скетче у вас обмотки подключены
первая 8-4 вторая 7-2 ?
Да Вы правы.
Будут ли ещё варианты как его можно разкрутить. А то я уже всё перепробывал и ничего не вышло ((
Я увеличивал напряжение до 19В но не каких изменений в силе крутящего момента не наблюдалось. Пробовал подать на него 12В 0,6А спалил драйвер двигателя L293D. При уменьшении скорости вращения шагания он останавливается либо начинает вести себя непредсказуемо (вращается в разные стороны).
Если вы спалили L293D, значит он кушает значительно больший ток. Попробуйте драйвер на L298 и с библиотекой AccekStepper должен работать, если конечно правильно подключить выводы