সুচিপত্র:
- ধাপ 1: ধাপ: 1 সেন্সর এবং ডিভাইসগুলির কাজের অবস্থা নিশ্চিত করুন
- ধাপ 2: এটি কিভাবে কাজ করে?
- ধাপ 3: Arduino IDE ব্যবহার করে আপনার Arduino প্রোগ্রাম করুন
- ধাপ 4: প্রোটিয়াস ব্যবহার করে সিমুলেশন
- ধাপ 5: হার্ডওয়্যার এক্সিকিউশন
ভিডিও: Arduino ব্যবহার করে মোটর গতি পরিমাপ: 6 ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 07:56
মোটরের rpm পরিমাপ করা কি কঠিন ??? আমার মনে হয় না। এখানে একটি সহজ সমাধান।
আপনার কিটে শুধুমাত্র একটি IR সেন্সর এবং Arduino এটি করতে পারে।
এই পোস্টে আমি আইআর সেন্সর এবং আরডুইনো ইউএনও/ন্যানো ব্যবহার করে যে কোন মোটরের RPM পরিমাপ করার উপায় ব্যাখ্যা করে একটি সহজ টিউটোরিয়াল দেব।
সরবরাহ:
1. Arduion uno (Amazon) / Arduion nano (Amazon)
2. আইআর সেন্সর (আমাজন)
3. ডিসি মোটর কোন (আমাজন)
4. LCD 16*2 (আমাজন)
ব্যবহৃত সরঞ্জাম
1. সোল্ডারিং আয়রন (আমাজন)
2. ওয়্যার স্ট্রিপার (আমাজন)
ধাপ 1: ধাপ: 1 সেন্সর এবং ডিভাইসগুলির কাজের অবস্থা নিশ্চিত করুন
আইআর সেন্সর কি? একটি আইআর সেন্সর একটি বস্তুর তাপ পরিমাপ করতে পারে সেইসাথে গতি সনাক্ত করতে পারে। সাধারণত, ইনফ্রারেড বর্ণালীতে, সমস্ত বস্তু তাপ বিকিরণের কিছু রূপ বিকিরণ করে। এই ধরনের বিকিরণ আমাদের চোখের কাছে অদৃশ্য, কিন্তু ইনফ্রারেড সেন্সর এই বিকিরণগুলি সনাক্ত করতে পারে।
একটি ডিসি মোটর কি? একটি সরাসরি বর্তমান (ডিসি) মোটর হল এক ধরনের বৈদ্যুতিক যন্ত্র যা বৈদ্যুতিক শক্তিকে যান্ত্রিক শক্তিতে রূপান্তর করে। ডিসি মোটর সরাসরি স্রোতের মাধ্যমে বৈদ্যুতিক শক্তি গ্রহণ করে এবং এই শক্তিকে যান্ত্রিক ঘূর্ণনে রূপান্তরিত করে।
ডিসি মোটরগুলি চৌম্বকীয় ক্ষেত্রগুলি ব্যবহার করে যা উত্পন্ন বৈদ্যুতিক স্রোত থেকে ঘটে, যা আউটপুট শ্যাফ্টের মধ্যে স্থির একটি রোটারের চলাচলকে শক্তি দেয়। আউটপুট টর্ক এবং গতি বৈদ্যুতিক ইনপুট এবং মোটরের নকশা উভয়ের উপর নির্ভর করে।
Arduino কি?
Arduino একটি ওপেন সোর্স ইলেকট্রনিক্স প্ল্যাটফর্ম যা সহজেই ব্যবহারযোগ্য হার্ডওয়্যার এবং সফটওয়্যারের উপর ভিত্তি করে। Arduino বোর্ডগুলি ইনপুট পড়তে সক্ষম - একটি সেন্সরে আলো, একটি বোতামে আঙুল, বা একটি টুইটার বার্তা - এবং এটি একটি আউটপুটে পরিণত করে - একটি মোটর সক্রিয় করা, একটি LED চালু করা, অনলাইনে কিছু প্রকাশ করা। বোর্ডে থাকা মাইক্রোকন্ট্রোলারের কাছে নির্দেশাবলীর একটি সেট পাঠিয়ে আপনার বোর্ডকে কী করতে হবে তা বলতে পারেন। এটি করার জন্য আপনি প্রক্রিয়াকরণের উপর ভিত্তি করে Arduino প্রোগ্রামিং ভাষা (তারের উপর ভিত্তি করে), এবং Arduino সফটওয়্যার (IDE) ব্যবহার করেন।
ARDUINO IDE ডাউনলোড করুন
ধাপ 2: এটি কিভাবে কাজ করে?
তাহলে এর পিছনে যুক্তি কি ??
এটি এনকোডারের অনুরূপ কাজ করে। নতুনদের জন্য এনকোডারগুলি বোঝা কঠিন। আপনার যা জানা দরকার তা হল আইআর সেন্সর পালস তৈরি করে এবং আমরা প্রতিটি পালসের মধ্যে সময়ের ব্যবধান খুঁজে বের করছি।
এই ক্ষেত্রে আইআর সেন্সর Arduino তে একটি পালস পাঠাবে যখন তার আইআর বিম মোটর প্রোপেলারের সাথে বাধা দেওয়া হবে। সাধারনত আমরা দুটি ব্লেড সহ প্রোপেলার ব্যবহার করি কিন্তু আমি ছবিতে দেখানো হিসাবে তিনটি ব্লেড সহ প্রোপেলার ব্যবহার করেছি। প্রোপেলার ব্লেডের সংখ্যার উপর নির্ভর করে RPM গণনা করার সময় আমাদের কিছু মান পরিবর্তন করতে হবে।
আসুন বিবেচনা করি আমাদের একটি প্রোপেলার আছে যার দুটি ব্লেড আছে। প্রতিটি বিপ্লব মোটরের জন্য ব্লেড দুইবার আইআর রশ্মিকে আটকাবে। এইভাবে আইআর সেন্সর ডাল উত্পাদন করবে যখন কখনও বাধা।
এখন আমাদের একটি প্রোগ্রাম লিখতে হবে যা একটি নির্দিষ্ট সময়ের ব্যবধানে IR সেন্সর দ্বারা উৎপাদিত সংখ্যা ডাল পরিমাপ করতে পারে।
একটি সমস্যা সমাধানের একাধিক উপায় আছে কিন্তু এই কোডগুলির মধ্যে কোনটি সর্বোত্তম তা আমাদের বেছে নিতে হবে আমি ইন্টারাপ্ট (আইআর সেন্সর) এর মধ্যে সময়কাল পরিমাপ করেছি আমি মাইক্রো () ফাংশন ব্যবহার করে মাইক্রো সেকেন্ডে ডালের সময়কাল পরিমাপ করেছি।
আপনি RPMRPM = ((1/সময়কাল)*1000*1000*60)/ব্লেড পরিমাপ করতে এই সূত্রটি ব্যবহার করতে পারেন
যেখানে, সময়কাল - ডালের মধ্যে সময়ের ব্যবধান।
60 - সেকেন্ড থেকে মিনিট
1000 - সেকেন্ড থেকে মিল
1000 - মাইক্রো থেকে মিল
ব্লেড - প্রোপেলারে ডানা নেই।
এলসিডি ডিসপ্লে - আরডুইনো এলসিডি ডিসপ্লের কমান্ড এবং ডেটা রেজিস্টার আপডেট করে। যা LCD ডিসপ্লেতে ASCII অক্ষর প্রদর্শন করে।
ধাপ 3: Arduino IDE ব্যবহার করে আপনার Arduino প্রোগ্রাম করুন
#অন্তর্ভুক্ত
লিকুইডক্রিস্টাল এলসিডি (9, 8, 7, 6, 5, 4); const int IR_IN = 2; // আইআর সেন্সর ইনপুট স্বাক্ষরবিহীন দীর্ঘ prevmicros; // স্বাক্ষরবিহীন দীর্ঘ সময় সঞ্চয় করতে; // সময়ের পার্থক্য স্বাক্ষরবিহীন দীর্ঘ lcdrefresh সংরক্ষণ করতে; // lcd রিফ্রেশ int rpm করার জন্য সময় সঞ্চয় করতে; // RPM মান বুলিয়ান কারেন্টস্টেট; // আইআর ইনপুট স্ক্যান বুলিয়ান prevstate বর্তমান অবস্থা; // পূর্ববর্তী স্ক্যান অকার্যকর সেটআপ () {pinMode (IR_IN, INPUT) এ IR সেন্সরের অবস্থা; lcd.begin (16, 2); prevmicros = 0; prevstate = নিম্ন; } অকার্যকর লুপ () {///////////////////////////////////////////////// ////////////////////////////////////// RPM পরিমাপ currentstate = digitalRead (IR_IN); // পড়ুন IR সেন্সর অবস্থা যদি (prevstate! = Currentstate) // যদি ইনপুটে পরিবর্তন হয় {if (currentstate == LOW) // যদি ইনপুট শুধুমাত্র উচ্চ থেকে নিম্ন পর্যন্ত পরিবর্তিত হয় {সময়কাল = (মাইক্রোস () - প্রিভমিক্রো); // মাইক্রোসেকেন্ড আরপিএম -এ বিপ্লবের মধ্যে সময়ের পার্থক্য = ((60000000/সময়কাল)/3); // rpm = (1/ time millis)*1000*1000*60; prevmicros = মাইক্রো (); // নেক বিপ্লবের গণনার জন্য সময় সঞ্চয় করুন}} prevstate = currentstate; // পরবর্তী স্ক্যানের জন্য এই স্ক্যান (পূর্ব স্ক্যান) ডেটা সংরক্ষণ করুন //////////////////////////////////////// /////////////////////////////////////////////////// এলসিডি ডিসপ্লে ((মিলিস ()-lcdrefresh)> = 100) {lcd.clear (); lcd.setCursor (0, 0); lcd.print ("মোটরের গতি"); lcd.setCursor (0, 1); lcd.print ("RPM ="); lcd.print (rpm); lcdrefresh = মিলিস (); }}
ধাপ 4: প্রোটিয়াস ব্যবহার করে সিমুলেশন
এই প্রকল্পটি পুরোপুরি সূক্ষ্মভাবে কাজ করেছে যখন আমি প্রোটিয়াসের সাহায্যে এটি অনুকরণ করার চেষ্টা করেছি।
আইআর সেন্সর ব্যবহার করার পরিবর্তে আমি ডিসি পালস জেনারেটর ব্যবহার করেছি যা আইআর রশ্মি প্ররোচনাকারী ব্লেডগুলিকে আঘাত করলে আইআর পালস তৈরি করে।
আপনার ব্যবহার করা সেন্সরের উপর নির্ভর করে আপনাকে আপনার প্রোগ্রামে পরিবর্তন করতে হবে
LM358 সহ IR সেন্সর অবশ্যই এই কমান্ডটি ব্যবহার করবে।
if (currentstate == HIGH) // যদি ইনপুট শুধুমাত্র LOW থেকে HIGH তে পরিবর্তিত হয়
LM359 সহ IR সেন্সর অবশ্যই এই কমান্ডটি ব্যবহার করবে।
যদি (currentstate == LOW) // যদি ইনপুট শুধুমাত্র উচ্চ থেকে নিম্ন পর্যন্ত পরিবর্তিত হয়
ধাপ 5: হার্ডওয়্যার এক্সিকিউশন
পরিকল্পিতভাবে সিমুলেশন ছবি ব্যবহার করুন বা প্রোগ্রাম কোডগুলি দেখুন এবং সেই অনুযায়ী সংযোগগুলি তৈরি করুন। আরডুইনোতে প্রোগ্রাম কোড আপলোড করুন এবং যেকোন মোটরের RPM পরিমাপ করুন। আমার পরবর্তী পোস্টের জন্য সাথে থাকুন এবং আমার ইউটিউব চ্যানেলটি দেখুন।
প্রস্তাবিত:
Arduino কন্ট্রোল ডিসি মোটর গতি এবং দিকনির্দেশনা একটি Potentiometer ব্যবহার করে, OLED প্রদর্শন এবং বোতাম: 6 ধাপ
আরডুইনো কন্ট্রোল ডিসি মোটর স্পিড এবং দিকনির্দেশনা একটি পোটেন্টিওমিটার, ওএলইডি ডিসপ্লে এবং বোতাম ব্যবহার করে: এই টিউটোরিয়ালে আমরা শিখব কিভাবে একটি L298N ডিসি মোটর নিয়ন্ত্রণ ড্রাইভার এবং একটি পোটেন্টিওমিটার ব্যবহার করে একটি ডিসি মোটরের গতি এবং দিক দুটি বোতাম দিয়ে নিয়ন্ত্রণ করতে এবং পটেনশিয়োমিটার মান প্রদর্শন করতে হয়। OLED ডিসপ্লেতে একটি বিক্ষোভ ভিডিও দেখুন
ডিসি মোটর হাতের অঙ্গভঙ্গি নিয়ন্ত্রণ গতি এবং দিক নির্দেশনা ব্যবহার করে Arduino: 8 টি ধাপ
আরডুইনো ব্যবহার করে ডিসি মোটর হাতের অঙ্গভঙ্গি নিয়ন্ত্রণের গতি এবং দিকনির্দেশ: এই টিউটোরিয়ালে আমরা শিখব কিভাবে একটি ডিসি মোটরকে হাতের ইশারায় Arduino এবং Visuino ব্যবহার করে নিয়ন্ত্রণ করতে হয়। ভিডিওটি দেখুন! এছাড়াও এটি দেখুন: হাতের অঙ্গভঙ্গি টিউটোরিয়াল
সার্ভো মোটর এবং গতি নিয়ন্ত্রণ ব্যবহার করে ঘোরানো ফ্যান: 6 টি ধাপ
সার্ভো মোটর এবং স্পীড কন্ট্রোল ব্যবহার করে ফ্যান ঘোরানো: এই টিউটোরিয়ালে আমরা শিখব কিভাবে সার্ভো মোটর, পটেন্টিওমিটার, আরডুইনো এবং ভিসুইনো ব্যবহার করে অ্যাডজাস্টেবল স্পিড দিয়ে ফ্যান ঘুরাতে হয়। ভিডিওটি দেখুন
ডিসি মোটর মসৃণ শুরু, গতি এবং দিকনির্দেশনা একটি পোটেন্টিওমিটার, ওএলইডি ডিসপ্লে এবং বোতাম ব্যবহার করে: 6 ধাপ
একটি মোটামুটি, OLED ডিসপ্লে এবং বোতাম ব্যবহার করে ডিসি মোটর মসৃণ শুরু, গতি এবং দিকনির্দেশ: এই টিউটোরিয়ালে আমরা শিখব কিভাবে একটি L298N ডিসি মোটর নিয়ন্ত্রণ ড্রাইভার এবং একটি potentiometer ব্যবহার করে একটি ডিসি মোটরকে মসৃণ শুরু, গতি এবং দিক দুটি বোতাম দিয়ে নিয়ন্ত্রণ করতে OLED ডিসপ্লেতে পটেনশিয়োমিটার মান প্রদর্শন করুন।
Arduino কন্ট্রোল ডিসি মোটর গতি এবং দিকনির্দেশনা একটি Potentiometer এবং বোতাম ব্যবহার করে: 6 ধাপ
আরডুইনো কন্ট্রোল ডিসি মোটর গতি এবং দিকনির্দেশনা একটি পোটেন্টিওমিটার এবং বোতাম ব্যবহার করে: এই টিউটোরিয়ালে আমরা শিখব কিভাবে একটি L298N ডিসি মোটর নিয়ন্ত্রণ ড্রাইভার এবং একটি পোটেন্টিওমিটার ব্যবহার করে একটি ডিসি মোটরের গতি এবং দুটি বোতাম দিয়ে দিক নিয়ন্ত্রণ করতে হয়।