Stap 2: Uitvoering van Borstelloze Motor Control
Invoering van de h-brug om te controleren van de motoren stelt ons in staat de bi-directionele beweging die de gimbal vereist, en voorziet ook erg glad versterking van de positie van de motor. Het teken draait de H-brug in wezen op een van de elektromagneten zodat kunnen wij een hoge, een Midden en een lage spanning. Zoals vermeld in de inleiding, gebruikten we L298 h-bruggen, hebben 15 pinnen. We bedraad elk van hen, zoals te zien in de afbeelding hierboven. Hier is de technische fiche.
- Pin 1: grond
- Pin 2: Motor Pin 1
- Pin 3: Motor Pin 2
- Pin 4: Externe leveren spanning (zette een condensator 0.1 microFarad op grond)
- Pin 5: Arduino PWM digitale uitgang (pin 3 of 9)
- Pin 6: + 5V van de Arduino (zette een condensator 0.1 microFarad op grond)
- Pin 7: Arduino PWM digitale uitgang (pin 5 of 10)
- Pin 8: GND
- Pin 9: + 5V van de Arduino
- Pin 10: Arduino PWM digitale uitgang (pin 6 of 11)
- PIN 11: + 5V van de Arduino
- Pin 12: Niet aangesloten
- Pin 13: Motor Pin 3
- Pin 14: Niet aangesloten
- Pin 15: GND
Onze bron beschrijft een slimme regeling voor de onderlinge aanpassing van een sinusvormige signaal aan de motoren. Zij bouwen een array van 48 waarden tussen 0 en 255, die staan voor de waarden van de functie van de sinus op gelijke stappen. Zij beginnen elke elektromagneet staat A, B, en C 16 waarden naast elkaar, die de periode van de functie verdeelt in derde of, met andere woorden, fase verschuift de Staten door 120 graden. Vervolgens, ze gewoon verhogen van elke staat-waarde in de matrix, zodat de Staten de sinusgolf met elke lus van het programma doorlopen. Het resultaat is erg glad rotatie in de motor, hoewel het enigszins snelheid beperkt door de fysieke capaciteit van de motor te houden met de signalen van de Arduino.
We gebruiken dezelfde PWM sinus-matrix regeling als onze bron, die het mogelijk maakt te hogen wel een numerieke approximatie van de sinus-functie gedurende een bepaald aantal stappen in de periode. In ons geval verdubbeld wij het aantal waarden in de matrix van 48 tot 96 zodat we nauwkeuriger de motor controleren kunnen. Dit is omdat onze gimbal applicatie niet de motor hoeft om volledige rotaties, Nou, ooit; We moeten alleen pas van de camera positie tegen de motie van de base. Snelle opmerkingen suggereren dat onze regeling laat de motor stap in stappen van 0,2 graden tegelijk.
Het is belangrijk op te merken dat dit is meestal een geïmproviseerde manier Borstelloze motoren te controleren. Op een gegeven moment willen we een elektromagneet hoge stroom, één laag en één in een staat van hoge-impedence , die noch hoog of laag benadert. In ons geval laat de "middelbare-impedence" staat eigenlijk huidige run uit aan grond, die een aanzienlijke hoeveelheid warmte in de motor genereert. Een duidelijke plek voor verbetering is om te voorkomen dat de motoren steeds warm bij op lange termijn (bv. via een minuut of twee) werking.
Een ander gevaar met onze implementatie is in het geval dat de motor fysiek mist of een van de stappen, die kunnen gebeuren gezien het aanzienlijke gewicht van het frame en de camera ten opzichte van de motor het koppel overschrijdingen. Ons programma is in dit geval niet van bewust dat de motor loopt niet synchroon met de signalen, en de sinusgolf doorloopt keer eerder "vangen" de motor en normaliter hervatten.