মাইক্রোচিপ এর MCP6S21 / 2/6/8 প্রোগ্রামযোগ্য লাভ এম্প্লিফায়ার্স যা 1, ২, 4, 5, 8, 10, 16, এবং 32 এর একটি ফ্যাক্টর দ্বারা একটি ইনপুট ভোল্টেজকে গুণিত করে। । MCP6S22 / 6/8 এছাড়াও বিভিন্ন সংকেত উত্স সঙ্গে কাজ করার জন্য নির্বাচনযোগ্য ইনপুট চ্যানেল আছে। গুণমান ফ্যাক্টর এবং ইনপুট চ্যানেল একটি স্পি ইন্টারফেসের মাধ্যমে কনফিগার করা হয়। এই চিপটি একটি ছোট ইনপুট সংকেত গুণমানের জন্য দরকারী, এবং বিভিন্ন এনালগ ইনপুট উত্সগুলির মধ্যে নির্বাচন করা হয়। আমরা নীচে ছয় চ্যানেল mcp6s26 প্রদর্শন।
MCP6S26 প্রোগ্রামেবল লাভ এম্প্লিফায়ার (মোলার অনুসন্ধান, অক্টোপার্ট অনুসন্ধান, $ 2.56) ডেটশীট (পিডিএফ)।
আমরা একটি 3.3 ভোল্ট পাওয়ার সাপ্লাই দিয়ে উপরে দেখানো সার্কিটে চিপ পরীক্ষা করেছি। একটি প্রতিরোধক ভোল্টেজ ডিভাইডার (R1-4) চ্যানেলে সরবরাহের একটি ভগ্নাংশ 0, 2, এবং 4. আমরা 5 কে প্রতিরোধক ব্যবহার করেছি, কিন্তু মানটি সমালোচনামূলক নয়। ডিভাইডার আউটপুটগুলি চ্যানেল 0, 1.6 ভল্টস চ্যানেল 2 এবং চ্যানেলের উপর 0.8 ভল্টসগুলিতে 1.6 ভিওল্টস।
বাস পাইরেট
DS1801 (পিন #)
ADC.
Vout (1)
GND.
Vref (8)
GND.
VSS (9)
সিএস
সিএস (10)
মোশির
এসআই (11)
Miso.
তাই (12)
ঘড়ি
SCK (13)
+ 3.3V.
ভিডিডি (13)
আমরা এই চিপ প্রদর্শনের জন্য আমাদের বাস পাইরেট ইউনিভার্সাল সিরিয়াল ইন্টারফেসটি ব্যবহার করি, তবে লেনদেন ক্রমটি কোনও মাইক্রোকন্ট্রোলার বাস্তবায়নের জন্য একই রকম হবে। আমরা উপরের টেবিলে দেখানো MCP6S26 তে বাস পাইরেট সংযুক্ত করেছি। আমরা Raw3wire মোড (এম, 8) স্বাভাবিক আউটপুট সহ বাস পাইরেট সেটআপ করেছি, এবং অন-বোর্ড পাওয়ার সাপ্লাই (মূলধন ‘W’) সক্ষম করে।
Raw3wire> [0b01000001 0] ডি
সিএস সক্রিয় <-বেগিন স্পি লেনদেন
লিখুন: 0x41 <-change ইনপুট চ্যানেল কমান্ড
লিখুন: 0x00 <-change চ্যানেল 0
সিএস নিষ্ক্রিয় <-এন্ড স্পি লেনদেন
ভোল্টেজ প্রোব: 2.4 ভোল্টস <-vout ভোল্টেজ পরিমাপ
Raw3wire >.
লেখার 0B01000001 (0x41) একটি চ্যানেল নম্বর অনুসরণ করে সক্রিয় MCP6S26 ইনপুট পরিবর্তন করে। ‘[‘ SPI লেনদেন শুরু করতে চিপ নির্বাচন লাইনটি কমিয়ে দেয়। আমরা পরিবর্তন চ্যানেল কমান্ড পাঠান (0x41) 0 দ্বারা ইনপুট 0. ‘]’ SPI লেনদেনের শেষ করার জন্য চিপ নির্বাচন লাইনটি উত্থাপন করে। ‘D’ একটি ভোল্টেজ পরিমাপ নেয় এবং দেখায় যে 0 লাভের সাথে ইনপুট 0 2.4 ভল্টস।
আমরা পাওয়ার সাপ্লাই অতিক্রমের বাইরে ইনপুট ভোল্টেজকে বাড়িয়ে তুলতে পারি না (2.4 ভল্টস * 2 = 4.8, 4.8VOLTS> 3.3VOLTS), তাই আমাদের লাভ বৈশিষ্ট্যগুলির সাথে খেলতে একটি নিম্ন চ্যানেলে পরিবর্তন করতে হবে।
Raw3wire> [0 বি01000001 4] ডি
সিএস সক্রিয়
লিখুন: 0x41 <-change ইনপুট চ্যানেল কমান্ড
লিখুন: 0x04 <-change চ্যানেল 4
সিএস নিষ্ক্রিয়
ভোল্টেজ প্রোব: 0.8 ভোল্টস <-vout ভোল্টেজ পরিমাপ
Raw3wire >.
চ্যানেল 4 এ একটি পরিমাপটি কেবলমাত্র 0.8 ভোল্টের আউটপুট দেখায়, চিপের লাভের বৈশিষ্ট্যগুলি পরীক্ষা করার জন্য প্রচুর পরিমাণে রুম।
Raw3wire> [0b01000000 0b00000001] ডি
সিএস সক্রিয়
লিখুন: 0x40 <-change লাভ কমান্ড
লিখুন: 0x01 <-gain সেটিং (x2)
সিএস নিষ্ক্রিয়
ভোল্টেজ প্রোব: 1.6 ভোল্টস <-vout এখন 0.8 ভল্টস * 2
Raw3wire >.
একটি দুই বাইট ক্রম লাভ পরিমাণ সেট করে। কমান্ড 0b01000000 (0x40) লাভ নিবন্ধনকে ঠিক করে দেয়, দ্বিতীয় বাইট গুণমানের ফ্যাক্টর সেট করে (0x01 = 2 এর লাভ 2)। লাভটি সেটিং 2 আউটপুট ভোল্টেজ 2, 0.8VOLTS * 2 = 1.6VOLTS দ্বারা গুণিত করে।
Raw3wire> [0b01000000 0b0000000010] ডি
সিএস সক্রিয়
লিখুন: 0x40 <-change লাভ কমান্ড
লিখুন: 0x02 <-gain সেটিং (x4)
সিএস নিষ্ক্রিয়
ভোল্টেজ প্রোব: 3.2VOLTS <-VOUT এখন 0.8VOLTS * 4
Raw3wire >.
এই সময় আমরা 4, 0.8 ভোল্ট * 4 = 3.2VOLTS একটি লাভ সেট করেছি।
Raw3wire> [0b01000000 0b00000011] ডি
সিএস সক্রিয়
লিখুন: 0x40 <-change লাভ কমান্ড
লিখুন: 0x03 <-gain সেটিং (x5)
সিএস নিষ্ক্রিয়
ভোল্টেজ প্রোব: 3.3 ভল্টস <- 0.8 ভল্টস * 5 পৌঁছানোর জন্য যথেষ্ট হেডরুমে নেই
Raw3wire >.
সর্বাধিক আউটপুট ভোল্টেজ চিপ এর পাওয়ার সাপ্লাই ভোল্টেজ হয়। যদি আমরা 5 টি লাভ সেট করি তবে আউটপুট ভোল্টেজটি 3.3 ভোল্টের পাওয়ার সাপ্লাই অতিক্রম করতে পারে না (0.8 ভল্টস * 5 = 4 ভল্টস, 4 ভল্টস> 3.3 ভল্টস)।
Raw3wire> [0b00100000 0] ডি
সিএস সক্রিয়
লিখুন: 0x20 <-Sleep কমান্ড
লিখুন: 0x00 <- কেয়ার বাইট করবেন না
সিএস নিষ্ক্রিয়
ভোল্টেজ প্রোব: 0.0 ভোল্টস <-OUTPUT নিষ্ক্রিয় করা হয়েছে
Raw3wire >.
MCP6S26 একটি পাওয়ার-সঞ্চয় ঘুম মোড আছে। কমান্ড 0x20 কমান্ড দিয়ে চিপটি বন্ধ করুন, কোনও বাইট মান অনুসরণ করে। কোন বৈধ কমান্ড পাঠিয়ে ঘুম ছেড়ে দিন।
এই পোস্টের মত? আপনি মিস করেছেন পোস্ট পোস্ট চেক আউট। একটি অংশ পোস্ট অনুরোধ করতে চান? মন্তব্য আপনার পরামর্শ দয়া করে।