Wiki Markup |
---|
[Arduino|http://wiki.metropolia.fi/display/koneautomaatio/Arduino] kehitysalustaa voi melko helposti käyttää apuna |
...
ohjattaessa harjatonta [DC-moottoria|https://wiki.metropolia.fi/display/koneautomaatio/Tasavirtamoottorit] (BLDC-motor). Tässä yksinkertaisessa esimerkissä ohjauslaitteena on käytetty Arduino Megaa, |
...
joka on ohjelmoitu lähettämään moottorin [nopeudensäätimelle|Elektroninen nopeudensäädin] oikeanlaista jännitettä käyttäen apuna [pulssinleveysmodulaatiota|Pulssinleveysmodulaatio] (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 |
...
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:
#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(13) // attaches the servo on pin 13 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 90)
myservo.write(val); // sets the servo 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ä:
...
nopeuden ohjaamiseen käytettiin 470R [potentiometria|Potentiometri], 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|http://www.arduino.cc/en/Tutorial/knob] ohjeena potentiometrin käytöstä servomoottorin ohjaamisessa. Tässä esimerkissä [servomoottori|https://wiki.metropolia.fi/display/koneautomaatio/Servomoottori] on korvattu edellä mainitulla moottorilla sekä nopeudensäätimellä.
Käytetty koodi:
\#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(13) // attaches the servo on pin 13 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 90)
myservo.write(val); // sets the servo 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ä:
!kytkennät1.JPG|border=1! |