Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0
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 nopeudensää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:

Code Block
 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:

{code}#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{code}

Kysenen koodi määrittää servomoottorin asennon potentiometrin asennon perusteella.

...

 Koska servomoottorin&nbsp;sijaan käytettiin BLDC-moottoria, määrittää potentiometrin asento tässä

...

Suuntaa-antava kuva kytkennöistä:

...

 tapauksessa moottorin&nbsp;pyörimisnopeuden. Käynnistettäessä laiteistoa on potentiometrin oltava ääriasennossa, riippuen siitä miten päin&nbsp;potenitiometrin &nbsp;\+ ja - navat on kytketty, jotta nopeudensäätimen esiasennettu ohjelmisto lähtisi käyntiin.&nbsp;Nopeudensäädin ilmoittaa toiminnan käynnistymisestä äänimerkillä. Tämän jälkeen moottorin nopeutta&nbsp;pystyy säätämään muuttamalla potentiometrin asentoa.

Suuntaa-antava kuva kytkennöistä:

!kytkennät1.JPG|border=1!