সুচিপত্র:

Arduino এর জন্য MCP41HVX1 ডিজিটাল পোটেন্টিওমিটার: 10 টি ধাপ (ছবি সহ)
Arduino এর জন্য MCP41HVX1 ডিজিটাল পোটেন্টিওমিটার: 10 টি ধাপ (ছবি সহ)

ভিডিও: Arduino এর জন্য MCP41HVX1 ডিজিটাল পোটেন্টিওমিটার: 10 টি ধাপ (ছবি সহ)

ভিডিও: Arduino এর জন্য MCP41HVX1 ডিজিটাল পোটেন্টিওমিটার: 10 টি ধাপ (ছবি সহ)
ভিডিও: Servo Motor with Potentiometer and LCD with Arduino 2024, জুলাই
Anonim
Arduino এর জন্য MCP41HVX1 ডিজিটাল পটেন্টিওমিটার
Arduino এর জন্য MCP41HVX1 ডিজিটাল পটেন্টিওমিটার

ডিজিটাল পোটেন্টিওমিটার (ওরফে ডিজিপটস) এর MCP41HVX1 পরিবার এমন একটি ডিভাইস যা একটি এনালগ পোটেন্টিওমিটারের কাজ অনুকরণ করে এবং SPI এর মাধ্যমে নিয়ন্ত্রিত হয়। একটি উদাহরণ অ্যাপ্লিকেশন আপনার স্টেরিওতে ভলিউম নোবকে একটি ডিজিপট দিয়ে প্রতিস্থাপন করবে যা একটি Arduino দ্বারা নিয়ন্ত্রিত হয়। এটি অনুমান করে যে আপনার স্টেরিওতে ভলিউম নিয়ন্ত্রণ একটি পোটেন্টিওমিটার এবং রোটারি এনকোডার নয়।

এমসিপি 41 এইচভিএক্স 1 অন্য ডিজিজপটগুলির চেয়ে কিছুটা আলাদা যে তাদের একটি বিভক্ত রেল নকশা রয়েছে। এর মানে হল যে যখন ডিজিপট নিজেই একটি Arduino এর আউটপুট ভোল্টেজ দ্বারা নিয়ন্ত্রিত হতে পারে, প্রতিরোধক নেটওয়ার্কের মাধ্যমে যে সংকেতটি পাস করা হয় তা ভোল্টেজের অনেক বেশি পরিসর (36 ভোল্ট পর্যন্ত) দিয়ে কাজ করে। সর্বাধিক DigiPots যা 5 ভোল্ট দ্বারা নিয়ন্ত্রিত হতে পারে সেগুলি রোধকারী নেটওয়ার্ক জুড়ে 5 ভোল্টের মধ্যে সীমাবদ্ধ যা একটি বিদ্যমান সার্কিট পুনরুদ্ধারের জন্য তাদের ব্যবহারকে সীমাবদ্ধ করে যা উচ্চ ভোল্টেজে কাজ করে যেমন আপনি গাড়ি বা নৌকায় যা পাবেন।

MCP41HVX1 পরিবার নিম্নলিখিত চিপ দিয়ে গঠিত:

  • MCP41HV31-104E/ST - 100k ওহম (7 বিট)
  • MCP41HV31-503E/ST - 50k ওহম (7 বিট)
  • MCP41HV31-103E/ST - 10k ওহম (7 বিট)
  • MCP41HV31-502E/ST - 5k ওহম (7 বিট)
  • MCP41HV31-103E/MQ - 10k ওহম (7 বিট)
  • MCP41HV51-104E/ST - 100k ওহম (8 বিট)
  • MCP41HV51-503E/ST - 50k ওহম (8 বিট)
  • MCP41HV51T -503E/ST - 50k ওহম (8 বিট)
  • MCP41HV51-103E/ST - 10k ওহম (8 বিট)
  • MCP41HV51-502E/ST - 5k ওহম (8 বিট)

7 বিট চিপ প্রতিরোধক নেটওয়ার্কে 128 ধাপের অনুমতি দেয় এবং 8 বিট চিপ প্রতিরোধক নেটওয়ার্কে 256 ধাপের অনুমতি দেয়। এর মানে হল যে 8 বিট চিপগুলি পটেন্টিওমিটার থেকে দ্বিগুণ প্রতিরোধের মান দেয়।

সরবরাহ

  • উপরের তালিকা থেকে উপযুক্ত MCP41HVX1 চিপ নির্বাচন করুন। আপনার চিপটি আপনার অ্যাপ্লিকেশনের জন্য প্রয়োজনীয় প্রতিরোধের পরিসরের উপর ভিত্তি করে নির্বাচন করা হয়। এই নির্দেশযোগ্যটি চিপের টিএসএসওপি 14 প্যাকেজ সংস্করণগুলির উপর ভিত্তি করে তৈরি করা হয়েছে যাতে এই গাইডের সাথে অনুসরণ করার জন্য তালিকায় যেকোনো চিপ বাছাই করুন MCP41HV31-103E/MQ ব্যতীত যা একটি QFN প্যাকেজ। এটি একটি অতিরিক্ত চিপ পেতে সুপারিশ করা হয় কারণ আমি একটি খারাপ এক সম্মুখীন এবং তারা সস্তা। আমি ডিজি-কী থেকে আমার অর্ডার করেছি।
  • সেকেন্ডারি ডিসি পাওয়ার সাপ্লাই যা 10 থেকে 36 ভোল্ট পর্যন্ত। আমার উদাহরণে আমি পুরানো বিদ্যুৎ সরবরাহের বাক্স থেকে 17 ভোল্টের প্রাচীরের ওয়ার্ট ডিসি পাওয়ার সাপ্লাই ব্যবহার করি।
  • সোল্ডারিং ফ্লাক্স
  • তাতাল
  • ঝাল
  • টুইজার এবং / বা টুথপিক
  • TSSOP 14 পিন ব্রেকআউট বোর্ড - আমাজন - QLOUNI 40pcs PCB প্রোটো বোর্ড SMD থেকে DIP অ্যাডাপ্টার প্লেট কনভার্টার TQFP (32 44 48 64 84 100)
  • 2 - 7 পিন হেডারের পরিমাণ - অ্যামাজন - 30 পিসি 40 পিন 2.54 মিমি পুরুষ এবং মহিলা পিন হেডারগুলি আরডুইনো প্রোটোটাইপ শিল্ডের জন্য - (প্রয়োজনীয় আকারে কাটা। একাধিক প্রকল্পের জন্য প্যাকেজে প্রচুর পরিমাণে)
  • Arduino Uno - যদি আপনার না থাকে তবে আমি একটি অফিসিয়াল বোর্ড পাওয়ার পরামর্শ দেব। আমি আনুষ্ঠানিক সংস্করণগুলির সাথে মিশ্র ভাগ্য পেয়েছি। Digi -Key - Arduino Uno
  • মাল্টি-মিটার যা প্রতিরোধের পরিমাপ করতে পারে এবং ধারাবাহিকতা পরীক্ষা করতে পারে
  • জাম্পার তার
  • ব্রেডবোর্ড
  • টিএসএসওপি চিপগুলি খুব ছোট বলে অত্যন্ত সুপারিশকৃত কিন্তু একেবারে প্রয়োজনীয় নয় একটি হ্যান্ডস ফ্রি ম্যাগনিফায়ার। মাল্টি-মিটারের সাথে সোল্ডারিং এবং পরীক্ষার জন্য আপনার উভয় হাতের প্রয়োজন হবে। আমি আমার প্রেসক্রিপশন চশমার উপরে একটি হারবার মালবাহী 3x ক্লিপ-অন ম্যাগনিফায়ার এবং একটি মুক্ত স্থায়ী-স্পষ্ট বিবর্ধক গ্লাস ব্যবহার করি। অন্যান্য বিকল্প হল ডিসকাউন্ট বা ডলারের দোকান থেকে সস্তা পাঠকদের জোড়া। এমনকি আপনি আপনার প্রেসক্রিপশন চশমার উপর পাঠকদের পরতে পারেন বা আপনার দৃষ্টি কতটা ভাল (বা খারাপ) তার উপর নির্ভর করে দুই জোড়া পাঠক (অন্যটির উপরে একটি) পেতে পারেন। আপনি যদি চশমার উপর দ্বিগুণ হচ্ছেন তবে সাবধান থাকুন কারণ আপনার দৃষ্টিশক্তি খুব সীমিত হবে তাই অন্য কিছু করার আগে সেগুলি বন্ধ করে নিন। সোল্ডারিং করার সময় অতিরিক্ত সতর্কতা অবলম্বন করুন।
  • আরেকটি আইটেম যা প্রয়োজন হয় না কিন্তু অত্যন্ত সুপারিশ করা হয় হারবার মালবাহী হেল্পিং হ্যান্ডস। এগুলি একটি ধাতব বেসের সাথে সংযুক্ত অ্যালিগেটর ক্লিপ। এগুলি ইন্টারনেটে অন্যান্য অনেক বিক্রেতাদের কাছ থেকে বিভিন্ন ব্র্যান্ড নামে পাওয়া যায়। ব্রেকআউট বোর্ডে চিপ সোল্ডার করার সময় এগুলি খুব সহায়ক।

ধাপ 1: একটি ব্রেকআউট বোর্ডে TSSOP চিপ বিক্রি করা

Image
Image
একটি ব্রেকআউট বোর্ডে TSSOP চিপ বিক্রি করা
একটি ব্রেকআউট বোর্ডে TSSOP চিপ বিক্রি করা
একটি ব্রেকআউট বোর্ডে TSSOP চিপ বিক্রি করা
একটি ব্রেকআউট বোর্ডে TSSOP চিপ বিক্রি করা

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

তাদের ছোট আকারের কারণে, টিএসএসওপি চিপ সোল্ডারিং এই প্রকল্পের সবচেয়ে চ্যালেঞ্জিং অংশ হতে পারে কিন্তু এটি করার কৌশলটি জানা যে এটি এমন একটি কাজ করে যা যে কেউ সম্পন্ন করতে পারে। বেশ কয়েকটি কৌশল রয়েছে, নীচের একটিটি আমি করেছি।

কৌশলটি হল ব্রেকআউট বোর্ডের চিহ্নগুলিতে সোল্ডারটি প্রবাহিত করা।

  • নির্দেশ না দেওয়া পর্যন্ত ব্রেকআউট বোর্ডে চিপ লাগাবেন না।
  • প্রথম কাজটি হল ব্রেকআউট বোর্ডে প্রচুর পরিমাণে ফ্লাক্স রাখা।
  • পরবর্তী, আপনার সোল্ডারিং লোহা ব্যবহার করে কিছু ঝাল গরম করুন এবং এটি ট্রেসগুলিতে প্রবাহিত করুন।
  • সোল্ডারের উপরে আরও কিছু ফ্লাক্স রাখুন যা আপনি ট্রেসগুলির পাশাপাশি চিপের পায়ের নীচে প্রবাহিত করেছিলেন।
  • যেখানে আপনি সোল্ডার এবং ফ্লাক্স রেখেছেন তার উপরে চিপটি রাখুন। টুইজার বা টুথপিক চিপটি ঠিক জায়গায় স্থাপন করার জন্য ভাল সরঞ্জাম তৈরি করে। চিপটি সঠিকভাবে সারিবদ্ধ করতে ভুলবেন না যাতে সমস্ত পিনগুলি সরাসরি ট্রেসগুলির উপরে থাকে। ব্রেক আউট বোর্ডে পিনের জন্য চিহ্নিত করে একটি চিপকে পিন করুন।
  • আপনার সোল্ডারিং আয়রন ব্যবহার করে চিপের শেষের একটি পিন (হয় পিন 1, 7, 8, বা 14) ট্রেস এ টিপে। আপনি যে ঝালটি আগে প্রয়োগ করেছিলেন তা গলে যাবে এবং পিনের চারপাশে প্রবাহিত হবে।

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

আপনি সমস্ত পিন সোল্ডার করার পরে ভিডিওটি আপনার সংযোগগুলি যাচাই করার জন্য একটি ম্যাগনিফাইং গ্লাস ব্যবহার করার পরামর্শ দেয়। ধারাবাহিকতা পরীক্ষা করার জন্য একটি মাল্টিমিটার ব্যবহার করা একটি ভাল পদ্ধতি। আপনি পিনের পায়ে একটি প্রোব এবং অন্য প্রোবটি বোর্ডের অংশে রাখুন যেখানে আপনি হেডারটি সোল্ডার করবেন (এই ধাপে দ্বিতীয় ছবিটি দেখুন)। একাধিক পিন একসঙ্গে শর্ট শর্ট করার কারণে এগুলি সংযুক্ত নয় কিনা তা নিশ্চিত করার জন্য আপনার সংলগ্ন পিনগুলিও পরীক্ষা করা উচিত। উদাহরণস্বরূপ, যদি আপনি পিন 4 যাচাই করেন, পিন 3 এবং পিন 5 পরীক্ষা করুন। একমাত্র ব্যতিক্রম হল ওয়াইপার P0W P0A বা P0B এর সাথে সংযোগ দেখাতে পারে।

পরামর্শ:

  • উপকরণ তালিকায় উল্লিখিত হিসাবে কিছু বিবর্ধন পাওয়া যায় যা আপনার হাতকে কাজ মুক্ত রাখে এই ধাপে খুব সহায়ক হবে।
  • অ্যালিগেটর ক্লিপ ব্যবহার করে হাত ব্রেকআউট বোর্ড ধরে রাখতে সাহায্য করে সোল্ডারিং সবকিছুকে কিছুটা সহজ করে তোলে।
  • মাস্কিং টেপের একটি অংশে চিপ নম্বরটি লিখুন এবং ব্রেকআউট বোর্ডের নীচে আটকে থাকুন (এই বিভাগে তৃতীয় ছবিটি দেখুন)। ভবিষ্যতে যদি আপনাকে চিপটি সনাক্ত করতে হয় তবে মাস্কিং টেপটি পড়া অনেক সহজ হবে। আমার ব্যক্তিগত অভিজ্ঞতা হল যে আমি চিপে একটু স্রোত পেয়েছি এবং নম্বরটি পুরোপুরি বন্ধ হয়ে গেছে তাই আমার কাছে কেবল টেপ রয়েছে।

ধাপ 2: তারের

তারের
তারের

ওয়্যারিং ডায়াগ্রামে দেখানো হিসাবে আপনাকে Arduino এবং Digipot সংযোগ করতে হবে। যে পিনগুলি ব্যবহার করা হচ্ছে সেগুলি একটি Arduino Uno এর বিন্যাসের উপর ভিত্তি করে। আপনি যদি অন্য Arduino ব্যবহার করেন তবে শেষ ধাপটি দেখুন।

ধাপ 3: ডিজিপট নিয়ন্ত্রণের জন্য আরডুইনো লাইব্রেরি পাওয়া

DigiPot নিয়ন্ত্রণের জন্য Arduino লাইব্রেরি পাওয়া
DigiPot নিয়ন্ত্রণের জন্য Arduino লাইব্রেরি পাওয়া

প্রোগ্রামিং সহজ করার জন্য আমি একটি লাইব্রেরি তৈরি করেছি যা Github এ উপলব্ধ। MCP41HVX1 লাইব্রেরি পেতে github.com/gregsrabian/MCP41HVX1 এ যান। আপনি "ক্লোন" বোতামটি নির্বাচন করতে চান এবং তারপরে "ডাউনলোড জিপ" নির্বাচন করুন। জিপ ফাইলটি এমন একটি স্থানে সংরক্ষণ করতে ভুলবেন না যেখানে আপনি জানেন যে এটি কোথায় রয়েছে। ডেস্কটপ বা ডাউনলোড ফোল্ডার সহজ স্থান। একবার আপনি এটি Arduino IDE তে আমদানি করলে আপনি এটি ডাউনলোড লোকেশন থেকে মুছে ফেলতে পারেন।

ধাপ 4: Arduino IDE তে নতুন লাইব্রেরি আমদানি করা

Arduino IDE তে নতুন লাইব্রেরি আমদানি করা
Arduino IDE তে নতুন লাইব্রেরি আমদানি করা

Arduino IDE এর মধ্যে "স্কেচ" এ যান, তারপর "লাইব্রেরি অন্তর্ভুক্ত করুন" নির্বাচন করুন, তারপর "জিপ লাইব্রেরি যোগ করুন.." নির্বাচন করুন। একটি নতুন ডায়ালগ বক্স আসবে যা আপনাকে GITHub থেকে ডাউনলোড করা. ZIP ফাইলটি নির্বাচন করার অনুমতি দেবে।

ধাপ 5: লাইব্রেরির উদাহরণ

লাইব্রেরির উদাহরণ
লাইব্রেরির উদাহরণ

আপনি নতুন লাইব্রেরি যোগ করার পরে আপনি লক্ষ্য করবেন যে আপনি যদি "ফাইল" এ যান, তাহলে "উদাহরণ" নির্বাচন করুন, এবং তারপর "কাস্টম লাইব্রেরি থেকে উদাহরণ" নির্বাচন করুন আপনি এখন তালিকায় MCP41HVX1 এর জন্য একটি এন্ট্রি দেখতে পাবেন। যদি আপনি entry এন্ট্রিটির উপর ঘুরান তাহলে আপনি দেখতে পাবেন WLAT, Wiper Control, এবং SHDN যা উদাহরণ স্কেচ। এই নির্দেশনায় আমরা ওয়াইপার কন্ট্রোল উদাহরণ ব্যবহার করব।

ধাপ 6: সোর্স কোড পরীক্ষা করা

#অন্তর্ভুক্ত "MCP41HVX1.h" // Arduino- এ ব্যবহৃত পিনগুলি সংজ্ঞায়িত করুন#WLAT_PIN 8 সংজ্ঞায়িত করুন // যদি কম সেট করা হয় "ট্রান্সফার এবং ব্যবহার করুন"#ডিফাইন SHDN_PIN 9 // প্রতিরোধকারী নেটওয়ার্ক সক্ষম করতে উচ্চ সেট করুন#CS_PIN 10 সংজ্ঞায়িত করুন // SPI- এর জন্য চিপ নির্বাচন করতে কম সেট করুন // পরীক্ষা অ্যাপের জন্য ব্যবহৃত কিছু মান নির্ধারণ করুন#FORWARD সত্যকে সংজ্ঞায়িত করুন RE REVERSE মিথ্যা নির্ধারণ করুন false MAX_WIPER_VALUE 255 // সর্বাধিক ওয়াইপার মূল্যবান MCP41HVX1 ডিজিপট (CS_PIN, SHDN_PIN, WLAT_PIN); শূন্য সেটআপ () { Serial.begin (9600); সিরিয়াল.প্রিন্ট ("অবস্থান শুরু ="); Serial.println (Digipot. WiperGetPosition ()); // প্রাথমিক মান প্রদর্শন করুন Serial.print ("ওয়াইপার পজিশন =" সেট করুন); Serial.println (Digipot. WiperSetPosition (0)); // ওয়াইপার পজিশন সেট করুন 0} void loop () {static bool bDirection = FORWARD; int nWiper = Digipot. WiperGetPosition (); // বর্তমান ওয়াইপার অবস্থান পান // দিক নির্ধারণ করুন। যদি (MAX_WIPER_VALUE == nWiper) {bDirection = REVERSE; } অন্যথায় যদি (0 == nWiper) {bDirection = FORWARD; } // ডিজিপট ওয়াইপার সরান যদি (FORWARD == bDirection) {nWiper = Digipot. WiperIncrement (); // দিক এগিয়ে সিরিয়াল.প্রিন্ট ("বৃদ্ধি -"); } অন্যথায় {nWiper = Digipot. WiperDecrement (); // দিকটি পশ্চাদপদ সিরিয়াল.প্রিন্ট ("হ্রাস -"); } সিরিয়াল.প্রিন্ট ("ওয়াইপার পজিশন ="); Serial.println (nWiper); বিলম্ব (100);}

ধাপ 7: সোর্স কোড বোঝা এবং স্কেচ চালানো

Image
Image

এই সোর্স কোডটি Arduino IDE- এর মধ্যে পাওয়া যায় উদাহরণ মেনুতে গিয়ে এবং MCP41HVX1 যা আপনি ইনস্টল করেছেন তা সনাক্ত করে (আগের ধাপ দেখুন)। MCP41HVX1 এর মধ্যে "ওয়াইপার কন্ট্রোল" উদাহরণটি খুলুন। লাইব্রেরির সাথে অন্তর্ভুক্ত কোডটি ব্যবহার করা ভাল, যদি কোন বাগ সংশোধন করা হয় তবে এটি আপডেট করা হবে।

ওয়াইপার কন্ট্রোল উদাহরণ MCP41HVX1 লাইব্রেরি থেকে নিম্নলিখিত API গুলি প্রদর্শন করে:

  • কনস্ট্রাক্টর MCP41HVX1 (int nCSPin, int nSHDNPin, int nWLATPin)
  • WiperGetPosition ()
  • WiperSetPosition (বাইট বাই ওয়াইপার)
  • ওয়াইপার ইনক্রিমেন্ট ()
  • WiperDecrement ()

নমুনা সোর্স কোডের মধ্যে MAX_WIPER_VALUE কে 127 এ সেট করতে ভুলবেন না যদি আপনি 7 বিট চিপ ব্যবহার করেন। ডিফল্ট হল 255 যা 8 বিট চিপের জন্য। যদি আপনি নমুনায় পরিবর্তন করেন তবে Arduino IDE আপনাকে প্রকল্পের জন্য একটি নতুন নাম বাছতে বাধ্য করবে কারণ এটি আপনাকে উদাহরণ কোড আপডেট করতে দেবে না। এটি প্রত্যাশিত আচরণ।

প্রতিবার লুপের মাধ্যমে ওয়াইপার এক ধাপে বৃদ্ধি পাবে বা এক ধাপে হ্রাস পাবে তা নির্ভর করে যে দিকে যাচ্ছে। যদি দিকটি উপরে থাকে এবং এটি MAX_WIPER_VALUE এ যায় তবে এটি বিপরীত দিক নির্দেশ করবে। যদি এটি 0 আঘাত করে তবে এটি আবার বিপরীত হবে।

স্কেচ চালানোর সাথে সাথে সিরিয়াল মনিটর বর্তমান ওয়াইপার পজিশনের সাথে আপডেট করা হয়।

প্রতিরোধের পরিবর্তন দেখতে আপনাকে ওহমস পড়ার জন্য একটি মাল্টিমিটার সেট ব্যবহার করতে হবে। অ্যাপ্লিকেশন চলমান অবস্থায় প্রতিরোধের পরিবর্তন দেখতে P0B (পিন 11) এবং P0W (পিন 12) এ মিটার প্রোব রাখুন। মনে রাখবেন যে প্রতিরোধের মান শূন্যের নিচে যাবে না কারণ চিপের মধ্যে কিছু অভ্যন্তরীণ প্রতিরোধ আছে কিন্তু এটি 0 ওহমের কাছাকাছি চলে যাবে। এটি সম্ভবত সর্বাধিক মান পর্যন্ত যাবে না কিন্তু কাছাকাছি হবে।

আপনি যখন ভিডিওটি দেখবেন তখন আপনি দেখতে পাবেন যে মাল্টিমিটারটি প্রতিরোধের বৃদ্ধি দেখায় যতক্ষণ না এটি সর্বোচ্চ মান পর্যন্ত পৌঁছায় এবং তারপরে হ্রাস পেতে শুরু করে। ভিডিওতে যে চিপটি ব্যবহার করা হচ্ছে তা হল MCP41HV51-104E/ST যা 100k ohm সর্বোচ্চ মান সহ একটি 8 বিট চিপ।

ধাপ 8: সমস্যা সমাধান

যদি জিনিসগুলি প্রত্যাশিতভাবে কাজ না করে তবে এখানে কয়েকটি জিনিস দেখতে হবে।

  • আপনার ওয়্যারিং যাচাই করুন। সবকিছু সঠিকভাবে সংযুক্ত করা আবশ্যক। নিশ্চিত করুন যে আপনি এই নির্দেশাবলীতে বর্ণিত সম্পূর্ণ তারের চিত্র ব্যবহার করছেন। README, লাইব্রেরি সোর্স কোড, এবং নীচে নীচে এই নির্দেশাবলীতে উপস্থাপিত বিকল্প ওয়্যারিং ডায়াগ্রাম রয়েছে কিন্তু উপরে ওয়্যারিং ধাপে উপরে যা নথিভুক্ত করা হয়েছে তার সাথে থাকুন।
  • নিশ্চিত করুন যে আপনার ডিজিটপটের প্রতিটি পিন ব্রেকআউট বোর্ডে বিক্রি হয়েছে। চাক্ষুষ পরিদর্শন ব্যবহার যথেষ্ট ভাল নয়। নিশ্চিত করুন যে আপনি আপনার মাল্টিমিটারের ধারাবাহিকতা ফাংশন ব্যবহার করে যাচাই করে যাচাই করেন যে ডিজিপোটের সমস্ত পিন বৈদ্যুতিকভাবে ব্রেকআউট বোর্ডের সাথে সংযুক্ত এবং সোল্ডার থেকে পিনের কোন ক্রস সংযোগ নেই যা ট্রেস জুড়ে ব্রিজ হতে পারে।
  • যদি সিরিয়াল মনিটর দেখায় যে আপনি যখন স্কেচ চালান তখন ওয়াইপারের অবস্থান পরিবর্তন হচ্ছে কিন্তু প্রতিরোধের মান পরিবর্তন হচ্ছে না যে এটি একটি নির্দেশক যে WLAT বা SHDN ব্রেকআউট বোর্ডের সাথে সঠিক সংযোগ তৈরি করছে না বা WLAT বা SHDN এর জন্য জাম্পার ওয়াইপার Arduino এর সাথে সঠিকভাবে সংযুক্ত নয়।
  • নিশ্চিত করুন যে আপনি একটি সেকেন্ডারি পাওয়ার সাপ্লাই ব্যবহার করছেন যা 10 থেকে 36 ভোল্টের মধ্যে ডিসি।
  • আপনার মাল্টিমিটার দিয়ে ভোল্টেজ পরিমাপ করে 10 থেকে 36 ভোল্ট পাওয়ার সাপ্লাই কাজ করছে তা নিশ্চিত করুন।
  • আসল স্কেচ ব্যবহার করে দেখুন। আপনি যদি কোন পরিবর্তন করেন তবে আপনি একটি ত্রুটি চালু করতে পারেন।
  • যদি সমস্যা সমাধানের কোনো পদক্ষেপই অন্য ডিজিপট চিপ ব্যবহার করে সাহায্য না করে। আশা করি আপনি বেশ কয়েকটি কিনেছেন এবং সেগুলি একই সময়ে একটি টিএসএসওপি ব্রেকআউট বোর্ডে বিক্রি করেছেন তাই এটি কেবল অন্যটির জন্য একটি অদলবদলের বিষয় হওয়া উচিত। আমার একটি খারাপ চিপ ছিল যা আমাকে কিছুটা হতাশ করেছিল এবং এটিই সমাধান ছিল।

ধাপ 9: অভ্যন্তরীণ এবং অতিরিক্ত তথ্য

বিকল্প তারের চিত্র
বিকল্প তারের চিত্র

আরো তথ্য:

আরও তথ্য MCP41HVX1 ডেটা শীটে পাওয়া যাবে।

সম্পূর্ণ MCP41HVX1 লাইব্রেরির সম্পূর্ণ ডকুমেন্টেশন README.md ফাইলে পাওয়া যায় যা লাইব্রেরি ডাউনলোডের অংশ। এই ফাইলটি মার্ক ডাউন এ লেখা আছে এবং গিথুবের মধ্যে সঠিক বিন্যাসের সাথে দেখা যেতে পারে (পৃষ্ঠার নীচে দেখুন) অথবা মার্ক ডাউন ভিউয়ার -এডিটর দিয়ে।

Arduino এবং DigiPot মধ্যে যোগাযোগ:

Arduino SPI ব্যবহার করে DigiPot- এর সাথে যোগাযোগ করে। লাইব্রেরি WiperIncrement, WiperDecrement, বা WiperSetPosition এর মতো একটি ওয়াইপার পজিশন কমান্ড পাঠানোর পর এটি চিপ থেকে ওয়াইপার পজিশন পেতে WiperGetPosition কে কল করে। এই ওয়াইপার কমান্ডগুলি থেকে প্রাপ্ত মান হল ওয়াইপারের অবস্থান যেমন চিপ এটি দেখে এবং যাচাই করতে ব্যবহার করা যেতে পারে যে ওয়াইপার প্রত্যাশিত স্থানে চলে গেছে।

উন্নত কার্যকারিতা (WLAT এবং SHDN)

এই উন্নত ফাংশনগুলি "ওয়াইপার কন্ট্রোল" উদাহরণে প্রদর্শিত হয় না। WLAT এবং SHDN নিয়ন্ত্রণের জন্য লাইব্রেরিতে API গুলি পাওয়া যায়। লাইব্রেরির সাথে WLAT এবং SHDN উদাহরণ স্কেচ (ওয়াইপার কন্ট্রোল স্কেচ হিসাবে একই স্থানে) রয়েছে।

SHDN (শাটডাউন)

এসএইচডিএন প্রতিরোধক নেটওয়ার্ক নিষ্ক্রিয় বা সক্ষম করতে ব্যবহৃত হয়। SHDN কম নিষ্ক্রিয় এবং উচ্চ সেট করা প্রতিরোধক নেটওয়ার্ক সক্ষম করে। যখন রোধকারী নেটওয়ার্ক নিষ্ক্রিয় হয় P0A (DigiPot pin 13) সংযোগ বিচ্ছিন্ন এবং P0B (DigiPot pin 11) P0W (DigiPot pin 12) এর সাথে সংযুক্ত থাকে। P0B এবং P0W এর মধ্যে অল্প পরিমাণে প্রতিরোধ থাকবে তাই আপনার মিটার 0 ohms পড়বে না।

যদি আপনার আবেদনের SHDN নিয়ন্ত্রণ করার কোন প্রয়োজন না থাকে তাহলে আপনি সরাসরি এটিকে তারের সাথে যুক্ত করতে পারেন (বিকল্প তারের চিত্র দেখুন)। SHDN হার্ড তারযুক্ত তা নির্দেশ করার জন্য আপনাকে সঠিক কন্সট্রাকটর ব্যবহার করতে হবে অথবা MCP41HVX1_PIN_NOT_CONFIGURED এ কনস্ট্রাক্টরকে পাস করতে হবে। এটি লক্ষ্য করা গুরুত্বপূর্ণ যে আপনি যদি উদাহরণ সহ অনুসরণ করেন তবে আপনাকে অবশ্যই সম্পূর্ণ তারের চিত্রটি ব্যবহার করতে হবে (উপরে তারের ধাপ দেখুন)।

WLAT (লেচ লিখুন)

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

যখন WLAT কে LOW তে সেট করা হয় কোন সেট ওয়াইপার পজিশন কমান্ড তথ্য সরাসরি রেসিস্টার নেটওয়ার্কে প্রেরণ করা হয় এবং ওয়াইপার পজিশন আপডেট করা হয়।

যদি WLAT উচ্চতায় সেট করা থাকে তাহলে SPI এর মাধ্যমে পাস করা ওয়াইপার পজিশনের তথ্য একটি অভ্যন্তরীণ রেজিস্টারে রাখা হয় কিন্তু রেসিস্টর নেটওয়ার্কে প্রেরণ করা হয় না এবং তাই ওয়াইপার পজিশন আপডেট হবে না। একবার WLAT কম সেট করা হলে মান রেজিস্টার থেকে রেজিস্টার নেটওয়ার্কে স্থানান্তরিত হয়।

WLAT দরকারী যদি আপনি একাধিক ডিজিপট ব্যবহার করেন যা আপনাকে সিঙ্কে রাখতে হবে। কৌশলটি হ'ল সমস্ত ডিজিপটগুলিতে WLAT কে হাইতে সেট করা এবং তারপরে সমস্ত চিপে ওয়াইপার মান সেট করা। ওয়াইপার ভ্যালু সব ডিজিপপটে পাঠানো হয়ে গেলে WLAT একসাথে সব ডিভাইসে LOW তে সেট করা যায় যাতে তারা সবাই একই সাথে ওয়াইপারগুলিকে সরিয়ে নেয়।

যদি আপনি শুধুমাত্র একটি DigiPot নিয়ন্ত্রণ করছেন অথবা একাধিক আছে কিন্তু সেগুলিকে সিঙ্কে রাখার প্রয়োজন নেই আপনার সম্ভবত এই কার্যকারিতাটির প্রয়োজন হবে না এবং সেইজন্য WLAT সরাসরি LOW (বিকল্প ওয়্যারিং ডায়াগ্রাম দেখুন) করতে পারেন। ডব্লিউএলএটি হার্ড তারযুক্ত তা নির্দেশ করার জন্য আপনাকে সঠিক কন্সট্রাকটর ব্যবহার করতে হবে অথবা MCP41HVX1_PIN_NOT_CONFIGURED এ পাস করতে হবে। এটি লক্ষ্য করা গুরুত্বপূর্ণ যে আপনি যদি উদাহরণ সহ অনুসরণ করেন তবে আপনাকে অবশ্যই সম্পূর্ণ তারের চিত্রটি ব্যবহার করতে হবে (উপরে তারের ধাপ দেখুন)।

ধাপ 10: বিকল্প তারের চিত্র

তারের

আপনার কাছে ডিজিটাল পিনের সাথে সংযোগ স্থাপনের পরিবর্তে ডিগপট থেকে সরাসরি LOW / GND এ WLAT সংযোগ করার বিকল্প রয়েছে। যদি আপনি এটি করেন তাহলে আপনি WLAT নিয়ন্ত্রণ করতে পারবেন না। আপনার কাছে ডিজিটাল পিনের পরিবর্তে SHDN কে সরাসরি উচ্চের সাথে সংযুক্ত করার বিকল্প রয়েছে। আপনি যদি এটি করেন তবে আপনি SHDN নিয়ন্ত্রণ করতে পারবেন না।

WLAT এবং SHDN একে অপরের থেকে স্বাধীন তাই আপনি একটিকে হার্ড ওয়্যার করতে পারেন এবং অন্যটিকে একটি ডিজিটাল পিন, হার্ড ওয়্যার উভয়ই সংযুক্ত করতে পারেন, অথবা উভয়কেই ডিজিটাল পিনের সাথে সংযুক্ত করতে পারেন যাতে সেগুলি নিয়ন্ত্রণ করা যায়। যেগুলি আপনি শক্ত তারের জন্য চান তার জন্য বিকল্প ওয়্যারিং ডায়াগ্রামটি পড়ুন এবং নিয়ন্ত্রণযোগ্য ডিজিটাল পিনের তারের জন্য ধাপ 2 এ মূল ওয়্যারিং ডায়াগ্রামটি দেখুন।

কনস্ট্রাক্টর

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

  • MCP41HVX1 (int nCSPin) - WLAT এবং SHDN উভয়ই হার্ড তারযুক্ত হলেই এই কনস্ট্রাক্টরটি ব্যবহার করুন।
  • MCP41HVX1 (int nCSPin, int nSHDNPin, int nWLATPin) - এই কনস্ট্রাকটর ব্যবহার করুন যদি WLAT বা SHDN হার্ড তারযুক্ত হয়। ধ্রুবক MCP41HVX1_PIN_NOT_CONFIGURED পাস করুন যদি পিন শক্ত তারযুক্ত হয় বা পিন নম্বর যদি এটি ডিজিটাল পিনের সাথে সংযুক্ত থাকে।

nCSPin অবশ্যই একটি ডিজিটাল পিনের সাথে সংযুক্ত থাকতে হবে। NCPSPIN- এর জন্য নির্মাতার কাছে MCP41HVX1_PIN_NOT_CONFIGURED পাস করা অবৈধ।

আমি যদি আরডুইনো ইউনো ব্যবহার না করি?

ডিজিটপটে যোগাযোগ করার জন্য Arduino SPI ব্যবহার করে। SPI পিনগুলি Arduino বোর্ডে নির্দিষ্ট পিন।ইউনোর এসপিআই পিনগুলি হল:

  • SCK - 13 পিন ইউনোর উপর সংযুক্ত পিন 2 ডিজিটপটে
  • MOSI - ডিজিটপটে 4 পিনের সাথে সংযুক্ত ইউনোতে 11 পিন
  • মিসো - ইউনোতে পিন 12 টি ডিজিপটে পিন 5 এর সাথে সংযুক্ত

যদি আপনি একটি Arduino ব্যবহার করেন যা একটি Uno নয় তবে আপনাকে SCN, MOSI এবং MISO কোন পিনটি বের করতে হবে এবং সেগুলিকে ডিজিপটে সংযুক্ত করতে হবে।

স্কেচে ব্যবহৃত অন্যান্য পিনগুলি নিয়মিত ডিজিটাল পিন তাই যে কোনও ডিজিটাল পিন কাজ করবে। Arduino বোর্ডে আপনি যে পিনগুলি ব্যবহার করছেন তা নির্দিষ্ট করার জন্য আপনাকে স্কেচ পরিবর্তন করতে হবে। নিয়মিত ডিজিটাল পিনগুলি হল:

  • সিএস - ডিজিটপটে পিন 3 এর সাথে সংযুক্ত ইউনোতে 10 পিন (নতুন মান সহ স্কেচে CS_PIN আপডেট করুন)
  • ডব্লিউএলএটি - ডিজিটপটে পিন 6 এর সাথে সংযুক্ত ইউনোতে পিন 8 (নতুন মান সহ স্কেচে WLAT_PIN আপডেট করুন)
  • SHDN - ডিজিটপটে পিন 7 এর সাথে সংযুক্ত ইউনোতে পিন 9 (নতুন মান সহ স্কেচে SHDN_PIN আপডেট করুন)

প্রস্তাবিত: