PIC Micro Controller টিউটোরিয়াল [পর্ব-০৬] :: PICkit2 একটি USB Programmer

অনেক দিন পর টেকটিউনসে লিখতে বসলাম।লিখবো লিখবো করে লেখা হয় না। যারা কষ্ট করে আমার লেখা পড়ছেন এবং আরও কষ্ট করে কমেন্ট করেছেন তাদেরকে অসংখ্য ধন্যবাদ।

রাকীব ভাইকে ধন্যবাদ  Proteus এর mediafire এর লিঙ্ক দেয়ার জন্য। নিচে থেকে Proteus ডাউনলোড করুন।

Proteus

আমার আজকের লেখাও প্রোগ্রামার নিয়ে। আজকে আমি আপনাদের দেখাব কিভাবে PIC Micro controller এর জন্য একটি ফাটাফাটি USB Programmer বানাবেন।

আমি এর আগে কোনও এক টিউনে আপনাদের বলেছিলাম যে PIC Micro controller এর নির্মাতা প্রতিষ্ঠান Microchip তাদের controller এর প্রচার এবং ব্যবহার বাড়ানোর জন্য নিজেই একটি USB Programmer এর ডিজাইন, প্রয়োজনীয় Software, Firmware বিনামূল্যে তাদের ওয়েবসাইটে দিয়ে রেখেছে। আপনাকে শুধু বানিয়ে নিতে হবে।  আপনি চাইলে রেডিমেডও কিনতে পারেন। প্রোগ্রামারটিকে নাম দেয়া হয়েছে PICkit. এর বর্তমান ভার্সন চলছে PICkit3, তবে PICkit2 সব চেয়ে জনপ্রিয় ভার্সন।  আমাদের প্রোগ্রামারটি হবে PICkit2

এবার জেনে নেয়া যাক PICkit2 এর ফিচারগুলো কি কি।

  • যেহেতু PICkit2 কিনতে বা বানাতে খরচ খুব কম হয় তার মানে আমরা বলতে পারি এটি একটি low cost programmer.
  • PICkit2 দিয়ে আপনি baseline (PIC10F, PIC12F5xx, PIC16F5xx), midrange (PIC12F6xx, PIC16F), PIC18F, PIC24, dsPIC30, dsPIC33, PIC32 families of 8-bit, 16-bit, and 32-bit micro controllers এবং  Microchip এর বানানো EEPROM প্রোগ্রাম করতে পারবেন।
  • PICkit2 শুধু প্রোগ্রামারই না, এটি দিয়ে আপনি debuggingও করতে পারবেন। Micro controller সার্কিটে থাকা অবস্থায় আপনি প্রোগ্রামিং এবং MPLAB software এর সাথে  Integrate করে একটি একটি করে instruction কমপ্লিট করে বা যে কোনও সময় প্রোগ্রাম থামিয়ে বিভিন্ন File register এর মান দেখতে বা পরিবর্তন করতে পারবেন। অর্থাৎ PICkit2 কে আমরা In Circuit Serial Programmer এবং In Circuit Debugger বলতে পারি।
  • এছাড়াও PICkit2 কে 500kHz এর Logic Analyzer এবং serial communication (UART) tool হিসেবে ব্যবহার করতে পারবেন।
  • আরেকটি মজার ফিচার হচ্ছে, প্রোগ্রামারে অবস্থিত EEPROM এ আপনার প্রোগ্রাম সেইভ করে কম্পিউটার ছাড়াই Micro controller প্রোগ্রাম করতে পারবেন Programmer to Go ফাংশন ব্যবহার করে। সেই ক্ষেত্রে শুধু PICkit2 এ প্রয়োজনীয় পাওয়ার এর ব্যবস্থা করে দিতে হবে।

এবার সার্কিট ডায়াগ্রাম দেখে নেয়া যাক।

সার্কিটটি যতটুকু সম্ভব পরিস্কার করে আঁকার চেষ্টা করা হয়েছে। একটু খেয়াল করে দেখুন আমি কিছু কিছু কানেকশন না একে টার্মিনাল এর মাধ্যমে যুক্ত করেছি। যেমন ধরুন IC2A এর ইনপুটে R18 এর একপ্রান্তে  VDD_ADJ টার্মিনাল যুক্ত করা হয়েছে। আবার IC1 এর ১৩ নাম্বার পিনের সাথে VDD_ADJ টার্মিনাল যুক্ত করা আছে। এর মানে R18 এর একপ্রান্ত IC1 এর ১৩ নাম্বার পিনের সাথে যুক্ত করতে হবে। আমি যদি টার্মিনাল না একে তার দিয়ে পুরো ডায়াগ্রাম আঁকতাম তাহলে সম্পূর্ণ ডায়াগ্রামটা মাকড়সার জালের মত হয়ে যেত।

সার্কিটটি কিভাবে কাজ করতেছে তা বোঝার জন্য আমরা একে বিভিন্ন অংশে ভাগ করে নিব।

প্রয়োজনীয় পিসিবি লেআউট, সার্কিট ডায়াগ্রাম, পার্টস  লিস্ট নিচের লিঙ্ক থেকে ডাউনলোড করে নিন।

PCB_PICkit2

PICkit2 এর সফটওয়ার নিচের লিঙ্ক থেকে ডাউনলোড করে নিন।

PICkit2

অথবা

PICkit2

আমার লেখার সাথে সাথে সার্কিটের অপারেশন ভালো ভাবে বুঝতে এবং পরবর্তীতে Trouble Shoot করতে আপনারা সার্কিট ডায়াগ্রামটি প্রিন্ট করে নিতে পারেন। এতে বুঝতে সুবিধা হবে।

প্রথমেই আসি পাওয়ার সাপ্লাই নিয়ে, সম্পূর্ণ সার্কিটটি পাওয়ার পাচ্ছে কম্পিউটার এর USB থেকে। উপরের ডায়াগ্রামে খেয়াল করে দেখুন, USB কানেক্টর এর  VCC পিনটি +5V টারমিনালের সাথে এবং এর GND পিনটি সার্কিটের গ্রাউন্ডের সাথে যুক্ত করা আছে। এই +5V টারমিনালটি সম্পূর্ন সার্কিটকে পাওয়ার সাপ্লাই দিবে।

আমরা জানি যে, PIC micro controller গুলোর কোন কোনটা 3.3V এ আবার কোন কোনটা  5V এ কাজ করে। তাই micro controller এর মডেল অনুসারে প্রোগ্রামারকে সাপ্লাই হিসেবে ICSP এর VDD পিনে ভিন্ন ভিন্ন ভোল্টেজ প্রয়োগ করতে হয়। এর জন্য প্রোগ্রামারটিতে একটা ভোল্টেজ রেগুলেটর দেয়া আছে। আপনি 2.5V থেকে 5V পর্যন্ত ভোল্টেজ রেগুলেট করতে পারবেন। বোঝার সুবিধার্থে শুধু ভোল্টেজ রেগুলেটরকে আলাদা করে ফেলা যাক। নিচের ছবিতে দেখুন।

VDD_ADJ টারমিনালের মাধ্যমে R18 Resistor টির একপ্রান্ত pic18f2550 micro controller টির ccp1 পিনের সাথে যুক্ত করা আছে। মাইক্রোকন্ট্রোলার এর  CCP1 এবং CCP2 দুইটি হচ্ছে PWM পিন। আর PWM এর মাধ্যমে আপনি Frequency ঠিক রেখে pulse এর width পরিবর্তন করে গড় ভোল্টেজ পরিবর্তন করতে পারবেন। এভাবেই pic18f2550 মাইক্রোকন্ট্রোলার  IC2A Operational amplifier(সংক্ষেপে OPAMP) এর inverting input(২ নাম্বার পিন) এ PWM ব্যবহার করে একটি গড় ডিসি ভোল্টেজ Reference হিসেবে দিয়ে রাখে। এই ক্ষেত্রে R18 এবং C6 ব্যবহার করা হয়েছে PWM কে ফিল্টার করে ripple দূর করার জন্য। OPAMP সবসময় চেষ্টা করবে তার Output ভোল্টেজ পরিবর্তনের মাধ্যমে inverting input(২ নাম্বার পিন) এবং non-inverting input(৩ নাম্বার পিন) এর ভোল্টেজ সমান করতে। কি হারে পরিবর্তন করবে তা নির্ভর করছে তার ফীডব্যক অর্থাৎ গেইন এর উপর। ২ নাম্বার পিনে রেফারেন্স ভোল্টেজ দেয়ার ফলে OPAMP তার আউটপুটে ভোল্টেজ কমিয়ে দিবে এবং PNP Transistor Q2 কে linear মোডে অন করবে।  Q2 অন হলে ভোল্টেজ R21এবং R22 এর মাধ্যমে ডিভাইড হয়ে non-inverting input এ ফীডব্যক হিসেবে যাবে। এভাবে OPAMP আউটপুট ভোল্টেজকে রেগুলেট করবে।

Q3 Transistor টি VDD_TGT_P টারমিনালের মাধ্যমে মাইক্রোকন্ট্রোলার এর ২৫ নাম্বার পিনের সাথে যুক্ত। এর মাধ্যমে মাইক্রোকন্ট্রোলার ICSP এর দুই নাম্বার পিন VDD তে ভোল্টেজ  অন বা অফ করবে। পরিপূর্ণ সার্কিট ডায়াগ্রাম খেয়াল করে দেখুন Q3 Transistor টির কালেক্টর V_TGT টারমিনালের মাধ্যমে ICSP এর দুই নাম্বার পিনের সাথে যুক্ত। এখন প্রশ্ন হল মাইক্রোকন্ট্রোলার বুঝবে কিভাবে  ICSP এর VDD পিনে Voltage  কত আছে এবং VDD_ADJ টারমিনালে PWM এর Pulse এর  Width কমাতে হবে না বাড়াতে হবে । এর জন্য তো ফীডব্যক প্রয়োজন তাইনা!!   ICSP এর দুই নাম্বার পিনটি আবার R34 Resistor হয়ে VDD_TGT_FB টারমিনালের মাধ্যমে মাইক্রোকন্ট্রোলার এর ৩নাম্বার পিন Analog Input পিনের সাথে যুক্ত। এছাড়া  কোন কারনে ICSP এর VDD পিন গ্রাউন্ডের সাথে সর্টসার্কিট হলে মাইক্রোকন্ট্রোলার Q3 Transistor অফ করে দিবে এবং প্রোগ্রামারটিকে নষ্ট হওয়ার থেকে বাঁচাবে।

এবার আসুন VPP নিয়ে আলোচনা করা যাক। আমরা জানি যে, কোন কোন ক্ষেত্রে প্রোগ্রামিং মোডে ঢোকার জন্য  মাইক্রোকন্ট্রোলার এর VPP পিনে ১২ ভোল্টের কাছাকাছি ভোল্টেজ প্রয়োগ করতে হয়। কিন্তু আমাদের USB programmer এর সাপ্লাই ভোল্টেজ হচ্ছে ৫ ভোল্ট তাহলে ১২ ভোল্ট কিভাবে আসবে।  সার্কিটে খেয়াল করে দেখুন Voltage Regulator এর আউটপুটে একটি খুবই সিম্পল Boost Converter ব্যবহার করা আছে। একে আমরা DC to DC converter ও বলতে পারি। শুধু এই অংশকে আলাদা করে নিচে দেখানো হল।

উপরের সম্পূর্ণ সার্কিটটিই কিন্তু DC to DC converter না। বাম পাশ থেকে শুরু করে C11 ক্যপাসিটর পর্যন্ত আমাদের কাঙ্খিত অংশ। বাকিটুকু শুধু সুইচিং করতেছে।

L1 এর একপ্রান্ত  Voltage regulator এর আউটপুটের সাথে যুক্ত, বোঝার জন্য আমি V_TGT টার্মিনাল ব্যবহার করেছি। V_TGT টার্মিনাল হচ্ছে Voltage regulator এর আউটপুট। T1 transistor এর বেইজ R17 resistor হয়ে VPP_PUMP টারমিনালের মাধ্যমে মাইক্রোকন্ট্রোলার এর  CCP2 পিনের সাথে যুক্ত। CCP2 মাইক্রোকন্ট্রোলার এর  দ্বিতীয় PWM আউটপুট পিন।

এখন আমরা একটু চিন্তা করে দেখি T1 transistor কে অন এবং অফ করলে কি ঘটনা ঘটে। T1 transistor অন হলে Voltage regulator থেকে আসা কারেন্ট  L1 Inductor হয়ে T1দিয়ে গ্রাউন্ডের দিকে ফ্লো করবে। সহজ কথা   L1 Inductor এর ভিতর দিয়ে কারেন্ট ফ্লো করবে। আমরা জানি যে কোন  Inductor এর ভিতর দিয়ে কারেন্ট প্রবাহিত করলে এটি Magnetic flux  তৈরি করবে। এই Magnetic flux ই  Inductor এর ভিতর এনার্জী সঞ্চয় করে রাখে।  এখন T1 transistor অফ করলে T1 এর ভিতর দিয়ে আর আগের কারেন্ট ফ্লো করবেনা। কিন্তু আমরা জানি Inductor সব সময় কারেন্টের পরিবর্তনকে বাধা দেয়। Inductor চেষ্টা করবে তার আগের কারেন্ট ধরে রাখতে। T1 transistor অন থাকার সময় Inductor এর সামনের অংশের impedance ছিল প্রায় জিরো। কারন  T1 transistor, Inductor এর একপ্রান্তকে গ্রাউন্ডের সাথে প্রায় সর্টসারকিট করে দিয়েছিল। কিন্তু T1 transistor অফ হওয়ার সাথে সাথে সার্কিটের বাকি অংশ Inductor এর সাথে যুক্ত হয় এবং সার্কিটের  impedance বৃদ্ধি করে দেয়। এবার Inductor চেষ্টা করবে বাড়তি impedance এর ভিতর দিয়ে আগের কারেন্ট ফ্লো করতে। ওহমের সুত্র অনুসারে বাড়তি impedance কারেন্টকে কমানোর চেষ্টা করবে অথবা ভোল্টেজকে বাড়িয়ে দিবে। যেহেতু Inductor কারেন্ট কমাতে রাজি না তাই ভোল্টেজটাই বাড়বে। এই ভোল্টেজ T2 এর বেইজ এবং কালেক্টরে  p-n জংশন থাকায় forward biased হয়ে capacitor কে চার্জ করবে। T1 অন থাকা অবস্থায় capacitor ডিসচার্জ হতে পারেনা কারন T2 এর বেইজ এবং কালেক্টরে  p-n জংশন থাকায় reversed biased হয়ে capacitor কে ডিসচার্জ হতে দেয় না। এখন খুব দ্রুত  T1কে অন অফ করতে থাকলে আপনি  capacitor এর দুই প্রান্তে input এর চেয়ে বেশি Steady আউটপুট ভোল্টেজ পাবেন। কি পরিমান আউটপুট ভোল্টেজ পাবেন তা নির্ভর করছে  T1 এর অন অফ টাইম এর উপর। মাইক্রোকন্ট্রোলার PWM এর মাধ্যমে এই কাজটাই করে। এবারো তাকে ফীডব্যাক নিতে হবে  PWM এর Duty time ঠিক করার জন্য। সার্কিটে R10 এবং R11 দিয়ে ভোল্টেজ ডিভাইডার তৈরি করে VPP_FB টারমিনালের মাধ্যমে  মাইক্রোকন্ট্রোলার এর ২নাম্বার পিন Analog Input পিনের সাথে যুক্ত করে ফীডব্যাক দেয়া আছে। এখানে ভোল্টেজ ডিভাইডার দেয়া হয়েছে কারন এখানকার ভোল্টেজ প্রায় ১২ভোল্ট আর মাইক্রোকন্ট্রোলার ৫ভোল্টের বেশি মাপতে পারেনা। তাই ভোল্টেজ ডিভাইডার দিয়ে ভোল্টেজ কমিয়ে নেয়া হয়েছে।

সুইচিং এর কারনে Inductorএ  কেন ভোল্টেজ হাই হচ্ছে তা হয়তো ফ্লাক্সের চেইঞ্জ দিয়েও ব্যখ্যা করা যেত কিন্তু  সেদিকে আর যাচ্ছি না।

T2 এর জায়গায় Diode ব্যবহার করা যাবে। তবে অবশ্যই  Schottky diode ব্যবহার করতে হবে। 1N5817, Bat45 এগুলো Schottky diode এর মডেল নাম্বার।  Schottky diode  সব জায়গায় পাওয়া যায়না বলে T2 transistor ব্যবহার করা হয়েছে। সব জায়গায় সাধারণত T2 এর জায়গায় Diode ই ব্যবহার করা হয়ে থাকে।

Boost Converter সম্পর্কে জানতে নিচের লিঙ্ক থেকে ঘুরে আসুন।

http://en.wikipedia.org/wiki/Boost_converter

মাইক্রোকন্ট্রোলার VPP_ON টারমিনালের মাধ্যমে  T5 Transistor কে অন করছে ফলে Q4 transistor ও অন হয়ে যাচ্ছে। আর Q4 অন হওয়া মানে VPP ভোল্টেজ  ICSP এর ১নাম্বার পিনে পৌঁছে যাওয়া।

MCLR বা Vpp পিনকে গ্রাউন্ডেড করতে  মাইক্রোকন্ট্রোলার MCLR_TGT টারমিনালের মাধ্যমে  T4 Transistor কে অন করে থাকে।

ICSP FOR SELF কানেক্টরটি প্রোগ্রামারে অবস্থিত pic18f2550 micro controller কে অন্যকোন প্রোগ্রামার এর ICSP কানেক্টর দিয়ে প্রোগ্রাম করার জন্য। এছাড়া কম্পিঊটার ছাড়া প্রোগ্রাম করার ফাংশন Programmer to Go ব্যবহার না করতে চাইলে IC3 এবং IC4 EEPROM দুইটা না ব্যবহার করলেও কোন সমস্যা নাই। আমি ICSP FOR SELF এবং EEPROM দুইটা ব্যবহার করিনি।

কিভাবে পিসিবিতে প্রোগ্রামারটি বানাবেন সেটা আমি আর লিখছি না। আমার আগের টিউনে পিসিবি বিষয়েআমি বিস্তারিত লিখেছি।

আগের টিউনটি দেখতে এখানে ক্লিক করুন।

তারপরও পিসিবি লেআউট এবং বানানোর সময়কার কিছু ছবি নিচে থেকে দেখে নেয়া যাক।

উপরের চিত্রে দেখতে পাচ্ছেন PICkit2 এর পিসিবি লেয়াউট।

উপরের চিত্রের মাধ্যমে কোন পার্টস পিসিবিতে কোথায় এবং কিভাবে বসাবেন তা দেখানো হয়েছে। লাল রঙের মাধ্যমে wire link(short link or jumper) গুলো কোথায় কোথায় যুক্ত করতে হবে তা দেখানো হয়েছে।

pic18f2550 মাইক্রোকন্ট্রোলারটি বোর্ডে বসানোর আগে এটিকে প্রোগ্রাম করে নিতে হবে। প্রোগ্রাম ফাইল Firmware folderএ দেয়া আছে। মাইক্রোকন্ট্রোলারটি প্রোগ্রাম করতে আপনাকে আরেকটি প্রোগ্রামারের সাহায্য নিতে হবেই। এইক্ষেত্রে ডিম আগে না মুরগী আগের ব্যপারটা রয়েই যাচ্ছে। তবে একবার প্রোগ্রাম করতে পারলে মাইক্রোকন্ট্রোলারটি Boot loader এর মাধ্যমে নিজেই নিজেকে প্রোগ্রাম করতে পারবে।

এবার আপনার প্রোগ্রামারটি ঠিক মত বানানো হয়েছে কিনা তা টেস্ট করার পালা। আপনার প্রোগ্রামারটি কম্পিউটারের USB এর সাথে যুক্ত করার আগে একটু চেক করে দেখুন সোল্ডারিং করার সময় প্রোগ্রামারের   USB connector এর পিনগুলো একটা আরেকটার সাথে সর্ট হয়ে গেল কিনা। আপনি নিশ্চয়ই চাইবেন না আপনার কম্পিউটারের কোন ক্ষতি হোক। কম্পিউটারের সাথে প্রোগ্রামারটি USB cable দিয়ে কানেক্ট করুন। এখন PICkit2 সফটওয়ারটি ইন্সটল করে তা রান করুন। Windows 7 এ Administrator রান করানোটাই ভালো হবে।

সব ঠিক থাকলে নিচের মত উইন্ডো চালু হবে

এখন Tools> troubleshoot... এ ক্লিক করলে নিচের মত Window চালু হবে।

Next চাপুন

এবার ICSP এর  VDD পিনে যত ভোল্টেজ চান তত রেখে Test বাটনে ক্লিক করুন। একটি ভালো মাল্টিমিটার দিয়ে   VDD এবং  GND এর মাঝে ভোল্টেজ মেপে দেখতে পারেন ঠিক আছে কিনা। যদি ঠিক থাকে তাহলে নিচের window এর মত আসবে।

VDD টেস্ট কমপ্লিট এবার VPP টেস্ট করার পালা। Next চাপুন। PICkit2 আপনাকে একটা warning দিবে VDD adjust করে নেয়ার জন্য। অর্থাৎ কত VDD রাখা অবস্থায় আপনি VPP টেস্ট করবেন তা নিশ্চিত হতে বলছে। বিভিন্ন VDD তে আপনি VPP টেস্ট করে দেখতে পারেন। প্রতিবারই VPP তে ১২ভোল্ট আসার কথা। 16f  family এর সবগুলোই প্রায় ১২ভোল্টের VPP.

next চাপুন।


যাদের Oscilloscope আছে তারা PGD এবং PGC পিনে ডাটা এবং ক্লক সিগনাল ঠিকমত আছে কিনা দেখে নিতে পারেন। Toggle 30kHz বাটন দুইটা চাপতে হবে।

ব্যস এবার প্রোগ্রাম করার পালা। ICSP কানেক্টর দিয়ে আপনার মাইক্রোকন্ট্রোলারটিকে প্রোগ্রামারের সাথে যুক্ত করুন।  ICSPএর কোনটা কোন পিন তা নিচে থেকে দেখে নিন।

এবার  যে মাইক্রোকন্ট্রোলারকে প্রোগ্রাম করবেন তার কোন কোন পিনে  ICSP এর কোন কোন পিন যুক্ত করবেন তা নিচে দেখুন।

বুঝতেই পারতেছেন ICSP এর VPP/MCLR , VDD, GND, PGD, PGC পিনের সাথে  যথাক্রমে কাঙ্খিত মাইক্রোকন্ট্রোলারের VPP/MCLR , VDD, GND, PGD, PGC পিনের  সংযোগ করতে হবে।

যারা ZIF Socket ব্যবহার করতে চান তারা নিচের ডায়াগ্রাম অনুসারে কানেকশন দিবেন।

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

ICSP এবং ZIF Socket এর পিসিবি লেয়াউটের  pdf ফাইল নিচে থেকে ডাউনলোড করে নিন।

ICSP_ZIF

ZIF Socket এ কত পিনের কন্ট্রোলার কোথায় কিভাবে বসাবেন তা আমার ৫ নাম্বার টিউটোরিয়ালে বিস্তারিত বলা আছে। এই ZIF Socket এর কানেকশন এবং ওই টিউটোরিয়ালে ব্যবহৃত ZIF Socket এর কানেকশন একই রকম।

মাইক্রোকন্ট্রোলার কানেক্ট থাকা অবস্থায়  PICkit2 চালু করলে   মাইক্রোকন্ট্রোলারটিকে PICkit2 Auto detect করবে। ডিটেক্ট করলে File থেকে Import File সিলেক্ট করুন। দেখিয়ে দিন আপনার প্রোগ্রাম করা HEX file.

এবার Programmer থেকে Write Device এ ক্লিক করুন। সব ঠিক থাকলে মাইক্রোকন্ট্রোলারটি প্রোগ্রাম হয়ে যাবে।

Configuration bit পরিবর্তন করতে চাইলে  Configuration এ ক্লিক করে তা করতে পারেন। আপনার Configuration word  যদি হয় 2ff2 তাহলে 2ff2 কে Binary তে অর্থাৎ 10111111110010  তে কনভার্ট করে পরিবর্তন করতে পারেন, কেননা  PICkit2 এ Configuration word  পরিবর্তনের window তে হিসাব Binary তে দেয়া আছে।

আজকে এই পর্যন্তই থাকল। আশা করি আপনারা সফলতার সাথে প্রোগ্রামারটি বানাবেন। আগামীতে আবার লিখবো। আমার লেখায় ভুল থাকতে পারে। সার্কিট ব্যখ্যায় ভুল হতেও পারে সেক্ষেত্রে আলোচনার মাধ্যমে শুধরে নেয়া যাবে। পরবর্তী টিউটোরিয়ালে LCD এবং Analog Input/Output নিয়ে লেখার ইচ্ছা আছে।

সবাইকে ধন্যবাদ।

Level 0

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


টিউনস


আরও টিউনস


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


টিউমেন্টস

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

    Level 0

    চাইনিজ কিছু USB Programmer পাওয়া যায়। আমার যতদূর মনে পড়ে, দাম ৩হাজার থেকে শুরু, ১০-১৫ হাজার টাকাও আছে। আমি একটা Universal Programmer কিনছিলাম, ৬ হাজার টাকা নিছিল। TOP2005

      @Faisal: ধন্যবাদ ভাই। দেখি একটা কিনতে পারি কিনা। তারপর আপনার প্রোগ্রাম গুলি প্রেক্টিস করবো।

ভাইয়া, বাজার এ যে টাইপ এর USB Programmer পাওয়া যায়… ওগুলো দিয়ে কি AVR and PIC দুইটাই Program করা যাবে? আমি ওই সব Programmer সম্পর্কে অনেক খারাপ কথা শুনেছি… আপনার অভিজ্ঞতা কি?

    Level 0

    Universal Programmer কিনলে AVR and PIC দুইটাই Program করা যাবে। আমার জানামতে কোন সমস্যা হয়না। তবে PIC এর সব কন্ট্রোলার প্রোগ্রাম করতে অনেক দামি প্রোগ্রামার কিনতে হবে।

Level 0

ভাইয়া, আমি যদি কোন USB ডিভাইস বানাইতে চাই তাহলে সবচেয়ে কমদামে কি ইউস করব? ৩০০০ টাকা ইনভেস্ট করা ত আমার পক্ষে সম্ভব না। মোটামুটি ৬ টা সুইচ চালু করা গেলেই হবে।

    Level 0

    আপনার উদ্দেশ্যটা বুঝতে পারছিনা। আপনি কি USB দিয়ে ৬ টা সুইচ চালাতে চান নাকি প্রোগ্রামার বানাতে চান। Pic18f2550 এর দাম সম্ভবত ২৫০ টাকা। Pic18f2550 ব্যবহার করতে পারেন।

      Level 0

      @Faisal: আসলে আমি এখন কেবল মাত্র ইন্টারমিডিয়েট পরীক্ষা দিচ্ছি। তবে ইলেক্ট্রনিক্স নিয়ে অনেক আগ্রহ। সার্কিট এর মূল বিষয়গুলো অল্পবিস্তর বুঝি। কিছু ছোটখাটো অভিজ্ঞতা আছে, এই আরকি। এখন বলেন USB programming এর জন্য কি কি জানা লাগবে? আর ডিভাইস বানাতেই বা কি লাগবে?

Level 0

I am glad to you for 6th tune. At first we need to know assembly language programming regarding instruction set. So we hope 7th tune will introduce instruction set and it faction wit simple code. Please after finish instruction tutorial then go deferent project. May Allah help you.

We need your mail and skype.

Level 0

Dear Brother
You have disused tune 1 to 4th Port and move instruction. We are waiting other instructions. After instruction complete then touch us project.

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

Level 0

টেকশপ-বিডি er Pickit2 er symplified version use kore. eti diye apni shudhu 5v er PIC micro controller program korte parben. PIC16f72, PIC16f84, PIC16f877, PIC16f887 ei dhoroner microcontroller gulo shob e 5v er. amar jotodur mone pore 16f series er prai shobguloi 5v er ebong টেকশপ-বিডি er Pickit2 diye program kora jabe.

Amar mone hocche apnar configuration bit e kono problem ache. apni 16f72 er jonno configuration bit koto diyechen? uporer tutorial er shesher dike ami configuration bit shomporke likhechi. configuration bit amake likhe janan. ar ekta bepar hote pare apni crystal oscillator ke stable korar jonno je duta capacitor use korte hoy ta ki use korechen. 16f72 er jonno shorbocco 20Mhz er crystal use korte parben. ebong er jonno capacitor er value hobe 22pf.

    @Faisal: প্রবলেম সলভড। ধন্যবাদ !

      Level 0

      ki hoechilo? Kivabe solve korlen.

        @Faisal: আমি খেয়াল করি নাই যে pic16f72 তে ২ টা Vss আছে। আগে শুধু ১ টাই গ্রাউন্ড করতাম ভাবতাম আরেকটা অপশনাল। এখন ২ টা কমন করে দিয়ে দেখলাম কাজ হচ্ছে

Level 0

Please post next tune.

Level 0

Hope the tune will instruction set with assemble code discussion.

Level 0

PIC16F series supports only 35 instructions. Instructions i already have discussed are, BSF, MOVLW, MOVWF, BCF, GOTO, DECFSZ, RETURN, BTFSS and. BTFSC. I thought no one is interested of assembly, so i decided to stop writing tutorials in assembly but in C. As U requested I will continue in assembly.
I can not write tutorial now because I am out Bangladesh to participate a Training Program in South Korea. Will be back on 6th December. Then I will try to write………………Thanx

Level 0

@Faisal: আসলে আমি এখন কেবল মাত্র ইন্টারমিডিয়েট পরীক্ষা দিচ্ছি। তবে ইলেক্ট্রনিক্স নিয়ে অনেক আগ্রহ। সার্কিট এর মূল বিষয়গুলো অল্পবিস্তর বুঝি। কিছু ছোটখাটো অভিজ্ঞতা আছে, এই আরকি। এখন বলেন USB programming এর জন্য কি কি জানা লাগবে? আর ডিভাইস বানাতেই বা কি লাগবে?

nomoskar vai……/ami new user/ ami anek age thekei apnar post follow korchi../ amr khub valo lage/ amy ektu help koren…/ ami jante chaichi je .. pik kit 2 ta te je PIC use kora hoyeche seta ki apnar ager 9pin serial por programmer diye programme kora jabe???? please help me// r chaliye jan post/

my mail id is “” [email protected] “”

Level 0

Ha apni ager 9pin serial port programmer diye programme kora jabe. Ami korechi.

dhonnobad bhaiiiiiiiii/ ami pcb banachi…./ thankssss

    Level 0

    তৈরী করেছেন?? ঠিক মত কাজ করছে কি??

Level 0

ভাই, ইউ আর জাস্ট সুপারব…। দয়া করে আপনি এই টিউনটা কণ্টিনিউ করবেন। নইলে আমি পুরাই এতিম হয়ে যাব……। অনেক ধন্যবাদ আপনাকে…।

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

Faisal vai…ami pcb ta devolop korefelechi… but ekhon problem drill niye/ acha pcb futo korar jonno ki inkjet printer er motor use kora jete pare????

Level 0

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

ভাই আমি একটা Serial Programmer বানাই িছ কাজ করে।। but Problem হল LED ta জলে না।

    Level 0

    led er polarity check korun. Pcb er wire er Contunity o check kore dekhte paren. Apnar led nosto hote pare.

Faisal vai dhonnobad apnake …/but ami dhakay thaki na../ami vai india te thaki..tobe bangla deshe amr attiora thaken/ ami jai ni kokhono bangla deshe/ but ami apnar desher ei site ta 1.5year theke follow korchi… /r ami jante chaichi je printer e r motor diye ki drill banano jabe???

    Level 0

    Apnar printer er motorti jodi stepper motor hoy. Tobe kaj onek kothin hoye jabe. Asol kaj holo drill bit ke ghurano. Kivabe ba ki diye ghuraben ta apnar bepar.

    Apni bajar theke kom dame hand drill kine nite paren.

Level 0

vai, porer tune ta kobe diben… taratari post koren plz…

Level 0

Dear Faisal Vi
How are u. Hope u are liveing nice after finish raining Program in South Korea. plese give me fuction of Pic total 35 istruction with small example.

I need your mail address if have skype.please send me. my ID [email protected] Skype masoum80.

Level 0

when we found next tune.
waitting……………………………………………………………………………………………………………

    Level 0

    kalke theke likhbo, tate jotokkhon lage……..

Level 0

Thank u very mauch. If u have skype ID let me know and ur mail ID alos. I have a discustion with u.

ভাই চরম হইছে আমি এটা বানাতে চাচ্ছি যদি আপনার সেল নম্বর টা দিতেন উপকৃত হতাম
[email protected]
or
https://www.facebook.com/EEEnahid
or msg me 01675245802

vai nomoskar………/amr circuit ta complete ../ tobe ektu somossa ache/ apni plz apnar mail ta dekhun.. ami picture ta dichi.. seta te yollow color er mark kora ache parts gulo./ ki lagabo bujhte [parchina…/r valu tao…/ apnar final er picture e dekhachi diode etc…/ apni ektu help korben vai…/ r apnar notun tune o porlam ..boss chaliyejan.. darun ……/

apnar mail id ta deben plz ami picture gulo send korbo…../amr mail ta holo

[email protected]

Level 0

*******************Vi programmer ta prai toiri korasi. Kintu AT24C512 IC, usb female B type connector chittagong a paoa jassa na. Asara PIC18F2550 microcontroller ta 400 taka dia kina kono kaja lagate parsina. Karon amar kase programmer nai. Kau ki asa amar microcontroller ta program kora diba.**************

    Level 0

    Programmer to Go অপশন না চাইলে AT24C512 IC লাগানো লাগবেনা। ইউএসবি কানেক্টর না পাইলে ইউএসবি এর যেকোনো তার কেটে পিন মিলিয়ে লাগিয়ে নিতে পারেন। আমার আগের টিউটোরিয়ালে সিরিয়াল প্রোগ্রামার কিভাবে বানাবেন তা দেয়া আছে। অই প্রোগ্রামার দিয়ে PIC18F2550 প্রোগ্রাম করা যায়।
    ইউএসবি এর কোনটা কোন পিন নিচে থেকে দেখে নিন।

    http://atmega32-avr.com/usb-pinout/

    http://petrockblog.wordpress.com/2012/05/19/usb-keyboard-with-arduino-and-v-usb-library-an-example/

Level 0

Faisal vai
apona k many many thanks

Level 0

vai apnar oshadharon tune gular jonno apnake oshonkho thnx. choto vai hisebe ekta abdar thaklo apnar kache jodi kisu mone na koren tahole apni pic devolopment kit ki vabe banate pari sei bisoye ekta post koren, ami oneker kache e ei bapare help ceyeci kintu keu e sevabe responce kore nai , vai apnar tune gulo pore onek kisu sikeche .tai doya kore pic devolopment kit er circuir diagram r pcb ta niye ekta post koren please vai ……………..,vai jodi somvob hoy kindly amake pic devolopment kit er pcb and diagram amake ektu mail koren.amar mail address [email protected].

vai onek kotha liklam jani na kono dhoroner beyadobi kore feleci ki na , kono dhoroner beyadobi hole please koma kore diben .asole vai ami onek din theke e ekta pic devolopment kit mannage er chesta korte ci kintu je poriman dam dekhi ta amar shaddher onek baire .

Level 0

PIC development Board এর দাম সত্যি অনেক বেশী। এত টাকা দিয়ে development board কেনা একজন হবিস্ট এর জন্য বিলাসিতা ছাড়া আর কিছুইনা। আবার ঐ মানের বা তার কাছাকাছি একটা বোর্ড ডিজাইন করা এবং তার বাস্তব রুপ দেয়া অত্যন্ত কষ্টসাধ্য এবং ব্যয়বহুল। কিন্তু মন কি মানে!!! তাই মনের প্ররোচনায় একটা বোর্ড আমি বানিয়েছিলাম, কিন্তু অভিজ্ঞতার অভাব এবং কিছু কারিগরি সমস্যার দরুন তা শতভাগ সফল হয়নি। বিফল হয়েছে তাও বলবনা। অভিজ্ঞতা বেড়েছে, সমস্যা ধরতে পেরেছি। যা যা একটা development Board এ সংযুক্ত করা সম্ভব তার প্রায় সবই যুক্ত করেছিলাম। অন্তত মাথায় যা যা এসেছিল।

এখন কাজের কথায় আসা যাক। বড় development Board এর কিছু প্রবলেম আছে। প্রথমত এর সাইজ, এর সীমিত ক্ষমতা…etc মোট কথা এই ধরনের বোর্ডগুলো কাজের জন্য flexible না। পরবর্তীতে আমি সিদ্ধান্ত নিই বোর্ডটাকে অনেক গুলো অংশে ভাগ করে ফেলার। যখন যেটা দরকার কানেক্টর এর মাধ্যমে যুক্ত করে নিলেই হবে। অনেকটা কম্পিউটার এর মত। একটা মাদারবোর্ড থাকবে, বাকি Accessories গুলো তার সাথে যুক্ত হবে তার দিয়ে। প্রোগ্রামার ও থাকবে আলাদা। এই সিস্টেমের সব চাইতে বড় সুবিধা হচ্ছে এর flexibility. কোন অংশ নষ্ট হলে বদলে ফেলতেও খুব সুবিধা। মেইন বোর্ড এর সাইজ ছোট হওয়ায় যেকোনো কাজে, যেকোনো জায়গায় ব্যবহার করা যায়। আপনি নিশ্চয়ই Arduino Board এর নাম শুনেছেন। অনেকটা ঐ রকম। আর এই বোর্ড বানাতেও কষ্ট হয়না। LCD, LED, Switch…… সব কিছুর ই বোর্ড থাকবে আলাদা। আপনি যদি এই ধরনের বোর্ড বানাতে ইচ্ছুক হন তাহলে আমি আপনাকে সাহায্য করতে পারি। আপানার বোঝার সুবিধার্থে আমি একটা ছবি আপলোড করে দিচ্ছি। এখানে বোর্ড এর বিভিন্ন পিন এর নাম উল্লেখ করা হয় নি সময়ের অভাবে। আমি বিভিন্ন পোর্ট PORTA, PORTB, PORTC, PORTD, ICSP, I2C, SPI, UART, PWM, VCC, GND সব কিছুরই কানেক্টর আলাদা করে বের করে রেখেছি।

http://s15.postimg.org/9hcxdv06j/21072013001.jpg

এরকম ভাবে লিখে নিলেই হবে।

http://s11.postimg.org/fxrrsydoj/21072013.jpg

    Level 0

    @Faisal: vai apnake oshonkho dhonnobad apnar mulloban reply er jonno.apnar system er moto ekta system pele e amar cholbe.
    apnar instruction sara ei dhoroner system banan amar pokkhe ekebare oshomvob.ami apnar pickit 2 ta toiri koreci ek kothay oshadharon ………..
    tai apnar kache amar bises onurodh thakbe jodi somvob hoy ektu somoy kore ei system ta bananor ekta guideline amake den…please…..

Level 0

vai pcb board a tin coating korara jonno tin sulphet er solution ta koi pabo????

    Level 0

    Sorry apnar kotha ami ekdom vule gesilam. Apanar pcb layout mail kore dibokkhon.

    ar tin coating kothai pawa jai ami jani na. Majhe kichudin khojakhuji korsilam. kintu ami dhakai thaki na bidhai khuje pai ni, ar khojao hoy ni. Press e shisha diye je seal banay oita tin diye coating kore onek shomoy. Apni ektu kosto koreo khoj niye dekhte paren.

    Ashole coiting er dorkar nai. Kapor white spirit e vijiye rojon er upor ghoshle kapore rojon lege jabe. ebar rojon pcb board er upor dole lagiye din. jodi protidin copper er board er upor hat diye doladoli na koren taile life guarantee.

Level 0

thnx a lot faisal vai ……..apne anake kindly pcb ta mail koren……………..amar mail address
[email protected]

Level 0

vai amake pcb layout ta mail koren pleaseeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee cause ekon eid er jonno kisu din suti paice pleaseeeeeeeeeeeeeeeee vai ……………

Level 0

faisal vai ami usb progammer ta banaichi kin 2 ta problem holo vdd change hoy na 4.3-4.4 v take. ami ekhono zif use kori ni . programmer ta software detect korte pare kintu vdd change hoy na please say me now what can i do ?????????
.

Level 0

na vai ami proteous 7.7 ache r vai pickit 2 er vdd keno change hoy na posible karon gula kindly ektu bolen

    Level 0

    kivabe test korsen?? Trouble shoot e giye??

Level 0

obosheshe parlam…………….oshonkho dhonobad foisal vai ke………..:) 🙂

best tutotial ever I ever I seen ……………………..

Level 0

ভাই আপনি আমার অনেক বড় একটা উপকার করছেন । আপনার এই টিউনটি আমার মত ভবঘুরে ও ক্লাসে অমনোযোগী Students দের জন্যে অনেক কাজের একটা টিউন । আপনাকে অ – -নে – – ক ধন্যবাদ ।

Level 0

Faisal vai ZIF Socket ar price ta koto ,janale upokrito hotam

Level 0

ভাই আমাকে একটু হেল্প করেন।আমি একটা PIC Programmer কিনসি আমি চাইটাসি একটা pic16f73 থেকে Hex file কপি করে অন্নতাতে Burn করতে।আমি Hex file তা কপি করি কিন্তু Hex file টা Burn করলে কাজ হয় না কেন?আমাকে মিস কল দেন ০১৯৫৫৩৮২৭৫৮।

Level 0

vpp test a 10.5-10.3 volt dakhasa please help me

কবে আবার আপনার লেখা পড়তে পারবো দাদা। আমি কিন্তু assembly language’র next instruction গুলো পড়ার আশায় আছি দাদা।

vi apnar contect no ta prowjon cilo

Level 0

Nice…

Faisal Boss, apnar tune er dea Proteus er link thaka proteus download kori. ekti folder a screenshots ase install er suggestions hisabe. screenshot a (Patch folder) a ” LXK Proteus 7.10 SP0 RUS v1.0.1.exe” namer 2ta file ase. kintu amar ekhane ase 1ta. jar karone program thik vabe install hochche na. suggestion dile upkrito hobo.