Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

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&nbsp;
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&nbsp;
pulssinleveysmodulaatiota (PWM).
Moottori ja nopudensäädin ovat Kyoshon pienoismallikäyttöön valmistamia Team Orion Vortex Experience 2&nbsp;
sarjan tuotteita (moottori: ORI28175 ja nopeudensäädin: ORI65011). Moottorin nopeuden ohjaamiseen&nbsp;
käytettiin 470R potentiometria, joka kiinnitettiin Arduinoon. Erillisenä virtalähteenä moottorille
käytettiin 7,2V akkua, joka kytkettiin nopeudensäätimeen.&nbsp;
Ohjelmassa käytetty koodi löytyy Arduinon omilta sivuilta ohjeena potentiometrin käytöstä&nbsp;
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)&nbsp;
// by Michal Rinott <http://people.interaction-ivrea.it/m.rinott>&nbsp;
\#include <Servo.h>&nbsp;
&nbsp;
Servo myservo; &nbsp;// create servo object to control a servo&nbsp;
&nbsp;
int potpin = 0; &nbsp; // analog pin used to connect the potentiometer

int val;  &nbsp; &nbsp;  // variable to read the value from the analog pin&nbsp;
&nbsp;
void setup()&nbsp;

{&nbsp;
&nbsp;&nbsp;

myservo.attach(913);  &nbsp;// attaches the servo on pin 913 to the servo object&nbsp;
}&nbsp;
&nbsp;
void loop()&nbsp;

{&nbsp;
&nbsp;&nbsp;

  val = analogRead(potpin); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;            // reads the value of the potentiometer (value between 0 and 1023)&nbsp;
&nbsp;&nbsp;

  val = map(val, 0, 1023, 0, 89);   &nbsp; &nbsp; // scale it to use it with the servo (value between 0 and 18090)&nbsp;
&nbsp;&nbsp;

  myservo.write(val); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// sets the servo position according to the scaled value&nbsp;
&nbsp;&nbsp;delay(15); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // waitssets for the servo to get there&nbsp;
Kysenen koodi määrittää servomoottorin asennon potentiometrin asennon perusteella. Koska servomoottorin
sijaan käytettiin BLDC-moottoria, määrittää potentiometrin asento tässä 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
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&nbsp;Dc-moottoria (BLDC-motor). Tässä yksinkertaisessa esimerkissä ohjauslaitteena on käytetty Arduino Megaa, joka&nbsp;on ohjelmoitu lähettämään moottorin nopeudensäätimelle oikeanlaista jännitettä käyttäen apuna&nbsp;pulssinleveysmodulaatiota (PWM).

Moottori ja nopudensäädin ovat Kyoshon pienoismallikäyttöön valmistamia Team Orion Vortex Experience 2&nbsp;sarjan tuotteita (moottori: ORI28175 ja nopeudensäädin: ORI65011). Moottorin nopeuden ohjaamiseen&nbsp;käytettiin 470R potentiometria, joka kiinnitettiin Arduinoon. Erillisenä virtalähteenä moottorillekäytettiin 7,2V akkua, joka kytkettiin nopeudensäätimeen.&nbsp;

Ohjelmassa käytetty koodi löytyy Arduinon omilta sivuilta ohjeena potentiometrin käytöstä&nbsp;servomoottorin ohjaamisessa. Tässä esimerkissä servomoottori on korvattu edellä mainitulla moottorilla&nbsp;sekä nopeudensäätimellä.

Käytetty koodi:

Code

// Controlling a servo position using a potentiometer (variable resistor)&nbsp;

// by Michal Rinott <http://people.interaction-ivrea.it/m.rinott>&nbsp;

\#include <Servo.h>&nbsp;

Servo myservo; &nbsp;// create servo object to control a servo&nbsp;

int potpin = 0; &nbsp;// analog pin used to connect the potentiometer

int val; &nbsp; &nbsp;// variable to read the value from the analog pin&nbsp;

void setup()&nbsp;

{&nbsp;

&nbsp;&nbsp;myservo.attach(9); &nbsp;// attaches the servo on pin 9 to the servo object&nbsp;

}&nbsp;

void loop()&nbsp;

{&nbsp;

&nbsp;&nbsp;val = analogRead(potpin); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// reads the value of the potentiometer (value between 0 and 1023)&nbsp;

&nbsp;&nbsp;val = map(val, 0, 1023, 0, 89); &nbsp; &nbsp; // scale it to use it with the servo (value between 0 and 180)&nbsp;

&nbsp;&nbsp;myservo.write(val); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// sets the servo position according to the scaled value&nbsp;

&nbsp;&nbsp;delay(15); &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // position according to the scaled value

  delay(15);                           // waits for the servo to get there&nbsp;

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ä:

Image Added