Introduktion
Vi er i stand til at drive en DC motor ved brug af en transistor.. I én retning. Men hvad nu hvis man har lyst til at kunne drive den i to forskellige retninger - både frem OG tilbage - hvad gør man så? Lad mig præsentere H-broen!
Så for drivsel i begge retninger tager vi fat i vores DC motor og tilkobler den til vores H-Bro på en måde så strømmen kan løbe igennem modulet i begge retninger. Måske nemmere sagt end gjort, men dette er konceptet, der tillader DC-motoren at kunne fungere i begge retninger.
Bloggen her vil forsøge at forklare funktionaliteten af en H-bro og derefter vi der blive gennemgået en demonstration af opsætningen af kredsløbet, og der vil henvises til den benyttede kode. Hvis du blot er interesseret i implementeringen og ikke af selve teorien af en H-bro, så klik her!
H-broen er derfor et meget nyttigt værktøj og bruges i mange teknologier. Men hvad er en H-bro og hvordan fungerer den? En H-bro kan faktisk bestå af et sæt transistorer, der samarbejder i et netværk. Dette netværk består typisk af fire transistorer. Retningen af strømmen igennem netværket afhænger af de logiske værdier (HIGH/LOW eller 1 og 0) for de forskellige pins i netværket. Og disse logiske værdier er dikteret ud fra spændingen, der findes over baserne for transistorerne. Vi snakkede om de logiske værdier, HIGH/LOW eller 1 og 0, i bloggen om Digitale Kredsløb.
H-bro eksempel - BJT
Lad os nu fortsætte med at se på et eksemple af et kredsløb for en H-bro, der er konstrueret med to PNP transistorer og to NPN transistorer, se figur 1.
Figur 1: Illustration af et kredsløb for en H-bro. H-Broen er konstrueret med 4 BJT transistorer - to PNP transistorer (blå) og to NPN transistorer (lilla) og DC motoren er placeret i midten.
På figur 1 ser vi at H-broen er kostrueret af to PNP transistorer (blå) og to NPN transistorer (lilla). Der benyttes her BJT transistorer, da vi allerede har en blog om Analoge Kredsløb, der forklarer lidt om hvordan BJT transistorer fungerer. Som vi også nævner i bloggen om analoge kredsløb, udfører BJT og MOSFET transistorer lignende funktioner. Så både MOSFET's g BJT'er kan bruges i H-broer, og valget af, hvilke der skal bruges afhænger af de specifikke applikationskrav.
Generelt foretrækkes MOSFET'er frem for BJT'er i H-broer, fordi de har lavere on-state modstand, hvilket resulterer i lavere effekttab og højere effektivitet. De har også hurtigere switching hastigheder og dermed lavere switching losses (Se bloggen om Power Electronics! for at lære om swithing losses). MOSFET's kan nemlig også fungere ved højere frekvenser end BJT'er.
BJT'er er dog nogle standhaftige spirevipper er og typisk mere robuste og tolerante over for overspændingsforhold, hvilket kan være vigtigt i nogle applikationer. Derudver bruges BJT'er i lavspændings H-brokredsløb, hvor swithing losses typisk er mindre. BJT'er har også relativt lav on-modstand og høj strømforstærkning, hvilket gør dem velegnede til at styre små til mellemstore belastninger. Det man skal bide fast i her, er altså at når man designer en H-bro, er det vigtigt at overveje afvejningen mellem forskellige transistortyper. I vores tilfælde her for at lære om H-broen fungerer BJT transistoren helt fint.
På figur 1 ser vi, at basen for de to transistorer på venstre side af moteren er forbundet til punkt A og at de resterende to transistors baser er forbundet til punkt B. I bunden af figur 1 har vi emitteren for vores NPN transistorer tilkoblet til jord. Øverst i figuren har vi vores PNP forbundet til Vin, som er vores positive spænding. Fidusen her er så, at ved at ændre spændingen over punkt A og B til HIGH /LOW eller 1 og 0, kan vi ændre retningen af strømmen gennem motoren. Der er fire forskellige kombinationer af spændinger over punkt A og B, se figur 2.
Figur 2: Illustration af de fire kombinationer af spændinger over punkt A og B.
Hvis vi trækker vejret dybt og tager en slurk kaffe, så bemærker vi måske at hvis A og B er 0 så vil deres tilhørende PNP transistorer åbne og lade en strøm løbe igennem dem, se figur 3.
Figur 3: Illustration af tilfældet når A og B er 0.
Når A og B er 1 vil NPN transistorne åbnes, se figur 4.
Figur 4: Illustration af tilfældet når A og B er 1.
Men hvorfor er det nu også så godt at vide? Tjoo, dette koncept er faktisk super vigtigt, fordi med denne opsætning er der ingen mulighed for at strømme kan løbe direkte igennem netværket som vist nedenfor på figur 5.
Figur 5: Illustration af en ikke-mulig retning for strømmen i netværket.
Dette er en god ting, fordi hvis strømmen kunne løbe den retning så ville vi have med en kortslutning at gøre og transistorerne ville højst sandsynligt gå i stykker og DC motoren ville hverken kunne fungere i den ene eller den anden retning.
Så det er altså en retning vi ikke ønsker for strømmen. Men hvilke retninger er det så vi er interesserede i? Som sagt, så hvis både A og B er 0, så vil der ingen strøm løbe, da begge vores NPN'er er lukkede og kun vores PNP'er er åbne. Og som du måske har gættet så når både A og B er 1 har vi samme princip - ingen strøm - men nu fordi vores NPN'er åbnes og vores PNP'er lukkes.
Det betyder altså at disse tilfælde vil udgøre at motoren er i inaktiv tilstand. Det betyder at der blot er to tilfælde i vores tabel i figur 2, der udgør drivsel af DC motoren, se figur 6.
Figur 6: Tilfælde af drift for motoren set i netværket i figur 1.
Det er altså disse to tilfælde i den grønne cirkel vi er interesserede i og hvert tilfælde vil drive motoren i modsat retning i forhold til hinanden.
For det første af de to tilfælde i den grønne cirkel har vi at A er 1 og B er 0. Strømmen vil da løbe fra Vin igennem PNP transistoren på højre side ved punkt B, gennem motoren og videre ud mod udgangen igennem NPN transistoren ved punkt A, som vist på figur 7.
Figur 7: Tilfældet når A er 1 og B er 0.
For det andet tilfælde i den grønne cirkel har vi at A er 0 og B er 1. Dette vil altså tillade strømmen at løbe igennem motoren i den modsatte retning end ved det forrige tilfælde illustreret på figur 7.
Strømmen vil da løbe fra Vin igennem PNP transistoren på venstre side ved punkt A, gennem motoren og videre ud mod udgangen igennem NPN transistoren ved punkt B, som vist på figur 8.
Figur 8: Tilfældet når A er 0 og B er 1.
Dette er altså metoden hvorledes H-broer kan ændre retningen og mængden af strøm, der afsættes i motoren - nemlig ved at ændre polariteten for DC motorens input og output.
En af de mest almindelige anvendelser af H-broer er i styringen af robotter og andre automatiserede systemer, hvor der er behov for at styre bevægelsen af motorer i forskellige retninger og hastigheder. H-broer kan også anvendes i andre applikationer, såsom i solcelleanlæg, hvor de bruges til at regulere strømmen og spændingen fra solpanelerne.
Derudover er H-broer også blevet populære i DIY-elektronik og hobby-projekter, hvor de kan anvendes til at styre forskellige elektroniske enheder og motorer!
Nu har vi en forståelse for hvordan en H-bro fungerer, så lad os nu gennemgå en demonstration af, hvordan vi kan benytte H-broen MX1508 i praksis med en mikrocontroller.
Demonstration - MX1508
Følgende kredsløb viser, hvordan man kan tilslutte en Arduino UNO til H-broen MX1508. Tilslut ledninger som vist på figur 9.
Figur 9: Kredsløb for H-broen, MX1508, og en DC motor.
Upload følgende kode vist i figur 10 til din Arduino IDE platform. Du kan downloade Arduino IDE platformen her: Link.
Figur 10: Arduino IDE kode for DC motor drivsel i begge retninger. Koden kan findes og kopieres fra dette GitHub Link.
Som du kan se i koden, bevæger motoren sig først fremad i 3 sekunder og bagud i 3 sekunder. Derefter stopper motoren, og dens hastighed stiger fra 0 til 100% fremad med konstant acceleration, og derefter udføres den samme bevægelse omvendt.
Påkrævede komponenter
For at lave dette projekt skal du bruge nedenstående komponenter. De fleste komponenter kan findes her på eBits.dk.
Antal | Billede | Komponenter |
1 | Arduino UNO | |
1 | MX1508 H-Bro | |
7 |
Dupont Kabler (han/han) |
|
1 | 9 V Batteri | |
1 | DC motor |
Bemærk at der kan anvendes andre mikrocontrollere end Arduino UNO.