AVR Programmer R2 দিয়ে মাইক্রোকন্ট্রোলারে Hex ফাইল আপলোড
AVR Programmer R2 হলো USB Port বিশিষ্ট একটি সার্কিট বোর্ড। এই সার্কিট বোর্ডের অভ্যন্তরে রয়েছে ATmega8 মাইক্রোকন্ট্রোলার। মাইক্রোকন্ট্রোলারকে Firmware দিয়ে তৈরি করা হয়েছে AVR Programmer R2. এই প্রোগ্রামার ব্যবহার করে AVR সিরিজের মাইক্রোকন্ট্রোলার গুলোকে Read/Write করা যাবে। R2 মূলত সার্কিট বোর্ডের ডিজাইন ভার্শন। জিফ সকেটের উপর বসিয়ে অথবা ISP কানেক্টরের সাথে জাম্পার ওয়্যার ব্যবহার করে মাইক্রোকন্ট্রোলারকে প্রোগ্রাম করা যাবে।
টেকনিক্যাল ফিচারঃ
- সংযোগ প্রক্রিয়াঃ USB Port
- ISP পোর্টঃ ৬ পিনের কানেক্টর রেইল
- রাইট স্পিডঃ 5kB/sec Maximum
- রিড/রাইটঃ EEPROM, Firmware and fuse bits.
- পাওয়ারঃ USB পোর্ট ৫ ভোল্ট সাপ্লাই।
- সাপোর্টেড সফটওয়্যারঃ AVRDUDESS, eXtreme Burner and AVRpal.NET
- ইন্ডিকেটর LED:
- Green LED: Busy. প্রোগ্রাম আপলোডের সময় Blinking হবে।
- Blue LED: ৮/২৮ পিনের মাইক্রোকন্ট্রোলার সিলেকশন।
- Red LED: ৪০/২০ পিনের মাইক্রোকন্ট্রোলার সিলেকশন।
- সাপোর্টেড অপারেটিং সিস্টেমঃ Linux, Windows XP, Windows Vista, Windows 7 and Windows 10
যে সকল মাইক্রোকন্ট্রোলার সাপোর্ট করবে
Mega Series
ATmega48 | ATmega8 | ATmega88 | ATmega8515 | ATmega8535 |
ATmega16 | ATmega162 | ATmega163 | ATmega164 | ATmega165 |
ATmega168 | ATmega169 | ATmega169P | ATmega32 | ATmega324 |
ATmega325 | ATmega3250 | ATmega328P | ATmega329 | ATmega3290 |
ATmega64 | ATmega640 | ATmega644 | ATmega645 | ATmega6450 |
ATmega649 | ATmega6490 | ATmega128 | ATmega1280 | ATmega1281 |
ATmega2560 | ATmega2561 |
Tiny Series
ATTiny12 | ATTiny13 | ATTiny15 | ATTiny24 | ATTiny25 |
ATTiny26 | ATTiny2313 | ATTiny44 | ATTiny45 | ATTiny84 |
ATTiny85 |
মাইক্রোকন্ট্রোলার প্রোগ্রাম করার পদ্ধতি
AVR Programmer R2 তে মাইক্রোকন্ট্রোলার প্রোগ্রাম করার জন্য দুইটা পদ্ধতি রয়েছে। ১। জিফ সকেট এবং ২। ISP Pin.
জিফ সকেটঃ
জিফ সকেটে মোট ৪০ পিন রয়েছে। সর্বোচ্চ ৪০ পিনের মাইক্রোকন্ট্রোলার জিফ সকেটে বসিয়ে প্রোগ্রাম করা যাবে। সকেটে বসানো অবস্থায় কোন প্রকার IO পিনের এক্সেস করা যাবে না। জিফ সকেটের উপর এবং নিচের দিকে কিছু সংখ্যা রয়েছে। উপরের দিকে 28, 20 এবং নিচের দিকে 8, 40. এর অর্থ হলো এই চার ধরণের পিনের মাইক্রোকন্ট্রোলার বসিয়ে প্রোগ্রাম করা যাবে। সেই ক্ষেত্রে নাম্বারের পাশের তীর চিহ্ন পিনটি হবে মাইক্রোকন্টোলারের ১ নাম্বার পিন। যদি ভুল ক্রমে এক ঘর সামনে কিংবা পিছনেও বসানো হয়, তাহলে প্রোগ্রামার মাইক্রোকন্ট্রোলার Detect করতে পারবে না।
৮ পিনের মাইক্রোকন্ট্রোলার স্থাপন – ATtiny85
সিলেক্টর সুইচ উপরের দিকে রাখতে হবে। নীল LED জ্বলে থাকবে।
২৮ পিনের মাইক্রোকন্ট্রোলার স্থাপন – ATmega8A
সিলেক্টর সুইচ উপরের দিকে রাখতে হবে। নীল LED জ্বলে থাকবে। এই অবস্থায় মাইক্রোকন্ট্রোলার দেখতে উল্টো দেখাবে। কিন্তু ২৮ পিনের ক্ষেত্রে এটাই সঠিক নিয়ম। নিচের ছবিটা দেখলে বসানোর বিষয়টি বুঝা যাবে।
৪০ পিনের মাইক্রোকন্ট্রোলার স্থাপন – ATmega32
সিলেক্টর সুইচ নিচের দিকে রাখতে হবে। লাল LED জ্বলে থাকবে।
২০ পিনের মাইক্রোকন্ট্রোলার স্থাপন – ATtiny2313
সিলেক্টর সুইচ নিচের দিকে রাখতে হবে। লাল LED জ্বলে থাকবে। 20 পিনের মাইক্রোকন্ট্রোলার ATtiniy2313. এটিও দেখতে উল্টো দেখাবে।
ISP Pin
ISP একটি ৬ পিনের কানেক্টর রেইল বা টার্মিনাল। এই কানেক্টরের সাথে ৬টি তার সংযোগ করে Breadboard কিংবা অন্যত্র থাকা AVR Microcontroller কে প্রোগ্রাম করা যাবে। এর মধ্যে রয়েছে MISO, VCC, SCK, MOSI, RST and GND পিন। এই পিনগুলোর প্রতিটা পিন থাকবে AVR Microcontroller এর মধ্যে। শুধু সঠিক ভাবে সংযোগ করলেই ব্রেড বোর্ডে বসানো AVR মাইক্রোকন্ট্রোলারকে প্রোগ্রাম করা যাবে।
ICSP Pin: এটিও একটি ISP পিন। এই পিন ব্যবহার করে খুব সহজেই Arduino বোর্ড গুলোকে বুট লোড করা যায়। এবং যে সকল AVR ডেভেলপমেন্ট বোর্ডে ICSP কানেকটর রয়েছে সেই বোর্ডগুলোকে একটি IDC Ribbon Cable ব্যবহার করে প্রোগ্রাম করা যাবে। ISP পিন ব্যবহারের ক্ষেত্রে Selector এর দিক পরিবর্তন প্রয়োজন নেই।
Selector
জিফ সকেটে কত পিনের মাইক্রোকন্ট্রোলার বসানো হয়েছে তা এই সিলেক্টর দিয়ে নির্ধারণ করতে হবে। সুইচের উপর পাশে 8,28 পিন এবং নিচের পাশে 20, 40 পিনের মাইক্রোকন্ট্রোলার সিলেক্ট করতে হবে।
Indication LED
মোট তিন ধরণের LED ইন্ডিকেটর রয়েছে AVR Programmer R2 তে।
BUSY: সাধারণ অবস্থায় BUSY LED OFF থাকবে। প্রোগ্রাম আপলোডের সময় LED Blink করতে থাকবে। প্রোগ্রাম আপলোড সম্পন্ন হলে LED OFF হয়ে যাবে।
8,28 LED: এই LED Color Blue. এই LED ON থাকলে বুঝতে হবে, ৮ এবং ২৮ পিনের মাইক্রোকন্ট্রোলার প্রোগ্রাম আপলোডের জন্য জিফ সকেট Selected হয়েছে।
40,20 LED: এই LED Color Red. এই LED ON থাকলে বুঝতে হবে, 40 এবং 20 পিনের মাইক্রোকন্ট্রোলার প্রোগ্রাম আপলোডের জন্য জিফ সকেট Selected হয়েছে।
SLOW SCK
নতুন একটি মাইক্রোকন্ট্রোলারকে সর্বোচ্চ স্পিডে প্রোগ্রাম করা যায়না। সেই ক্ষেত্রে Bit Clock Speed KHz রেঞ্জে সিলেক্ট করে নিতে হয়। ভিন্ন ভিন্ন Bit Clock Speed শুধুমাত্র সফটওয়্যার দিয়েই করা যাবে। SLOW SCK সুইচের মাধ্যমে Maximum-Minimum করা যাবে। নতুন মাইক্রোকন্ট্রোলারের ক্ষেত্রে প্রোগ্রাম আপলোডের পূর্বে SLOW SCK সুইচটি ON করে নিতে হবে।
সফটওয়্যার সাপোর্ট
AVR Programmer R2 তে যে সকল সফটওয়্যার ব্যবহার করা যাবে, সেইগুলো হলো- AVRDUDESS, eXtreme Burner এবং AVRpal.NET.
AVRDUDESS
আমি মনে করি AVRDUDESS সফটওয়্যার অনেক ভালো পারফর্ম করে। ইন্টারফেসটি দেখতে নিচের চিত্রের মত। প্রোগ্রাম আপলোডের পূর্বে ২টা সিলেকশন করে নিতে হবে।
Programmer (-c) অপশন থেকে USBasp, http://www.fischl.de/usbasp/ সিলেক্ট করে নিতে হবে। এরপর Bit clock (-B) এ ক্লিক করে 187.5 KHz ক্লিক করতে হবে। তারপর Detect ক্লিক করলেই সাথে সাথে মাইক্রোকন্ট্রোলারের নাম প্রদর্শিত হবে। এই পর্যন্ত ঠিকভাবে কাজ করলে বুঝতে হবে, মাইক্রোকন্ট্রোলার রেসপন্স ঠিক আছে। এবার কাঙ্ক্ষিত .hex ফাইলটি ব্রাউজ করে Program! লেখা বাটন ক্লিক করলেই সাথে সাথে .hex টি আপলোড হয়ে যাবে। যদি মাইক্রোকন্ট্রোলার নতুন হয় তাহলে অবশ্যই Fuse bit Configure করে নিতে হবে। সঠিক Fuse bit Configuration করার জন্য Fuse bit Configuration কেনো প্রয়োজন? লেখাটি পড়ে দেখুন।
eXtreme Burner
সফটওয়্যার ইন্সটল করার পর Chip থেকে মাইক্রোকন্ট্রোলার সিলেক্ট করে নিতে হবে। এরপর কাঙ্ক্ষিত বাটনে ক্লিক করে রিড, রাইটসহ ইরেজ করা যাবে।
AVRpal.NET
AVRpal.NET3.1.0 সফটওয়্যারটি ইন্সটল করতে হবে। এরপর সফটওয়্যারটি চালু করলে নিচের চিত্রের মত একটি ইন্টারফেস দেখাবে। মাঝের কালো অংশে ক্লিক করলেই মাইক্রোকন্ট্রোলার স্ক্যান করে দেখাবে।
প্যাকেজে অন্তর্ভুক্ত রয়েছে
AVR Programmer R2 এর সাথে আরও ২টি কম্পোনেন্ট রয়েছে, ক্যাবল এবং DVD। ডিভিডির মধ্যে রয়েছে USBasp ড্রাইভার, ম্যানুয়াল, কম্পাইলারসহ প্রয়োজনীয় সফটওয়্যার।
- AVR Programmer R2 —> ১ পিছ
- USB Cable A to B —> ১ পিছ
- DVD (ম্যানুয়াল, সফটওয়্যার ইত্যাদি)
USBasp ড্রাইভার ইন্সটলেশন
প্রোগ্রামারটি কম্পিউটারে সংযোগ দেওয়ার সাথে সাথে ডিটেক্ট করবে। এরপর USBasp Driver টি ইন্সটল করতে হবে। ইন্সটলেশনের বেশ কয়েকটি ধাপ রয়েছে, যা নিচের ভিডিওর মাধ্যমে দেখানো হয়েছে।
সাবধানতাঃ
১। জিফ সকেটে মাইক্রোকন্ট্রোলার সঠিক নিয়মে বসাতে হবে।
২। ভিন্ন সিরিজের মাইক্রোকন্ট্রোলার (PIC, 8051 etc) জিফ সকেটের উপর স্থাপন করা যাবে না।
৩। বাহির থেকে ভোল্টেজ সাপ্লাই করা যাবে না।