» หัวข้อ » เคล็ดลับ »วงจรอินเวอร์เตอร์สองวงจร 12 -220 โวลต์บน arduino

วงจรอินเวอร์เตอร์สองวงจร 12 -220 โวลต์บน arduino


อินเวอร์เตอร์ 12-220 โวลต์บน Arduino pure sine พร้อมรหัสโปรแกรมเต็ม


ทฤษฎี
การบรรลุผลคลื่นไซน์นั้นค่อนข้างยากและไม่สามารถแนะนำให้อินเวอร์เตอร์ได้เพราะ อิเล็กทรอนิกส์ อุปกรณ์มักไม่ชอบกระแสที่เพิ่มขึ้นหรือแรงดันไฟฟ้าชี้แจง เนื่องจากอินเวอร์เตอร์ส่วนใหญ่ผลิตขึ้นโดยใช้อุปกรณ์อิเล็กทรอนิกส์โซลิดสเตตรูปคลื่นไซน์จึงมักถูกกำจัด

อุปกรณ์ไฟฟ้าอิเล็กทรอนิกส์เมื่อทำงานกับคลื่นไซน์จะให้ผลลัพธ์ที่ไม่ได้ผลเนื่องจากอุปกรณ์ตามกฎจะได้รับความร้อนเมื่อเปรียบเทียบกับพัลส์รูปสี่เหลี่ยมผืนผ้า

ดังนั้นตัวเลือกที่ดีที่สุดสำหรับการนำคลื่นไซน์บนอินเวอร์เตอร์คือ PWM ซึ่งหมายถึงการปรับความกว้างพัลส์หรือ PWM

PWM เป็นวิธีการปรับปรุง (รุ่นดิจิตอล) ของการสัมผัสคลื่นรูปแบบเอ็กซ์โปเนนเชียลผ่านความกว้างพัลส์สี่เหลี่ยมจัตุรัสที่แปรผันตามสัดส่วนมูลค่าสุทธิที่คำนวณได้อย่างแม่นยำตามมูลค่าสุทธิของรูปคลื่นเอ็กซ์โปเนนเชียลที่เลือก ดังนั้น PWM ที่คำนวณได้ซึ่งมีการอ้างอิงถึงคลื่นไซน์ที่ให้นั้นสามารถใช้เป็นค่าที่เทียบเท่าในอุดมคติสำหรับการจำลองคลื่นไซน์ที่กำหนด นอกจากนี้ PWM จะเข้ากันได้อย่างดีกับอุปกรณ์ไฟฟ้าอิเล็กทรอนิกส์ (mosfets, BJTs, IGBTS) และอนุญาตให้ใช้กับความร้อนน้อยที่สุด

SPWM คืออะไร
วิธีที่พบมากที่สุดคือการผลิตเครื่องกำเนิดไฟฟ้าแบบ PWM (คลื่นไซน์) หรือ SPWM โดยการใช้สัญญาณตัวแปรชี้แจงแทนหลายสัญญาณเข้ากับอินพุตของเครื่องขยายสัญญาณการดำเนินงานสำหรับการประมวลผลที่จำเป็น ในบรรดาสัญญาณอินพุททั้งสองควรมีความถี่สูงกว่าเมื่อเปรียบเทียบกับสัญญาณอื่น

ใช้สัญญาณอินพุตสองสัญญาณ
ตามที่กล่าวไว้ในส่วนก่อนหน้านี้ขั้นตอนเกี่ยวข้องกับการจัดหาสัญญาณที่แตกต่างกันสองชี้แจงไปยังอินพุตของเครื่องขยายเสียงในการดำเนินงาน
ที่นี่แอมพลิฟายเออร์ด้านปฏิบัติการได้รับการกำหนดค่าเป็นตัวเปรียบเทียบทั่วไปดังนั้นเราจึงสามารถสันนิษฐานได้ว่าแอมพลิฟายเออร์ด้านการปฏิบัติการจะเริ่มเปรียบเทียบระดับแรงดันทันทีของสัญญาณที่ซ้อนทับทั้งสองในทันทีที่ปรากฏหรือนำไปใช้กับอินพุต

เพื่อให้แอมพลิฟายเออร์ในการดำเนินการใช้งาน PWM ไซน์ที่จำเป็นอย่างถูกต้องที่เอาต์พุตมันจำเป็นต้องมีสัญญาณหนึ่งที่มีความถี่สูงกว่าอีกอันหนึ่ง ความถี่ช้าลงที่นี่คือสิ่งที่ควรเป็นคลื่นไซน์ของตัวอย่างซึ่งควรจำลอง (จำลอง) โดย PWMs

ตามหลักการแล้วสัญญาณทั้งสองควรเป็นไซน์ไซด์ (สัญญาณที่มีความถี่สูงกว่าสัญญาณอื่น) อย่างไรก็ตามสัญญาณเดียวกันสามารถรับรู้ได้โดยการรวมคลื่นสามเหลี่ยม (ความถี่สูง) และคลื่นไซน์ (คลื่นที่เลือกด้วยความถี่ต่ำ) ดังที่เห็นได้จากภาพต่อไปนี้สัญญาณความถี่สูงจะถูกป้อนเข้ากับอินเวอร์เตอร์อินพุท (-) ของแอมพลิฟายเออร์ในขณะที่สัญญาณไซน์คลื่นที่ช้ากว่านั้นจะถูกส่งไปยังอินพุทที่ไม่ใช่ inverting (+) ในกรณีที่เลวร้ายที่สุดสัญญาณทั้งสองอาจเป็นคลื่นสามเหลี่ยมที่มีระดับความถี่ที่แนะนำตามที่อธิบายไว้ข้างต้น อย่างไรก็ตามสิ่งนี้จะช่วยในการบรรลุสัญญาณ PWM ที่ดีพอสมควร

สัญญาณที่มีความถี่สูงกว่าเรียกว่าสัญญาณพาหะในขณะที่สัญญาณตัวอย่างช้าลงเรียกว่าโมดูเลต

สร้าง SPWM ด้วยคลื่นสามเหลี่ยมและเอ็น
จากรูปด้านบนเป็นไปได้ที่จะเห็นภาพชัดเจนผ่านจุดที่พล็อตจุดเกิดขึ้นพร้อมกันหลายจุดหรือทับซ้อนกันของสัญญาณทั้งสองในช่วงเวลาที่กำหนด แกนนอนแสดงช่วงเวลาของรูปคลื่นในขณะที่แกนตั้งแสดงระดับแรงดันไฟฟ้าที่ 2 พร้อมกันคือรูปคลื่นซ้อนทับ ภาพแจ้งให้เราทราบว่าแอมพลิฟายเออร์ในการดำเนินงานจะตอบสนองต่อระดับแรงดันไฟฟ้าทันทีที่เกิดขึ้นทันทีของสัญญาณทั้งสองอย่างไร เครื่องขยายเสียงในการปฏิบัติงาน (op amp) เพียงเปรียบเทียบระดับแรงดันของคลื่นสามเหลี่ยมที่รวดเร็วเปลี่ยนคลื่นไซน์ได้ทันที (สามารถเป็นคลื่นสามเหลี่ยมได้) และตรวจสอบกรณีที่แรงดันไฟฟ้าของรูปคลื่นสามเหลี่ยมสามารถต่ำกว่าแรงดันของคลื่นไซน์และตอบสนอง สร้างตรรกะระดับสูงทันทีเมื่อออกจากคุณ

สิ่งนี้จะคงอยู่ตราบใดที่คลื่นศักย์ของรูปสามเหลี่ยมยังคงต่ำกว่าศักยภาพของคลื่นไซน์และในขณะที่การตรวจจับศักย์ของคลื่นไซน์นั้นต่ำกว่าศักยภาพในทันทีของคลื่นของสามเหลี่ยมรูปสามเหลี่ยมผลลัพธ์จะกลับมาน้อยที่สุดและทนต่อสถานการณ์

การเปรียบเทียบอย่างต่อเนื่องของระดับศักยภาพที่เป็นไปได้ของรูปคลื่นซ้อนทับสองตัวที่อินพุตสองตัวของแอมพลิฟายเออร์ในการดำเนินงานนำไปสู่การสร้างการเปลี่ยนแปลง PWM ที่สอดคล้องกันซึ่งสามารถจำลองรูปร่างไซน์

เครื่องขยายสัญญาณการปฏิบัติงานและ SPWM
รูปต่อไปนี้แสดงให้เห็นว่า การสร้างแบบจำลอง การดำเนินการดังกล่าวข้างต้น:
วงจรอินเวอร์เตอร์สองวงจร 12 -220 โวลต์บน arduino

ที่นี่เราสามารถสังเกตได้ว่ามันถูกนำไปใช้ในทางปฏิบัติอย่างไรและนี่คือวิธีที่แอมป์ในการดำเนินการจะทำเช่นเดียวกัน (แม้ว่าจะมีความเร็วสูงกว่ามากใน MS)

การดำเนินการค่อนข้างชัดเจนและแสดงให้เห็นอย่างชัดเจนว่าแอมพลิฟายเออร์การดำเนินงานควรประมวลผลสัญญาณคลื่นไซน์ PWM อย่างไรโดยการเปรียบเทียบสัญญาณที่เปลี่ยนแปลงพร้อมกันสองสัญญาณที่อินพุตดังที่อธิบายไว้ในส่วนก่อนหน้า

ในความเป็นจริงแอมพลิฟายเออร์ในการดำเนินการจะประมวลผลสัญญาณ PWM แบบไซน์ได้แม่นยำกว่าการจำลองที่แสดงข้างต้นได้ดีกว่า 100 เท่าสามารถสร้าง PWM ที่สม่ำเสมอและวัดได้อย่างดีซึ่งตรงกับตัวอย่างที่ให้มา คลื่นไซน์

Arduino อินเวอร์เตอร์สองวงจร

รายการชิ้นส่วน
ตัวต้านทาน 1/4 วัตต์ทั้งหมด, 5% CFR
• 10K = 4
• 1K = 2
• BC547 = 4pcs
• MOSFETs IRF540 = 2pcs
Arduino UNO = 1
•หม้อแปลงไฟฟ้า = 9-0-9V / 220V / 120V
•แบตเตอรี่ = 12V


การออกแบบนั้นง่ายมากดังแสดงในรูปต่อไปนี้

Pin # 8 และ pin # 9 สร้าง PWM สลับกันและสลับ Mosfets ด้วย PWM เดียวกัน
ในทางกลับกัน Mosfet จะเหนี่ยวนำให้เกิดรูปคลื่น SPWM ที่มีกระแสสูงบนหม้อแปลงโดยใช้พลังงานของแบตเตอรี่ทำให้หม้อแปลงทุติยภูมิสามารถผลิตรูปคลื่นที่เหมือนกัน

วงจรอินเวอร์เตอร์ Arduino ที่เสนอสามารถอัปเกรดเป็นระดับพลังงานที่สูงกว่าที่ต้องการโดยเพียงแค่เปลี่ยน Mosfets และหม้อแปลงไฟฟ้าตามลำดับเป็นทางเลือกคุณยังสามารถแปลงให้เป็นบริดจ์แบบเต็มหรืออินเวอร์เตอร์คลื่นไซน์ H-bridge
Arduino บอร์ดพาวเวอร์

รูปภาพ Waveform สำหรับ Arduino SPWM

เนื่องจาก Arduino จะสร้างเอาท์พุท 5V จึงไม่เหมาะสำหรับการควบคุมทรานซิสเตอร์ MOS โดยตรง

ดังนั้นจึงจำเป็นต้องเพิ่มระดับแฟลชเป็น 12V เพื่อให้ Mosfets ทำงานได้อย่างถูกต้องโดยไม่ทำให้อุปกรณ์ร้อน

เพื่อให้แน่ใจว่า Mosfety ไม่เริ่มทำงานเมื่อ Arduino เริ่มทำงานหรือเริ่มทำงานคุณต้องเพิ่มตัวกำเนิดความล่าช้าต่อไปนี้และเชื่อมต่อเข้ากับฐานของทรานซิสเตอร์ BC547 สิ่งนี้จะช่วยปกป้อง Mosfets และป้องกันไม่ให้เกิดการเผาไหม้ในระหว่างการเปลี่ยนพลังงาน

การเพิ่มตัวควบคุมแรงดันไฟฟ้าอัตโนมัติ
เช่นเดียวกับอินเวอร์เตอร์อื่น ๆ ที่ผลลัพธ์ของการออกแบบนี้กระแสสามารถเพิ่มขึ้นถึงขีด จำกัด ที่ไม่ปลอดภัยเมื่อชาร์จแบตเตอรี่จนเต็ม

หากต้องการควบคุมสิ่งนี้ให้เพิ่มตัวควบคุมแรงดันไฟฟ้าอัตโนมัติ
นักสะสม BC547 จะต้องเชื่อมต่อกับฐานของคู่ BC547 ด้านซ้ายซึ่งเชื่อมต่อกับ Arduino ผ่านตัวต้านทาน 10K

รุ่นที่สองของอินเวอร์เตอร์โดยใช้ชิป sn7404 / k155ln1


มันเป็นสิ่งสำคัญที่:
เพื่อหลีกเลี่ยงการเปิดสวิตช์โดยไม่ตั้งใจก่อนที่จะโหลด Arduino ความล่าช้าอย่างง่ายในวงจรจับเวลาสามารถรวมไว้ในการออกแบบด้านบนดังที่แสดงด้านล่าง:


รหัสโปรแกรม:

/ *
รหัสนี้เป็นไปตามรหัส Swagatam SPWM ที่มีการเปลี่ยนแปลงเพื่อลบข้อผิดพลาด ใช้รหัสนี้เหมือนกับที่คุณใช้ผลงานของ Swagatam อื่น ๆ
Atton Risk 2017
* /
const int sPWMArray [] = {500,500,750,500,1250,500,2000,500,1250,500,750,500,500}} // นี่คืออาร์เรย์ที่มีค่า SPWM เพื่อเปลี่ยนแปลงค่า
const int sPWMArrayValues ​​= 13; // คุณต้องการสิ่งนี้เนื่องจาก C ไม่ได้ให้ความยาวของอาเรย์
// พิน
const int sPWMpin1 = 10;
const int sPWMpin2 = 9;
// พินสวิตช์
บูล sPWMpin1Status = จริง
บูล sPWMpin2Status = จริง;
การตั้งค่าเป็นโมฆะ ()
{
pinMode (sPWMpin1, OUTPUT);
pinMode (sPWMpin2, OUTPUT);
}
เป็นโมฆะห่วง ()
{
// วนรอบสำหรับพิน 1
สำหรับ (int i (0); i! = sPWMArrayValues; i ++)
{
ถ้า (sPWMpin1Status)
{
digitalWrite (sPWMpin1, สูง);
delayMicroseconds (sPWMArray [i]);
sPWMpin1Status = false;
}
อื่น
{
digitalWrite (sPWMpin1, LOW);
delayMicroseconds (sPWMArray [i]);
sPWMpin1Status = true;
}
}
// วนรอบสำหรับพิน 2
สำหรับ (int i (0); i! = sPWMArrayValues; i ++)
{
ถ้า (sPWMpin2Status)
{
digitalWrite (sPWMpin2, สูง);
delayMicroseconds (sPWMArray [i]);
sPWMpin2Status = false;
}
อื่น
{
digitalWrite (sPWMpin2, LOW);
delayMicroseconds (sPWMArray [i]);
sPWMpin2Status = true;
}
}
}

ขอให้โชคดี




เหมาะสำหรับหัวข้อ

หัวข้อที่เกี่ยวข้อง

เพิ่มความคิดเห็น

    • รอยยิ้มรอยยิ้มxaxaตกลงdontknowyahooNea
      นายรอยขีดข่วนคนโง่ใช่ใช่ใช่ก้าวร้าวลับ
      ขอโทษเต้นdance2dance3ให้อภัยช่วยเหลือเครื่องดื่ม
      หยุดเพื่อนดีgoodgoodนกหวีดหน้ามืดตามัวลิ้น
      ควันการตบมือเครย์ประกาศเป็นขี้ปากดอน t_mentionดาวน์โหลด
      ความร้อนโมโหlaugh1ภาคตะวันออกเฉียงเหนือประชุมmoskingเชิงลบ
      not_iข้าวโพดคั่วลงโทษอ่านทำให้ตกใจกลัวค้นหา
      ยั่วยุthank_youนี้to_clueumnikรุนแรงเห็นด้วย
      ไม่ดีbeeeblack_eyeblum3หน้าแดงโม้ความเบื่อ
      เซ็นเซอร์การหยอกล้อsecret2ขู่ชัยชนะYusun_bespectacled
      shokrespektฮ่า ๆprevedยินดีต้อนรับkrutoyya_za
      ya_dobryiผู้ช่วยne_huliganne_othodiFLUDห้ามใกล้
5 คิดเห็น
Riddick
และที่นรกเป็นพารามิเตอร์ส่งออก?
แขกอันเดรย์
ฉันขอแนะนำให้ติดตั้งชิป IR4427 เป็นไดรเวอร์ - ไดรเวอร์สำคัญสองตัวที่ต่ำกว่าโดยไม่ต้องผกผัน
คนลอกเลียนแบบรับหน้าที่เล่าขานเนื้อหาในเรื่องที่เขาไม่รู้โดยสมบูรณ์:
มีเรื่องไร้สาระมากมายและดูเหมือนว่าฉัน (บางทีฉันผิด) ที่ผู้เขียนพูดภาษารัสเซียเป็นภาษาต่างประเทศดังนั้นเขาจึงแปลจากภาษาแม่เป็นภาษาอังกฤษโดยอัตโนมัติและจากภาษาอังกฤษเป็นภาษารัสเซียเพราะ การแปลอัตโนมัติโดยตรงเป็นไปได้และไม่ใช่! แต่นี่เป็นเพียงการคาดเดาของฉัน! รอยขีดข่วน
คนลอกเลียนแบบรับหน้าที่เล่าขานเนื้อหาในเรื่องที่เขาไม่รู้โดยสมบูรณ์:
นักสะสม BC547 จะต้องเชื่อมต่อกับ บริเวณ คู่ซ้าย BC547
มาตรา "ทฤษฎี" - เรื่องไร้สาระที่ไม่ต่อเนื่องกันหายาก!

เราแนะนำให้คุณอ่าน:

มอบให้กับสมาร์ทโฟน ...