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.

 

 

0347-1.png

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

0347-2.png

Logika Krmiljenja
Tabela za logiko vhodov in izhodov
0347-3.png

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)

0510-5.png
0347-5.png

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.