সুচিপত্র:

Inverters জন্য Arduino Sinewave: 4 ধাপ
Inverters জন্য Arduino Sinewave: 4 ধাপ

ভিডিও: Inverters জন্য Arduino Sinewave: 4 ধাপ

ভিডিও: Inverters জন্য Arduino Sinewave: 4 ধাপ
ভিডিও: কিভাবে 3 স্টেপ লেড ডিমার সার্কিট তৈরি করবেন - 10 ধাপ পর্যন্ত বাড়ানো যেতে পারে 2024, জুলাই
Anonim
Inverters জন্য Arduino Sinewave
Inverters জন্য Arduino Sinewave

এই প্রকল্পে আমি দুটি arduino pwm ডিজিটাল আউটপুট থেকে একটি SPWM (সাইন ওয়েভ পালস ওয়াইড মডুলেটেড) সিগন্যাল তৈরি করেছি।

কারণ এই ধরনের একটি প্রোগ্রাম তৈরি করার জন্য আমাকে আরডুইনো এর অন্যান্য অনেক ফাংশন এবং বৈশিষ্ট্যের কথা বলতে হবে অসিলোস্কোপ ইমেজ সহ সম্পূর্ণ প্রকল্প এবং বিভিন্ন ফ্রিকোয়েন্সিগুলির জন্য দয়া করে আমার ওয়েবসাইট দেখুন:

eprojectszone

ধাপ 1: 50Hz এর জন্য Pwm সংকেত তৈরি করা

উচ্চ ফ্রিকোয়েন্সি একটি 50Hz সংকেত উৎপন্ন করার জন্য কিছু গণনা করা আবশ্যক। Arduino থেকে ফ্রিকোয়েন্সি 8MHz এ হতে পারে, কিন্তু আমরা পরিবর্তনশীল ডিউটি চক্র সহ একটি সংকেত চাই।

Arduino এর ভেরিয়েবল ডিউটি চক্রের ধরন বুঝতে আপনি একই পোস্ট 1, 2 এবং 3 এর এই 3 টি অংশ পড়তে পারেন।

ধরা যাক আমাদের ফ্রিকোয়েন্সি 50Hz এর মানে সময়কাল 20ms। সুতরাং 10ms অর্ধচক্র সময়কাল। সেই 10 মিটারে আমাদের বিভিন্ন ডিউটি চক্রের সাথে ছোট ডিউটি চক্র থেকে শুরু করে অনেক ডাল থাকা দরকার, সিগন্যালের মাঝখানে আমাদের সর্বাধিক ডিউটি চক্র আছে এবং ছোট ডিউটি চক্র দিয়েও শেষ হয়। একটি সাইন ওয়েভ তৈরি করার জন্য আমরা দুটি পিন ব্যবহার করব ইতিবাচক অর্ধচক্র এবং নেতিবাচক অর্ধচক্রের জন্য একটি। এর জন্য আমাদের পোস্টে আমরা পিন 5 এবং 6 ব্যবহার করি যার মানে টাইমার 0।

একটি মসৃণ সিগন্যালের জন্য আমরা ফ্রিকোয়েন্সি 31372 Hz- এ ফেজ সঠিক pwm নির্বাচন করি-আগের পোস্টটি দেখুন সবচেয়ে বড় সমস্যা হল যে আমরা প্রতিটি পালসের জন্য প্রয়োজনীয় শুল্ক চক্র কিভাবে গণনা করি। সুতরাং, যেহেতু আমাদের ফ্রিকোয়েন্সি হল f = 31372Hz প্রতিটি পালসের সময়কাল হল T = 1/31372 = 31.8 আমাদের, তাই অর্ধচক্রের জন্য ডালের সংখ্যা N = 10ms/31.8us = 314 ডাল। এখন প্রতিটি পালসের জন্য ডিউটি চক্র গণনা করার জন্য আমাদের y = sinx আছে, কিন্তু এই সমীকরণে আমাদের ডিগ্রী দরকার তাই অর্ধ চক্রের 314 ডালের জন্য 180 ডিগ্রি আছে। প্রতিটি পালসের জন্য আমাদের 180/314 = 0.57deg/পালস আছে। তার মানে প্রতিটি নাড়ির জন্য আমরা 0.57 ডিগ্রি নিয়ে এগিয়ে যাই।

y হল দায়িত্ব চক্র এবং x অর্ধ কর্তব্য চক্রের অবস্থানের মান। প্রথমে x হল 0, afetr যে x = 0.57, x = 1.14 এবং তাই x = 180 পর্যন্ত।

যদি আমরা 314 টি মান গণনা করি তবে আমরা একটি অ্যারে 314 উপাদান পাই (arduino দ্বারা সহজে গণনা করার জন্য "int" টাইপ করুন)।

এই ধরনের অ্যারে হল:

int sinPWM = {1, 2, 5, 7, 10, 12, 15, 17, 19, 22, 24, 27, 30, 32, 34, 37, 39, 42, 44, 47, 49, 52, 54, 57, 59, 61, 64, 66, 69, 71, 73, 76, 78, 80, 83, 85, 88, 90, 92, 94, 97, 99, 101, 103, 106, 108, 110, 113, 115, 117, 119, 121, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 169, 171, 173, 175, 177, 178, 180, 182, 184, 185, 187, 188, 190, 192, 193, 195, 196, 198, 199, 201, 202, 204, 205, 207, 208, 209, 211, 212, 213, 215, 216, 217, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 237, 238, 239, 240, 240, 241, 242, 242, 243, 243, 244, 244, 245, 245, 246, 246, 247, 247, 247, 248, 248, 248, 248, 249, 249, 249, 249, 249, 250, 250, 250, 250, 249, 249, 249, 249, 249, 248, 248, 248, 248, 247, 247, 247, 246, 246, 245, 245, 244, 244, 243, 243, 242, 242, 241, 240, 240, 239, 238, 237, 237, 236, 235, 234, 233, 232, 231, 230, 229, 228, 227, 226, 225, 224, 223, 222, 221, 220, 219, 217, 21 6, 215, 213, 212, 211, 209, 208, 207, 205, 204, 202, 201, 199, 198, 196, 195, 193, 192, 190, 188, 187, 185, 184, 182, 180, 178, 177, 175, 173, 171, 169, 168, 166, 164, 162, 160, 158, 156, 154, 152, 150, 148, 146, 144, 142, 140, 138, 136, 134, 132, 130, 128, 126, 124, 121, 119, 117, 115, 113, 110, 108, 106, 103, 101, 99, 97, 94, 92, 90, 88, 85, 83, 80, 78, 76, 73, 71, 69, 66, 64, 61, 59, 57, 54, 52, 49, 47, 44, 42, 39, 37, 34, 32, 30, 27, 24, 22, 19, 17, 15, 12, 10, 7, 5, 2, 1};

আপনি দেখতে পারেন যে একটি সাইন ওয়েভের মত ডিউটি চক্রটি প্রথম এবং শেষ উপাদানতে সর্বনিম্ন এবং মাঝখানে সর্বোচ্চ।

ধাপ 2: ভেরিয়েবল ডিউটি সাইকেলের জন্য আরডুইনো প্রোগ্রাম

ভেরিয়েবল ডিউটি সাইকেলের জন্য আরডুইনো প্রোগ্রাম
ভেরিয়েবল ডিউটি সাইকেলের জন্য আরডুইনো প্রোগ্রাম

উপরের ছবিতে আমরা অ্যারে থেকে মান সহ পরিবর্তনশীল দায়িত্ব চক্র সংকেত আছে।

কিন্তু কিভাবে এই ধরনের সংকেত তৈরি করবেন ??

নিচের প্রোগ্রামের অংশ ডিউটি চক্রের মান পরিবর্তন করতে ইন্টারাপ্ট ব্যবহার করে

sei (); // ইন্টারাপ্ট সক্ষম করুন

}

ISR (TIMER1_COMPA_vect) {// বাধা যখন টাইমার 1 OCR1A মানের সাথে মিলে যায়

যদি (i> 313 && OK == 0) {// পিন 6 এর জন্য ভেক্টর থেকে চূড়ান্ত মান

i = 0; // ভেক্টরের প্রথম মান (অ্যারে) এ যান

ঠিক আছে = 1; // পিন 5 সক্ষম করুন

}

x = sinPWM ; // x ভেক্টর থেকে পজিশন i (i শূন্য সূচী) এর মান নিন

i = i+1; // পরবর্তী অবস্থানে যান

}

ধাপ 3: 50Hz Arduino Pins এ বিকল্প

50Hz Arduino Pins এ বিকল্প
50Hz Arduino Pins এ বিকল্প

কারণ প্রতিটি পিন একটি পূর্ণ সাইন ওয়েভ তৈরি করতে মাত্র অর্ধ ডিউটি চক্র উৎপন্ন করে আমরা দুটি পিন ব্যবহার করি যা সঠিক 10mseconds (50Hz) এর পর একের পর এক বিকল্প হয়। পিনের এই পরিবর্তনটি অ্যারের শেষে তৈরি করা হয়েছে- বলা যাক পিন 5 এর 314 ডাল উৎপন্ন হয়েছে এই পিনটি বন্ধ এবং সক্রিয় পিন 6 যা একই কাজ করে কিন্তু নেগেটিভ ডিউটি চক্রের জন্য।

কারণ arduino শুধুমাত্র ইতিবাচক সংকেত উৎপন্ন করতে পারে নেগেটিভ ডিউটি চক্র h সেতুতে তৈরি করা হয়- আপনি এখানে এটি সম্পর্কে পড়তে পারেন

পিন পরিবর্তনের জন্য প্রোগ্রাম:

sei (); // ইন্টারাপ্ট সক্ষম করুন

}

ISR (TIMER1_COMPA_vect) {// বাধা যখন টাইমার 1 OCR1A মানের সাথে মিলে যায়

যদি (i> 313 && OK == 0) {// পিন 6 এর জন্য ভেক্টর থেকে চূড়ান্ত মান

i = 0; // ভেক্টরের প্রথম মানটিতে যান

ঠিক আছে = 1; // পিন 5 সক্ষম করুন

}

যদি (i> 313 && OK == 1) {// পিন 5 এর জন্য ভেক্টর থেকে চূড়ান্ত মান

i = 0; // ভেক্টরের প্রথম মানটিতে যান

ঠিক আছে = 0; // পিন 6 সক্ষম করুন

}

x = sinPWM ; // x ভেক্টর থেকে অবস্থান i এর সাথে মান নিন (আমি শূন্য সূচী)

i = i+1; // পরবর্তী অবস্থানে যান

যদি (ঠিক আছে == 0) {

OCR0B = 0; // পিন 5 0 করুন

OCR0A = x; // সংশ্লিষ্ট ডিউটি চক্রের জন্য পিন 6 সক্ষম করুন

যদি (ঠিক আছে == 1) {

OCR0A = 0; // পিন 6 0 করুন

OCR0B = x; // সংশ্লিষ্ট ডিউটি চক্রের জন্য পিন 5 সক্ষম করুন

}

}

ধাপ 4: একটি এইচ ব্রিজ চালানো এবং Pwm সিগন্যাল ফিল্টার করা

Arduino থেকে প্রাপ্ত সংকেতগুলি বৈদ্যুতিন সংকেতের মেরু বদল অ্যাপ্লিকেশনগুলির নিয়ন্ত্রণ অংশ কারণ উভয়ই ইতিবাচক। একটি পূর্ণ সাইন ওয়েভ এবং একটি ব্যবহারিক বৈদ্যুতিন সংকেতের মেরু বদল করার জন্য আমাদের একটি h সেতু ব্যবহার করতে হবে এবং pwm একটি কম পাস ফিল্টার পরিষ্কার করতে হবে।

এইচ ব্রিজ এখানে উপস্থাপন করা হয়েছে।

ছোট এসি মোটর দিয়ে পরীক্ষা করা কম পাস ফিল্টার-এখানে।

প্রস্তাবিত: