Arduino වලින් මෝටර් රථ පාලනය කිරීමේ මූලික කේත

Arduino පුවරුවක් භාවිතයෙන් කුඩා මෝටර් රථයක් ඉදිරියට, පසුපසට, වමට සහ දකුණට ධාවනය කළ හැකිය. මෙවැනි ව්‍යාපෘතියක් මඟින් ඩිජිටල් ප්‍රතිදාන, PWM වේග පාලනය සහ මෝටර් ධාවක පරිපථ පිළිබඳ ප්‍රායෝගික අවබෝධයක් ලබාගත හැක.

සාමාන්‍යයෙන් Arduino Uno, DC මෝටර් දෙකක්, L298N හෝ L293D මෝටර් ඩ්‍රයිවර් එකක්, රෝද, බැටරි සහ චැසියක් මෙයට අවශ්‍ය වේ. මෝටර් එක Arduino පින් එකකට සෘජුව සම්බන්ධ නොකළ යුතු අතර, වැඩි ධාරාවක් පාලනය කිරීමට මෝටර් ඩ්‍රයිවර් එකක් යොදාගත යුතුය.

Arduino ව්‍යාපෘති සඳහා මූලික පරිපථ සම්බන්ධතා ගැන තවත් අදහස් ලබාගැනීමට ප්‍රායෝගික Arduino ලිපිය කියවිය හැක. පහත දැක්වෙන කේතය සරල රොබෝ මෝටර් රථයක චලනය පරීක්ෂා කිරීමට සුදුසු වේ.

අවශ්‍ය උපකරණ සහ පරිපථ සම්බන්ධතා

මෙම පාලන පද්ධතිය සඳහා Arduino Uno එකට අමතරව L298N මෝටර් ඩ්‍රයිවර් මොඩියුලයක්, වම් සහ දකුණු මෝටර් දෙකක්, සුදුසු බැටරි පැකයක් සහ ජම්පර් වයර් භාවිත කරන්න. L298N හි OUT1 සහ OUT2 පර්යන්තවලට එක් මෝටරයක්ද, OUT3 සහ OUT4 පර්යන්තවලට අනෙක් මෝටරයද සම්බන්ධ කළ හැක.

පහත සම්බන්ධතාවය සරල උදාහරණයකි.

ENA සහ ENB පින්වල ඇති ජම්පර් ඉවත් කළ විට PWM මඟින් මෝටර් වේගය වෙනස් කළ හැක. බැටරියේ වෝල්ටීයතාව මෝටර් සහ ඩ්‍රයිව් මොඩියුලයට ගැළපෙන බව පරීක්ෂා කර, සියලුම GND සම්බන්ධතා එකට සම්බන්ධ කරන්න.

මෝටර් දිශාව පාලනය කරන මූලික ක්‍රමය

මෝටරයක භ්‍රමණ දිශාව තීරණය වන්නේ IN පින් දෙකට ලබාදෙන HIGH සහ LOW අගයන් අනුවය. IN1 HIGH සහ IN2 LOW නම් එක් දිශාවකටද, IN1 LOW සහ IN2 HIGH නම් ප්‍රතිවිරුද්ධ දිශාවකටද මෝටරය හැරේ. පින් දෙකම LOW කළ විට මෝටරය නවතී.

මෙම නීතිය මෝටර් දෙකට වෙන වෙනම යොදාගෙන රථයේ චලනය සකස් කළ හැක. උදාහරණයක් ලෙස, රථය ඉදිරියට ගෙන යාමට මෝටර් දෙකම ඉදිරි දිශාවට හරවන්න. වමට හැරවීමේදී දකුණු මෝටරය ධාවනය කර වම් මෝටරය නවත්වන්න හෝ ප්‍රතිවිරුද්ධ දිශාවට හරවන්න.

Arduino කේතය සකස් කිරීම

පළමුව පාලන පින් නිර්වචනය කර, setup() කොටස තුළ ඒවා ප්‍රතිදාන ලෙස නම් කරන්න. analogWrite() භාවිතයෙන් ENA සහ ENB පින්වලට 0 සිට 255 දක්වා අගයක් ලබාදී වේගය පාලනය කළ හැකිය. 255 උපරිම වේගයටත්, 0 නතර වීමටත් සමාන වේ.

const int ENA = 5;
const int IN1 = 8;
const int IN2 = 9;

const int ENB = 6;
const int IN3 = 10;
const int IN4 = 11;

void setup() {
  pinMode(ENA, OUTPUT);
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);

  pinMode(ENB, OUTPUT);
  pinMode(IN3, OUTPUT);
  pinMode(IN4, OUTPUT);
}

void loop() {
  forward(180);
  delay(2000);

  stopMotors();
  delay(1000);

  backward(180);
  delay(2000);

  stopMotors();
  delay(1000);

  turnLeft(180);
  delay(1000);

  stopMotors();
  delay(2000);
}

void forward(int speedValue) {
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);
  digitalWrite(IN3, HIGH);
  digitalWrite(IN4, LOW);
  analogWrite(ENA, speedValue);
  analogWrite(ENB, speedValue);
}

void backward(int speedValue) {
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, HIGH);
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, HIGH);
  analogWrite(ENA, speedValue);
  analogWrite(ENB, speedValue);
}

void turnLeft(int speedValue) {
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, HIGH);
  digitalWrite(IN3, HIGH);
  digitalWrite(IN4, LOW);
  analogWrite(ENA, speedValue);
  analogWrite(ENB, speedValue);
}

void stopMotors() {
  analogWrite(ENA, 0);
  analogWrite(ENB, 0);
}

වේගය සහ හැරීම නිවැරදි කිරීම

රෝද දෙකේ මෝටර් එකම වේගයකින් නොහැරිය හැකි බැවින් රථය සෘජුව යාමට නොහැකි වීම සාමාන්‍ය ගැටලුවකි. එවිට ENA සහ ENB සඳහා වෙනස් PWM අගයන් ලබාදෙන්න. උදාහරණයක් ලෙස, වම් මෝටරය වේගවත් නම් එයට 160ක්ද දකුණු මෝටරයට 180ක්ද ලබාදී චලනය පරීක්ෂා කළ හැක.

මෝටර් රථය ඉතා වේගයෙන් ධාවනය වුවහොත් 100–180 අතර අගයකින් ආරම්භ කරන්න. හැරීම වඩාත් තියුණු කිරීමට එක් මෝටරයක් නවතා අනෙක් මෝටරය ධාවනය කළ හැක. රෝදවල දිශාව වෙනස් නම්, අදාළ මෝටරයේ වයර් දෙක මාරු කර සම්බන්ධ කරන්න.

සංවේදක සහ දුරස්ථ පාලනය එක් කිරීම

ඉදිරියේ ඇති බාධක හඳුනාගැනීමට HC-SR04 අල්ට්‍රාසොනික් සංවේදකයක් එක් කළ හැක. සංවේදකයෙන් ලැබෙන දුර අගය අනුව forward(), turnLeft() හෝ stopMotors() ක්‍රියාකාරකම් කැඳවීමෙන් ස්වයංක්‍රීය මෝටර් රථයක් සෑදිය හැක. Bluetooth මොඩියුලයක් සම්බන්ධ කළ විට ජංගම දුරකථනයකින් අකුරු විධාන යවා රථය පාලනය කළ හැක.

Arduino හා ස්මාර්ට් උපාංග ව්‍යාපෘති පිළිබඳ සිංහල තාක්ෂණික දැනුම සඳහා තාක්ෂණික දැනුම් මධ්‍යස්ථානය භාවිතා කළ හැක. වැඩිදුර ඉලෙක්ට්‍රොනික අධ්‍යයනය සඳහා අධ්‍යාපනික සම්පත් ද ප්‍රයෝජනවත් විය හැක.

පරීක්ෂණයේදී සැලකිලිමත් විය යුතු කරුණු

කේතය උඩුගත කිරීමට පෙර රෝද බිමෙන් ඉහළට තබා පළමු පරීක්ෂණය කරන්න. එවිට මෝටර් දිශාව වැරදි නම් වයර් මාරු කිරීමට හෝ කේතයේ HIGH සහ LOW අගයන් වෙනස් කිරීමට පහසු වේ. Arduino USB බලය සහ මෝටර් බැටරි බලය අතර සම්බන්ධතා නිවැරදිදැයි පරීක්ෂා කරන්න.

මෝටර් ක්‍රියාත්මක වන විට Arduino නැවත ආරම්භ වන්නේ බැටරි ධාරාව ප්‍රමාණවත් නොවීම හෝ විදුලි ශබ්දය නිසා විය හැක. මෝටර් සඳහා වෙනම බැටරි සැපයුමක්, පොදු GND සම්බන්ධතාවයක් සහ නිසි ධාරිතාවක් ඇති බැටරි භාවිත කිරීමෙන් එය අවම කළ හැක. පරිපථය සම්පූර්ණයෙන් පරීක්ෂා කළ පසු සංවේදකයක් හෝ Bluetooth පාලනයක් එක් කර ඔබේ රොබෝ මෝටර් රථය ක්‍රමයෙන් දියුණු කරන්න.