Showing posts with label robotics. Show all posts
Showing posts with label robotics. Show all posts

5DOF Robot Arm


මේ තියෙන්නේ මම ලගදි හදපු Robot Arm එකක්. තාම හදලා නම් ඉවර කරලා නෑ. Design එකට මූලික අදහස ගත්තේ Dorna කියන robot arm එකෙන්. Stepper motors වලින් තමයි වැඩ කරන්නේ. (Nema17 මෝටර් 3 යි, 28BYJ-48 මෝටර් 2 යි) Firmware එක විදිහට grbl-5x සහ Development board එක විදිහට Arduino Mega 2560 + Ramps 1.4 පාවිච්චි කරලා තියෙනවා.


ගොඩක් කොටස් හදලා තියෙන්නේ 3mm Cladding Boards වලින්. හැම කොටසක්ම ව⁣ගේ කැපුවේ මගේ CNC Machine එකෙන්.












DIY Robot Aarm

Another 'Holiday Engineering' project on its final stage.

Now my newly made 3 DOF Robot Arm can solves 'Tower of Hanoi' problem

The design was based on the 'uARM metal' project and I did some updates with available materials. Firmware is GRBL 1.1, which is used to control CNC machines.

Need some position calibration mechanism and coordinate mapping function from Cartesian to Cylindrical for stepper motors driven by CoreXY arrangement.

For your Interest:
>> https://en.wikipedia.org/wiki/Tower_of_Hanoi


All-in-one Robot Board : Minbot-Nano v1.0






Robotics කරන අයට ගොඩක් වැදගත්වෙන දෙයක් තමයි අද මම ගෙනල්ලා තියෙන්නේ. සාමාන්‍යයෙන් Arduino Board, Motor Drive, Power Supply, Sensors වගේ පොඩි පොඩි මොඩියුල් ගොඩක් Jumper Cables වලින් අමුණලා තමයි රොබෝ කෙනෙක්ව හදන්නේ. රොබෝ පොඩ්ඩක් එහෙ මෙහේ වුණ ගමන් අර වයර් බුරුල් වෙනවා. ලෙඩේ හොයාගන්න සෑහෙන වෙලා යනවා. Sensors වල වයර් බුරුල් (Loose Connection) වුණාම Readings වලටත් ලොකු බලපෑමක් එනවා.

මේ ප්‍රශ්න වලට විසදුමක් විදිහට තමයි මම මේ පල්ලෙහා රූපයේ තියෙන විදිහේ පොඩි Development Board / Shield එකක් නිර්මාණය කලේ. මේ Board එකේ සාමාන්‍ය රොබෝ කෙනෙක්ට තියෙන්න ඕන හැම උපාංගයකටම අවශ්‍ය ඉඩ තියෙනවා.



Development බෝර්ඩ් එක විදිහට පාවිච්චි කරලා තියෙන්නේ Arduino Nano එකක්. Nano එක වෙනුවට NodeMCU දාපු බොර්ඩ් එකකුත් ඉදිරියේදී Design කරන්න අදහසක් තියෙනවා.

Arduino Nano Board

Motor Driver එක විදිහට පාවිච්චි කරලා තියෙන්නේ TB6612FNG කියන මොඩියුල් එක. මේකෙන් 1.2A වෙනකම් ධාරාවක් ගන්න මොටර් Control කරන්න පුළුවන්.  N20 වගේ පොඩි මෝටර් වලට මේක හොදටම ප්‍රමාණවත්. ගෙන්නගත්තේ eBayඑකෙන්. වටිනාකම $1.37 (~Rs.220) විතර වෙනවා. (eBay Link: https://ebay.us/NOoW81)

TB6612 FNG Module


Voltage Regulator එක විදිහට පාවිච්චි කරලා තියෙන Unit එක ගෙන්නගත්තේ Aliexpress එකෙන්. වටිනාකම $0.69 (~Rs.110) විතර වෙනවා.
DC DC Step Down Buck Converter



මේක PCB Toner Transfer විදිහට හදාගන්න ඕන කරන Files, /printable_files folder එකේ තියෙනවා.

Online Service එකකින් හදාගන්න කැමති නම් ඒකට ඕන කරන gerber files,  /gerber_files folder එකේ තියෙනවා.

මේ Board එකට ගැලපෙන Sample Code එකක්, /program-nano folder එකේ තියෙනවා.

Board එකට components පාස්සගන්න ඕන විදිහ ගැන විස්තර, /Minbot_v1_Doc.pdf  කියන PDF එකේ තියෙනවා.



මේ Design එක, CEYKOD Research & Development මගින් GPLv3 බලපත්‍රය යටතේ නිදහස් හා විවෘත නිර්මාණයක් (Free and Open Source Design) විදිහටයි ඉදිරිපත් කරලා තියෙන්නේ.


Download Full Design from GitHub:







මේ වගේ තවත් Open-source Designs ගැන දැනගන්න, CRaD FB Page එකට Like කරන්න.









SLIIT Robofest 2017

Maze Solving: In Virtual Maze





Arrow Following: With RGB arrows | Single color sensor









The competition was held on 07th of September 2017 at SLIIT Malabe Campus. Our robot now worked well in the game field due to a technical problem.


Self Balancing Robot




සෑහෙන කාලෙකට පස්සේ Robo කෙනෙක් හැදුවා. (හැදුවා කිව්වට තාම හදලා ඉවර නෑ.)

මේ රො⁣බෝට රෝද දෙකෙන් සමබරව ඉන්න පුළුවන්. සමබරතාව තියාගන්නේ MPU 6050 Gyroscope sensor එකක් මගින් ලැබෙන pitch angle කියන දත්තය පාවිච්චි කරලයි.

මීට අමතරව PID කියන Control Structure එකත් භාවිතා වෙනවා. වෙලාවක් ලැබුනොත් හදන හැටි blog post එකක් දාන්නම්.





Bluetooth කාර් එකක් හදමු (Part 1)



අපි දැන් මෝටර් ගැනයි, රෝද ගැනයි, මෝටර් ධාවක පරිපථය ගැනයි පහුගිය ලිපිවලින් කථා කරලා තියෙනවා. ඒ වගේම තියරි පැත්තට වැටෙන H Bridge ගැනයි, PWM ගැනයි කථා කරලා තියෙන්නේ. ඒ නිසා දැන් අපිට පුළුවන් අපේ පළවෙනි රොබෝව නිර්මාණය කරන්න. පළවෙනි රොබෝවරයා විදිහට 2 Wheel Bluetooth රොබෝ කෙනෙක් හදමු. 


මේකට පාවිච්චි කරන්නේ කහපාට Smart Car Robot Wheel කියන මෝටර්. චැසියක් කඩෙන් ගන්න පුළුවන් වුණත් අපිම හදාගමු. ලේසියෙන්ම චැසියක් හදාගන්න විදිහ මම කියාදෙන්නම්.


මෝටර් වලට අමතරව මේ ලැයිස්තුවේ තියෙන දේවල් ටිකත් ඕන වෙනවා.

Ball Caster Wheel







මේ රූපසටහනේ තියෙන විදිහේ එකක්ම හොයාගන්න පුළුවන් නම් හොදයි. වානේ හා ප්ලාස්ටික් විදිහට වර්ග දෙකකින් ගන්න පුළුවන්. වානේ එක ගන්න පුළුවන් නම් ගොඩක් ම හොදයි. Caster wheel එකට හරියන bolt ඇණ දෙකකුත් හොයාගන්න.

බැටරියක් (Battery)




LiPo හෝ Li-ion බැටරියක් ගන්න බලන්න. Cell 2ක් (7.4v) හෝ cell 3 ක් (11.1 v) තියෙන බැටරියක් පාවිච්චි කරන්න පුළුවන්. ධාරිතාව 1200mAh වලින් එහා එකක් ගන්න පුළුවන් නම් ඉස්සරහටත් ගොඩක් ම ප්‍රයෝජනවත් වෙනවා. 

මෝටර් ධාවක පරිපථය (Motor Drive) 



මේකට අපි කලින් හදාගත්ත පරිපථය හෝ කඩෙන් ගත්ත module එකක් පාවිච්චි කරන්න පුළුවන්.


Breadboard Jumpers / Circuit Wire 






Breadboard Jumper වර්ග 3 ක් තියෙනවා. (Male to Male, Male to Female, Female to Female) වර්ග 3න් ම Jumper Cables ගන්න. ඉස්සරහට හදන රොබෝලාටත් ඕන වෙනවා.

Circuit wire ටිකකුත් ගන්න. වයර් පාස්සන්න ඕනෑවෙන soldering iron එකක් හා ඊයම් ටිකකුත් 
ගන්න බලන්න.


Arduino Board (Arduino UNO)




ආර්ඩියුනෝ බෝඩ් එක විදිහට Uno බෝඩ් එකක් හරි Mega බෝඩ් එකක් හරි පාවිච්චි කරන්න පුළුවන්. මේ project එකට නම් Uno එකක් ප්‍රමාණවත්.

නට්, බෝල්ට් ඇණ ( Nuts & Bolts )




රොබෝ නිර්මාණය කරගෙන යනකොට බෝල්ට් ඇණ ගොඩක් ම ප්‍රයෝජනවත් වෙනවා. ඒ අතරින් 3 mm bolt ඇණ තමයි ගොඩක් ම පාවිච්චි වෙන්නේ. ඒ නිසා ඇණ විකුණන Hardware එකකින් දිගවල් කීපයකම 3 mm nut & bolts ටිකක් ගන්න.

(5 mm, 12 mm, 15 mm, 20 mm, 25 mm, 30 mm,... කියන ප්‍රමාණ වලින් ගන්න තියෙනවා.)

Bluetooth Module 






Bluetooth module එක විදිහට HC 05 හෝ HC 06 මොඩියුලයක් භාවිතා කරන්න පුළුවන්. ම‍ේ දෙකෙන් HC 05 තමයි ගොඩක් හොද. (මේ මොඩියුල දෙකේ වෙනස ගැන ලිපියක් මෙතනින් කියවන්න)

එහෙනම් මේ ලැයිස්තුවේ තියෙන දේවල් ටික පුළුවන් විදිහට ලෑස්ති කරගන්න. ඊළග ලිපියේ ඉදලා රොබෝව හදන විදිහ කියාදෙන්නම්.




ගොඩක් කාලෙකට පස්සේ තමයි අද බ්ලොග් එකට ලිපියක් ලියන්න ලැබුණේ. මේ ලගදී විශ්වවිද්‍යාල ගමන ආරම්භ වුණ නිසා කලින් වගේ සතියකට ලිපිය ගානේ දෙන්න බැරි වුණත් පුළුවන් පුළුවන් විදිහට බ්ලොග් එක update කරන්නම්. (2016-12-16)

Motor Drive PCB එකක් හදමු



කලින් ලිපියේ පොරොන්දු වුණා වගේම මම අද කියාදෙනවා Motor Drive Module එකක් ගෙදරදිම හදාගන්න විදිහ.

ඒකට මේ ලැයිස්තුවේ තියෙන දේවල් ඕන වෙනවා.

  • L298 IC
  • 7805 
  • 1N4001 Diodes - 8
  • වෙරෝ බ‍ෝඩ් එකක්
  • 2 pin Terminal Block - 3
  • Male header (Pin තුනේ කෑලි 4ක්)
  • පරිපථ වයර්
  • ඊයම් + බවුත් එකක්


දැන් වෙරෝ බෝඩ් එක අතට ඇරන් යට පැත්ත හරවලා බලන්න. දැන් ඔයාලට පේනවා ඇති සිදුරු අතරින් තඹ තීරු තියෙනවා කියලා. මේවා දිගේ විදුලිය ගමන් කරන නිසා මේ තීරුවක තැන් 2 ක උපකරණ දෙකක් වෙන වෙනම පාස්සලා ඒ දෙක එකිනෙක සම්බන්ධ කරන්න පුළුවන්. මේ නිසා පරිපථය පුරාම වයර් ගොඩක් අමුණගෙන කරදර වෙන්න ඕන නෑ.

මෝටර් ධාවක පරිපථය හදමු

දැන් L298 IC එක අතට ගන්න. මේක සාමාන්‍යය IC එකකට වඩා ටිකක් වෙනස්. මේක වෙරෝ බෝඩ් එකට සම්බන්ධ කරන්න නම්, pin 8 ක් තියෙන පේලියේ pin ටික පොඩ්ඩක් විතර පැත්තකට නමාගන්න වෙනවා. ඒක කරන්නේ කොහොමද කියලා මේ රූපසටහන් වලින් බලාගන්න. (උඩින් බැලුවම මේ විදිහට තියෙන්න ඕන.)




දැන් මේ රූපසටහන්වල තියෙන විදිහට උපාංග ටිකයි, වයර් ටිකයි පාස්සගන්න.




බවුත් එකෙන් නිවැරදිව පාස්සන හැටි ඉගෙනගන්න කැමති නම් මේ Video ටික බලලා ඉන්න.



පළවෙනි රූපයේ තියෙන්නේ උපාංග සම්බන්ධ කලාම උඩින් පේන විදිහ. මේක බලාගෙන උඩින් සියළුම උපාංග සම්බන්ධ කරලා සුපර් ග්ලූ වලින් හරි වෙනත් ක්‍රමයකින් හරි සියළුම කොටස් පරිපථයට සම්බන්ධ කරගත්තා නම්, පාස්සන වැඩේ ගොඩක් ලේසි වෙයි.

දෙවෙනි රූපයෙන් සම්පූර්ණ පරිපථයම පෙන්වනවා.

වැදගත් කරුණු

රතු පාට කඩඉරි වලින් සදහන් කරලා තියෙන තැන්වලින් වෙරෝ බෝඩ් එකේ තඹ තීරුව විසන්ධි කරන්න. (යකඩ අඩිරූලකින් හූරලා තඹ තීරුව ල‍ේසියෙන්ම විසන්ධි කරන්න පුලුවන්)

කොල පාටින් පෙන්නලා තියෙන Terminal Blocks කෙලින්ම වෙරෝ බෝඩ් එකට සම්බන්ධ කරන්න ටිකක් අමාරුයි. ඒකට වොරෝ බෝඩ් එකේ සිදුර ටිකක් විතර ලොකු කරගන්න වෙනවා.

අළුපාටින් පෙන්නලා තියෙන තැන්වලට Pin Headers සම්බන්ධ කරගන්න.

7805 පාවිච්චි කරලා තියෙන්නේ IC එකට +5v වෝල්ටීයතාවක් ලබාගන්නයි. මේක On Board Regulator එකක් විදිහටයි ක්‍රියාත්මක වෙන්නේ. රොබෝ හැදුවට පස්සේ රොබෝගේ පරිපථ වලට අවශ්‍යය 5v ලබාගන්නත් මේ Regulator එක භාවිතා කරන්න පුළුවන්.



LED එකක් (රතු පාටින් තියෙන්නේ LED එක) දාලා තියෙන්නේ Module එකට විදුලිය ලැබෙනවාද කියලා දැනගන්න පහසු වෙන්නයි. කැමති නම් මේ විදිහටම IC එකේ EnA, EnB අග්‍ර වලටත් LED එක බැගින් සම්බන්ධ කරගන්න. එතකොට මෝටර් 2 වැඩ කරනවද නැද්ද කියලා ලේසියෙන්ම බලාගන්න පුළුවන්.  (මතක ඇතිව 470 ohm ප්‍රතිරෝධකයක් පාවිච්චි කරන්න. නැත්නම් LED එක පිච්චෙන්න ඉඩ තියෙනවා)

අග්‍ර හදුනාගනිමු

GND වලට බැටරියේ සෘණ අග්‍රය සම්බන්ධ කරන්න.

+V වලට 6v ඉදලා 12v වෙනකම් ඕනෑම වොල්ටීයතාවක් දෙන්න පුලුවන්.

+5V Output අග්‍රවලින් 5V වොල්ටීයතාවක් ගන්න පුළුවන්. මේ අග්‍ර ටික ඉස්සරහට ගොඩක් ප්‍රයෝජනවත් වෙයි.

අනිත් අග්‍ර ටික ආර්ඩියුනෝ බෝඩ් එකට සම්බන්ධ කරලා program එකක් ලියන්නේ කොහොමද කියන එක මම ඊළග ලිපියෙන් කියාදෙන්නම්.


මේ ලිපියෙදී කියාදුන්නේ වෙරෝ බෝර්ඩ් එකක පරිපථය හදාගන්න විදිහ. ඔයාලා කැමති නම් මේක PCB (Printed Circuit Board) එකක් විදිහටත් නිර්මාණය කරගන්න පුලුවන්. 




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







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 එකක් හදාගන්න විදිහ මම ඊළග ලිපියෙන් කියාදෙන්නම්.





ම‍ෝටරයක වේගය පාලනය කරමු (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




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


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




රොබෝ කෙනෙක් හදද්දී මෝටර් පාවිච්චි වෙනවා. මේ මෝටර් අපිට ඕන විදිහට කැමති පැත්තට කරකවන්නේ කොහොමද ? ඒ සදහා පාවිච්චි කරන 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 ම + - අග්‍ර මාරු කරලයි පරිපථය සම්බන්ධ කරලා තියෙන්නේ.)




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