• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Скетч для шагового двигателя 28BYJ-48

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

Вложения

enjoynering

Well-known member
У вас не получилось потому что 28BYJ-48 униполярный мотор, а библиотеки рассчитаны на работу с биполярными моторами. Но не все так плохо, разобрав 28BYJ-48 и перерезав одну дорожку его можно превратить в биполярный.

 
Спасибо, что обратили мое внимание на особенности мотора. В описании работы с библиотекой Stepper написано, что она работает как с уни- так и с биполярными моторами. Повторно испытывая Stepper обнаружил, что манипулируя характерным для мотора числом шагов на оборот и задаваемой скоростью удалось увидеть движение, но очень не стабильное и чувствительное к задаваевым параметрам. Как их подобрать не методом "тыка" не знаю.
 
Разобрался в динамике мотора и написал простые скетчи, позволяющие делать шаг или полшага в обе стороны. Без каких либо библиотек. Прицеплены. Но обнаружилось, что вращение в разные скорости идут с резной интенсивностью и при равном числе шагов в обе стороны начальное положение сдвигается по часовой стрелке. Это не люфты, которые при их симметрии не должны сдвигать начальное положение. Кто-нибудь сталкивался с этим?
 

Вложения

  • 1.3 KB Просмотры: 3
Thank you very much! The text of your link contains a complete and clear description of the engine and driver, surpassing the descriptions that I have been able to see.

However, the sketch shared the fate of a dozen sketches that I had to review and try to run. There were sketches containing errors that did not even allow compiling, for example, the "-" sign in variable names, most, as well as from your link, can be characterized by a slightly modified quote from the old Soviet-era joke "buzzes, but does not spin." After trying to run this sketch, my sketch ran successfully.

The point is some constants that are not easy to find in libraries, in addition, it is not easy to find their correct values. In the sketches that I proposed, there is only one constant - the delay for executions, successfully found by the author of the sketch, which I took as the original one.
 

enjoynering

Well-known member
отлично. ваш ответ на eng слегка странный - некоторые обороты речи выдают машинный (в жизни англосаксы так не говорят). ссылки даю вам на английском потому, что информации об ардуино и ее качество наааамного лучше в английском сегменте. большинство русских ардуино статей - это плохой copy-paste английских.

пы.сы. чтобы найти константы и понять как работает библотека просто надо иногда открывать ее исходный код - тыц.
 
You are absolutely right. I studied English at a Soviet school, at the university they prepared only for reading English technical texts. There was practically no personal communication with the British, only with the French and Germans. And even then, all personal communication ended in 2004. Therefore, I use an online translator, and check the result for correct terminology. This technique allowed me to publish in English-language journals.
 

enjoynering

Well-known member
Скорее всего у вас опять не правильное подключение (не правильный порядок пинов, в вашей терминологии)
 
Вы ошиблись, но странный порядок в GyStepper, а не у меня в BYJ.zip (см. выше). В некотрых просмотренных мной примерах встречаются еще более странные вещи. Например, не проходит компиляция из-за ошибки в предлогаемой библиотеке:
"C:\sketchbook\libraries\Adafruit_Motor_Shield_library/AFMotor.h:156:47: error: 'DC_MOTOR_PWM_RATE' was not declared in this scope

156 | AF_DCMotor(uint8_t motornum, uint8_t freq = DC_MOTOR_PWM_RATE);
 

LerrkaOk1987

New member
Не вздумается ли Вам, что тут подмешана примесь частоты работы самого устройства, просто чоб понять его частоту - цикл на минимальное 1 действие, то есть одного бита




 

LerrkaOk1987

New member
Устройство - аппаратный продукт который будем прошивать(у каждого устройства и всего всея есть своя частота, пусть и собственная). Я ведь нинаю что внутри этого двигла, что за микроконтроллер вы настраиваете. Просто если в дефолтном состоянии = это одно, а если под какие либо нужды его настраивали(к примеру под двигло) = то тут иначе надо действовать
 
Сверху Снизу