Commande de moteur SBC

Double commande moteur Joy-It basée sur un L298N permettant de contrôler la vitesse et le sens de deux moteurs CC à partir d'un microcontrôleur Arduino par exemple. Il convient pour les charges inductives: moteurs, solénoîdes, relais, etc.

Caractéristiques:

  • Alimentation du moteur: 5 à 35 Vcc

  • Niveau logique: 5 V

  • Courant de sortie: 2 A par moteur (en fonction de la tension)

  • Puissance de sortie: 25 W maxi

  • Signal de commande:

    - Vitesse: PWM

    ​- Sens de rotation: logique

  • Dimensions: 43 x 43 x 27 mm

Référence fabricant: SBC-Motodrivers2

AttentionRègles de pilotage

Le driver permet de commander 2 moteurs

Dans l'exemple ci-dessus 1 seul moteur est commandé par IN1ou IN2

IL NE FAUT PAS PILOTER IN1 et IN2 en même temps sous peine de destruction du driver ! ! !

ENA = 3.3V

IN1=3.3V

IN2=GND

Marche avant

IN1=GND

IN2=3.3V

Marche arrière

IN1=IN2=GND

arrêt freiné

ENA=GND

arrêt roue libre

MéthodeProgrammation ESP32 mode simple

Réalisez le câblage suivant :

1
#Pilotage driver en mode TOR temporisé by Turgot
2
from machine import Pin
3
import time
4
5
# Configuration
6
Mav = Pin(2, Pin.OUT)
7
Mar = Pin(15, Pin.OUT)
8
9
# Fonction marche avant temporisée
10
def MarcheAVt(t):
11
    print("Marche Avant")
12
    Mav.on()
13
    time.sleep(t)
14
    Mav.off()
15
    print("Arrêt")
16
17
# Fonction marche arrière temporisée
18
def MarcheARt(t):
19
    print("Marche Arrière")
20
    Mar.on()
21
    time.sleep(t)
22
    Mar.off()
23
    print("Arrêt")
24
25
# Programme de test   
26
MarcheARt(1)
27
time.sleep(2)
28
MarcheAVt(1)
29

ComplémentProgramme ESP32 en PWM

Câblage identique sauf si on utilise ENA...

1
#Pilotage driver
2
from machine import Pin, PWM
3
import time
4
5
#configuration
6
frequency = 25000
7
Mav = PWM(Pin(2), frequency)
8
Mar = PWM(Pin(15), frequency)
9
10
#fonction marche avant MarcheAVt(puissance%):
11
def MarcheAV(p):
12
    print("Marche Avant",p,"%")
13
    duty=int(p*10.23)
14
    print (duty)
15
    Mav.duty(duty)
16
17
#Programme de test
18
MarcheAV(10)
19
time.sleep(2)
20
MarcheAV(40)
21
time.sleep(2)
22
MarcheAV(65)
23
time.sleep(2)
24
MarcheAV(0)
25
26
27