Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡˆΠ°Π³ΠΎΠ²Ρ‹ΠΌ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»Π΅ΠΌ Π½Π° Ардуино ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ

НСпосрСдствСнноС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡˆΠ°Π³ΠΎΠ²Ρ‹ΠΌ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»Π΅ΠΌ Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ‚ΠΎΡ‡Π½ΠΎΠΉ настройки ΠΏΠΈΠ½ΠΎΠ² ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ пропуск шагов ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ. Если Π²Ρ‹ просто ΠΏΠΎΠ΄Π°Π΄ΠΈΡ‚Π΅ сигнал Π½Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Π±Π΅Π· ΡƒΡ‡Π΅Ρ‚Π° ΠΈΠ½Π΅Ρ€Ρ†ΠΈΠΈ Ρ€ΠΎΡ‚ΠΎΡ€Π° ΠΈ debounce-эффСкта ΠΊΠ½ΠΎΠΏΠΎΠΊ, Π²Π°Π» двигатСля ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π΅Ρ€Π³Π°Ρ‚ΡŒΡΡ ΠΈΠ»ΠΈ вовсС Π½Π΅ сдвинСтся с мСста. ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ Π²Π°ΠΆΠ½ΠΎ сразу ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, соотвСтствуСт Π»ΠΈ напряТСниС питания VCC ΠΈ Vmot характСристикам вашСго Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°, Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ A4988 ΠΈΠ»ΠΈ DRV8825.

Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ³ΠΎ контроля пСрСмСщСния Π²Π°Π»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° ΠΈ физичСскоС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. Π’ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Arduino Uno ΠΈΠ»ΠΈ Nano Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Π² Ρ‚ΠΎΠΊΠΈ ΠΎΠ±ΠΌΠΎΡ‚ΠΎΠΊ. Ошибки Π½Π° этом этапС часто приводят ΠΊ ΠΏΠ΅Ρ€Π΅Π³Ρ€Π΅Π²Ρƒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΈΠ»ΠΈ Ρ…Π°ΠΎΡ‚ΠΈΡ‡Π½ΠΎΠΌΡƒ Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΡŽ.

НСобходимыС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° оборудования

ΠŸΠ΅Ρ€Π΅Π΄ сборкой схСмы ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ всС элСмСнты для создания ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ†Π΅ΠΏΠΈ питания ΠΈ управлСния. Основой систСмы являСтся ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ сигналы с ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ² для Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°. Для стандартных ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Ρ‡Π°Ρ‰Π΅ всСго Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ ΠΏΠ»Π°Ρ‚Ρ‹ Π½Π° Π±Π°Π·Π΅ ATmega328P.

Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ шагового двигатСля выступаСт посрСдником ΠΌΠ΅ΠΆΠ΄Ρƒ слаботочной Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ Arduino ΠΈ ΠΌΠΎΡ‰Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΠΌΠΎΡ‚ΠΊΠ°ΠΌΠΈ ΠΌΠΎΡ‚ΠΎΡ€Π°. ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²Ρ€ΠΎΠ΄Π΅ TMC2208 ΠΈΠ»ΠΈ L298N ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ трСбования ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡŽ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² STEP ΠΈ DIR. Π’Π°ΠΆΠ½ΠΎ Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΏΡƒΡ‚Π°Ρ‚ΡŒ Ρ„Π°Π·Ρ‹ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ самого ΠΌΠΎΡ‚ΠΎΡ€Π° ΠΊ Ρ€Π°Π·ΡŠΠ΅ΠΌΡƒ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°.

  • πŸ”Œ ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Arduino (Uno, Nano ΠΈΠ»ΠΈ Mega).
  • βš™οΈ Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ шагового двигатСля (A4988, DRV8825, TB6600).
  • πŸŽ›οΈ Π”Π²Π΅ Ρ‚Π°ΠΊΡ‚ΠΎΠ²Ρ‹Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π±Π΅Π· фиксации для управлСния Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ.
  • πŸ”‹ Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ питания 12V (ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚ USB для ΠΌΠΎΡ‚ΠΎΡ€Π°).

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Никогда Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ ΡˆΠ°Π³ΠΎΠ²Ρ‹ΠΉ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΡŒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΊ ΠΏΠΈΠ½Π°ΠΌ Arduino Π±Π΅Π· Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚ΠΎΠΊ ΠΎΠ±ΠΌΠΎΡ‚ΠΎΠΊ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ допустимый для ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° 40 мА.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ использования ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… рСзисторов, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π»ΠΎΠΆΠ½Ρ‹Ρ… срабатываний ΠΈΠ·-Π·Π° Π½Π°Π²ΠΎΠ΄ΠΎΠΊ. Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ рСзисторы INPUT_PULLUP Π² Arduino ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ схСму, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΎΠ΄Π½Ρƒ сторону ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΊ ΡΠΈΠ³Π½Π°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΏΠΈΠ½Ρƒ, Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΊ Π·Π΅ΠΌΠ»Π΅.

Π‘Ρ…Π΅ΠΌΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° ΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΊ Arduino

ΠšΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Π°Ρ коммутация Π²Ρ‹Π²ΠΎΠ΄ΠΎΠ² являСтся Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚ΠΎΠΌ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ всСй систСмы управлСния. Π‘ΠΈΠ³Π½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΈΠ½ STEP Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ соСдинСн с Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹ΠΌ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ Arduino, capable Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ быстрыС ΠΈΠΌΠΏΡƒΠ»ΡŒΡΡ‹. Для ΠΊΠ½ΠΎΠΏΠΎΠΊ управлСния ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΈΠ½Ρ‹ 2 ΠΈ 3, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ прСрывания.

НаправлСниС вращСния задаСтся Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΈΠ½ DIR, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ логичСским ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π΄Π²Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΎΠ΄Π½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π·Π° Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΎΠ΄Π½Ρƒ сторону, Π° вторая β€” Π·Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‚. Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° типовая распиновка для Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° A4988.

Пин Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Пин Arduino НазначСниС ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅
STEP Pin 9 ГСнСрация шагов Π˜ΠΌΠΏΡƒΠ»ΡŒΡΠ½Ρ‹ΠΉ сигнал
DIR Pin 8 НаправлСниС Высокий/Низкий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ
ENABLE GND Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π—Π°ΠΌΠΊΠ½ΡƒΡ‚ΡŒ для Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ
VMOT 12V (Π‘ΠŸ) ΠŸΠΈΡ‚Π°Π½ΠΈΠ΅ ΠΌΠΎΡ‚ΠΎΡ€Π° НС ΠΎΡ‚ USB!

ΠŸΡ€ΠΈ ΠΌΠΎΠ½Ρ‚Π°ΠΆΠ΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π° ΠΌΠ°ΠΊΠ΅Ρ‚Π½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρƒ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ рСзисторы Π½ΠΎΠΌΠΈΠ½Π°Π»ΠΎΠΌ 10 кОм, Ссли Π½Π΅ задСйствуСтС Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ подтяТку. Π­Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚"Π΄Ρ€Π΅Π±Π΅Π·Π³" ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊΠ½ΠΎΠΌΡƒ ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π½ΠΈΡŽ шага ΠΏΡ€ΠΈ ΠΎΠ΄Π½ΠΎΠΌ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ. Для ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ, часто ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ схСму с ΠΎΠ±Ρ‰ΠΈΠΌ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΎΠΌ.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° схСмы ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для управлСния шаговиком

НаписаниС ΠΊΠΎΠ΄Π° с нуля для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π°ΠΉΠΌΠΈΠ½Π³ΠΎΠ² шагов Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ использованиС спСциализированных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ. Бтандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Stepper, идущая Π² ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚Π΅ с IDE, Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π·Π°Π΄Π°Ρ‡ Π²ΠΎ врСмя вращСния, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΉ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π‘ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ являСтся использованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ AccelStepper. Она ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ускорСниС, Ρ‚ΠΎΡ€ΠΌΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ, Ρ‡Ρ‚ΠΎ самоС Π²Π°ΠΆΠ½ΠΎΠ΅ для нашСй Π·Π°Π΄Π°Ρ‡ΠΈ, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. Π­Ρ‚ΠΎ позволяСт ΠΎΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ состояниС ΠΊΠ½ΠΎΠΏΠΎΠΊ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π΅ loop Π±Π΅Π· Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ.

  • πŸ“š Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Stepper (базовая, Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰Π°Ρ).
  • πŸš€ Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° AccelStepper (рСкомСндуСмая, с ускорСниСм).
  • ⏱️ Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° MultiStepper (для синхронизации Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΌΠΎΡ‚ΠΎΡ€ΠΎΠ²).

Для установки Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ AccelStepper ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² мСню Sketch -> Include Library -> Manage Libraries ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π² поискС. ПослС установки Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ доступ ΠΊ классам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Π΅Ρ€ΡƒΡ‚ Π½Π° сСбя расчСт Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ шагами.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ AccelStepler Π»ΡƒΡ‡ΡˆΠ΅?

Π­Ρ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ систСмноС врСмя (micros) для планирования шагов, Ρ‡Ρ‚ΠΎ позволяСт процСссору Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈΠ»ΠΈ ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΠΎ UART, ΠΏΠΎΠΊΠ° ΠΌΠΎΡ‚ΠΎΡ€ ΠΏΠ»Π°Π²Π½ΠΎ разгоняСтся.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄: базовая Π»ΠΎΠ³ΠΈΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π’ основС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π»Π΅ΠΆΠΈΡ‚ Ρ†ΠΈΠΊΠ» опроса состояния ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈ Π²Ρ‹Π·ΠΎΠ² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² двиТСния. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ хранят Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС систСмы: стоит Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΡŒ ΠΈΠ»ΠΈ двиТСтся, ΠΈ Π² ΠΊΠ°ΠΊΡƒΡŽ сторону. Π›ΠΎΠ³ΠΈΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ построСна Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ происходило Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠΊΠ° ΠΊΠ½ΠΎΠΏΠΊΠ° удСрТиваСтся ΠΈΠ»ΠΈ Π±Ρ‹Π»ΠΎ ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅, Π² зависимости ΠΎΡ‚ Π·Π°Π΄Π°Ρ‡ΠΈ.


#include

#define STEP_PIN 9

#define DIR_PIN 8

#define BTN_UP 2

#define BTN_DOWN 3

AccelStepper stepper(1, STEP_PIN, DIR_PIN);

void setup {

stepper.setMaxSpeed(1000);

stepper.setAcceleration(500);

pinMode(BTN_UP, INPUT_PULLUP);

pinMode(BTN_DOWN, INPUT_PULLUP);

}

void loop {

if (digitalRead(BTN_UP) == LOW) {

stepper.setSpeed(500);

stepper.runSpeed;

} else if (digitalRead(BTN_DOWN) == LOW) {

stepper.setSpeed(-500);

stepper.runSpeed;

} else {

stepper.stop;

}

}

Π’ прСдставлСнном ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ runSpeed, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π²Ρ‹Π·ΠΎΠ²Π° Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π΅ loop для поддСрТания двиТСния. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ moveTo с ускорСниСм, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ run. Π Π°Π·Π½ΠΈΡ†Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π·Π°Π΄Π°Π΅Ρ‚ ΠΏΠΎΡΡ‚ΠΎΡΠ½Π½ΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” Ρ†Π΅Π»Π΅Π²ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ с ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ΠΌ Ρ€Π°Π·Π³ΠΎΠ½Π°.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ использовании Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ двиТСния Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ цикличСски. Один Π²Ρ‹Π·ΠΎΠ² step сдСлаСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ шаг ΠΈ остановится.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠ½ΠΎΠΏΠΎΠΊ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Π½ΠΈΠ·ΠΊΠΎΠ³ΠΎ уровня благодаря INPUT_PULLUP. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² (ΠΊΠΎΠ³Π΄Π° ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π΅ Π½Π°ΠΆΠ°Ρ‚Π°) Π½Π° ΠΏΠΈΠ½Π΅ логичСская Π΅Π΄ΠΈΠ½ΠΈΡ†Π°, Π° ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ β€” ноль. Вакая конфигурация Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ устойчива ΠΊ ΠΏΠΎΠΌΠ΅Ρ…Π°ΠΌ.

πŸ“Š Какой Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅ всСго?
A4988
DRV8825
TMC2208
L298N

УстранСниС Π΄Ρ€Π΅Π±Π΅Π·Π³Π° ΠΈ настройка Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

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

БущСствуСт Π΄Π²Π° основных способа Π±ΠΎΡ€ΡŒΠ±Ρ‹ с этим явлСниСм: Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ. Аппаратный Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² установкС кондСнсатора ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сглаТиваСт скачки напряТСния. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΈΠ»ΠΈ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° послС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ зарСгистрированного наТатия.

  • ⏳ ИспользованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ millis для создания Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° debounce.
  • πŸ”Œ Установка кондСнсатора 0.1 ΠΌΠΊΠ€ Π½Π° ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ ΠΊΠ½ΠΎΠΏΠΊΠΈ.
  • πŸ›‘ Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹Ρ… сигналов Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ 50-100 мс.

РСализация ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€Π΅Π±Π΅Π·Π³Π° Ρ‡Π΅Ρ€Π΅Π· millis ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅, Ρ‡Π΅ΠΌ использованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ delay, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ послСдняя останавливаСт всю ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ полоТСния двигатСля. Π’ ΠΊΠΎΠ΄Π΅ это рСализуСтся Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ послСднСго ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ наТатия.

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

Если Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΡŒ Π³ΡƒΠ΄ΠΈΡ‚, Π½ΠΎ Π½Π΅ вращаСтся, скорСС всСго, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° кроСтся Π² Ρ‚ΠΎΠΊΠ΅ ΠΈΠ»ΠΈ порядкС Ρ„Π°Π·. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° ΠΎΠ±ΠΌΠΎΡ‚ΠΎΠΊ ΠΊ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρƒ. Для ΠΌΠΎΡ‚ΠΎΡ€ΠΎΠ² с 4 Π²Ρ‹Π²ΠΎΠ΄Π°ΠΌΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠ°Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ звонятся ΠΌΠ΅ΠΆΠ΄Ρƒ собой ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ, ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈΡ… ΠΊ A+ A- ΠΈ B+ B-.

Π’ случаС, ΠΊΠΎΠ³Π΄Π° Arduino пСрСзагруТаСтся ΠΏΡ€ΠΈ запускС двигатСля, это ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π½Π΅Ρ…Π²Π°Ρ‚ΠΊΡƒ Ρ‚ΠΎΠΊΠ° ΠΎΡ‚ USB-ΠΏΠΎΡ€Ρ‚Π°. ВсСгда Π·Π°ΠΏΠΈΡ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ ΡˆΠ°Π³ΠΎΠ²Ρ‹ΠΉ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΡŒ ΠΎΡ‚ внСшнСго источника, соСдиняя Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠΈΠ³Π½Π°Π»ΡŒΠ½Ρ‹Π΅ Π·Π΅ΠΌΠ»ΠΈ. Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ настройку ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠΎΠΌΠ΅Ρ‚Ρ€Π° Π½Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ для ограничСния Ρ‚ΠΎΠΊΠ°.

Частой ошибкой являСтся ΠΈΠ³Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ трСбования зазСмлСния. Если зСмля Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° ΠΈ зСмля Arduino Π½Π΅ соСдинСны, логичСскиС ΡƒΡ€ΠΎΠ²Π½ΠΈ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ, ΠΈ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΡŒ останСтся Π½Π΅ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½Ρ‹ΠΌ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Ρ‚Ρ€ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ цСлостности Ρ†Π΅ΠΏΠΈ GND.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΡŒ Π΄Π΅Π»Π°Π΅Ρ‚ шаг Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ отпускании ΠΊΠ½ΠΎΠΏΠΊΠΈ?

Π­Ρ‚ΠΎ классичСская ошибка Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΊΠΎΠ΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° условия двиТСния стоит Π² Π±Π»ΠΎΠΊΠ΅, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅ΠΌΡΡ ΠΏΡ€ΠΈ смСнС состояния (rising/falling edge), Π° Π½Π΅ Π² Ρ†ΠΈΠΊΠ»Π΅ удСрТания. НСобходимо пСрСнСсти ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ вращСния Π²Π½ΡƒΡ‚Ρ€ΡŒ условия, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‰Π΅Π³ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ сигнала Π½Π° ΠΏΠΈΠ½Π΅.

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π΄Π²ΡƒΡ… ΠΊΠ½ΠΎΠΏΠΎΠΊ?

Π”Π°, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ"Π‘Ρ‚ΠΎΠΏ", ΠΊΠ½ΠΎΠΏΠΊΡƒ Π²Ρ‹Π±ΠΎΡ€Π° скорости ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ дТойстик. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ числом свободных Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… ΠΏΠΈΠ½ΠΎΠ² вашСй ΠΏΠ»Π°Ρ‚Ρ‹ Arduino. Для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ I2C.

Как ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ вращСния Π² ΠΊΠΎΠ΄Π΅?

НаправлСниС мСняСтся инвСрсиСй логичСского уровня Π½Π° ΠΏΠΈΠ½Π΅ DIR. Π’ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ AccelStepper это дСлаСтся автоматичСски ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ значСния скорости ΠΈΠ»ΠΈ Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ.

ГрССтся Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ A4988, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ?

НагрСв Π΄ΠΎ 60-70 градусов Π½ΠΎΡ€ΠΌΠ°Π»Π΅Π½ ΠΏΡ€ΠΈ Ρ‚ΠΎΠΊΠ΅ ΠΎΠΊΠΎΠ»ΠΎ 1А. Если Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ раскаляСтся Π΄ΠΎ нСвозмоТности ΠΊΠΎΡΠ½ΡƒΡ‚ΡŒΡΡ, ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚Π΅ Ρ‚ΠΎΠΊ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠΎΠΌΠ΅Ρ‚Ρ€ ΠΈΠ»ΠΈ установитС Ρ€Π°Π΄ΠΈΠ°Ρ‚ΠΎΡ€ с вСнтилятором. Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π½Π΅ Π·Π°ΠΊΠΎΡ€ΠΎΡ‡Π΅Π½Ρ‹ Π»ΠΈ Π²Ρ‹Π²ΠΎΠ΄Ρ‹ ΠΌΠΎΡ‚ΠΎΡ€Π°.