මොකක්ද මේ Processing කියන්නේ ?



ආර්ඩියුනෝ කියන්නේ මොකක්ද කියලා නොදන්න කෙනෙක් නැති තරම් දැන් ආර්ඩියුනෝ ජනප්‍රියයි. මේ ආර්ඩියුනෝ වල ලගම ඥාතියෙක් කියලා හදුන්වන්න පුළුවන් මෘදුකාංගයක් තමයි Processing කියන්නේ. ලොකු අයියා කිව්වොත් ගොඩක්ම නිවැරදියි. මොකද Processing පලමු සංස්කරණය නිකුත් කරලා තියෙන්නේ 2001 දී.

IDE එක, එහෙමත් නැත්නම් අතුරුමුහුණත ආර්ඩියුනෝ වලට ගොඩක්ම සමානයි. 




මේකත් Arduino වගේම Open Source මෘදුකාංගයක්. Processing වල නිල වෙබ් අඩවිය තමයි processing.org  මෙතනින් ඔයාලටත් නොමිලේම Processing මෘදුකාංගය Download කරගන්න පුලුවන්.




Processing කියන වචනයේ තේරුම "සකස් කිරීම" යි. මේ Processing වලින් කෙරෙන්නේත් ඒ වගේම දෙයක් තමයි. මේක වැඩිපුරම පාවිච්චි කරන්නේ ආර්ඩියුනෝ වගේ දෘඩාංග වලින් ලැබෙන දත්ත විශ්ලේෂණය කරන්නයි. ගොඩක් අය දැනටමත් C# වලින් Arduino සදහා පොඩි පොඩි වැඩසටහන් ලියනවා ඇති. එ් වගේ වැඩවලට මේ Processing පහසුවෙන්ම පාවිච්චි කරන්න පුලුවන්.


Communicate with Arduino

Arduino Examples අතර Communication කාණ්ඩයට අයිති Example කිහිපයකදිම මේ Processing භාවිතා වෙනවා.

මේ තියෙන්නේ ඒ වගේ උදාහරණයක්.

File > Examples > Communication > Physical Pixel

( වැඩි විස්තර :  http://www.arduino.cc/en/Tutorial/PhysicalPixel)

Arduino Code


const int ledPin = 13; // the pin that the LED is attached to
int incomingByte;      // a variable to read incoming serial data into

void setup() {
  // initialize serial communication:
  Serial.begin(9600);
  // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);
}

void loop() {
  // see if there's incoming serial data:
  if (Serial.available() > 0) {
    // read the oldest byte in the serial buffer:
    incomingByte = Serial.read();
    // if it's a capital H (ASCII 72), turn on the LED:
    if (incomingByte == 'H') {
      digitalWrite(ledPin, HIGH);
    }
    // if it's an L (ASCII 76) turn off the LED:
    if (incomingByte == 'L') {
      digitalWrite(ledPin, LOW);
    }
  }
}




Processing Code


 import processing.serial.*;

 float boxX;
 float boxY;
 int boxSize = 20;
 boolean mouseOverBox = false;

 Serial port;

 void setup() {
 size(200, 200);
 boxX = width/2.0;
 boxY = height/2.0;
 rectMode(RADIUS);

 // List all the available serial ports in the output pane.
 // You will need to choose the port that the Arduino board is
 // connected to from this list. The first port in the list is
 // port #0 and the third port in the list is port #2.
 // if using Processing 2.1 or later, use Serial.printArray()
 println(Serial.list());

 // Open the port that the Arduino board is connected to (in this case #0)
 // Make sure to open the port at the same speed Arduino is using (9600bps)
 port = new Serial(this, Serial.list()[0], 9600);

 }

 void draw()
 {
 background(0);

 // Test if the cursor is over the box
 if (mouseX > boxX-boxSize && mouseX < boxX+boxSize &&
 mouseY > boxY-boxSize && mouseY < boxY+boxSize) {
 mouseOverBox = true;
 // draw a line around the box and change its color:
 stroke(255);
 fill(153);
 // send an 'H' to indicate mouse is over square:
 port.write('H');
 }
 else {
 // return the box to it's inactive state:
 stroke(153);
 fill(153);
 // send an 'L' to turn the LED off:
 port.write('L');
 mouseOverBox = false;
 }

 // Draw the box
 rect(boxX, boxY, boxSize, boxSize);
 }



Control Arduino from PC

Arduino Board එක USB Cable එක හරහා පරිගණකයට සම්බන්ධ කරලා පරිගණකයේ ඉදලා Processing වලින් Arduino Board එක කෙලින්ම මෙහෙයවන්නත් පුලුවන්.



Android App Developing

Processing අළුත්ම සංස්කරණයේ (Processing 3.2.1) Android app නිර්මාණය කිරීමේ පහසුකමත් ලබාදීලා තියෙනවා. Android SDK එක තියෙන ඕනම පරිගණකයකින් මේ Processing භාවිතා කරලා Android Apps හදන්න පුළුවන්. හැබැයි තාම මේ පහසුකම Beta අවස්ථාවෙයි තියෙන්නේ.




මේ ලිපියේ අරමුණ වුණේ Processing කියන්නේ මොකක්ද කියන එක ගැන කෙටි අදහසක් ලබාදීමයි. මෙතන සදහන් නොවුණ තව ගොඩක් දේවල් වලට Processing භාවිතයෙන් කරන්න පුළුවන්. Arduino වල වගේම Processing මෘදුකාංගයේත් File > Examples කොටසේ ගොඩක් උදාහරණ තියෙනවා. ඔයාලත් ඒවා කීපයක් උත්සාහ කරලා බලන්න.

 එහෙනම් මීළග ලිපියෙන් හමුවෙමු.










L298 Motor Drive IC




කලින් ලිපි 2 න් කථා කලේ මෝටරයක භ්‍රමණ දිශාව හා වේගය පාලනය කරන්න පාවිච්චි කරන උපක්‍රම ගැන. ඒ අනුව දැන් ඔයාලා H Bridge ගැනයි, PWM ගැනයි දන්නවා.

කියවලා නැත්නම් මෙතනින් ඒ ලිපි දෙක කියවලා බලන්න.

මේ ලිපියෙන් කථා කරන්නේ මෝටර පාලනයට බහුලවම පාවිච්චි කරන L298 කියන IC එක ගැනයි. මේක තමයි දැනට පහසුවෙන්ම හොයාගන්න පුළුවන් සහ වඩාත්ම සුදුසු IC එක. මේ IC එකේ බාහිර පෙනුම මේ වගෙයි. 

මේ සදහා L293 IC එකත් පාවිච්චි කරන්න පුළුවන්. ඒත් ඊට වඩා L298 IC එක හොදයි. වැඩි ධාරාවක් පාලනය කරන්න පුළුවන්. ඒ වගේම Heat Sink එකක් හයි කරන්න පුළුවන් නිසා රත්වීම පිලිබද බය වෙන්න ඕනත් නෑ.


Motor Drivers Modules ඕනතරම් වෙලදපොලේ ගන්න තියෙනවා. හැබැයි රොබෝටික්ස් හරියට ඉගෙනගන්න කැමති නම් තමන්ගේම Motor Drive එකක් හදාගන්න ඕන. ඒකෙන් ලැබෙන අත්දැකීම, කඩෙන් ඇරන් වයර් ටිකක් අමුණලා හදන රොබෝ කෙනෙක්ගෙන් ගන්න බෑ.


L298 IC



මේ තියෙන්නේ Pin Diagram එක. (වඩාත් විස්තරාත්මක datasheet එක මෙතනින් Download කරගන්න.)





මේ IC එකෙන් A හා B විදිහට මෝටර් 2 ක් පාලනය කරන්න පුළුවන්. හැම මෝටරයකටම වෙන් කරපු Pin 5 බැගින් තියෙනවා. මේවායින් 3 ක් පාවිච්චි වෙන්නේ විධාන ලබාදෙන්නයි. (Inputs විදිහට) ඉතිරි Pin 2 මෝටරය සවි කරන්නයි පාවිච්චි කරන්නේ. (Output විදිහට)




In1, In2, En, Out1, Out2  කියලා හදුන්වලා තියෙන්නේ මෝටර් 2ට වෙන වෙනම අයිති pins පොදුවේ හදුන්වන නම්. විස්තරකිරීම් වලදී මාත් පාවිච්චි කරන්නේ ඒ කෙටියෙදුම් කීපය තමයි.

Out 1, Out 2 කෙලින්ම මෝටරයට සම්බන්ධ වෙන්නේ. (හැබැයි කලින් ලිපියක කිව්වා වගේම ඩයෝඩ් දාන්න ඕන. නැත්නම් Circuit එකට හානි වෙන්න ඉඩ තියෙනවා.)

In 1, In 2 කියන අග්‍ර වලින් මෝටරය කැරකෙන්න ඕන දිශාව ගැන උපදෙස් දෙන්න පුළුවන්.



En අග්‍රය තමයි මෝටරය කැරකෙනවද නැද්ද කියලා තීරණය කරන්නේ. 
(In1, In2 පින් වලට පිලි‍වෙලින් 1,0 හෝ 0,1 සංඥා ලබාදුන්නත්, මේ En අග්‍රයට 1 සංඥාව ලැබෙනකම් මෝටරය වැඩ කරන්නේ නෑ)

  • En = 0 (0 v / logic Low) නම්, මෝටරය OFF
  • En = 1 (+5 v / logic High) නම් ‍මෝටරය ON

මෝටරය දිගටම කරකවන්න ඕන නම් මේක +5V ට සම්බන්ධ කරන්න. වේගය වෙනස් කරන්න බලාපොරොත්තු වෙනවා නම්, Arduino වල PWM pin එකකට සම්බන්ධ කරලා analogWrite() කරන්න පුලුවන්.

මෝටර් දෙකටම Current Sensing කියලා Pin එක බැගින් තියෙනවා. ‍මේක පාවිච්චි කරලා මෝටරයට යන ධාරාව ගණනය කරගන්න පුලුවන්. දැනට ඒ පහසුකම අවශ්‍ය වෙන්නේ නැති නිසා ඒ අග්‍රය Ground (0V) වලට සම්බන්ධ කරනවා. (කඩෙන් ගන්න තියෙන ගොඩක් Module වලත් මේ අග්‍රය පාවිච්චි වෙන්නේ නෑ.)



මේ L298 IC එක පාවිච්චි කරලා Motor Drive එකක් හදාගන්න විදිහ මම ඊළග ලිපියෙන් කියාදෙන්නම්.





PIC ගැන කෙටියෙන්



මේ දවස්වල හැමෝම වගේ Arduino Programming වලට කැමතියි. ඒකට හේතුව තමයි Arduino සරළ හා පහසු වීම. Arduino ජනප්‍රිය වෙන්න කලින් වැඩිපුරම පාවිච්චි වුණේ PIC කාණ්ඩයට අයිති Micro controllers. මේවා නිශ්පාදනය කරන්නේ Microchips කියන ආයතනයෙන්.

බාහිර පෙනුමෙන් නම් PIC IC ත් Atmel AT කාණ්ඩයේ IC වලට සමානයි. ප්‍රෝග්‍රෑමින් කරන විදිහ නම් ටිකක් වෙනස්. මේවා ප්‍රෝග්‍රෑම් කරන්න වෙනම උපකරණයක් ඕන. PIC KIT කියන උපකරණය තමයි ම‍ේ සදහා වැඩිපුරම පාවිච්චි වෙන්නේ. ක්‍රමලේඛන භාෂාව විදිහට C තමයි වැඩිපුරම පාවිච්චි වෙන්නේ. ඊට අමතරව Assemble Language පාවිච්චි කරන්න පුළුවන්. (Micro-controllers වැඩ කරන හැටි ඉගෙනගන්න ඕන නම් මේක තමයි ඒකට හොදම භාෂාව. ටිකක් අමාරුයි. හැබැයි මේක පුලුවන් කෙනාට C වගේ High Level language ඉගෙනගන්න එක කජු කනවා වගේ.)

මේ තියෙන්නේ PIC Kit 2 programmer එකක්.



මේ තියෙන්නේ PIC16F877A කියන PIC  IC එක.



මේ තියෙන්නේ මම හදපු PIC Development board එකක්.



(Arduino ආපු මුල්ම කාලේ වෙනකොට ලංකාවේ Arduino boards ගන්න තිබුනේ නෑ. තිබුණත් බොර්ඩ් එක රු.4000-5000 වගේ ගනන් වලටයි තිබුනේ. ඒ නිසා මම Arduino Board කොපි කරලා PIC වලටත් Board එකක් හැදුවා. අවාසනාවකට වගේ දැන් නම් මගේ ලග මේකේ PCB layout design එක නම් නෑ.)


PIC Programming ගැන ඉගෙනගන්න කැමති අයට, විදුසර පුවත්ප‍තේ මීට අවුරුදු 10 කට විතර කලින් පළවුණු   ලිපි මාලාව පරිශීලනය කරන්න පුළුවන්.




ම‍ෝටරයක වේගය පාලනය කරමු (PWM)




රොබෝ කෙනෙක් නිර්මාණය කරද්දී රොබෝගේ මෝටර්වල වේගය අඩු වැඩි කරන්න අවශ්‍ය වෙනවා. මේ ලිපියෙන් විස්තර කරන්නේ ඒ සදහා පාවිච්චි කරන්න පුළුවන් මූලධර්මයක් ගැනයි.

‍මෝටරයක් කැරකෙන වේගය, ඊට බාහිරව ලැබෙන වෝල්ටීයතාව අනුව තමයි මූලිකව රදාපවතින්නේ. මේ ප්‍රස්ථාරයෙන් ඒක පැහැදිලි වෙනවා. 




Vmax කියන්නේ මෝටරයක් පිච්චෙන්නේ නැතිව සපයන්න පුළුවන් උපරිම වොල්ටීයතාවයි. Vmin කියන්නේ මෝටරයක් කැරකෙන්න අවශ්‍ය කරන අවම වෝල්ටීයතාවයි.

සාමාන්‍ය ඇනලොග් පරිපථයක නම් අපිට අවශ්‍ය විචල්‍ය වෝල්ටීයතාවක් පහසුවෙන් හදාගන්න පුළුවන්. හැබැයි ඩිජිටල් පරිපථයක පාවිච්චි වෙන්නේ වෝල්ටීය අවස්ථා 2 ක් (High, Low) පමණක් නිසා අපිට ඕන වොල්ටීයතාවක් කෙලින්ම ලබාගන්න බෑ. ඉතින් මේකට පොඩි උපක්‍රමයක් පාවිච්චි කරන්න වෙනවා.

12 V බැටරියකින් මෝටරයක් කරකවන අවස්ථාවක් සලකමු.



12 V දිගටම ලබාදුන්නොත් මෝටරය එහි උපරිම වේගයෙන් කැරකෙනවා. දෙවන සටහනේ විදිහට කඩින් කඩ විදුලිය ලබාදෙන අවස්ථාවක් සලකමු. මෝටරයට 12 V, ලබාදුන්නාම මෝටරය කැරකෙන්න පටන්ගන්නවා. හැබැයි මෝටරය එහි උපරිම වේගයට එන්න කලින් ආයෙත් විදුලි බලය කපා හැරෙනවා. ඒ නිසා ආයෙත් වේගය අඩු වෙනවා. හැබැයි සම්පූර්ණයෙන්ම අඩුවෙන්න කලින් ආයෙත් විදුලිය ලැබෙන නිසා ආයෙත් වේගය වැඩි වෙනවා. මේ ක්‍රියාවලිය ඉතා වේගයෙන් සිදුකලොත් මෝටරයේ වේගය අඩු වැඩිවීම අපිට නොදැනෙන තරම් ඉක්මණින් සිදුවෙනවා. ඒ නිසා මෝටරය නියත වේගයකින් කැරකෙනවා වගේ පේනවා.

මෝටරය කැරකෙන වේගය තීරණය වෙන්නේ ඊට වෝල්ටීයතාව ලැබෙන හා නොලැබෙන කාල අතර අනුපාතය අනුවයි. උදාහරණයක් විදිහට මේ කාල අනුපාතය 1:1 නම් මෝටරය කැරකෙන්නේ එහි උපරිම වේගයෙන් 50% ක වේගයකින්. අනුපාතය 2:3 නම්  වේගය 40% වෙනවා. ( 2/(2+3) * 100% = 40%, 3 සටහන

මේ කාල පරාස අතර අනුපාතය, Mark Space Ratio නමින් හදුන්වනවා. කැමති නම් මෝටරයට ලැබෙන වෝල්ටීයතාවයේ සාමාන්‍යය අගය (Average Voltage) ගණනය කරලා මෝටරයට ලැබෙන වෝල්ටීයතාව හොයන්න පුළුවන්. 


මේ මූලධර්මයේදී සංඥා පළල අනුව ප්‍රතිදානය සැකසෙන නිසා මේ ක්‍රමයට හදුන්වන්නේ Pulse width modulation කියනවා. කෙටියෙන්; PWM


ආර්ඩියුනෝ වලදී අපිට හමුවෙන analogWrite() කියන function එකෙන් සිද්ධවෙන්නේ මේ ක්‍රියාවලියම තමයි. ඒ නිසා අපි හදන රොබෝගේ මෝටර්වල වේග පාලනයට මේ PWM ක්‍රමය කෙලින්ම හා පහසුවෙන්ම භාවිතා කරන්න පුලුවන්.


මේ වෙනකොට මෝටර් සම්බන්ධයෙන් න්‍යායාත්මක කරුණු ගොඩක් සාකච්ඡා කරලයි තියෙන්නේ. මීළග ලිපියෙන් මෝටර් පාලන පරිපථ (Motor Drive Circuit) ගැන තමයි කථා කරන්නේ.


Motor Drive එකක් හදන්න බලාපොරොත්තු වෙන අය මේ දේවල් ටික දැන්ම ලෑස්ති කරගෙන තියාගන්න.

  • Vero board / Breadboard 
  • L298 IC
  • Terminal Headers
  • 4 x Diodes 
  • Circuit wires




මීළග ලිපියෙන් හමුවෙමු. සුබ සතියක්....


Open Source කියන තරම්ම ආරක්ෂිත ද ?


ගොඩක් දෙනෙක් හිතාගෙන ඉන්නෙ යම් මෘදුකාංගයක් Open source වූ පමණින් ඉතා ආරක්ෂිතයි/ විශ්වාසනීයයි කියලා. නමුත් ඒවා කියන තරම්ම ආරක්ෂිත ද ? මේ ලිපිය ඒ ගැනයි.

ලිපිය පටන්ගන්න කලින් කියන්න ඕන පොඩි දෙයක් තියෙනවා. මේ ලිපියේ කිසිම තැනක Open Source ඒවා හොද නෑ කියලා අදහස් කරන්නේ නෑ. Open Source මෘදුකාංග භාවිතයේදී සැලකිලිමත් වෙන්න ඕන කරුණු ගැන  සදහන් කරන්න විතරයි බලාපොරොත්තු වෙන්නේ.

ඕනෑම මෘදුකාංගයක් 100% අංගසම්පූර්ණ නෑ. අඩුපාඩු තියෙනවා. ඒ නිසා හැම මෘදුකාංගයක්/ මෙහෙයුම් පද්ධතියක් ම නිකුත් කලාට පස්සේ කාලෙන් කාලෙට ඒවාය‍ේ ගැටලු නිරාකරණය කරලා, අලුත් Updates නිකුත් කරනවා.

Open Source Project එකක් සැලකුවොත් මේවායේ ගැටළු ගැන ල‍ෝකය පුරා ඉන්න Developers ලා Public Forums, Threads වල සාකච්ඡා කරලා ඒ ගැටළු වලට විසදුම් හොයනවා. මේ විසදුම් Updates විදිහට ලබාදෙනවා.

නමුත් Windows වගේ මෙහෙයුම් පද්ධතියක් සැලකුවෙත්, මම දන්න තරමින් නම් ඔවුන් කවදාවත් ඔවුන්ගේ නිර්මාණවල තියෙන දෝෂ එලියට දාන්නේ නෑ. බොහොම නිශ්ශබ්දව Updates නිකුත් කරනවා.

මේ දෙවර්ගයෙන් ඕනෑම මෘදුකාංගයක් කාලෙන් කාලෙට යාවත්කාලීන කරගත්තේ නැත්නම් අපේ මෘදුකාංග අනාරක්ෂිතයි. මේ අතරින් Update නොකල Open Source මෘදුකාංග කියන්නේ ලොක් එක ඇරලා තියෙන සේප්පුවක් වගේ. මොකද ම‍ේවයේ තියෙන අඩුපාඩු හැමෝම දන්නවා. ඒ නිසා ලේසියෙන් ම Hack කරන්න පුලුවන්.

අනිත් කාරණය Open Source භාවිතයේදී අනිවාර්යයෙන්ම පිලිගත් වෙබ් අඩවි වලින් පමණක් Download කරන්න. ඒ වගේම Pre-compiled Versions ගන්නවා නම් ගොඩක්ම සැලකිලිමත් වෙන්න.

මේකට හේතුව ඕන කෙනෙක්ට ඉතා පහසුවෙන් Open Source මෘදුකාංගයක් තමන්ට ඕන විදිහට වෙනස් කරලා Compile කරලා නිකුත් කරන්න පුළුවන්. මේක පොඩි උදාහරණයකින් ම පැහැදිලි කරන්නම්.

මම Linux මෙහෙයුම් පද්ධතියේ Source Code එක Download කරලා, පොඩි පොඩි වෙනස්කම් ටිකක් කරලා "Nuwan Linux" කියලා නම්කරලා මිතුරන් අතරත්, අන්තර්ජාලයෙනුත් බෙදාහරිනවා. හැබැයි මම මේ මෙහෙයුම් පද්ධතියට Key Logger එකක් ඇතුල් කරලයි තියෙන්නේ. (Key Logger එකක් කියන්නේ පරිශීලකයා ටයිප් කරන Password ලබාගන්න පාවිච්චි කරන කුඩා ක්‍රමලේඛයක්)

Project එක Open Source වුණත්, පේලි මිලියන ගණනක code එකක මම එකතු කරපු පේලි 10-15ක Key Logger එක කාටවත් ලේසියෙන්ම හොයාගන්න බෑ. මේක පාවිච්චි කරන හැමෝම Programming/ Security ගැන විශේෂඥයින් නොවන නිසා මේ හොර වැඩේ කාටවත් අහුවෙන්නේ නැතිව කරගෙන යන්නත් ලේසියි.

මේ වගේ තවත් සැලකිලිමත් වෙන්න ඕන දේවල් ගොඩක් තියෙනවා. ඒවා ගැන ඔයාලත් අන්තර්ජාලයෙන් හොයලා බලන්න. පුලුවන් හැම වෙලාවකම පාවිච්චි කරන මෘදුකාංග යාවත්කාලීන (Update) කරගන්න. ඒ වගේම Open Source කියපු පමණින්ම හැම දෙයක් ගැනම විස්වාස කරන්න එපා.

ඕනම දෙයක් Download කරන්න කලින් අන්තර්ජාලයෙන් ඒ ගැන පොඩ්ඩක් හෙයලා බලන්න. Download Page එකේ Comments තියෙනවා නම් ඒවත් කියවලා බලන්න.


"කිසිවෙක් විශ්වාස නොකරනු"
- ෆොක්ස් මොල්ඩර්, X Files TV Series



මෝටරයක් කැරකෙන දිශාව වෙනස් කරමු




රොබෝ කෙනෙක් හදද්දී මෝටර් පාවිච්චි වෙනවා. මේ මෝටර් අපිට ඕන විදිහට කැමති පැත්තට කරකවන්නේ කොහොමද ? ඒ සදහා පාවිච්චි කරන H-Bridge කියන මූලධර්මය ගැනයි මේ ලිපියෙන් කථාකරන්නේ.

සාමාන්‍යයෙන් අපිට මෝටරයක් කැරකෙන දිශාව වෙනස් කරන්න ඕන නම් මෝටරයේ අග්‍ර 2 බැටරියේ + හා - වලට සම්බන්ධ වන වයර් දෙක මාරු කරන්න ඕන. මේක කරන්න පුළුවන් ක්‍රම දෙකක් තියෙනවා. පළවෙනි ක්‍රමය යාන්ත්‍රිකව වයර් දෙක මාරු කිරීම. අනිත් ක්‍රමය ඉලෙක්ට්‍රොනිකව සිදුකිරීම. අපි මුලින්ම බලමු යාන්ත්‍රික ක්‍රමය ගැන.

මේකට පාවිච්චි කරන්න පුළුවන් ලේසිම විදිහ තමයි මේ රූපසටහනේ දක්වලා තියෙන්නේ. මේකට පාවිච්චි කරලා තියෙන්නේ 2 Way (Bipolar) Switch එකක්.


ස්විච් A හා B අවස්ථාවල තියෙනකොට මෝටරයට විදුලිය ලැබෙන්නේ කොහොමද කියලා බලමු.





ස්විචය A වල තියෙනකොට මෝටරය දක්ෂිණාවර්තවත්, B වල තියෙද්දී මෝටරය වාමාවර්තවත් කැරකෙනවා.


මෙන්න මේකම තමයි ඉලෙක්ට්‍රොනික ක්‍රමයෙදීත් පාවිච්චි කරන්නේ. පොඩි වෙනසකට තියෙන්නේ ඒකෙදී යාන්ත්‍රික කොටස් වෙනුවට ඉලෙක්ට්‍රොනික සංරචක භාවිතා වීමයි.

මම හිතන්නේ හැමෝම  ට්‍රාන්සිස්ටරයක් වැඩකරන්නේ කොහොමද කියලා දන්නවා ඇති. ට්‍රාන්සිස්ටරයක E,C,B කියන අග්‍ර 3 න් B අග්‍රයට දෙන ධාරාවක් මගින් E හා C අතර විභව අන්තරය වෙනස් කරන්න පුළුවන්. මේ නිසා ට්‍රාන්සිස්ටරය ඉලේක්ට්‍රොනික ස්විචයක් විදිහට පාවිච්චි කරනවා.

මේ වගේ ට්‍රාන්ස්මීටර් 4 ක් පහත ආකාරයට සම්බන්ධ කලාම අපි කලින් කථාකරපු 2 Way Switch එකේ වගේම පරිපථයක් හදාගන්න පුළුවන්.




මේක H අකුරක හැඩයට නේද පෙනෙන්නේ ? එ් නිසයි මේ පරිපථය H Bridge කියන නමින් හදුන්වන්නෙ. (සමහර වෙලාවට Full Bridge කියලත් කියනවා.)



රූපසටහනේදී හා පැහැදිලි කිරීම් වලදී හැමෝම දන්න Bipolar Transistor ගැන කථා කලාට ඇත්තටම මෙවගේ පරිපථ වලට පාවිච්චි කරන්නේ FET කියන කාණ්ඩයට අයිති Transistors. මේවත් බාහිර පෙනුමෙන් සාමාන්‍ය Transistors වලට සමාන වුණාට ක්‍රියාකාරීත්වය ටිකක් වෙනස්. FET (Field Effect Transistor ගැන මෙතනින් වැඩි විස්තර බලාගන්න : FET Transistors)



දැන් A හා D වලට විද්‍යුත් සංඥාවක් දීලා බලමු. දැන් TA හා TD ට්‍රාන්සිස්ටර 2 ම සක්‍රිය වෙලා ඒවා අතරින් විද්‍යුත් ධාරාවක් ගලායනවා. ඒ කියන්නේ මෝටරයට මේ රූපසටහනේ පෙන්වන විදිහට බලය ලැබෙනවා.



ඒ වගේම B හා C වලට විදුලිය දුන්නොත් මේ රූපයේ විදිහට  TB හා TC ට්‍රාන්සිස්ටර 2 සක්‍රිය වෙලා  මෝටරයට බලය ලැබෙන නිසා මෝටරය විරුද්ධ පැත්තට කැරකෙනවා.


ඒ අනුව A, B, C, D අග්‍ර වලට විවිධ විද්‍යුත් සංඥා ලබාදීලා මෝටරය කැරකෙන දිශාව වෙනස් කරන්න පුළුවන් කියන එක පැහැදිලියි.




මේ පරිපථයේ ඩයෝඩ 4ක් තියෙනවා දකින්න ඇති. එ්වා පාවිච්චි කලේ මොකටද කියන එකත් මෙතනදීම විස්තර කරන්නම්. සාමාන්‍යයෙන් මෝටරයක් නතර කලාම, වේගය ටිකින් ටික අඩුවෙලා නතර වෙන්න පොඩි වෙලාවක් ගතවෙනවා. මේ කාලය තුල මෝටරය පොඩි ජෙනරේටරයක් විදිහටයි ක්‍රියා කරන්නේ. දැන් මෝටරයෙන් ප්‍රති විද්‍යුත් ගාමක බලයක් (Back Electromotive Force) කලින් ධාරාව ගමන් කරපු දිශාවට විරුද්ධ අතට නිර්මාණය වෙනවා. දැන් ට්‍රාන්සිස්ටර් 4 ම අක්‍රිය නිසා ධාරාවට ගලන්න මාර්ගයක් නෑ. ඒත් අපි ඩයෝඩ සම්බන්ධ කරලා තියෙන නිසා ඩයෝඩ හරහා ධාරාව ගලාගෙන ගිහින් ජනනය වුණ ශක්තිය උදාසීන වෙනවා. (වැදගත් : පසු විද්‍යුත්ගාමක බලයේදී විතරක් ක්‍රියාත්මක වෙන්න ඕන නිසා ඩයෝඩ 4 ම + - අග්‍ර මාරු කරලයි පරිපථය සම්බන්ධ කරලා තියෙන්නේ.)




ම‍ෝටරයක වේගය අඩු වැඩි කරන්නේ කොහොමද කියලා ඊළග ලිපියෙන් කථා කරමු.



Spare Parts 2015 [Movie Review]




රොබෝටික්ස් වලට උනන්දු අය අනිවාර්යයෙන්ම බලන්න ඕන Film එකක් තමයි මේ Spare Parts කියන්නේ. නිකුත් වෙලා තියෙන්නේ 2015 දී.

ඇමරිකාවේ ප්‍රධාන රොබෝ නිර්මාණ තරගාවලියකට ඉදිරිපත් වන Carl Hayden නම් සාමාන්‍යය පාසල් සිසූන් 4 දෙනෙක් සහ ඔවුන් දිරිමත් කරන ගුරුවරයෙක් වටායි මේ කථාව නිර්මාණය වෙලා තියෙන්නේ.





මෙයාලට මුදල්, පහසුකම්, තාක්ෂණය වගේ මොකුත්ම නෑ. හැබැයි MIT වගේ උසස් පහසුකම් තියෙන ලෝකයේ අංක එකේ විශ්ව විද්‍යාල පරදවා තරගයේ පලවෙනි තැනට එන්න මේ සිසූන් හතරදෙනා සමත් වෙනවා. ඒ ඔවුන්ගේ නිර්මාණාත්මක අදහස්, අධිෂ්ඨානය හා නොපසුබට උත්සාහය නිසයි.



ලංකාවේ වුනත් Robotics වැඩ කරන්න ගොඩක් අමාරුයි. ර‍ොබ‍ෝලා හදන්න අවශ්‍ය උපාංග හොයාගන්න අමාරුයි. තියෙන උපාංගත් ගොඩක් මිල අධිකයි. තාක්ෂණික දැනුම ලබාගන්නත් අමාරුයි. මේක තනිකරම උඩුගං බලා පීනනවා වගේ දෙයක් කියලා කරන අය දන්නවා.

නමුත් අපිට ටිකක් නිර්මාණශීලී වෙන්න පුළුවන් නම් අපිට ඕන කරන දේවල් අපි අවටින් ම හොයාගන්න පුළුවන්. ඒ වගේම උනන්දුව තියෙනවා නම් කරන්න බැරි දෙයක් නෑ. ලංකාවේ නම ලෝකයට ගෙනියන්න කැමති අයට මේ චිත්‍රපටයෙන් ඉගෙනගන්න පුළුවන් ගොඩක් දේවල් තියෙනවා.




මට කියන්න අමතක වුණ තව දෙයක් තියෙනවා. මේ චිත්‍රපටිය තවත් එක ප්‍රබන්ධයක් නෙවෙයි. 2004 සිදුවුණ සත්‍ය සිදුවීමක් ඇසුරිනුයි මේ චිත්‍රපටය නිර්මාණය කරලා තියෙන්නේ. චිත්‍රපටයේ අවසානය‍ේදී, ඔවුන්ගේ සැබෑ කථාව බලාගන්නත් පුළුවන්.

බයිස්කෝප් වෙබ් අඩවියෙන් චිත්‍රපටයට සිංහල උපසිරැසි ලබාදීලා තියෙනවා. සිංහල උපසිරැසි නිර්මාණය කරපු ඒ සොහොයුරාටත් ස්තූති කරලා මෙතනින් Subtitle File එක බාගත කරගන්න.









DC Gear Motors හදුනාගනිමු




කලින් ලිපියක සදහන් කරපු DC Motors වලම වැඩි දියුණු කළ අවස්ථාවක් තමයි මේ තියෙන්නේ. මේ මෝටර් ඇතුලේ තියෙන්නේ සාමාන්‍ය DC මෝටරයක් තමයි. හැබැයි මෝටරයේ අක්ෂය (ඉංග්‍රිසියෙන් Shaft) ගියර් පද්ධතියකට සම්බන්ධ කරලයි තියෙන්නේ. ඒ නිසා මේ මෝටර්වල වේගය අඩුයි. හැබැයි මෝටරයෙන් ලබාදෙන බලය (ව්‍යාවර්තය/Torque) වැඩියි.

රෝද වලින් ගමන්කරන ර‍ොබෝලා හදද්දී වැඩිපුරම පාවිච්චි වෙන්නේ මේ වර්ගයට අයිති මෝටර් තමයි. ලංකාවේ පහසුවෙන්ම හොයාගන්න පුළුවන් මෝටර් කිහිපයක් මම හදුන්වාදෙන්නම්. ඔයාලා හදන්න ඉන්න රොබෝ වෙනුවෙන් ඒ මෝටර් අතරින් කැමති වර්ගයක් තෝරගන්න.


Smart Car Robot  DC Gear Motor




වේගය සාමාන්‍යයි. බලයත් සාමාන්‍යයයි. මෝටරයත් එක්ක රෝදයත් ගන්න තියෙනවා. මිලෙන් අඩුයි වගේම ගොඩක් කඩවල මේ මෝටර් එක ගන්න තියෙනවා. මේ මෝටර් වල තියෙන ප්‍රධානම අවාසිය තමයි ප්‍රතිචාර දක්වන්න ගතවන ප්‍රමාදය. ඒ කියන්නේ අපි මෝටරයේ වේගය වෙනස් කරන්න කියලා උපදෙස් දුන්නත්, මෝටරයට තමන්ගේ වේගය වෙනස් කරගන්න පොඩි වෙලාවක් ගතවෙනවා. (Line following රොබෝලා හදද්දී මේ අවාසිය ගොඩක් බලපානවා.) අනිත් කාරණය මේකට පාවිච්චි කරලා තියෙන ප්ලාස්ටික් ගියර් ඉතා ඉක්මණන් ගෙවෙනවා. මෝටරයෙන් ගන්න පුළුවන් උපරිම වේගය 120rpm ට සීමා වෙනවා.


Micro Metal Motors




Line following රොබෝලා හදද්දී වැඩිපුරම පාවිච්චි වෙන්නේ මේ මෝටර් වර්ගයයි. 60 rpm ඉදලා 1200 rpm වගේ ලොකු වේග පරාසයක මෝටර් වෙලද පොළෙන් හොයාගන්න පුළුවන්. 6V හා 12V කියන වර්ග දෙකකුත් තියෙනවා. (මෝටරේ voltage එක ‍තෝරගන්න ඕන, පාවිච්චි කරන්න බලාපොරොත්තු වෙන බැටරි වර්ගය අනුවයි. මම ඒ ගැන ඉදිරි ලිපියකින් කියාදෙන්නම්.)

මේ මෝටර් බරින් අඩුයි වගේම බොහොම කුඩායි. ගන්න පුළුවන් උපරිම බලයත් අඩුයි. කුඩා ප්‍රමාණයේ රොබෝලට තමයි මේ මෝටර් වර්ගය ගැලපෙන්නේ.

මේ මෝටර් වලට පාවිච්චි කරන Tire එක තමයි මේ තියෙන්නේ. 
(Small Smart car model tire D hole)


Heavy Gear Head Motors



මේවා Micro Gear Head Motor වලට වඩා ප්‍රමාණයෙන් හා විශාලත්වයෙන් වැඩියි. ඒ වගේම වැඩි බලයක් ගන්න පුළුවන්. වේගය නම් ටිකක් අඩුයි. ප්‍රමාණයෙන් ලොකු රොබෝලා හදද්දී මේ මෝටර් තමයි පාවිච්චි කරන්න වෙන්නේ.

මේ මෝටර් වලටපහත රූප සටහනේ තියෙන Tire එකයි, Connector එකයි පාවිච්චි කරන්න පුළුවන්. (මේ  Tire නම් ටිකක් හොයාගන්න ආමාරුයි. )

RC Car wheel and tire 68mm

5mm Shaft Brass Coupler with 12mm Hex connector end







-- Next Post --
අපිට ඕන විදිහට මෝටර් කරකවන්නේ කෙහොමද ? (H-Bridge)