Arduino kehitysalustaa voi melko helposti käyttää apuna ohjattaessa harjatonta DC-moottoria (BLDC-motor). Tässä yksinkertaisessa esimerkissä ohjauslaitteena on käytetty Arduino Megaa, joka on ohjelmoitu lähettämään moottorin nopeudensäätimelle oikeanlaista jännitettä käyttäen apuna pulssinleveysmodulaatiota (PWM).
Moottori ja nopeudensäädin ovat Kyoshon pienoismallikäyttöön valmistamia Team Orion Vortex Experience 2 sarjan tuotteita (moottori: ORI28175 ja nopeudensäädin: ORI65011). Moottorin nopeuden ohjaamiseen käytettiin 470R potentiometria, joka kiinnitettiin Arduinoon. Erillisenä virtalähteenä moottorille käytettiin 7,2V akkua, joka kytkettiin nopeudensäätimeen.
Ohjelmassa käytetty koodi löytyy Arduinon omilta sivuilta ohjeena potentiometrin käytöstä servomoottorin ohjaamisessa. Tässä esimerkissä servomoottori on korvattu edellä mainitulla moottorilla sekä nopeudensäätimellä.
Käytetty koodi:
Code Block |
---|
#include <Servo.h>
Servo myservo; |
Wiki Markup |
Harjattoman DC-moottorin ohjaaminen Arduino mikrokontrollerin ja potentiometrin avulla. Arduino mikrokontrolleria voi melko helposti käyttää apuna ohjattaessa harjatonta Dc-moottoria (BLDC). Tässä yksinkertaisessa esimerkissä ohjauslaitteena on käytetty Arduino Megaa, joka on ohjelmoitu lähettämään moottorin nopeudensäätimelle oikeanlaista jännitettä käyttäen apuna pulssinleveysmodulaatiota (PWM). Moottori ja nopudensäädin ovat Kyoshon pienoismallikäyttöön valmistamia Team Orion Vortex Experience 2 sarjan tuotteita (moottori: ORI28175 ja nopeudensäädin: ORI65011). Moottorin nopeuden ohjaamiseen käytettiin 470R potentiometria, joka kiinnitettiin Arduinoon. Erillisenä virtalähteenä moottorille käytettiin 7,2V akkua, joka kytkettiin nopeudensäätimeen. Ohjelmassa käytetty koodi löytyy Arduinon omilta sivuilta ohjeena potentiometrin käytöstä servomoottorin ohjaamisessa. Tässä esimerkissä servomoottori on korvattu edellä mainitulla moottorilla sekä nopeudensäätimellä. Käytetty koodi: Code // Controlling a servo position using a potentiometer (variable resistor) // by Michal Rinott <http://people.interaction-ivrea.it/m.rinott> \#include <Servo.h> Servo myservo; // create servo object to control a servo int potpin = 0; // analog pin used to connect the potentiometer int val; // variable to read the value from the analog pin void setup() { myservo.attach(913); // attaches the servo on pin 913 to the servo object } void loop() { val = analogRead(potpin); // reads the value of the potentiometer (value between 0 and 1023) val = map(val, 0, 1023, 0, 89); // scale it to use it with the servo (value between 0 and 18090) myservo.write(val); // sets the servo position according to the scaled value delay(15); // waitssets for the servo to get there Kysenen koodi määrittää servomoottorin asennon potentiometrin asennon perusteella. Koska servomoottorin sijaan käytettiin BLDC-moottoria, määrittää potentiometrin asento tässä tapauksessa moottorin pyörimisnopeuden. Käynnistettäessä laiteistoa on potentiometrin oltava ääriasennossa, riippuen siitä miten päin potenitiometrin \+ ja - navat on kytketty, jotta nopeudensäätimen esiasennettu ohjelmisto lähtisi käyntiin. Nopeudensäädin ilmoittaa toiminnan käynnistymisestä äänimerkillä. Tämän jälkeen moottorin nopeutta pystyy säätämään muuttamalla potentiometrin asentoa. Suuntaa-antava kuva kytk *Harjattoman DC-moottorin ohjaaminen Arduino mikrokontrollerin ja potentiometrin avulla.* Arduino mikrokontrolleria voi melko helposti käyttää apuna ohjattaessa harjatonta Dc-moottoria (BLDC-motor). Tässä yksinkertaisessa esimerkissä ohjauslaitteena on käytetty Arduino Megaa, joka on ohjelmoitu lähettämään moottorin nopeudensäätimelle oikeanlaista jännitettä käyttäen apuna pulssinleveysmodulaatiota (PWM). Moottori ja nopudensäädin ovat Kyoshon pienoismallikäyttöön valmistamia Team Orion Vortex Experience 2 sarjan tuotteita (moottori: ORI28175 ja nopeudensäädin: ORI65011). Moottorin nopeuden ohjaamiseen käytettiin 470R potentiometria, joka kiinnitettiin Arduinoon. Erillisenä virtalähteenä moottorillekäytettiin 7,2V akkua, joka kytkettiin nopeudensäätimeen. Ohjelmassa käytetty koodi löytyy Arduinon omilta sivuilta ohjeena potentiometrin käytöstä servomoottorin ohjaamisessa. Tässä esimerkissä servomoottori on korvattu edellä mainitulla moottorilla sekä nopeudensäätimellä. Käytetty koodi: Code // Controlling a servo position using a potentiometer (variable resistor) // by Michal Rinott <http://people.interaction-ivrea.it/m.rinott> \#include <Servo.h> Servo myservo; // create servo object to control a servo int potpin = 0; // analog pin used to connect the potentiometer int val; // variable to read the value from the analog pin void setup() { myservo.attach(9); // attaches the servo on pin 9 to the servo object } void loop() { val = analogRead(potpin); // reads the value of the potentiometer (value between 0 and 1023) val = map(val, 0, 1023, 0, 89); // scale it to use it with the servo (value between 0 and 180) myservo.write(val); // sets the servo position according to the scaled value delay(15); // position according to the scaled value delay(15); // waits for the servo to get there |
Kysenen
...
koodi
...
määrittää
...
servomoottorin
...
asennon
...
potentiometrin
...
asennon
...
perusteella.
...
Koska servomoottorin sijaan käytettiin BLDC-moottoria,
...
määrittää
...
potentiometrin
...
asento
...
tässä
...
tapauksessa moottorin pyörimisnopeuden. Käynnistettäessä laiteistoa on potentiometrin oltava ääriasennossa, riippuen siitä miten päin potenitiometrin + ja - navat on kytketty, jotta nopeudensäätimen esiasennettu ohjelmisto lähtisi käyntiin. Nopeudensäädin ilmoittaa toiminnan käynnistymisestä äänimerkillä. Tämän jälkeen moottorin nopeutta pystyy säätämään muuttamalla potentiometrin asentoa.
Suuntaa-antava kuva kytkennöistä: