Шаговый двигатель не работает

Дэйви
Солнце 2 июля 2017 г. 4:35 утра
Пытался получить базовый DRV8825, работая с Nucleo STM32L432KC. Попробовал как AccelStepper Lib, так и Pololu Lib ( https: // github.com/laurb9/stepperdriver) работать, но не повезло. Попробовал примеры для обеих либера. Проверьте контакты, функционируемые при тестировании с помощью DigitalWrite. Независимо от того, что я попробовал, импульсный штифт не пульсирует. Любые мысли о том, что я могу сделать, чтобы заставить это работать?

Спасибо

Это не становится намного проще этого: class SREGemulation { public: operator int () const __attribute__((always_inline)) { uint32_t primask; asm volatile("mrs %0, primask\n" : "=r" (primask)::); if (primask) return 0; return (1<<7); } inline SREGemulation & operator = (int val) __attribute__((always_inline)) { if (val & (1<<7)) { interrupts(); } else { noInterrupts(); } return *this; } }; extern SREGemulation SREG; inline unsigned char digitalPinToInterrupt(unsigned char Interrupt_pin) { return Interrupt_pin; } #define sei() interrupts(); #define cli() noInterrupts();

Стивестронг
Солнце 2 июля 2017 г. 7:03 утра
Я думаю, что вы используете ядро ​​STM32GENERIERIERER от Даниэля, верно?
Если это так, пожалуйста, опубликуйте под соответствующую папку потока: http: // www.STM32duino.com/viewforum.PHP?F = 51

victor_pv
Солнце 2 июля 2017 г. 7:05 утра
Похоже, вы пример для одной библиотеки, но ссылка для другой. Не могли бы вы ссылаться на тот, который вы используете в этом примере?
Не видя этого, я не могу сказать, но если они работают то же самое, вы устанавливаете шаг на 1 шаг, вывод 2 для направления и вывод 3 для шагов.
Это правильно?

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

Чтобы добавить в путаницу, я попытался просто пульсировать штифт 2, как с Blink, который пульсировал светодиод на 2, но двигатель только зарычал. Оказалось, что мотор был плохим! Хороший двигатель работает, используя Blink, но когда я перешел обратно на шаговые либера.

Accelstepper Stepper (1,2,3);
1 = тип пульса/dir
2 = пульс -штифт
3 = Dir Pin.

http: // www.Airspayce.com/mikem/arduino/accelstepper/

Дэйви
Солнце 2 июля 2017 г., 20:37
Я думаю, что это ядро ​​«Grumpyoldpizza», которое поддерживает серию STM32-L. Вещи были нечеткими, когда я пытался выяснить, что, черт возьми, я делал, лол. Как я могу сказать? Который я должен использовать?

Спасибо!
[Стивестронг - Солнце 2 июля 2017 г. 7:03 утра] - Я думаю, что вы используете ядро ​​STM32GENERIERIERER от Даниэля, верно?
Если это так, пожалуйста, опубликуйте под соответствующую папку потока: http: // www.STM32duino.com/viewforum.PHP?F = 51

victor_pv
Солнце 2 июля 2017 г. 9:50 вечера
Не уверен, что я что -то неправильно прочитаю, но когда я проверяю этот класс, первый параметр должен быть количеством проводов, и это должно быть 2:

http: // www.Airspayce.com/mikem/arduino/ ... 273FBB012D

Я неправильно понял это?


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

Дэйви
Пн, 3 июля 2017 г., 19:18
Я не так опытен в C ++ и совсем не с STM32 LOL. Это очень распространенная либера. Это была одна из причин, по которой я пошел с STM32- у большинства чипсов Arduino не хватает мощности, чтобы делать высокоскоростные импульсы.

Спасибо
[victor_pv - Солнце 2 июля 2017 г. 9:50 вечера] -
Не уверен, что происходит, вам придется немного копаться в исходном коде, если никто другой не использовал эту библиотеку.

Дэйви
Пн, 3 июля 2017 г., 8:14 вечера
Я не вижу форума, который, кажется, соответствует нукле STM32L432KC, но, возможно, это просто мое невежество о том, как все работает.
[Стивестронг - Солнце 2 июля 2017 г. 7:03 утра] - Я думаю, что вы используете ядро ​​STM32GENERIERIERER от Даниэля, верно?
Если это так, пожалуйста, опубликуйте под соответствующую папку потока: http: // www.STM32duino.com/viewforum.PHP?F = 51

victor_pv
Пн, 3 июля 2017 г. 9:00 вечера
[Дэйви - Пн, 3 июля 2017 г., 8:14 вечера] - Я не вижу форума, который, кажется, соответствует нукле STM32L432KC, но, возможно, это просто мое невежество о том, как все работает.
[Стивестронг - Солнце 2 июля 2017 г. 7:03 утра] - Я думаю, что вы используете ядро ​​STM32GENERIERIERER от Даниэля, верно?
Если это так, пожалуйста, опубликуйте под соответствующую папку потока: http: // www.STM32duino.com/viewforum.PHP?F = 51
Если вы используете ядро ​​от Grumpyoldpizza, я не думаю, что у него есть выделенный форум. У STM32Generic есть один. Проверьте, откуда вы загрузили свое ядро, и теперь у вас будет.
Кстати, вы увидели, изменит ли DIR PIN значение, если вы попытаетесь изменить направление с помощью вызовов библиотеки, или этот PIN тоже ничего не делает?

Стивестронг
Пн, 3 июля 2017 г., 21:04
Что ж, ваша доска - это доска F4, поэтому она будет подходить под веткой плат STM32F4.
Или вы можете классифицировать свою тему под основной, которую вы используете, Libmaple или Generic.
Для Grumpyoldpizza Core, я думаю, у нас нет специальной папки потоков.

Дэйви
Пн, 3 июля 2017 г. 22:36
Это STM32L432KC, а не F4, и я ничего не вижу для STM32L.

victor_pv
Чт, 6 июля 2017 г., 16:13
Дэйви, вы, вероятно, используете ядро ​​Grumpyoldpizza.
Для этого нет конкретного форума, так что я думаю, этот форум в порядке.
У меня нет опыта работы с этим ядром, вы можете отправить ему личку.

Вы видели мой вопрос в предыдущем посте? Кстати, вы увидели, изменит ли DIR PIN значение, если вы попытаетесь изменить направление с помощью вызовов библиотеки, или этот PIN тоже ничего не делает?