ΠΠ΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π³ΠΎΠ²ΡΠΌ Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»Π΅ΠΌ Π½Π° Π°ΡΠ΄ΡΠΈΠ½ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ ΡΡΠ΅Π±ΡΠ΅Ρ ΡΠΎΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠΈΠ½ΠΎΠ² ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ, ΡΡΠΎΠ±Ρ ΠΈΡΠΊΠ»ΡΡΠΈΡΡ ΠΏΡΠΎΠΏΡΡΠΊ ΡΠ°Π³ΠΎΠ² ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ. ΠΡΠ»ΠΈ Π²Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ΄Π°Π΄ΠΈΡΠ΅ ΡΠΈΠ³Π½Π°Π» Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π±Π΅Π· ΡΡΠ΅ΡΠ° ΠΈΠ½Π΅ΡΡΠΈΠΈ ΡΠΎΡΠΎΡΠ° ΠΈ 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 ΠΊΠΠΌ, Π΅ΡΠ»ΠΈ Π½Π΅ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΡΠ΅ΡΠ΅ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΠΏΠΎΠ΄ΡΡΠΆΠΊΡ. ΠΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡ"Π΄ΡΠ΅Π±Π΅Π·Π³" ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊΠ½ΠΎΠΌΡ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ ΡΠ°Π³Π° ΠΏΡΠΈ ΠΎΠ΄Π½ΠΎΠΌ Π½Π°ΠΆΠ°ΡΠΈΠΈ. ΠΠ»Ρ ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ, ΡΠ°ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΡ Π΅ΠΌΡ Ρ ΠΎΠ±ΡΠΈΠΌ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΎΠΌ.
βοΈ ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡ Π΅ΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°Π³ΠΎΠ²ΠΈΠΊΠΎΠΌ
ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Ρ Π½ΡΠ»Ρ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠ°ΠΉΠΌΠΈΠ½Π³ΠΎΠ² ΡΠ°Π³ΠΎΠ² Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ Π·Π°Π΄Π°ΡΡ ΠΈ ΠΏΠΎΠ²ΡΡΠ°Π΅Ρ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΡ. Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° 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. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π² (ΠΊΠΎΠ³Π΄Π° ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π΅ Π½Π°ΠΆΠ°ΡΠ°) Π½Π° ΠΏΠΈΠ½Π΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ°Ρ Π΅Π΄ΠΈΠ½ΠΈΡΠ°, Π° ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ β Π½ΠΎΠ»Ρ. Π’Π°ΠΊΠ°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΡΡΠΎΠΉΡΠΈΠ²Π° ΠΊ ΠΏΠΎΠΌΠ΅Ρ
Π°ΠΌ.
Π£ΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π΄ΡΠ΅Π±Π΅Π·Π³Π° ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ
ΠΠ΅Ρ Π°Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ Π΄ΡΠΎΠΆΠ°Ρ, Π·Π°ΠΌΡΠΊΠ°ΡΡΡ ΠΈ ΡΠ°Π·ΠΌΡΠΊΠ°ΡΡΡ ΡΠΎΡΠ½ΠΈ ΡΠ°Π· Π·Π° Π΄ΠΎΠ»ΠΈ ΡΠ΅ΠΊΡΠ½Π΄Ρ. ΠΠ»Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ° ΡΡΠΎ Π½Π΅Π·Π°ΠΌΠ΅ΡΠ½ΠΎ, Π½ΠΎ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° 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Π. ΠΡΠ»ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΡΠ°ΡΠΊΠ°Π»ΡΠ΅ΡΡΡ Π΄ΠΎ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠΎΡΠ½ΡΡΡΡΡ, ΡΠΌΠ΅Π½ΡΡΠΈΡΠ΅ ΡΠΎΠΊ ΡΠ΅ΡΠ΅Π· ΠΏΠΎΡΠ΅Π½ΡΠΈΠΎΠΌΠ΅ΡΡ ΠΈΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ°Π΄ΠΈΠ°ΡΠΎΡ Ρ Π²Π΅Π½ΡΠΈΠ»ΡΡΠΎΡΠΎΠΌ. Π’Π°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅, Π½Π΅ Π·Π°ΠΊΠΎΡΠΎΡΠ΅Π½Ρ Π»ΠΈ Π²ΡΠ²ΠΎΠ΄Ρ ΠΌΠΎΡΠΎΡΠ°.