Как ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΌΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ‡Π΅Ρ€Π΅Π· Arduino: ΠΎΡ‚ Ρ‚Π΅ΠΎΡ€ΠΈΠΈ ΠΊ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ€ΠΎΠ±ΠΎΡ‚ΠΎΠ², ΡƒΠΌΠ½Ρ‹Ρ… машинок ΠΈΠ»ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² часто начинаСтся с простого вопроса: ΠΊΠ°ΠΊ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°? Arduino являСтся идСальной ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ для Ρ‚Π°ΠΊΠΈΡ… экспСримСнтов благодаря своСй доступности ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌΡƒ сообщСству. Однако, Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΈ часто ΡΠΎΠ²Π΅Ρ€ΡˆΠ°ΡŽΡ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ, ΠΏΡ‹Ρ‚Π°ΡΡΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΌΠΎΡ‚ΠΎΡ€ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΊ Π²Ρ‹Π²ΠΎΠ΄Π°ΠΌ ΠΏΠ»Π°Ρ‚Ρ‹, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π²Ρ‹Ρ…ΠΎΠ΄Ρƒ ΠΈΠ· строя ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ, Π½ΠΎ ΠΈ физичСскиС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ управлСния элСктродвигатСлями постоянного Ρ‚ΠΎΠΊΠ°. Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΏΠΎΡ‡Π΅ΠΌΡƒ нСльзя ΠΏΠΎΠ΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ШИМ-модуляция для Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠΈ скорости ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ всСго подходят для Π²Π°ΡˆΠΈΡ… Π·Π°Π΄Π°Ρ‡. ΠœΡ‹ рассмотрим Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ схСмы ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ своими Ρ€ΡƒΠΊΠ°ΠΌΠΈ Π·Π° ΠΎΠ΄ΠΈΠ½ Π²Π΅Ρ‡Π΅Ρ€.

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ элСктродвигатСлСм Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ понимания Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚ΠΎΠΊΠΎΠΌ ΠΈ напряТСниСм. Arduino способна Π²Ρ‹Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π° ΠΏΠΈΠ½Π°Ρ… лишь 40 мА ΠΏΡ€ΠΈ 5 Π’ΠΎΠ»ΡŒΡ‚Π°Ρ…, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π΄Π°ΠΆΠ΅ ΠΊΡ€ΠΎΡˆΠ΅Ρ‡Π½Ρ‹ΠΉ ΠΌΠΎΡ‚ΠΎΡ€Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡ‚ΡŒ сотни ΠΌΠΈΠ»Π»ΠΈΠ°ΠΌΠΏΠ΅Ρ€, особСнно Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ запуска. ИмСнно поэтому ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ элСмСнтом систСмы становится ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ΅ устройство β€” Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ΠΈΠ»ΠΈ транзисторная сборка.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ нСльзя ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΌΠΎΡ‚ΠΎΡ€ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΊ Arduino

ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄Ρ‹ ΠΌΠΎΡ‚ΠΎΡ€Π° Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΊ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹ΠΌ ΠΏΠΈΠ½Π°ΠΌ Arduino (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊ ΠΏΠΎΡ€Ρ‚Ρƒ D9 ΠΈΠ»ΠΈ D10) являСтся Π³Ρ€ΡƒΠ±ΠΎΠΉ тСхничСской ошибкой. Π’ Π»ΡƒΡ‡ΡˆΠ΅ΠΌ случаС ΠΌΠΎΡ‚ΠΎΡ€ Π±ΡƒΠ΄Π΅Ρ‚ Π΅Π»Π΅ ΡˆΠ΅Π²Π΅Π»ΠΈΡ‚ΡŒΡΡ, Π² Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ β€” Π²Ρ‹ соТТСтС ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ для вращСния Ρ€ΠΎΡ‚ΠΎΡ€Π° трСбуСтся Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½ΠΎ допустимыС значСния для Ρ‡ΠΈΠΏΠ° ATmega328P.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΡΠ»Π΅ΠΊΡ‚Ρ€ΠΎΠ΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΡŒ являСтся ΠΈΠ½Π΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ. ΠŸΡ€ΠΈ Π΅Π³ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΈΠ»ΠΈ Ρ€Π΅Π·ΠΊΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ направлСния вращСния Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅ Ρ‚ΠΎΠΊΠΈ ΠΈ скачки напряТСния. Π­Ρ‚ΠΈ выбросы ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΎΠ±ΠΈΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ структуру процСссора. Для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π΄ΠΈΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ часто ΡƒΠΆΠ΅ встроСны Π² спСциализированныС Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹.

БущСствуСт Ρ‚Ρ€ΠΈ основных способа бСзопасно ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ:

  • πŸ”Œ ИспользованиС биполярного транзистора (BJT) ΠΈΠ»ΠΈ MOSFET для простого Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ/Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.
  • βš™οΈ ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ H-моста для управлСния Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ вращСния ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ.
  • πŸ›‘οΈ ИспользованиС Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ L298N ΠΈΠ»ΠΈ TB6612FNG.

Π’Ρ‹Π±ΠΎΡ€ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°: L298N ΠΏΡ€ΠΎΡ‚ΠΈΠ² TB6612FNG

На Ρ€Ρ‹Π½ΠΊΠ΅ элСктроники Π΄ΠΎΠΌΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‚ Π΄Π²Π° Ρ‚ΠΈΠΏΠ° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² для Π»ΡŽΠ±ΠΈΡ‚Π΅Π»Π΅ΠΉ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ β€” это Π»Π΅Π³Π΅Π½Π΄Π°Ρ€Π½Ρ‹ΠΉ L298N, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π½Π°ΠΊΠΎΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ, ΠΊΡ‚ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Π» с Arduino. Π­Ρ‚ΠΎ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ, Π½ΠΎ довольно"горячий" ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π° Π±Π°Π·Π΅ старой Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ. Он способСн Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠΊΠΈ Π΄ΠΎ 2 АмпСр Π½Π° ΠΊΠ°Π½Π°Π», Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ высокоС ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ напряТСния.

Π’Ρ‚ΠΎΡ€ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ β€” TB6612FNG. Π­Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ соврСмСнный Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ эффСктивнСС, мСньшС грССтся ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ мСньшС мСста Π½Π° ΠΌΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Π΅. Если Π²Ρ‹ собираСтС ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ±ΠΎΡ‚Π°, Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅. Оба модуля ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ H-моста, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ для рСвСрса.

Π‘Ρ€Π°Π²Π½ΠΈΠΌ ΠΈΡ… ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ характСристики Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅:

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠœΠΎΠ΄ΡƒΠ»ΡŒ L298N ΠœΠΎΠ΄ΡƒΠ»ΡŒ TB6612FNG
Макс. Ρ‚ΠΎΠΊ (Π½Π° ΠΊΠ°Π½Π°Π») 2 А 1.2 А
НапряТСниС питания 5Π’ - 35Π’ 2.5Π’ - 13.5Π’
ПадСниС напряТСния ВысокоС (~2Π’) НизкоС (~0.5Π’)
Π“Π°Π±Π°Ρ€ΠΈΡ‚Ρ‹ ΠšΡ€ΡƒΠΏΠ½Ρ‹ΠΉ, с Ρ€Π°Π΄ΠΈΠ°Ρ‚ΠΎΡ€ΠΎΠΌ ΠšΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΉ
πŸ“Š Какой Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ?
L298N (классика)
TB6612FNG (ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ)
Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ Π½Π° MOSFET
Пока Π½Π΅ знаю, Π²Ρ‹Π±ΠΈΡ€Π°ΡŽ

Π‘Ρ…Π΅ΠΌΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΠΎΡ‚ΠΎΡ€Π° Ρ‡Π΅Ρ€Π΅Π· L298N

Рассмотрим процСсс ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ самого популярного модуля L298N. Для Π½Π°Ρ‡Π°Π»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ самого Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΌΠΎΡ‚ΠΎΡ€Ρ‹ Π½Π° 12Π’, Ρ‚ΠΎ источник питания ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊ ΠΊΠ»Π΅ΠΌΠΌΠ°ΠΌ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°, Π° ΠΏΠ΅Ρ€Π΅ΠΌΡ‹Ρ‡ΠΊΠ° Π½Π° ΠΏΠ»Π°Ρ‚Π΅ снимаСтся, Ссли Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡ‚Π°Ρ‚ΡŒ Arduino ΠΎΡ‚ этого ΠΆΠ΅ источника (Ρ‡Π΅Ρ€Π΅Π· Ρ€Π°Π·ΡŠΠ΅ΠΌ Vin).

Π‘ΠΈΠ³Π½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° ΠΎΡ‚ Arduino ΠΈΠ΄ΡƒΡ‚ Π½Π° Π²Ρ…ΠΎΠ΄Ρ‹ управлСния (Input 1, Input 2, Input 3, Input 4). ΠŸΠΈΠ½Ρ‹ Enable (ENA, ENB) слуТат для Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠΈ скорости Ρ‡Π΅Ρ€Π΅Π· ШИМ. Π’Π°ΠΆΠ½ΠΎ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΠΎΡ‚ΠΎΡ€ΠΎΠ² ΠΊ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ ΠΊΠ»Π΅ΠΌΠΌΠ°ΠΌ OUT1-OUT4.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄ запуском

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

Випичная схСма wiring выглядит Ρ‚Π°ΠΊ:

  • πŸ”‹ VCC (ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ ΠΌΠΎΡ‚ΠΎΡ€Π°) β†’ 12V Battery (+)
  • ⚑ GND (общая зСмля) β†’ Battery (-) ΠΈ GND Arduino
  • πŸ“‘ IN1 β†’ Arduino Pin 5
  • πŸ“‘ IN2 β†’ Arduino Pin 6

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ зСмля (GND) источника питания ΠΌΠΎΡ‚ΠΎΡ€Π° ΠΈ зСмля ΠΏΠ»Π°Ρ‚Ρ‹ Arduino соСдинСны ΠΌΠ΅ΠΆΠ΄Ρƒ собой. Π‘Π΅Π· ΠΎΠ±Ρ‰Π΅ΠΉ Π·Π΅ΠΌΠ»ΠΈ сигналы управлСния Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅: ШИМ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ

Для ΠΏΠ»Π°Π²Π½ΠΎΠ³ΠΎ измСнСния скорости вращСния Π²Π°Π»Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ тСхнология ШИМ (Π¨ΠΈΡ€ΠΎΡ‚Π½ΠΎ-Π˜ΠΌΠΏΡƒΠ»ΡŒΡΠ½Π°Ρ ΠœΠΎΠ΄ΡƒΠ»ΡΡ†ΠΈΡ). Π’ английском Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ ΠΎΠ½Π° называСтся PWM. Π‘ΡƒΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² быстром Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ питания, Π³Π΄Π΅ срСдняя ΠΌΠΎΡ‰Π½ΠΎΡΡ‚ΡŒ зависит ΠΎΡ‚ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠ°.

Π’ Arduino для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ШИМ-сигнала ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ функция analogWrite(pin, value). ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ value ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ значСния ΠΎΡ‚ 0 (ΠΏΠΎΠ»Π½Ρ‹ΠΉ останов) Π΄ΠΎ 255 (максимальная ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ). НС всС ΠΏΠΈΠ½Ρ‹ Arduino ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ β€” ΠΈΡ‰ΠΈΡ‚Π΅ Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ Ρ‚ΠΈΠ»ΡŒΠ΄ΠΎΠΉ (~), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 3, 5, 6, 9, 10, 11.

void setup {

pinMode(5, OUTPUT); // Пин управлСния ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ

pinMode(6, OUTPUT); // Пин управлСния Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ

}

void loop {

analogWrite(5, 128); // 50% скорости

digitalWrite(6, HIGH); // Установка направлСния

delay(2000);

}

ΠŸΠΎΡ‡Π΅ΠΌΡƒ 255?

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 255 Π²Ρ‹Π±Ρ€Π°Π½ΠΎ Π½Π΅ случайно. Π­Ρ‚ΠΎ максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для 8-Π±ΠΈΡ‚Π½ΠΎΠ³ΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° (2 Π² стСпСни 8 Ρ€Π°Π²Π½ΠΎ 256, Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΎΡ‚ 0 Π΄ΠΎ 255).

РСализация рСвСрса ΠΈ тормоТСния

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ вращСния (рСвСрс) осущСствляСтся ΠΏΡƒΡ‚Π΅ΠΌ измСнСния логичСских ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ Π½Π° Π²Ρ…ΠΎΠ΄Π°Ρ… Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°. Если Π½Π° ΠΎΠ΄Π½ΠΎΠΌ Π²Ρ…ΠΎΠ΄Π΅ HIGH, Π° Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ LOW, ΠΌΠΎΡ‚ΠΎΡ€ крутится Π² ΠΎΠ΄Π½Ρƒ сторону. Если ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ ΡƒΡ€ΠΎΠ²Π½ΠΈ мСстами, Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ измСнится Π½Π° ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠ΅.

БущСствуСт Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅ΠΆΠΈΠΌ быстрого тормоТСния. Для Π΅Π³ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΠ±Π° Π²Ρ…ΠΎΠ΄Π° управлСния Π² состояниС LOW (ΠΈΠ»ΠΈ HIGH, Π² зависимости ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°), Π° сигнал Enable ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ. Π­Ρ‚ΠΎ Π·Π°ΠΌΡ‹ΠΊΠ°Π΅Ρ‚ ΠΎΠ±ΠΌΠΎΡ‚ΠΊΠΈ ΠΌΠΎΡ‚ΠΎΡ€Π°, создавая эффСкт Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΈ Ρ€Π΅Π·ΠΊΠΎ останавливая Π²Π°Π».

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ состояния H-моста:

  • πŸ”„ Π’ΠΏΠ΅Ρ€Π΅Π΄: IN1 = HIGH, IN2 = LOW
  • βͺ Назад: IN1 = LOW, IN2 = HIGH
  • πŸ›‘ Π‘Ρ‚ΠΎΠΏ (Π²Ρ‹Π±Π΅Π³): IN1 = LOW, IN2 = LOW
  • 🚫 Π’ΠΎΡ€ΠΌΠΎΠΆΠ΅Π½ΠΈΠ΅: IN1 = HIGH, IN2 = HIGH (зависит ΠΎΡ‚ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°)

РаспространСнныС ошибки ΠΈ ΠΈΡ… устранСниС

Π”Π°ΠΆΠ΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Ρ‹ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ запускС. Часто ΠΌΠΎΡ‚ΠΎΡ€ Π³ΡƒΠ΄ΠΈΡ‚, Π½ΠΎ Π½Π΅ крутится. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ напряТСния Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ для прСодолСния ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° трСния, ΠΈΠ»ΠΈ источник питания слишком слаб ΠΈ"просаТиваСтся" ΠΏΠΎΠ΄ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” Π½Π°Π³Ρ€Π΅Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ L298N Π±Π΅Π· Ρ€Π°Π΄ΠΈΠ°Ρ‚ΠΎΡ€Π° ΠΏΡ€ΠΈ Ρ‚ΠΎΠΊΠ°Ρ… Π²Ρ‹ΡˆΠ΅ 1А, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π³Ρ€Π΅Ρ‚ΡŒΡΡ ΠΎΡ‡Π΅Π½ΡŒ сильно. Π’ этом случаС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΎΡ…Π»Π°ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ. Π’Π°ΠΊΠΆΠ΅ стоит ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ качСство ΠΏΠ°ΠΉΠΊΠΈ ΠΈ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΎΠ² Π½Π° ΠΌΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Π΅.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ питания всСгда сначала Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ ΠΌΠΎΡ‚ΠΎΡ€, Π° Π·Π°Ρ‚Π΅ΠΌ Ρ€Π°Π·Ρ€Ρ‹Π²Π°ΠΉΡ‚Π΅ связь с Arduino. Π Π΅Π·ΠΊΠΈΠΉ скачок напряТСния ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Ρ‹Π²Π΅ Ρ†Π΅ΠΏΠΈ ΠΈΠ½Π΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ²Ρ€Π΅Π΄ΠΈΡ‚ΡŒ ΠΏΠΎΡ€Ρ‚ USB Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

FAQ: Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы

МоТно Π»ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ сСрвоприводом Ρ‡Π΅Ρ€Π΅Π· L298N?

НСт, L298N ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для ΠΊΠΎΠ»Π»Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹Ρ… Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»Π΅ΠΉ постоянного Ρ‚ΠΎΠΊΠ°. Для сСрвоприводов (SG90, MG996R) Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Π½Π΅ Π½ΡƒΠΆΠ΅Π½, ΠΎΠ½ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΊ ΠΏΠΈΠ½Π°ΠΌ Arduino (с ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ΠΌ 5Π’) ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ Servo.h.

Какой ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΎΠΊ Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Arduino Uno?

Π‘ΡƒΠΌΠΌΠ°Ρ€Π½Ρ‹ΠΉ Ρ‚ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡ‚ΡŒ со всСх ΠΏΠΈΠ½ΠΎΠ² вмСстС взятых, Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ 200 мА. На ΠΎΠ΄ΠΈΠ½ ΠΏΠΈΠ½ β€” максимум 40 мА. Π›ΡŽΠ±ΠΎΠΉ ΠΌΠΎΡ‚ΠΎΡ€ ΠΌΠΎΡ‰Π½Π΅Π΅ toy-motor потрСбляСт большС, поэтому Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ обязатСлСн.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΌΠΎΡ‚ΠΎΡ€ свистит Π½Π° Π½ΠΈΠ·ΠΊΠΈΡ… скоростях?

Π­Ρ‚ΠΎ связано с частотой ШИМ-сигнала. Бтандартная частота Arduino (~490 Π“Ρ† ΠΈΠ»ΠΈ ~980 Π“Ρ†) ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π² ΡΠ»Ρ‹ΡˆΠΈΠΌΡ‹ΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ свист, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ частоту ШИМ Ρ‡Π΅Ρ€Π΅Π· настройку рСгистров Ρ‚Π°ΠΉΠΌΠ΅Ρ€ΠΎΠ² ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для управлСния частотой.

Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΡˆΠ°Π³ΠΎΠ²Ρ‹ΠΉ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΡŒ?

Π¨Π°Π³ΠΎΠ²Ρ‹Π΅ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ слоТного управлСния (ΠΏΠΎΠ΄Π°Ρ‡Π° ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠ² Π½Π° 4 ΠΊΠ°Ρ‚ΡƒΡˆΠΊΠΈ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ). Для Π½ΠΈΡ… ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ A4988 ΠΈΠ»ΠΈ DRV8825, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‚ этот процСсс ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ ΠΊ Arduino Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ L298N, Π½ΠΎ с Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ.