PIC Micro Controller টিউটোরিয়াল [পর্ব-০৫] :: কিভাবে বাসায় Printed Circuit Board (PCB) তে Programmer বানাবেন

আজকে কোন প্রোগ্রামিং নয়। আজকে আমরা প্রোগ্রামার নিয়ে আলোচনা করবো, আর দেখাব কিভাবে Printed Circuit Board বানাবেন, তাও আবার ঘরে বসে একেবারে নিজ হাতে। আর একবার PCB বানানো শিখে গেলে আমার মনে হয় না আপনি আর কোনদিন Vero Board  নিয়ে কাজ করতে চাইবেন। আশা করি পুরো পোস্টটা পড়বেন ধৈর্য সহকারে।

নতুনদের কাছে Micro controller নিয়ে কাজ শুরু করার প্রধান অন্তরায় হল প্রোগ্রামার। বাজার থেকে সর্বনিম্ন  দামের একটি ভালো মানের প্রোগ্রামার কিনতে আনুমানিক ৫০০০-৭০০০ টাকা লাগে। বেশিরভাগ ক্ষেত্রে এইসব প্রোগ্রামার গুলো Universal Programmer হয়ে থাকে। অর্থাৎ এইগুলো দিয়ে আপনি Pic, Avr আরও হাবিজাবি অনেক গুলো  Micro controller প্রোগ্রাম করতে পারবেন। কিন্তু কোনটারই সবগুলো সিরিজ প্রোগ্রাম করতে পারবেন না। যেমন আমি TOP 2005+ নামক Universal প্রোগ্রামার ব্যবহার করি যেটা দিয়ে PIC এর 16F সিরিজ এর উপরে আর প্রোগ্রাম করা যায় না অথচ দাম কিন্তু ৬০০০ টাকা। এই ক্ষেত্রে নতুনদের জন্য সব চাইতে বড় সমস্যা হল এত গুলো টাকা শুধু প্রোগ্রামার এর পিছনে ব্যয় করা। যারা PIC প্রোগ্রামার নিয়ে টেনশনে আছেন তাদের টেনশন করার কোন দরকার নাই।

প্রোগ্রামিং করার জন্য PIC micro controller এর যে পিনগুলো ব্যবহার করা হয় সেগুলো সম্পর্কে ভালো ধারনা থাকা জরুরী। নিচের চিত্রে খেয়াল করুন। এখানে যেই যেই পিন প্রোগ্রামিং এর কাজে ব্যবহার করা হয় সেগুলো মার্ক করে দেয়া হল।

পিনগুলো প্রোগ্রামিং এর সময় কি কাজে লাগবে তা যথা সাধ্য বলার চেষ্টা করবো।

VSS / GND:

নামেই বলে দিচ্ছে এই পিনটি কি কাজে লাগবে। এটি Micro controller এর Ground পিন। Ground আসলে যে কোন জায়গায় Zero volt Reference হিসেবে ব্যবহার করা হয়। আরও সহজভাবে বললে বলা যায়, যে কোন জায়গায় কত ভোল্ট আছে তা মাপতে আপনাকে Ground পিনকে শূন্য ধরে নিয়ে তার সাপেক্ষে ওইখানকার ভোল্টেজ মাপতে হবে।

VDD:

এটি micro controller এর Positive পাওয়ার সাপ্লাই পিন। micro controller এ পাওয়ার সাপ্লাই হিসেবে ২-৬ ভোল্ট পর্যন্ত দেয়া যায়। কত ভোল্ট দেয়া যাবে তা বিভিন্ন মডেলে বিভিন্ন রকম। কোনটা 5 ভোল্টের কোনটা 3.3 ভোল্টের।

MCLR/VPP:

Micro controller কে প্রোগ্রামিং মোডে প্রবেশ করার কাজে এই পিনটি ব্যবহার করা হয়। প্রোগ্রামিং মোডে প্রবেশ করানোর জন্য সাধারণত এই পিনে সবসময়ই VDD পিনের থেকে কিছু বেশি ভোল্টেজ দিতে হয়। যেমন 5 ভোল্টের micro controller এর ক্ষেত্রে কখনও কখনও 13.5 volt প্রয়োগ করলে micro controller প্রোগ্রামিং মোডে প্রবেশ করে। আবার কোন কোন মডেলের ক্ষেত্রে এই ভোল্ট প্রয়োগ করলে micro controllerটি চিরতরে নষ্ট হয়ে যেতে পারে। নরমাল অবস্থায় এই পিনটি Micro controller এর Reset এর কাজে ব্যবহার হয়।

RB7/PGD:

প্রোগ্রামিং এর জন্য প্রয়োজনীয় Serial Data এই পিনের মাধ্যমে পাঠানো হয়। আর নরমাল অবস্থায় এই পিনটি PortB এর 7 নাম্বার Bit অর্থাৎ RB7 হিসেবে ব্যবহার করা হয়।

RB6/PGC:

শুধু Serial Data পাঠালেই হবে নাকি! Clock Pulse পাঠাতে হবে না। এই পিনটি ব্যবহার করা হয় Clock Pulse পাঠানোর কাজে। নরমাল অবস্থায় এই পিনটি PortB এর 6 নাম্বার Bit অর্থাৎ RB6 হিসেবে ব্যবহার করা হয়।

RB3/PGM:

এই পিনটি আসলে প্রোগ্রামার এর সাথে সরাসরি যুক্ত থাকে না। কিন্তু micro controller যেন কোন ভাবেই Low Voltage Programming mode এ না ঢোকে এর জন্য এই পিনটিকে একটি Resistor দিয়ে Ground এর সাথে যুক্ত করে পিনটিকে low করা থাকে। Low Voltage Programming mode enable করা থাকলে এই পিনটি আর ব্যবহার করা যায় না।

উপরের এই ছয়টি পিন প্রোগ্রামিং এর কাজে ব্যবহার করা হয়। চলুন এবার খুবই সিম্পল একটি প্রোগ্রামার এর সার্কিট ডায়াগ্রাম দেখা যাক। আমি কয়েকটি প্রোগ্রামার নিয়ে আলোচনা করবো যে যেইটা পছন্দ করবেন বানিয়ে নিবেন।

প্রথমেই আসি Serial JDM Programmer নিয়ে। Jens Dyekjær Madsen নামক জনৈক ব্যক্তি এই প্রোগ্রামার ডিজাইন করেছিলেন বলে এর নাম হয়েছে JDM Programmer.

আমরা বানাবো Serial JDM Programmer যা  কম্পিউটারের Serial Port এর সাথে যুক্ত করতে হয়। Serial Port, Male এবং Female দুই ধরনের হয়। নিচের চিত্রে দেখুন।

আমি প্রথমে যে সার্কিটটি দিব সেটি যারা Vero Board এ বানাবেন এবং যাদের বেশি বড় সার্কিট বানাতে কষ্ট হয় তাদের জন্য। এই সার্কিট দিয়ে আপনি PIC16f84 প্রোগ্রাম করতে পারবেন। সার্কিটটি দেখুন।

খুব ই সিম্পল তাইনা। এখন শুধু Software দরকার তাইতো। এই টিউটোরিয়ালে ব্যবহৃত সব ধরনের Software, Schematic diagram এবং প্রয়োজনীয় ফাইল  page এর নিচে থেকে Zip আকারে ডাউনলোড করে নিন।

এবার চলুন একটু শক্তিশালী সার্কিট দেখা যাক। একজন জনৈক জাপানীজ Multi PIC Programmer নামে একটি প্রোগ্রামার ডিজাইন করেন যেটি আসলে  Serial JDM Programmer এরই উন্নত সংস্করণ। আমি আপনাদেরকে দেখাব কিভাবে এই সার্কিটটি  PCB তে বানানো যায়।

Vero Board এ বানানোর জন্য নিচের Circuit Diagram টি একটু কম জটিল বলে মনে হয়।

উপরের সার্কিটটি বানানোর সময় খেয়াল রাখবেন যেন Serial Port এর ground (৫নাম্বার পিন) যেন সার্কিটের বাকি ground এর সাথে যুক্ত না হয়। আসলে Serial Port এর ground পিন টিকে Ground হিসেবে চিন্তা না করলেই হয়। এখানে D5 এবং D6  Zener Diode দুইটি যথাক্রমে 5.1V এবং 6.2V এর। NPN এবং PNP Transistor হিসেবে আপনারা যথাক্রমে BC547 এবং BC557 Transistor দুইটি ব্যবহার করতে পারেন। Transistor গুলির কোনটা কোন পিন তা নিচে দেখে নিন।

সার্কিটে Text Tool বলতে Zip Socket কে বোঝানো হয়েছে।

Zip Socket কেনার সময় একটা ব্যাপার অবশ্যই খেয়াল করবেন, আপনার Zip Socket টিতে যেন ৮,১৮, ২০, ২৮, ৪০পিন সব ধরনের IC বসানো যায়। 40 পিনের  IC এর দুই সারি ঠ্যং এর যেই গ্যাপ ১৮ পিনেরটায় তার অর্ধেক। আমি না বুঝে ধরা খাইছি। আপনি ছবি দেখে মিলিয়ে নিন। ছবির নিচেরটা কিনবেন।

সার্কিটে SW নামে যে সুইচটি ব্যবহার করা হয়েছে সেটি আসলে কত পিনের micro controller তা সিলেক্ট করার জন্য। সুইচগুলো নিচের ছবির মত হবে, আকৃতি বোঝার জন্য আমি পাশে একটা Transistor রেখে দিয়েছি।

28 এবং 40 পিনের micro controller প্রোগ্রাম করার সময় এই সুইচের মাধ্যমে VPP ভোল্টেজ Zif socket এর 1 নাম্বার পিনে প্রয়োগ করা হয় এবং ৮-১৮ পিনের micro controller এর ক্ষেত্রে এই সুইচের মাধ্যমে VPP ভোল্টেজ Zif socket এর 14 নাম্বার পিনে প্রয়োগ করা হয়। এখন কথা হচ্ছে আপনি বিভিন্ন পিনের কন্ট্রোলার Zif socket এ কিভাবে বসাবেন। 40 পিনেরটা বসাইতে তো কোন চিন্তাই করতে হবে না কিন্তু ৮/১৮/২৮ পিনের গুলো কোথায় বসাবেন। এর জন্য সব চাইতে সহজ এবং নির্ভরযোগ্য উপায় হল Zif socket এর VPP, VDD, GND/VSS  পিন গুলোর সাথে আপনার micro controller টির VPP, VDD, GND পিন  মিলিয়ে নেয়া। যেমন নিচের ১৮ পিনের micro controller টির পিন গুলো খেয়াল করুন।

এর MCLR/VPP পিনটি আছে 4 নাম্বারে। প্রোগ্রামারের SW সুইচটিকে 8/18 পিনের পজিশনে  নিয়ে সার্কিট ডায়াগ্রাম খেয়াল করে দেখুন সুইচের এই পজিশনে VPP এর তারটি Zif socket এর 14 নাম্বার পিনের সাথে যুক্ত হয়। এখন micro controller টি Zif socket এ এমন ভাবে বসান যেন micro controller টির 4নাম্বার পিন Zif socket এর 14 নাম্বার পিনে যুক্ত হয়। এবার খেয়াল করে দেখুন বাকি পিনগুলো Automatic মিলে গেছে। 28/40 পিনের micro controller গুলো বসাবেন Zif socket এর ১ নাম্বার পিন থেকে শুরু করে আর 8/18/20 নাম্বার পিনের micro controller গুলো বসাবেন Zif socket এর ১১ নাম্বার পিন থেকে শুরু করে। এরপরও যদি সমস্যা মনে হয় তবে নিচের ছবি দেখে Micro controller Zif socket এ বসান অথবা নিচের PCB ভার্সনে কিভাবে বসানো হয়েছে তা দেখুন।

এই প্রোগ্রামার সম্পর্কে আরও বিস্তারিত জানতে নিচের লিঙ্ক দেখুন।

http://feng3.nobody.jp/en/pg5v2.html

এবারে যে প্রোগ্রামারটি বানাবো সেটি উপরের সার্কিটের PCB ভার্সন। ডায়াগ্রামের সামান্য পরিবর্তন আছে।  পরিবর্তনটি হইল Q3 Transistor এর Emitter এ একটি  Switch লাগানো হয়েছে। এই সুইচটি অন করলে Micro controller এর VDD তে Supply দেয়ার আগে VPP তে Supply দিবে। যেই সব Micro controller এ internal crystal oscillator আছে সেগুলো power Supply পাওয়ার সাথে সাথে প্রোগ্রাম execute  করা শুরু করে। সেক্ষেত্রে VPP তে ভোল্টেজ দিলেও প্রোগ্রামিং মোডে ঢুকে না। এই সব Micro controller এর বেলায় VDD তে Supply দেয়ার আগে VPP তে Supply দিতে হয়। এই প্রক্রিয়াকে বলা হয় VPP before VDD. সার্কিট ডায়াগ্রাম নিচে দেখুন।

জনৈক জাপানিজ সাহেব নিজেই এর PCB layout সবার জন্য উন্মুক্ত করে দিয়েছেন। PCB layout নিচে দেখে নিন।

PCB বানানোর জন্য কি কি লাগবে এবং কোথায় পাবেন তা আমি আলাদা করে লিখছিনা আপনারা পুরোটা পড়লেই বুঝতে পারবেন। আপনারা নিশ্চয়ই জানেন Laser printer আর Photocopy এর কাজে যে কালি ব্যবহার করা হয় ঐটা আসলে এক ধরনের প্লাস্টিক, যা পানিতে ভিজে না কিন্তু হিট দিলে গলে যায়। আমরা কাগজে PCB layout প্রিন্ট দিয়ে হিটের মাধ্যমে layout টি Copper board এ ট্রান্সফার করে ফেলব, অনেকটা ছাপ দেয়ার মত। আপনারা নিশ্চয়ই সিল,stamp ব্যবহার করেছেন। খেয়াল করলে দেখে থাকবেন সিলের লেখা গুলো আসলে মিরর(উল্টো) করা থাকে। ছাপ দিলে লেখাটি সোজা হয়ে যায়। আমরাও যেহেতু ছাপ দিব তাই আমাদের layout টিও হতে হবে উল্টো। উপরের ডিজাইনটি মিরর করা আছে। তাই যেভাবে আছে এভাবে প্রিন্ট দিলেই হবে। এরপর বাকি থাকবে ferric chloride দিয়ে Etching, Drilling আর soldering. পড়তে থাকুন বিস্তারিত বলছি।

প্রথমেই আপনাকে glossy paper যোগাড় করতে হবে। বই/ম্যাগাজিন ছাপায় এরকম প্রেস এ আপনি glossy paper পাবেন। বেশিরভাগ সময় হয়ত আপনাকে দিতে চাবে না। আপনাকে খুব করে request করতে হবে। আর যদি একান্তই না পান হতাশ হওয়ার কোন কারন নাই বিকল্প বাবস্থা আছে। আপনি নিশ্চয়ই পাতলা চকচকে ম্যগাজিন পড়েছেন বা দেখেছেন। যে কোন যায়গা থেকে ঐ ধরনের ম্যগাজিন যোগাড় করে মোটামুটি পরিস্কার একটা  চকচকে পাতা সমান করে প্রিন্ট উপযোগী করে কেটে নিন। আমি Daily Sun এর প্রতি শুক্রবারে দেয়া মাগাজিন থেকে কেটে নিয়ে করে দেখেছি কোন সমস্যা হয় নি। ম্যগাজিন এর ঐ পাতায় যাই লেখা বা ছবি থাকুক না কেন কোন সমস্যা নাই। আর যদি ঐটাও না পান তাইলে আর কি করা নরমাল কাগজ ব্যবহার করে দেখতে পারেন।

এবার ভালো একটা Laser printer দিয়ে PCB Design প্রিন্ট করে ফেলুন। প্রিন্ট করার পর খেয়াল করবেন যেন প্রিন্ট নিখুত হয়। আরেকটি ব্যপার না বললেই না, প্রিন্ট করবেন কোন রকম Shrink, compress, Zoom out/Zoom in না করে। ১০০% যেভাবে আছে ঠিক সেভাবে।  সর্বাধিক যতটুকু কালি ব্যবহার করলে প্রিন্টের কোন সমস্যা হবে না ততটুকু ব্যবহার করুন। আমি একবার ফুল কালি দিয়ে প্রিন্ট করার পর দেখলাম আমার পুরো কাগজটাই কালো হয়ে গেছে। প্রিন্ট করার পর কাগজটির ছবি নিচে দেখে নিন।

কাগজটিকে একটু বাড়তি অংশ রেখে মাপ মত কেটে ফেলুন।

এবার যেই copper বোর্ডে PCB বানাবেন সেটি এই মাপে সুন্দর করে কেটে ফেলুন। কাটার জন্য হ্যক্সো ব্লেড ব্যবহার করতে পারেন। কাটার আগে মার্কার দিয়ে দাগ দিয়ে নিবেন তাতে কাটতে সুবিধা হবে। এখন কথা হচ্ছে copper বোর্ড কোথায় পাবেন। আমার জানা মতে পাটুয়াটুলিতে হাজী ইলিয়াস মার্কেটের দোতলায় অবস্থিত একমাত্র “বিল্লাল ইলেকট্রনিক্স” এ A4 সাইজের কাটা বোর্ড পাওয়া যায়। দোকান নং-১৯।

বোর্ড সাইজ মত কাটার পরে থালা বাসন মাজা স্ক্র্যবার দিয়ে খুব ভালো ভাবে ঘসে পরিস্কার চকচকে করে ফেলুন যেন কোন তেল ময়লা না থাকে। অনেকে শিরিষ কাগজ ব্যবহার করে। আমি শিরিষ কাগজ দিয়ে ঘসে দেখেছি কপারের পরিমান কমে যায়।

এখন প্রিন্টেড কাগজটি মাস্কিং টেপ(কাগজের) দিয়ে সুন্দর করে বোর্ডের সাথে আটকান।

এবার হিট দিয়ে toner transfer করার পালা। এই কাজের জন্য আমরা বাসায় কাপড় স্ত্রী করার আয়রন ব্যবহার করবো। প্রথমে আয়রনটিকে গরম করে নিন। সুপার ডুপার গরম করার দরকার নাই। বেশি গরম করলে কপারের বোর্ড থেকে কপার উঠে আসবে। গরম হয়ে গেলে এবার নিচের ছবির মত আয়রন করুন।

প্রথমে ডলাডলি করবেন না। প্রেসার দিয়ে সব জায়গায় হিট লাগান। এরপর আয়রনের টিপ ব্যবহার করে ভালোভাবে আয়রন করুন। এই সময় খেয়াল রাখবেন টিপ দিয়ে আয়রন করার সময় কাগজ কিন্তু ছিড়ে যেতে পারে। খুব প্রেশারের দরকার নাই যে ছিড়ে ফেলতে হবে।

আয়রন করা হয়ে গেলে বোর্ডটি ঠাণ্ডা হতে দিন।

ঠাণ্ডা হয়ে গেলে পানিতে ১০ মিনিট পানিতে ভিজিয়ে রাখুন।

এরপর কাগজটি আঙ্গুল দিয়ে ঘষে ঘষে তুলে ফেলুন।

যেইখানে যেইখানে কালি নাই অর্থাৎ কপারের উপর যেন কাগজ না থাকে তা খেয়াল রাখবেন।

এবার etching করার পালা। etching এর কাজে আমরা Ferric chloride এর দ্রবন ব্যবহার করবো। বাজারে Ferric chloride এর গুড়া(Powder) পাওয়া যায়। Ferric chloride পুরান ঢাকার মিডফোর্ডে পাবেন। আমি বিল্লাল ইলেকট্রনিক্স থেকে সংগ্রহ করেছি। আপনি এক গ্লাস পরিমান পানিতে ৩ চা চামচ Ferric chloride এর গুড়া মিশাতে পারেন। ঘন করলে তাড়াতাড়ি হবে হাল্কা করলে দেরি হবে। কোনভাবেই Ferric chloride  নাড়াচাড়া করার কাজে কোন রকম মেটাল জাতীও  জিনিস যেমন স্টিল এর চামচ ব্যবহার করবেন না। প্লাস্টিকের যে কোন কিছু ব্যবহার করতে পারেন।

Ferric chloride নিয়ে কাজ করার সময় অবশ্যই রাবারের hand gloves পরে নিবেন। hand gloves ফার্মেসীতে পাবেন। আর সবসময় পানিতে Ferric chlorideগুলাবেন। Ferric chloride এ পানি মিসাবেন না। এর গন্ধ শুকতে যাবেন না বা খাওয়ার বিন্দু মাত্র চেষ্টা করবেন না। কারন এটি খুবই বিষাক্ত। আর এই সব কাজ করার সময় অবশ্যই সব থেকে খারাপ কাপড়টি পড়ে কাজ করবেন কারন Ferric chloride এর দ্রবন কাপড়ে লাগলে আর কখনও উঠবেনা। আর কাজ শেষে অবশ্যই যেখানে সেখানে ফেলবেন না। Ferric chloride বাড়ির দেয়ালের প্লাস্টারেরও ক্ষতি করে। তাই ড্রেনে ফেলবেন না। আমি একটা বোতলে জমিয়ে রাখি এবং বোতল ভরে গেলে পরিত্যক্ত জায়গায় Ferric chloride ফেলে দিয়ে আসি। বোতল কিন্তু ফেলি না।

কপারের বোর্ডটি Ferric chloride এর দ্রবনে ডুবিয়ে বোর্ডটিকে নাড়তে থাকুন যেন দ্রবণটি স্থির অবস্থায় না থাকে। পুরো পাত্রটি একবার কাঁত একবার সোজা করলেো Ferric chloride এর দ্রবনের ফ্লো থাকবে। হাল্কা কাঁত করবেন নাহলে পড়ে যেতে পারে।

কিছুক্ষণ নাড়াচাড়া করার পর দেখতে পাবেন কপার দ্রবীভূত হতে শুরু করেছে এবং জায়গায় জায়গায় কপার নাই হয়ে গেছে।

পুরোপুরি কপার দ্রবীভূত হয়ে গেলে বোর্ডটি প্রচুর পানি দিয়ে ধুয়ে ফেলুন।

এবার পেইন্ট রিমুভার অথবা থিনার অথবা পেট্রোল অথবা বডি স্প্রে ব্যবহার করে কালি মুছে ফেলুন।

এখন drill করার পালা। বিল্লাল ইলেকট্রনিক্সে আপনি ছোট drill বানানোর জন্য মোটর এবং drill বিট লাগানোর ভাইস পাবেন। ওরাই আপনাকে বলে দিবে কোথায় drill বিট পাওয়া যাবে। খরচ পরবে আনুমানিক ৬০০ টাকা। আমার মতে সব চাইতে ভালো হয় যদি আপনি বাজার থেকে একটা হ্যন্ড ড্রিল কিনে নেন। কারন বানানো হ্যন্ড ড্রিল কখনই অত ভালো হয় না। drill বিট কাঁপতে থাকে। আমারটা কাঁপে।

Drill করা হয়ে গেলে একটা কাপড়ের অংশ বিশেষ থিনার দিয়ে ভিজিয়ে নিয়ে রজনের উপর দুই তিনবার ঘসুন দেখবেন কাপড়ে রজন লেগে গেছে। এখন এই রজন বোর্ডে লাগান। এরকম বার বার রজন লাগিয়ে পুরো বোর্ডে রজন লাগিয়ে ফেলুন। এরপর বোর্ডটি শুকিয়ে নিন। এতে করে কপার এর অক্সিডেসন হবে না এবং Solder করতে সুবিধা হবে।

এখন solder করার পালা। প্রথমে যে wire link বা Jumper গুলো আছে সেগুলো Soldering করে ফেলুন। pdf ফাইল থেকে দেখে নিন কোথায় কোথায় Jumper বসবে। আপনারা চাইলে আয়রন মেথড ব্যবহার করে Silk Lay out এরও একটা ছাপ দিয়ে নিতে পারেন।

এরপর বাকি পার্টস গুলো solder করুন। সবার শেষে ZIF Socket Solder করলে ভালো হবে।

বোর্ডটিতে যে serial  port এর DB9 কানেক্টর লাগাতে হবে সেটি female type এর কানেক্টর। নিচের ছবিতে দেখুন।

এই ধরনের কানেক্টর ব্যাবহার না করে আপনি চাইলে নিচের ছবির মত কানেক্টর ব্যবহার করতে পারেন। কারন কম্পিউটার এর Serial port এর ঐখানে যায়গা খুবই কম থাকে। এত বড় সার্কিট লাগানো কষ্টকর হয়ে যাবে। এতে সুবিধা হল, এতে যত বড় খুশি তার লাগিয়ে নেয়া যায়। আমি কেবল টাই ব্যবহার করে তারটাকে বোর্ডের সাথে আটকে দিয়েছি যেন তার ছিড়ে না যায়।

তবে কানেক্টর লাগানোর সময় পিন নাম্বার মিলিয়ে লাগাবেন। তার লাগানোর জায়গায় পিন নাম্বার লেখা থাকে। নিচের ছবিতে PCB তে কানেক্টরটির কোনটা কোন পিন তা দেখে নিন।

ব্যস আপনার প্রোগ্রামারটি রেডি প্রোগ্রাম করার জন্য।

এখন সফটওয়্যার নিয়ে আলোচনা।

আপনার প্রোগ্রামারটি কম্পিউটারে কানেক্ট করার পূর্বে একবার খুব ভালোভাবে চেক করে করে দেখে নিন কোথাও কোন ভুল করেছেন কি না। Soldering করার সময় কোন কিছু শর্টসার্কিট হয়েছে কিনা দেখে নিন। সব ধরনের চেকিং শেষ হলে ZiF Socket এ কোন Micro controller না বসিয়ে কম্পিউটারের সিরিয়াল পোর্টের সাথে যুক্ত করুন।

কম্পিউটারের সিরিয়াল পোর্টের সাথে যুক্ত করার পর PICPgm Programmer সফটওয়্যারটি ইন্সটল করে ওপেন করুন।

সফটওয়্যারটি চালু হওয়ার সময় প্রোগ্রামারের LED জ্বলে উঠবে। সব কিছু ঠিক থাকলে PICPgm  আপনার Brand new প্রোগ্রামারটিকে অটো ডিটেক্ট করবে। ডিটেক্ট করলে নিচে Jdm Programmer(Autodetect ) লেখাটি আসবে। ডিটেক্ট না করলে Auto Detect বাটনে ক্লিক করুন।

এরপরও যদি ডিটেক্ট না করে আপনার প্রোগ্রামারে সমস্যা আছে। ভালভাবে চেক করুন সব পার্টস ঠিক মত Soldering করেছেন কিনা, কোন Wire link(Jumper) বাদ পড়েছে কি না অথবা Transistor এর মডেল অনুসারে ঠ্যাং উল্টাপাল্টা হল কি না। বোর্ড ডিজাইন করা আছে 2n3906 এবং 2n3904 এর জন্য। BC547  এবং BC557 ব্যবহার করলে উল্টো করে বসাতে হবে। আমি ধরে নিচ্ছি সব ঠিক আছে। এবার ZIF Socket এর নির্ধারিত জায়গায় যেকোনো একটি PIC micro controller বসান। যেই কন্ট্রোলারটি বসাচ্ছেন তার চাহিদা অনুসারে সুইচ দুটো নির্ধারিত পজিশনে নিন। বিভিন্ন micro controller এর জন্য ভিন্ন ভিন্ন পজিসন positions.pdf ফাইলে দেয়া আছে।

এবার PICPgm  এর Autodetect PIC বাটনে ক্লিক করুন। PICPgm  আপনার micro controller ডিটেক্ট করলে Device infomation এর ঘরে micro controller টির নাম দেখতে পাবেন।

যারা ল্যাপটপে USB to Serial converter ব্যবহার করতে চাচ্ছেন তারা শুধু হতাশই  হবেন। কম্পিউটারে সিরিয়াল পোর্ট থাকতে হবে।

এখন প্রোগ্রামিং করার পালা। আপনি যে প্রোগ্রামটি Write করবেন সেটির .HEX ওপেন করুন।

এরপর Program PIC বাটনে ক্লিক করুন।

আশাকরি আপনার Micro controller টি সফলতার সহিত প্রোগ্রাম করা হয়ে গেছে।

আমি এখন পর্যন্ত PIC16f877, PIC16f877A, PIC16f887, PIC16f84A, PIC16f72, PIC18f2550  এই কন্ট্রোলারগুলো প্রোগ্রাম করছি। যাদের সিরিয়াল পোর্ট নাই তারা অপেক্ষা করুন সময় সুযোগ পেলে কোন একদিন USB Programmer কিভাবে বানাবেন দেখাবো।

প্রয়োজনীয় ফাইল ডাউনলোড করুন নিচে থেকে।

Download PCB file

Level 0

আমি Faisal। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 14 বছর 6 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 7 টি টিউন ও 110 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 0 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।


টিউনস


আরও টিউনস


টিউনারের আরও টিউনস


টিউমেন্টস

Level 0

ভালো টিউন।

সুন্দর ………।।

Level 2

wow……..ato sohoje ato sundor PCB toiri……!!!
Thanks for Details with pic.

আপনাকে শুধু সালাম সালাম করছি , অনেক অনেক ভালবাসা দিচ্ছি আপনার জন্য , আমি কমেন্ট করছিনা আমি কৃতজ্ঞতা প্রকাশ করতে চাইছি কিভাবে করব বলুন ? আমি অপেক্ষায় আছি ……… ভাইয়া এই PIC MICROCONTROLAR আমাকে অনেক কাঁদিয়েছে আজ আপনি কাঁদালেন , আমার কিছু বলার ছিল আপনি আমাকে প্লিজ একটা মেইল করুন আমি ভীষণ বিপদ এ আছি ………… [email protected]

Level 0

কি বলব বুঝতে পারছিনা। আপনাকে মেইল করেছি।
আমিও প্রথমবার খুব সমস্যায় পড়েছিলাম। Simulation করে ফাটাইয়া ফেলছি কিন্তু বাস্তবে আর রান করে না। খুব হতাশ হয়ে পড়েছিলাম। অনেক চেষ্টার পর সমস্যা ধরতে পেরেছিলাম। এখন আর হতাশ হইনা। হালও ছাড়িনা। হবে না কেন, হতেই হবে……।

Level 0

বস কি দেখাইলেন ? বুঝতেছি না কি বলবো ………… speechless ….. এই পর্যন্ত দেখা সেরা কাজের টিউন

Level 0

ভাই অনেক ধন্যবাদ যে আপনি PCB বানানো দেখাইলেন অনেক কিছু শিখলাম। আমি ও electronics এর পাগল 😛

অসাধারন !! আমি বোর্ড প্রিন্ট নিয়া টেনসনে ছিলাম , বড় কারখানায় সরাসরি এসিড দিয়ে কপার সরানো হয়।

Level 0

দারুন টিঊন, পরবর্তি টিঊনের অপেক্ষায় থাকলাম।
বাসায় নিজে নিজে PCB বানানো তো বেশ ঝামেলার আর সবাই সব কিছু যোগার ও করতে পারবেনা।ঢাকার ভেতর কোথায় আমার ডিজাইন করা PCB তৈরি করতে পারব এবং খরচ কেমন পরবে তা যানতে পারলে ভাল হত।

    Level 0

    সব কিছু একবার কিনে ফেললে আর ঝামেলা হবে না। কোথায় কি পাওয়া যায় সব তো বলেই দিয়েছি। বিল্লাল ইলেক্ট্রনিক্স এর সামনের সিঁড়ি দিয়ে একবারে চারতলায় অথবা পাঁচতলায় PCB বানায়। বিল্লাল ইলেক্ট্রনিক্স এ জিগ্যেস করলে বলে দিবে। আমি ৬ ইঞ্চি/৮ইঞ্চি একটা ডাবল লেয়ার সার্কিট বানাতে চেয়েছিলাম, ওরা ১০০০ টাকা চাইলো। পরে আমি নিজেই বানিয়ে নিলাম। এক দুইটা বানালে অনেক টাকা নিবে। কমার্শিয়াল চিন্তা থাকলে ভিন্ন কথা। এছাড়া techshopbd.com এ খোঁজ নিয়ে দেখতে পারেন। এরা বাসায় এসে PCB দিয়ে যাবে এরপর টাকা নিবে।

    পুরান ঢাকায় চলে আসুন ।

Level 0

ভাই আমি যশোর এ থাকি আমি কপার বোর্ড কোথায় পাব

    কপার বোর্ড কয়টা লাগবে ? ট্রান্সপোর্ট এর মাধ্যমে পাঠানো যাবে ।

Level 0

আমার দরকার আমি একটা PCB বানাবো দাম কত

    Level 0

    যশোরে কোথায় পাবেন বলতে পারব না। http://www.techshopbd.com/ এখানে PCB বানানো হয়। বিস্তারিত জানতে এখানে কল করুন। +88 01811 419 550

akta ques vai…. ami jani je usb programmer banate gele apnake ckt a alada akta microcontroller use korte hobe. tai obossoi r akta programmer lagbe oi micro-controller program korte. akhon amar ques holo…apner ai programer ar input ar sathe ami jodi serial 2 usb converter lagia pc te connect kori…ta hole ki ata kaj korbe?

    Level 0

    দুঃখিত কিশোর ভাই, USB to Serial converter কাজ করবে না। আমি চেষ্টার ত্রুটি করিনি। এর কারন হয়তো এই ধরনের কেবল এর ভোল্টেজ লেবেল, রিয়েল সিরিয়াল পোর্টের মত না। আর একটি কারন হতে পারে প্রোগ্রামার সফটওয়্যার রিয়েল সিরিয়াল চিপকে access করতে পারে। USB লাগানো চিপকে access করতে পারে না। আমি যে USB প্রোগ্রামার(PICKIT2) বানিয়েছি ঐটা বানাতে গেলে আপনাকে অন্য যেকোনো প্রোগ্রামার দিয়ে PIC18F2550 মাইক্রোকন্ট্রোলার কে প্রোগ্রাম করে নিতে হবে।

ok… thank u reply ar jonno… and good post… chalia jan… 🙂

excellent tune Faisal Vai………apni sohoj vashay ato jotil jinish niye tune korechen ……it’s extraordinary………ami try korbo….amar admission test hoye gele…..ami cuet, ruet, kuet a admission test dibo… doa korben jate chance pai….apni kon varsity te porechen vaia..

Level 0

বেশি বেশি পড়ালেখা করেন। আমি University of Asia Pacific এ পড়েছি।

কিছু প্রশ্নঃ MCLR/VPP এই পিন এ কি শুধু Burner এর কাজ ?? নাকি Microcontroller এ সবসময়ই এই পিন এ Vdd এর থেকে বেশি Voltage দিয়ে রাখতে হবে ?? RB7,Rb6, RB3 -এগুলা কি একাধারে Microcontroller এর ইনপুট-আউটপুট হিসেবেই ব্যাবহার করা যাবে? (অন্য সব RA0-RA5, RD0-RD7, RC0-RC7, RE1,RE2 মত) নাকি এগুলো দিয়ে শুধু Microcontroller Burner ই কাজ করবে ? OSC1,OSC2 তে কি ক্রিস্টাল লাগানো হয় ? যদি ক্রিস্টাল লাগানো হয় তবে RB6/PCG পিন এ আবার ক্লক পালস পাঠানো লাগবে ?? আর SS, RD, WR, CS এই চারটা পিনের কাজ যদি একটু বলতেন…

    Level 0

    MCLR/VPP পিনটি নরমাল অবস্থায় MCLR বা মেমোরি ক্লিয়ার এর কাজে ব্যবহার করা হয়। আর প্রোগ্রাম করার সময় এই পিনে প্রোগ্রামিং ভোল্টেজ প্রয়োগ করা হয়। যেহেতু MCLR নামের উপরে একটা bar দেয়া আছে তাই পিনটি ইনভার্টেড অর্থাৎ এই পিনে জিরো ভোল্ট প্রয়োগ করলে micro controller Reset হয়ে যাবে। আবার জিরো ভোল্ট প্রয়োগ করে রাখলে তো সে কোন কাজ করতে পারবেনা কারন সে সারাক্ষণই রিসেট হয়ে থাকবে। এর জন্য এই পিনে একটি resistor দিয়ে VDD সমান ভোল্টেজ অর্থাৎ ৫ ভোল্ট দিয়ে রাখতে হয়। আর একটা সুইচ দিয়ে পিনটিকে গ্রাউন্ড এর সাথে যুক্ত করতে হয়। এখন সুইচ চাপলেই রিসেট। এই বিষয়ে আমার আগের টিউনের সার্কিট ডায়াগ্রাম দেখুন।
    PORTA, PORTB, PORTC,PORTD, PORTE এর আন্ডারে যত পিন আছে তার সবই bidirectional অর্থাৎ RA1-RA7, RB0-RB7 এরকম সব পিন গুলোই Input/Output দুই কাজেই ব্যবহার করা যায়। Microcontroller Burn করতে যেই যেই পিন ব্যবহার করা হচ্ছে সেগুলো Burn করা হয়ে গেলে আবার স্বাভাবিক কাজ করে। OSC1,OSC2 পিন দুইটিতে Crystal Oscillator লাগানো হয়। তবে OSC1 পিনে Resistor এবং Capacitor লাগিয়ে low frequency তে ড্রাইভ করানো যায়। এক্ষেত্রে time calculation perfect হবে না। Crystal এর সাথে RB6 পিনের কোন সম্পর্ক নাই। প্রোগ্রামিং মোডে এই পিনটিতে বার্নার প্রোগ্রামিং এর জন্য ক্লক পালস পাঠায়। তখন পিনটির নাম PGC. কিন্তু অন্য সময় পিনটি হচ্ছে RB6.
    Serial Peripheral Interface(SPI) communication এর সময় Slave Select এর কাজে SS পিনটি ব্যবহৃত হয়। RD, Read control for Parallel Slave Port আর WR,Write control for Parallel Slave Port এবং CS, Chip select control for Parallel Slave Port হিসেবে ব্যবহৃত হয়। এগুলো সবই বিভিন্ন ডিভাইসের সাথে কমিউনিকেশনের কাজে লাগে। এগুলো micro controller এর এক্সট্রা ফিচার। এই এক্সট্রা ফিচার ব্যবহার না করলে ঐ পিনটিকে অন্য কাজে ব্যবহার করা যাবে। যেমন PIC16F877A এর দুই নাম্বার পিনটি হচ্ছে RA0/AN0, এর মানে RA0 হিসেবে পিনটি ব্যবহার করলে পিনটিকে ডিজিটাল ইনপুট অথবা অউটপুট হিসেবে এবং AN0 হিসেবে ব্যবহার করলে পিনটিকে শুধুমাত্র Analog Input হিসেবে ব্যবহার করা যাবে। PIC16F877A তে গ্রাউন্ড এবং VDD এর যে কোন এক পাশের পিন দুইটি ব্যাবহার করলেই চলবে। তারা ইন্টারনালি কানেক্টেড।

ও আচ্ছা আরেকটা প্রশ্নঃ PIC16F877A তে ২ পাশেই ভোল্টেজ সাপ্লাই আর গ্রাউন্ড পিন আছে। খুব সম্ভবত যে কোন এক পাশের পিন দুইটি ব্যাবহার করলেই চলবে তাই না???

Level 0

ভাইয়া, প্রথমেই অনেক ধন্যবাদ সুন্দর একটা বিষয় এ নিয়মিত টিউন করার জন্য। আমি সবসময় আপনার টিউন এর জন্য অপেক্ষা করি। কখনও কমেন্ট করিনি। অনেকদিন হল আপনি টিউন করেন না।তায় ভাবলাম আক্তু খোজ নেয়া দরকার। আশা করি সুস্থ আছেন।
ভায়া, আমি pic এ কাজ করতে আগ্রহী। আমি assembly ও pic basic pro তে কিছু ছোট program করছি। কিন্তু প্রগ্রামার এর জন্য টেস্ট করতে পারতেসি না। আমি ল্যাপটপ ব্যবহার করি। তায় usb programer দরকার। তায় যদি usb programer make করার টিউন তা করেন আমার অনেক হেল্প হবে।
আমাকে mail ও করতে পারেন( [email protected]). আপনার টিউন
এর জন্য অপেক্ষা করতেছি।
ধন্যবাদ।

    Level 0

    কেউ আমার লেখা পড়ে কাজ করছে শুনতেই ভালো লাগে। Techtunes এ দিব বলে একটা USB programmer বানাইছি। খুব শিগ্রই লিখব। আসলে আমার লিখতে ৪/৫ ঘন্টা লাগে। এর জন্য আলসেমি করে লেখা হচ্ছেনা। আপনাকে আমি ডিজাইন, পিসিবি লেআউট, মেইল করে দিচ্ছি। পার্টস পত্র যোগাড় করতে থাকেন। আমি লিখলে বানানো শুরু করবেন। ধন্যবাদ।

    Level 0

    আপনাকে মেইল করে পিসিবি লেয়াউটের যে ফাইলগুলো দিয়েছি তাতে ভুল আছে। আপনি আমার ৬নাম্বার টিউটোরিয়াল থেকে নতুন ফাইল ডাউনলোড করে নিন।
    https://www.techtunes.io/electronics/tune-id/163446

Level 0

We are waitting next tunes of part-06.Please post.

    Level 0

    part-06 Posted……….

Faisal ভাই আপনাকে যে কি বলে ধন্নবাদ দিব বুজতে পারছি না। আমি আজ একটা Sirial PIC Programer বানাইসি, এবং এই মাত্র সেটা সফল ভাবে সম্পন্ন হইছে। 18F2550 PIC Program করলাম। আপনাকে আবার আনেক ধন্নবাদ। তবে এর পর কোন Problem এ পরলে আশা করি Help করবেন।।

Level 2

ধন্যবাদ আপনার এই সুন্দর পোষ্টটির জন্য।

Level 0

apnar phn no ta dile vhalo hoy. 01680730380

Level 0

ভাই আপনার নাম্বার টা দেন আমি toner transfar করতে পারছি না।০১৯১৩৩৯২৪৪২।

    Level 0

    এখানে সমস্যা লিখলে ভালো হয়। তারপরও ০১৭৭২৯৭৯৬৫৬

Level 0

Nice ..tune..

অসাধারন সব কান্ড কারখানা… অসংখ্য ধন্যবাদ আপনাকে