Prispevki
Modul za krmiljenje manjšega motorja
Uvod
Modul uporablja enokanalni H-most: HR1124S.
H-mostič (H-bridge) modul je elektronska komponenta, ki se pogosto uporablja za nadzor smeri vrtenja in hitrosti enosmernih (DC) motorjev. H-mostič je sestavljen iz štirih stikal, ki tvorijo “most” okoli motorja. Z nadzorovanjem teh stikal lahko nadzorujemo smer in hitrost vrtenja motorja.
H-mostič deluje tako, da se dve diagonalno nasproti ležeči stikali vklopijo ali izklopijo, kar omogoča, da se napetost na motorju preklopi med pozitivno in negativno. To povzroči spremembo smeri vrtenja motorja. Hitrost motorja je mogoče nadzorovati s spreminjanjem širine impulza (PWM – Pulse Width Modulation) signala, ki ga pošiljamo na stikala.
H-bridge moduli so na voljo v različnih konfiguracijah in zmogljivostih ter so pogosto uporabljeni v robotiki, avtomatizaciji in drugih aplikacijah, kjer je potreben nadzor nad enosmernimi motorji.
Specifikacije
Krmilni čip: HR1124S
Napetost: 1.8V-6.8V
Tok: nizak tok v stanju mirovanja (0.01uA) in nizak delovni tok v mirovanju (0.2mA), neprekinjen izhodni tok 1.2A
Velikost izdelka: 31.6mm x 23.7mm
Temperaturno območje delovanja: 1°C ~ 50°C
Shematski Diagram
Logika Krmiljenja
Tabela za logiko vhodov in izhodov
PWM lahko regulira hitrost motorja. Na primer, za vrtenje v smeri urinega kazalca, naj bo INA visoka raven in INB nizka raven, hitrost vrtenja pa je najvišja.
Če INA prejema PWM val, in INB ostaja na nizki ravni, je razmerje dolžine impulza pri INA hitrost regulacije.
Če INA ostane na visoki ravni in INB prejema PWM val, je razmerje dolžine impulza pri INB hitrost regulacije.
Diagram povezave
Testni koda 1: (Krmiljenje izhoda z visokimi in nizkimi nivoji)
Programska koda
//*****************************************************************************
void setup(){
pinMode(5, OUTPUT);//Set digital 5 to Output
pinMode(6, OUTPUT);//Set digital 6 to Output
}
void loop(){
//make the motor rotate clockwise for 3000ms
digitalWrite(5,LOW);//set digital 5 to low level
digitalWrite(6,HIGH);//set digital 5 to high level
delay(3000);//delay in 3s
//make motor stop rotating for 1000ms
digitalWrite(5,LOW);
digitalWrite(6,LOW);
delay(1000);
//make the motor rotate anticlockwise for 3000ms
digitalWrite(5,HIGH);
digitalWrite(6,LOW);
delay(3000);
//make motor stop rotating for 1000ms
digitalWrite(5,LOW);
digitalWrite(6,LOW);
delay(1000);
}
//*****************************************************************************
6.2 Test Code 2:(PWM output control)
//*****************************************************************************
void setup(){
pinMode(5, OUTPUT); //Set digital 5 to Output
pinMode(6, OUTPUT); //set digital 6 to OUTPUT}
void loop(){
//make the motor rotate clockwise for 3000ms
analogWrite(5,0); //set PWM value at digital 5 to 0
analogWrite(6,200); //set PWM value at digital 6 to 200
delay(3000); //delay in 3s
//make motor stop rotating for 1000ms
analogWrite(5,0);
analogWrite(6,0);
delay(1000);
//make the motor rotate anticlockwise for 3000ms
analogWrite(5,200);
analogWrite(6,0);
delay(3000);
//make the motor stop rotating for 1000ms
analogWrite(5,0);
analogWrite(6,0);
delay(1000);
}
//*****************************************************************************
Rezultat
Naložite kodo, povežite žice in priključite zunanje napajanje. Motor se bo vrtel 3 sekunde v smeri urinega kazalca, ustavil 1 sekundo, se nato vrtel 3 sekunde v nasprotni smeri urinega kazalca in spet ustavil 1 sekundo. Vzorec se neskočno ponavljal.