- Nødvendige komponenter:
- Kredsløbsdiagram og forklaringer:
- Nuværende beregninger:
- Arbejde med Arduino-styret tovejsmotor:
I dette projekt styrer vi retning og hastighed af en 24v motor med høj strøm ved hjælp af Arduino og to relæer. Ingen strømafbrydere er nødvendige for dette kredsløb, kun to trykknapper og i potentiometer til at styre retningen og hastigheden af jævnstrømsmotoren. Den ene trykknap drejer motoren med uret, og den anden drejer den mod uret. En n-kanal MOSFET er påkrævet for at kontrollere motorens hastighed. Relæer bruges til at skifte motorens retninger. Det ligner H-Bridge kredsløb.
Nødvendige komponenter:
- Arduino Uno
- To 12v relæ (5v relæ kan også bruges)
- To transistorer; BC547
- To trykknapper
- IRF540N
- 10k modstand
- 24 volt kilde
- 10K potentiometer
- Tre dioder 1N4007
- Tilslutning af ledninger
Kredsløbsdiagram og forklaringer:
Kredsløbsdiagram for dette tovejs motorstyringsprojekt er vist i billedet nedenfor. Foretag forbindelserne i henhold til det:
- Tilslut normalt lukket terminal på begge relæer til batteriets positive terminal.
- Tilslut normalt åben terminal på begge relæer til MOSFETs afløbsterminal.
- Tilslut MOSFET-kilden til den negative terminal på batteriet og til jordstiften på Arduino UNO.
- Portterminal til PWM pin 6 i Arduino.
- Forbind 10k modstand fra gate til kilde og 1N4007 diode fra kilde til afløb.
- Forbind motoren mellem den midterste terminal på relæerne.
- Ud af to resterende terminaler går den ene til Vin-stiften i Arduino Uno og den anden til transistorens kollektorterminal (for hvert relæ).
- Forbind emitterterminalen på begge transistorer til GND-stiften på Arduino.
- Digital pin 2 og 3 i Arduino, hver i serie med trykknap, går til bunden af transistorer.
- Tilslut diode på tværs af relæet nøjagtigt som vist i figuren.
- Tilslut potentiometerets endeterminal til henholdsvis 5v pin og GND pin af Arduino. Og viskerterminal til A0-ben.
- ** hvis du har to separate 12 v batterier, skal du slutte et batteris positive terminal til den negative terminal på et andet batteri og bruge de resterende to terminaler som positive og negative.
Formål med transistorer:
Digitale stifter fra Arduino kan ikke levere den mængde strøm, der er nødvendig for at tænde et normalt 5v-relæ. Desuden bruger vi 12v relæ i dette projekt. Vin pin af Arduino kan ikke let levere så meget strøm til begge relæer. Derfor bruges transistorer til at lede strøm fra Vin pin i Arduino til relæ, som styres ved hjælp af en trykknap forbundet fra digital pin til basisterminalen på transistoren.
Formål med Arduino:
- For at give den mængde strøm, der kræves for at tænde relæet.
- For at tænde transistoren.
- For at kontrollere hastigheden på jævnstrømsmotorer med potentiometer ved hjælp af programmering. Tjek den komplette Arduino-kode i slutningen.
Formål med MOSFET:
MOSFET er påkrævet for at kontrollere motorens hastighed. MOSFET tændes og slukkes ved højfrekvent spænding, og da motoren er forbundet i serie med afløbet af MOSFET, bestemmer spændingens PWM-værdi motorens hastighed.
Nuværende beregninger:
Relæspolens modstand måles ved hjælp af et multimeter, der viser sig at være = 400 ohm
Vin pin af Arduino giver = 12v
Så det nuværende behov for at tænde relæet = 12/400 ampere = 30 mA
Hvis begge relæer er strømforsynede, er strøm = 30 * 2 = 60 mA
** Vin pin af Arduino kan levere maksimal strøm = 200mA.
Der er således ikke noget for nuværende problem i Arduino.
Arbejde med Arduino-styret tovejsmotor:
Betjeningen af dette 2-vejs motorstyringskredsløb er enkel. Begge ben (2, 3) i Arduino forbliver altid høje.
Når der ikke trykkes på en trykknap:
I dette tilfælde strømmer ingen strøm til bunden af transistoren, hvorfor transistoren forbliver slukket (fungerer som en åben kontakt), som ingen strøm strømmer til at relæspole fra Vin pin i Arduino.
Når der trykkes på en trykknap:
I dette tilfælde strømmer en del strøm til bunden af transistoren gennem en trykknap, der tænder den. Nu strømmer der let strøm til relæspole fra Vin-pin gennem denne transistor, der tænder dette relæ (RELÆ A), og kontakten til dette relæ kastes til INGEN position. Mens andet relæ (RELÆ B) stadig er i NC-position. Så strømmen strømmer fra den positive terminal på batteriet til den negative terminal gennem motoren, dvs. strømmen strømmer fra relæ A til relæ B. Dette medfører, at motoren drejer med uret.
Når der trykkes på en anden trykknap:
Denne gang tændes endnu et relæ. Nu strømmer der let strøm til relæspole fra Vin-pin gennem transistor, der tænder dette relæ (RELÆ B), og omskifteren til dette relæ kastes til INGEN position. Mens andet relæ (RELÆ A) forbliver i NC-position. Så strøm strømmer fra batteriets positive terminal til batteriets negative terminal gennem motoren. Men denne gang strømmer strøm fra relæ B til relæ A. Dette medfører rotation af motoren
Når begge trykknapper trykkes ned:
I dette tilfælde strømmer strømmen til bunden af begge transistorer, hvorfor begge transistorer tænder (fungerer som en lukket kontakt). Og dermed er begge relæer nu i NO position. Så strømmen strømmer ikke fra batteriets positive terminal til den negative terminal gennem motoren, og den roterer således ikke.
Styring af DC-motorens hastighed:
Gate of MOSFET er forbundet til PWM pin 6 i Arduino UNO. Mosfet tændes og slukkes ved høj PWM-frekvensspænding, og da motoren er forbundet i serie med afløbet af mosfet, bestemmer PWM-værdien for spændingen motorens hastighed. Nu bestemmer spændingen mellem viskerterminalen på potentiometeret og Gnd PWM-spændingen ved pin nr. 6, og når viskerterminalen roteres, ændres spændingen ved den analoge pin A0, hvilket forårsager ændring i motorens hastighed.
Komplet bearbejdning af denne Arduino-baserede tovejs motorhastighed og retningskontrol er vist i videoen nedenfor med Arduino-koden.