Arduino ΠΈ ΡˆΠ°Π³ΠΎΠ²Ρ‹ΠΉ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΡŒ: ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ скСтч ΠΈ схСмы

НСпосрСдствСнноС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ шагового двигатСля ΠΊ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹ΠΌ ΠΏΠΈΠ½Π°ΠΌ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Arduino Π±Π΅Π· использования ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° ΠΈΠ»ΠΈ усилитСля Ρ‚ΠΎΠΊΠ° Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΡΠ³ΠΎΡ€Π°Π½ΠΈΡŽ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… ΠΏΠΎΡ€Ρ‚ΠΎΠ² ATmega328P ΠΈΠ·-Π·Π° ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΈΡ допустимой Ρ‚ΠΎΠΊΠΎΠ²ΠΎΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. Π¨Π°Π³ΠΎΠ²Ρ‹ΠΉ ΠΌΠΎΡ‚ΠΎΡ€, Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ популярная модСль 28BYJ-48 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ NEMA 17, Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ управлСния ΠΎΠ±ΠΌΠΎΡ‚ΠΊΠ°ΠΌΠΈ Π² строгой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ с ΠΏΠΎΠ΄Π°Ρ‡Π΅ΠΉ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‡Ρ‚ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ простым ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ уровня напряТСния. ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ скСтч для Arduino Π² Π΄Π°Π½Π½ΠΎΠΌ случаС выполняСт лишь Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… сигналов, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ всю Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΠΎ ΠΊΠΎΠΌΠΌΡƒΡ‚Π°Ρ†ΠΈΠΈ силовых Ρ‚ΠΎΠΊΠΎΠ² Π±Π΅Ρ€Π΅Ρ‚ Π½Π° сСбя внСшний Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€. Ошибки Π² Π²Ρ‹Π±ΠΎΡ€Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈΠ»ΠΈ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ настройка ΠΌΠΈΠΊΡ€ΠΎΡˆΠ°Π³Π° Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ часто становятся ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ пропуска шагов, Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ Ρ€ΠΎΡ‚ΠΎΡ€Π° ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΠΉ остановки ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° ΠΏΠΎΠ΄ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ.

Для ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ систСмы Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ логичСскиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² элСктричСскиС ΠΈΠΌΠΏΡƒΠ»ΡŒΡΡ‹. Бтандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Stepper.h, входящая Π² Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ Arduino IDE, часто оказываСтся нСдостаточно эффСктивной для Π·Π°Π΄Π°Ρ‡, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… высокой скорости ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π²ΠΎ врСмя вращСния. Π‘ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ AccelStepper, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ»Π°Π²Π½Ρ‹ΠΉ Ρ€Π°Π·Π³ΠΎΠ½ ΠΈ Ρ‚ΠΎΡ€ΠΌΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ критичСски Π²Π°ΠΆΠ½ΠΎ для ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠΈ, ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½Π½ΠΎΠΉ ΠΈΠ½Π΅Ρ€Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°ΠΌ. ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° управлСния ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π³ΡƒΠ΄Π΅Ρ‚ΡŒ, Π½ΠΎ Π½Π΅ сдвинСтся с мСста, ΠΈΠ»ΠΈ ΠΆΠ΅ потСряСт Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ позиционирования послС сСрии быстрых ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΉ.

Π’ зависимости ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°, Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ простой ULN2003 для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΌΠΎΡ‚ΠΎΡ€ΠΎΠ² ΠΈΠ»ΠΈ спСциализированный A4988 для ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡, структура скСтча Π±ΡƒΠ΄Π΅Ρ‚ сущСствСнно Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ. Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС ΠΌΡ‹ управляСм ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ΄Π°Ρ‡ΠΈ напряТСния Π½Π° Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Π²Ρ‹Π²ΠΎΠ΄Π°, имитируя Π²ΠΎΠ»Π½ΠΎΠ²ΡƒΡŽ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡƒΡˆΠ°Π³ΠΎΠ²ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ случаС ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ лишь Π·Π°Π΄Π°Π΅Ρ‚ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ частоту ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ², Π° всю ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΊΠΎΠΌΠΌΡƒΡ‚Π°Ρ†ΠΈΠΈ Π±Π΅Ρ€Π΅Ρ‚ Π½Π° сСбя микросхСма Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°. ПониманиС этой Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ являСтся ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠΌ ΠΏΡ€ΠΈ написании ΠΊΠΎΠ΄Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ прямого управлСния с Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠΌ Ρ‚ΠΈΠΏΠ° TMC2208 Π½Π΅ даст Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π±Π΅Π· настройки ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… рСгистров.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ управлСния ΠΈ Ρ‚ΠΈΠΏΡ‹ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ²

Π’Ρ‹Π±ΠΎΡ€ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ связки β€” это ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ шаг ΠΊ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌΡƒ запуску ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π”Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ дСлятся Π½Π° Π΄Π²Π΅ основныС ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ: Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ ΠΏΠΎΠ΄Π°Ρ‡ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ сигналов Π½Π° ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΎΠ±ΠΌΠΎΡ‚ΠΊΡƒ, ΠΈ Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ сигналами STEP ΠΈ DIR. Для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ доступным Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ являСтся связка Arduino ΠΈ модуля Π½Π° Π±Π°Π·Π΅ ULN2003, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ часто ΠΈΠ΄Π΅Ρ‚ Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π΅ с Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»Π΅ΠΌ 28BYJ-48. Π­Ρ‚ΠΎΡ‚ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ прСдставляСт собой Π½Π°Π±ΠΎΡ€ транзисторных ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΠΌΠΌΡƒΡ‚ΠΈΡ€ΡƒΡŽΡ‚ ΠΎΠ±ΠΌΠΎΡ‚ΠΊΠΈ согласно Π»ΠΎΠ³ΠΈΠΊΠ΅, прописанной Π² скСтчС. Однако Π΅Π³ΠΎ Π³Π»Π°Π²Π½Ρ‹ΠΌ нСдостатком являСтся Π½ΠΈΠ·ΠΊΠΈΠΉ ΠšΠŸΠ” ΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚ΠΎΠΊΠ°ΠΌΠΈ Π²Ρ‹ΡˆΠ΅ 0.5 АмпСра, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ Π½Π΅ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹ΠΌ для ΠΌΠΎΡ‰Π½Ρ‹Ρ… ΠΌΠΎΡ‚ΠΎΡ€ΠΎΠ² сСрии NEMA.

Π‘ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ A4988 ΠΈΠ»ΠΈ DRV8825, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ ΠΌΠΈΠΊΡ€ΠΎΡˆΠ°Π³ΠΎΠ²ΠΎΠ³ΠΎ управлСния. Π’ этом случаС скСтч для Arduino становится Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡ‰Π΅: Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ worrying ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΎΠ±ΠΌΠΎΡ‚ΠΎΠΊ. Π’Ρ‹ просто ΠΏΠΎΠ΄Π°Π΅Ρ‚Π΅ высокий логичСский ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π½Π° ΠΏΠΈΠ½ направлСния (DIR) ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΡ‹ Π½Π° ΠΏΠΈΠ½ шага (STEP). Частота этих ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ² опрСдСляСт ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ вращСния, Π° ΠΈΡ… количСство β€” ΡƒΠ³ΠΎΠ» ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π°. ΠœΠΈΠΊΡ€ΠΎΡˆΠ°Π³, устанавливаСмый ΠΏΠ΅Ρ€Π΅ΠΌΡ‹Ρ‡ΠΊΠ°ΠΌΠΈ Π½Π° ΠΏΠ»Π°Ρ‚Π΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°, позволяСт ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ позиционирования ΠΈ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΈ, дробя ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ»Π½Ρ‹ΠΉ шаг двигатСля Π½Π° мноТСство ΠΌΠ΅Π»ΠΊΠΈΡ… частСй.

  • πŸ”Œ ULN2003 β€” простой ΠΈ Π΄Π΅ΡˆΠ΅Π²Ρ‹ΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ для ΠΌΠ°Π»ΠΎΠΌΠΎΡ‰Π½Ρ‹Ρ… ΠΌΠΎΡ‚ΠΎΡ€ΠΎΠ², Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠΉ управлСния 4 ΠΏΠΈΠ½Π°ΠΌΠΈ Arduino.
  • ⚑ A4988 β€” популярный Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΌΠΈΠΊΡ€ΠΎΡˆΠ°Π³Π°, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠΉ всСго 2 ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… сигнала (Step/Dir).
  • πŸš€ TMC2208 β€” Ρ‚ΠΈΡ…ΠΈΠΉ ΠΈ ΡƒΠΌΠ½Ρ‹ΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ UART для динамичСской настройки ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· скСтч.
  • πŸ›‘οΈ L298N β€” ΠΌΠΎΡ‰Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, способный ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ двумя двигатСлями ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, Π½ΠΎ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ высокоС ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ напряТСния.

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°ΠΌΠΈ сСмСйства A4988 ΠΈ Π²Ρ‹ΡˆΠ΅ критичСски Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ‚ΠΎΠΊ отсСчки. Если Π² скСтчС ΠΈΠ»ΠΈ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠΎΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ Π½Π° ΠΏΠ»Π°Ρ‚Π΅ Π²Ρ‹ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ слишком высокий Ρ‚ΠΎΠΊ, Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π³Ρ€Π΅Π²Π°Ρ‚ΡŒΡΡ, Π° Ссли слишком Π½ΠΈΠ·ΠΊΠΈΠΉ β€” Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ пропуски шагов ΠΏΠΎΠ΄ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ. МногиС Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΈ Π·Π°Π±Ρ‹Π²Π°ΡŽΡ‚ ΠΏΠΎΠ΄Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ Π½Π° ΠΌΠΎΡ‚ΠΎΡ€, ΠΏΡ‹Ρ‚Π°ΡΡΡŒ Π·Π°ΠΏΠΈΡ‚Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΎΡ‚ 5 Π’ΠΎΠ»ΡŒΡ‚ Arduino, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΈΠ»ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Ρƒ Π΅Π³ΠΎ ΠΈΠ· строя. Π’Π½Π΅ΡˆΠ½ΠΈΠΉ источник питания Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠΌΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΌΡƒ Π½Π°ΠΏΡ€ΡΠΆΠ΅Π½ΠΈΡŽ двигатСля, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ это Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΎΡ‚ 9 Π΄ΠΎ 24 Π’ΠΎΠ»ΡŒΡ‚ для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ NEMA 17.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Никогда Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ ΠΈ Π½Π΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° шагового двигатСля ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΌ ΠΏΠΈΡ‚Π°Π½ΠΈΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°. Π˜Π½Π΄ΡƒΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ выброс напряТСния ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ вывСсти микросхСму Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° ΠΈΠ· строя, Π΄Π°ΠΆΠ΅ Ссли скСтч находится Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ оТидания.

Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ скСтч для двигатСля 28BYJ-48

Рассмотрим классичСский ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Stepper.h для управлСния Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»Π΅ΠΌ 28BYJ-48 Ρ‡Π΅Ρ€Π΅Π· Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ULN2003. Π­Ρ‚ΠΎΡ‚ ΠΌΠΎΡ‚ΠΎΡ€ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π΅Π΄ΡƒΠΊΡ‚ΠΎΡ€Π°, Ρ‡Ρ‚ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ крутящий ΠΌΠΎΠΌΠ΅Π½Ρ‚, Π½ΠΎ сниТаСт ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ. Π’ скСтчС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ количСство шагов Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΠΎΡ€ΠΎΡ‚ Π²Π°Π»Π°. Для Π΄Π°Π½Π½ΠΎΠ³ΠΎ двигатСля ΠΏΠΎΠ»Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» составляСт 2048 шагов Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΏΠΎΠ»ΡƒΡˆΠ°Π³Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся стандартом для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. Код Π½ΠΈΠΆΠ΅ дСмонстрируСт, ΠΊΠ°ΠΊ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π²Π°Π» ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΎΠ±ΠΎΡ€ΠΎΡ‚ Π² ΠΎΠ΄Π½Ρƒ сторону, pauses, ΠΈ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ.

#include <Stepper.h>

const int stepsPerRevolution = 2048; // ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ шагов Π½Π° ΠΎΠ±ΠΎΡ€ΠΎΡ‚

// Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° stepper с ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΊ ΠΏΠΈΠ½Π°ΠΌ 8, 10, 9, 11

Stepper myStepper(stepsPerRevolution, 8, 10, 9, 11);

void setup {

myStepper.setSpeed(10); // Установка скорости Π² ΠΎΠ±ΠΎΡ€ΠΎΡ‚Π°Ρ… Π² ΠΌΠΈΠ½ΡƒΡ‚Ρƒ

Serial.begin(9600);

}

void loop {

Serial.println("Clockwise");

myStepper.step(stepsPerRevolution); // ΠŸΠΎΠ²ΠΎΡ€ΠΎΡ‚ Π½Π° 1 ΠΎΠ±ΠΎΡ€ΠΎΡ‚

delay(1000);

Serial.println("Counter-clockwise");

myStepper.step(-stepsPerRevolution); // ΠŸΠΎΠ²ΠΎΡ€ΠΎΡ‚ Π½Π°Π·Π°Π΄

delay(1000);

}

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ функция setSpeed Π·Π°Π΄Π°Π΅Ρ‚ ΠΆΠ΅Π»Π°Π΅ΠΌΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ вращСния, ΠΎΠ΄Π½Π°ΠΊΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Stepper.h ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ step. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΊΠ° выполняСтся ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π°, Arduino Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ события, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈΠ»ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ². Для простых ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π³Π΄Π΅ трСбуСтся просто ΠΊΡ€ΡƒΡ‚Π°Π½ΡƒΡ‚ΡŒ ΠΌΠΎΡ‚ΠΎΡ€ ΠΈ ΠΆΠ΄Π°Ρ‚ΡŒ, этого достаточно. Однако Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π° ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ систСмы, придСтся ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ прСрывания Ρ‚Π°ΠΉΠΌΠ΅Ρ€ΠΎΠ².

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ стоит ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ порядку ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠΈΠ½ΠΎΠ². Π’ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Stepper.h порядок слСдования Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² ΠΏΠΈΠ½ΠΎΠ² Π² конструкторС Stepper myStepper(...) опрСдСляСт ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄Π°Ρ‡ΠΈ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ². Если Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΡŒ Π³ΡƒΠ΄ΠΈΡ‚, Π½ΠΎ Π½Π΅ вращаСтся, ΠΈΠ»ΠΈ вращаСтся Π² Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ с сильной Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠ΅ΠΉ, скорСС всСго, Π½Π°Ρ€ΡƒΡˆΠ΅Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠ² ΠΊ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρƒ ΠΈΠ»ΠΈ Π½Π΅Π²Π΅Ρ€Π½ΠΎ ΡƒΠΊΠ°Π·Π°Π½ порядок ΠΏΠΈΠ½ΠΎΠ² Π² ΠΊΠΎΠ΄Π΅. Для ΠΌΠΎΡ‚ΠΎΡ€Π° 28BYJ-48 стандартная цвСтовая ΠΌΠ°Ρ€ΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠ² часто соотвСтствуСт ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ: ΠžΡ€Π°Π½ΠΆΠ΅Π²Ρ‹ΠΉ, Π ΠΎΠ·ΠΎΠ²Ρ‹ΠΉ, Π–Π΅Π»Ρ‚Ρ‹ΠΉ, Π‘ΠΈΠ½ΠΈΠΉ, Π½ΠΎ всСгда Π»ΡƒΡ‡ΡˆΠ΅ ΡΠ²Π΅Ρ€ΡΡ‚ΡŒΡΡ с Π΄Π°Ρ‚Π°ΡˆΠΈΡ‚ΠΎΠΌ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ·Π²Π°Π½ΠΈΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΠΌΠΎΡ‚ΠΊΠΈ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ.

πŸ“Š Какой Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ?
A4988/DRV8825
ULN2003
L298N
TMC2208

ИспользованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ AccelStepper для ΠΏΡ€ΠΎΡ„ΠΈ

Для Π±ΠΎΠ»Π΅Π΅ слоТных Π·Π°Π΄Π°Ρ‡, Π³Π΄Π΅ трСбуСтся ΠΏΠ»Π°Π²Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ скорости, Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π·Π°Π΄Π°Ρ‡, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° AccelStepper являСтся стандартом Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎ. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π±Π°Π·ΠΎΠ²ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΎΠ½Π° Π½Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ процСссор. Π’Ρ‹ Π·Π°Π΄Π°Π΅Ρ‚Π΅ Ρ†Π΅Π»Π΅Π²ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ, Π° Π² Ρ†ΠΈΠΊΠ»Π΅ loop лишь Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ run, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ шаг, Ссли ΠΏΡ€ΠΈΡˆΠ»ΠΎ врСмя. Π­Ρ‚ΠΎ позволяСт Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½ΡƒΡŽ Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΠ΅Π²ΠΈΠ΄Π½ΡƒΡŽ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ Ρ€Π°Π·Π³ΠΎΠ½Π° ΠΈ тормоТСния, ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ Ρ€Ρ‹Π²ΠΊΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΈ ΠΊΠΎΠ½Ρ†Π΅ двиТСния.

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°ΠΌΠΈ Ρ‚ΠΈΠΏΠ° A4988 ΠΊΠΎΠ΄ становится Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½Ρ‹ΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ€Π΅ΠΆΠΈΠΌ управлСния STEP/DIR. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΈΠ½Ρ‹ для шага ΠΈ направлСния, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, DRIVER для Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² с интСрфСйсом Step/Dir). Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° сама рассчитаСт Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ°ΠΌΠΈ для достиТСния Π·Π°Π΄Π°Π½Π½ΠΎΠΉ скорости. Π­Ρ‚ΠΎ особСнно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π² ЧПУ станках ΠΈΠ»ΠΈ 3D ΠΏΡ€ΠΈΠ½Ρ‚Π΅Ρ€Π°Ρ…, Π³Π΄Π΅ Π²Π°ΠΆΠ½Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ, Π½ΠΎ ΠΈ отсутствиС Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΌΠ°Π·Π°Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΡ€Ρ‚ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Ρ„Ρ€Π΅Π·Π΅Ρ€ΠΎΠ²ΠΊΠ΅.

  • πŸ“ˆ ΠŸΠ»Π°Π²Π½ΠΎΡΡ‚ΡŒ β€” автоматичСский расчСт ΠΊΡ€ΠΈΠ²Ρ‹Ρ… Ρ€Π°Π·Π³ΠΎΠ½Π° ΠΈ тормоТСния Π±Π΅Π· Ρ€Ρ‹Π²ΠΊΠΎΠ².
  • βš™οΈ ΠœΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ β€” Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ управлСния нСсколькими двигатСлями ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ точности.
  • 🎯 ΠŸΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ β€” Ρ€Π°Π±ΠΎΡ‚Π° с Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ, Π° Π½Π΅ просто счСт шагов.
  • πŸ”„ РСвСрс β€” ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ направлСния двиТСния Π±Π΅Π· остановки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π’Π°ΠΆΠ½Ρ‹ΠΌ аспСктом использования AccelStepper являСтся ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ настройка максимальной скорости ΠΈ ускорСния. Если ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ слишком высокоС ускорСниС, Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΡƒΡΠΏΠ΅Ρ‚ΡŒ Π½Π°Π±Ρ€Π°Ρ‚ΡŒ ΠΈΠ½Π΅Ρ€Ρ†ΠΈΡŽ ΠΈ потСряСт шаги. Если ΠΆΠ΅ ускорСниС Π±ΡƒΠ΄Π΅Ρ‚ слишком Π½ΠΈΠ·ΠΊΠΈΠΌ, ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ»Π³ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ снизит ΠΎΠ±Ρ‰ΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ установки. ΠŸΠΎΠ΄Π±ΠΎΡ€ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ производится ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ мСханичСской ΠΏΠ°Ρ€Ρ‹"Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΡŒ-Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°".

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° AccelStepper

Π—Π΄Π΅ΡΡŒ ΠΌΠΎΠ³ Π±Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°, Π½ΠΎ ΡΡƒΡ‚ΡŒ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ runSpeedToPosition ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ ΠΊ Ρ†Π΅Π»ΠΈ с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ ускорСниСм.

РасчСт шагов ΠΈ настройка ΠΌΠΈΠΊΡ€ΠΎΡˆΠ°Π³Π°

Π’ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ пСрСмСщСния шагового двигатСля Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ зависит ΠΎΡ‚ количСства шагов Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΠΎΡ€ΠΎΡ‚ ΠΈ установлСнного Ρ€Π΅ΠΆΠΈΠΌΠ° ΠΌΠΈΠΊΡ€ΠΎΡˆΠ°Π³Π°. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΡŒ с ΡƒΠ³Π»ΠΎΠΌ шага 1.8 градуса ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ 200 шагов Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΎΠ±ΠΎΡ€ΠΎΡ‚ Π²Π°Π»Π°. Однако, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΌΠΈΠΊΡ€ΠΎΡˆΠ°Π³Π°, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ это число Π² 2, 4, 8, 16 ΠΈ Π΄Π°ΠΆΠ΅ 32 Ρ€Π°Π·Π°. Π­Ρ‚ΠΎ достигаСтся Π·Π° счСт ΠΏΠΎΠ΄Π°Ρ‡ΠΈ Π½Π° ΠΎΠ±ΠΌΠΎΡ‚ΠΊΠΈ Ρ‚ΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ значСния, Π° Π΅Π³ΠΎ части, создавая ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ ΠΌΠ°Π³Π½ΠΈΡ‚Π½Ρ‹Π΅ поля, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Ρ€ΠΎΡ‚ΠΎΡ€ ΠΌΠ΅ΠΆΠ΄Ρƒ основными шагами.

Настройка ΠΌΠΈΠΊΡ€ΠΎΡˆΠ°Π³Π° Π½Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°Ρ… Ρ‚ΠΈΠΏΠ° A4988 осущСствляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Ρ€Π΅Ρ… ΠΏΠΈΠ½ΠΎΠ²: MS1, MS2 ΠΈ MS3. Подавая Π½Π° Π½ΠΈΡ… логичСский 0 ΠΈΠ»ΠΈ 1 (ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΊ GND ΠΈΠ»ΠΈ VCC), Π²Ρ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹. НапримСр, для Ρ€Π΅ΠΆΠΈΠΌΠ° 1/16 всС Ρ‚Ρ€ΠΈ ΠΏΠΈΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΌΠΊΠ½ΡƒΡ‚Ρ‹ Π½Π° Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ. Π’ скСтчС Arduino ΠΏΡ€ΠΈ этом Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ, Ссли Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΡƒΡŽ с Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ шагами, Π½ΠΎ Ссли Π²Ρ‹ рассчитываСтС расстояниС Π² ΠΌΠΈΠ»Π»ΠΈΠΌΠ΅Ρ‚Ρ€Π°Ρ…, коэффициСнт пСрСсчСта шагов Π² ΠΌΠΈΠ»Π»ΠΈΠΌΠ΅Ρ‚Ρ€Ρ‹ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌΡƒ ΠΌΠΈΠΊΡ€ΠΎΡˆΠ°Π³Ρƒ.

MS1 MS2 MS3 Π Π΅ΠΆΠΈΠΌ ΠΌΠΈΠΊΡ€ΠΎΡˆΠ°Π³Π° Π¨Π°Π³ΠΎΠ² Π½Π° ΠΎΠ±ΠΎΡ€ΠΎΡ‚ (1.8Β°)
0 0 0 ΠŸΠΎΠ»Π½Ρ‹ΠΉ шаг 200
1 0 0 1/2 шага 400
0 1 0 1/4 шага 800
1 1 1 1/16 шага 3200

ИспользованиС ΠΌΠΈΠΊΡ€ΠΎΡˆΠ°Π³Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ, Π½ΠΎ ΠΈ сущСствСнно сниТаСт ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΡˆΡƒΠΌΠ° ΠΈ Π²ΠΈΠ±Ρ€Π°Ρ†ΠΈΠΉ двигатСля. На ΠΏΠΎΠ»Π½ΠΎΠΌ шагС Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π΅Π·ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… частотах, издавая нСприятный Π·Π²ΠΎΠ½. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° 1/16 ΠΈΠ»ΠΈ 1/32 шага Π΄Π΅Π»Π°Π΅Ρ‚ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ практичСски Π±Π΅ΡΡˆΡƒΠΌΠ½Ρ‹ΠΌ ΠΈ ΠΏΠ»Π°Π²Π½Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎ критичСски Π²Π°ΠΆΠ½ΠΎ для устройств, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π² ΠΆΠΈΠ»Ρ‹Ρ… помСщСниях, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ слСТСния ΠΈΠ»ΠΈ автоматичСскиС ΡˆΡ‚ΠΎΡ€Ρ‹. Однако стоит ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ крутящий ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π° ΠΌΠΈΠΊΡ€ΠΎΡˆΠ°Π³Π°Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ нСсколько ΡΠ½ΠΈΠΆΠ°Ρ‚ΡŒΡΡ.

Диагностика ΠΈ устранСниС ошибок

НаиболСС частой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΠΏΡ€ΠΈ сборкС систСмы являСтся пропуск шагов, ΠΊΠΎΠ³Π΄Π°