اردوینو ایس پی ڈبلیو ایم جنریٹر سرکٹ۔ کوڈ کی تفصیلات اور ڈایاگرام

مسائل کو ختم کرنے کے لئے ہمارے آلے کو آزمائیں





اس پوسٹ میں ہم سیکھتے ہیں کہ کس طرح آرڈینوو کے ذریعہ سائن ویو پلس کی چوڑائی-ماڈلن یا ایس پی ڈبلیو ایم کو پیدا کرنا ہے ، جس کو خالص سائن ویو انورٹر سرکٹ یا اسی طرح کے گیجٹ بنانے کے لئے استعمال کیا جاسکتا ہے۔

اردوینو کوڈ میرے ذریعہ تیار کیا گیا ہے ، اور یہ میرا پہلا اردوینو کوڈ ہے ، ... اور یہ بہت اچھا لگتا ہے



ایس پی ڈبلیو ایم کیا ہے؟

میں پہلے ہی وضاحت کرچکا ہوں opamps کا استعمال کرتے ہوئے SPWM پیدا کرنے کا طریقہ میرے پہلے مضامین میں سے ایک میں ، آپ یہ سمجھنے کے لئے جاسکتے ہیں کہ کس طرح مجرد اجزاء کو استعمال کرکے اور اس کی اہمیت کے بارے میں اسے پیدا کیا جاسکتا ہے۔

بنیادی طور پر ، ایس پی ڈبلیو ایم جس میں سائن ویو پلس چوڑائی ماڈلن کا مطلب ہے ، نبض کی ایک قسم ہے جس میں دالیں سینوسائڈئل ویوف فارم کی نقالی کرنے کے لئے وضع کی جاتی ہیں ، تاکہ ماڈلن ایک خالص سائن لہر کی خصوصیات کو حاصل کرنے کے قابل ہو۔



ایک ایس پی ڈبلیو ایم کے نفاذ کے ل the دالوں کو ابتدائی تنگ چوڑائیوں کے ساتھ ماڈیول کیا جاتا ہے جو آہستہ آہستہ سائیکل کے مرکز میں وسیع تر ہوجاتے ہیں ، اور آخر میں سائیکل کو ختم کرنے کے لئے آخر میں تنگ ہوجاتے ہیں۔

مزید واضح طور پر ، دالیں تنگ چوڑائیوں سے شروع ہوتی ہیں جو آہستہ آہستہ ہر دالوں کے ساتھ وسیع ہوتی جاتی ہیں ، اور مرکز کی نبض میں وسیع ہوتی جاتی ہیں ، اس کے بعد ، تسلسل جاری ہے لیکن اس کے برعکس ماڈلن کے ساتھ ، اب یہ دالیں آہستہ آہستہ تنگ ہونے لگتی ہیں۔ جب تک سائیکل ختم نہ ہوجائے۔

ویڈیو ڈیمو

یہ ایک ایس پی ڈبلیو ایم سائیکل تشکیل دیتا ہے ، اور درخواست کی فریکوئنسی (عام طور پر 50 ہ ہرٹز یا 60 ہ ہرٹاز) کے ذریعہ طے شدہ ایک خاص شرح پر اس کی تکرار ہوتی ہے۔ عام طور پر ، ایس پی ڈبلیو ایم انورٹرس یا کنورٹرس میں پاور ڈیوائسز جیسے موفٹ یا بی جے ٹی میں ڈرائیونگ کے لئے استعمال ہوتا ہے۔

یہ خصوصی ماڈیولنگ نمونہ اس بات کو یقینی بناتا ہے کہ فریکونسی سائیکل آہستہ آہستہ بدلتی اوسط وولٹیج ویلیو (جسے RMS ویلیو بھی کہا جاتا ہے) کے ساتھ پھانسی دی جاتی ہے ، بجائے اس کے کہ عام طور پر فلیٹ مربع لہر سائیکل میں اچانک ہائی / لو ولٹیج اسپائکس پھینک دیتے ہیں۔

ایس پی ڈبلیو ایم میں آہستہ آہستہ پی ڈبلیو ایم میں ترمیم کرنا جان بوجھ کر نافذ کیا جاتا ہے تاکہ یہ معیاری سینو ویوس یا سینوسائڈئل ویوفارم کے تیزی سے بڑھتے / گرتے ہوئے نمونوں کو قریب سے نقل کرتا ہے ، لہذا یہ نام سائن ویو پی ڈبلیو ایم یا ایس پی ڈبلیو ایم ہے۔

آرڈوینو کے ساتھ ایس پی ڈبلیو ایم پیدا کرنا

مذکورہ بالا وضاحت شدہ ایس پی ڈبلیو ایم کو آسانی سے کچھ مجرد حصوں کا استعمال کرتے ہوئے لاگو کیا جاسکتا ہے ، اور ارڈینو کا بھی استعمال کیا جاسکتا ہے جو آپ کو موج ودوان کے ادوار کے ساتھ زیادہ درستگی حاصل کرنے کے قابل بنائے گا۔

درج ذیل آرڈینو کوڈ کسی دی گئی درخواست کے لئے مطلوبہ ایس پی ڈبلیو ایم کے نفاذ کے لئے استعمال کیا جاسکتا ہے۔

گوش !! یہ بہت بڑی نظر آتی ہے ، اگر آپ جانتے ہو کہ اس کو کس طرح چھوٹا کرنا ہے تو ، آپ یقینی طور پر اسے اپنے اختتام پر کر سکتے ہیں۔

// By Swagatam (my first Arduino Code)
void setup(){
pinMode(8, OUTPUT)
pinMode(9, OUTPUT)
}
void loop(){
digitalWrite(8, HIGH)
delayMicroseconds(500)
digitalWrite(8, LOW)
delayMicroseconds(500)
digitalWrite(8, HIGH)
delayMicroseconds(750)
digitalWrite(8, LOW)
delayMicroseconds(500)
digitalWrite(8, HIGH)
delayMicroseconds(1250)
digitalWrite(8, LOW)
delayMicroseconds(500)
digitalWrite(8, HIGH)
delayMicroseconds(2000)
digitalWrite(8, LOW)
delayMicroseconds(500)
digitalWrite(8, HIGH)
delayMicroseconds(1250)
digitalWrite(8, LOW)
delayMicroseconds(500)
digitalWrite(8, HIGH)
delayMicroseconds(750)
digitalWrite(8, LOW)
delayMicroseconds(500)
digitalWrite(8, HIGH)
delayMicroseconds(500)
digitalWrite(8, LOW)
//......
digitalWrite(9, HIGH)
delayMicroseconds(500)
digitalWrite(9, LOW)
delayMicroseconds(500)
digitalWrite(9, HIGH)
delayMicroseconds(750)
digitalWrite(9, LOW)
delayMicroseconds(500)
digitalWrite(9, HIGH)
delayMicroseconds(1250)
digitalWrite(9, LOW)
delayMicroseconds(500)
digitalWrite(9, HIGH)
delayMicroseconds(2000)
digitalWrite(9, LOW)
delayMicroseconds(500)
digitalWrite(9, HIGH)
delayMicroseconds(1250)
digitalWrite(9, LOW)
delayMicroseconds(500)
digitalWrite(9, HIGH)
delayMicroseconds(750)
digitalWrite(9, LOW)
delayMicroseconds(500)
digitalWrite(9, HIGH)
delayMicroseconds(500)
digitalWrite(9, LOW)
}
//-------------------------------------//

اگلی پوسٹ میں میں وضاحت کروں گا کہ مذکورہ بالا ارڈینو پر مبنی ایس پی ڈبلیو ایم جنریٹر کو کس طرح استعمال کیا جا. خالص سینو ویو انورٹر سرکٹ بنائیں .... پڑھنا جاری رکھیں!

مذکورہ ایس پی ڈبلیو ایم کوڈ کو مسٹر اتٹن نے اپنی کارکردگی بڑھانے کے لئے مزید بہتر بنایا تھا ، جیسا کہ ذیل میں دیا گیا ہے:

/*
This code was based on Swagatam SPWM code with changes made to remove errors. Use this code as you would use any other Swagatam’s works.
Atton Risk 2017
*/
const int sPWMArray[] = {500,500,750,500,1250,500,2000,500,1250,500,750,500,500} // This is the array with the SPWM values change them at will
const int sPWMArrayValues = 13 // You need this since C doesn’t give you the length of an Array
// The pins
const int sPWMpin1 = 10
const int sPWMpin2 = 9
// The pin switches
bool sPWMpin1Status = true
bool sPWMpin2Status = true
void setup()
{
pinMode(sPWMpin1, OUTPUT)
pinMode(sPWMpin2, OUTPUT)
}
void loop()
{
// Loop for pin 1
for(int i(0) i != sPWMArrayValues i++)
{
if(sPWMpin1Status)
{
digitalWrite(sPWMpin1, HIGH)
delayMicroseconds(sPWMArray[i])
sPWMpin1Status = false
}
else
{
digitalWrite(sPWMpin1, LOW)
delayMicroseconds(sPWMArray[i])
sPWMpin1Status = true
}
}
// Loop for pin 2
for(int i(0) i != sPWMArrayValues i++)
{
if(sPWMpin2Status)
{
digitalWrite(sPWMpin2, HIGH)
delayMicroseconds(sPWMArray[i])
sPWMpin2Status = false
}
else
{
digitalWrite(sPWMpin2, LOW)
delayMicroseconds(sPWMArray[i])
sPWMpin2Status = true
}
}
}




پچھلا: جوول چور سے 8 ایکس حد سے زیادہ - ثابت شدہ ڈیزائن اگلا: مکمل پروگرام کوڈ کے ساتھ ارڈینو خالص سائن لہر انورٹر سرکٹ