რა არის PWM?

Nov 11, 2025

Დატოვე შეტყობინება

PWM ნიშნავს პულსის სიგანის მოდულაციას. თქვენ ჩართავთ და გამორთავთ ძაბვას ფიქსირებულ სიხშირეზე, ცვლით ჩართვის-დროსა და გამორთვის-დროის თანაფარდობას საშუალო ენერგიის მიწოდების გასაკონტროლებლად. ესე იგი. დანარჩენი მხოლოდ შედეგებთანაა საქმე.

ძირითადი მექანიზმი

 

აიღეთ 12 ვ-იანი მიწოდება, რომელიც მართავს LED-ს, რომელსაც სჭირდება 3 ვ. ჩვეულებრივ, თქვენ იყენებთ რეზისტორს ან ხაზოვან რეგულატორს, დაწვავთ 9 ვ-ს სითბოს სახით. სულელური ნარჩენები. PWM-ით თქვენ ჩართავთ და გამორთავთ სრულ 12 ვ-ს საკმარისად სწრაფად, რომ LED-ის თერმულმა მასამ საშუალოდ გამოირიცხოს. 25% სამუშაო ციკლი მოგცემთ დაახლოებით 3V ექვივალენტს. LED ხედავს 12V → 0V → 12V → 0V 1kHz-ზე, მაგრამ მას არ შეუძლია გაგრილება და გაცხელება ასე სწრაფად, ამიტომ სიკაშკაშე მუდმივი რჩება.

სიხშირეს აქვს მნიშვნელობა. ძალიან ნელი (100 ჰც-ზე ნაკლები) და თქვენ მიიღებთ ხილულ ციმციმს. ზოგიერთი ადამიანი ხედავს ციმციმს 200 ჰც-მდე. მე ჩვეულებრივ ვმართავ LED-ის ჩაბნელებას 20 kHz-ზე, მხოლოდ იმისთვის, რომ უსაფრთხოდ ვიყო-ასევე ვინარჩუნებ მას აუდიო დიაპაზონს, თუ არის რაიმე მექანიკური შეერთება. გადართვის სიჩქარე ასევე გავლენას ახდენს დანაკარგებზე, მაგრამ ჩვენ ამას მივაღწევთ.

მათემატიკა: თუ თქვენი პერიოდი არის T და -დრო არის t, მოვალეობის ციკლი D=t/T. მარტივი. მიწოდებული სიმძლავრე არის დაახლოებით D × V_მიწოდება × I_დატვირთვა, დანაკარგების გამოკლებით. სწორედ ეს დანაკარგები ხდება საინტერესო.

 

რატომ იყენებენ ადამიანები მას - რეალური მიზეზების გამო

 

პირველი მიზეზი: ეფექტურობა. MOSFET-ის გაჯერება ეცემა შესაძლოა 0.1-0.2V გონივრულ დენებზე. MOSFET-ის გამორთვა ამახვილებს მიკროამპერებს. ასე რომ თქვენ ან ფანტავთ (0.1V × დენი) ან ძირითადად არაფერს. შეადარეთ ეს ხაზოვან რეგულატორს, რომელიც მუდმივად ტოვებს 9 ვ-ს სრული დენით. ბატარეის მუშაობის სხვაობა ზოგიერთ შემთხვევაში არის 40-50x, არ არის გადაჭარბებული.

მეორე: შეგიძლიათ გამოიყენოთ იაფი კვების წყაროები. გჭირდებათ 48 ვოლტიანი ძრავის ცვლადი სიჩქარით მართვა? ანალოგური კონტროლით გჭირდებათ ძვირადღირებული ცვლადი 0-48V მიწოდება. PWM-ით იყენებთ ფიქსირებულ 48 ვ მიწოდებას (იაფი) და MOSFET-ს (ასევე იაფი). შესრულებულია.

მესამე მიზეზი არავინ საუბრობს: შესყიდვაზე. სცადეთ მოიძიოთ კარგი ცვლადი ანალოგური მიწოდება მოცულობით. მიწოდების დრო არის მინიმუმ 26 კვირა ღირსეული მწარმოებლებისგან. MOSFET-ები? ყველაფერი მარაგშია Digikey-ში. როდესაც წარმოება გიყვირებს, ამას უფრო დიდი მნიშვნელობა აქვს, ვიდრე BOM-ის ღირებულება.

 

PWM

 

განხორციელების რეალური პრობლემები

 

EMI გაგაფუჭებს. პირველად გავაკეთე მაღალი-მიმდინარე PWM დაფა (120A DC ძრავისთვის), მან გაანადგურა CAN ავტობუსი იმავე მანქანაზე. არ არის დაზიანებული პაკეტები-სრულიად მკვდარი. აღმოჩნდა, რომ ჩემი კარიბჭის ზარის ზარი ერწყმოდა შასის მიწას, რაც იწვევს 40 ვ ძაბვის წვეთებს CAN დიფერენციალურ წყვილზე. დაემატა ფერიტის მარცვლები, გადაადგილდა მიწები, ჯერ კიდევ ჰქონდა პრობლემები. საბოლოოდ უნდა დაემატებინა pi ფილტრი ძრავის მიწოდებაზე და დამიწების სიბრტყეების გამოყოფა ერთი-პუნქტიანი კავშირით. აიღო დაფის სამი ბრუნი.

კარიბჭე უფრო რთულია, ვიდრე ერთი შეხედვით ჩანს. თქვენ გჭირდებათ დაბალი წინაღობა თქვენი დრაივერიდან MOSFET-ის კარიბჭემდე-ინდუქციურობის კვალი მაღალი დი/დტ. მე მინახავს, ​​რომ 10nH კვალი ინდუქციურობა იწვევს 50V ძაბვის მწვერვალებს გადართვისას (V=L × di/dt). ეს საკმარისია 60V რეიტინგული MOSFET-ის გასასვლელად. ხალხი კამათობს მათემატიკაზე, მაგრამ მე მინახავს ეს მასშტაბში: 3A/ns დენის გადართვა 10nH-ზე გაძლევთ 30V-ს მწვერვალს. დაამატეთ მიწოდების ძაბვა და თქვენ გადააჭარბებთ აბსოლუტურ მაქსიმალურ რეიტინგს.

შემდეგ არის გადაღება-H-ხიდებში. თქვენ უნდა გქონდეთ მკვდარი დრო დაბალი-გვერდითი FET-ის გამორთვასა და მაღალი-მხრის ჩართვას შორის (და პირიქით). ნულოვანი სიკვდილი ნიშნავს ორივე FET-ს ერთდროულად-მიწოდებიდან მიწამდე FET არხის წინააღმდეგობების პირდაპირი უკმარისობით. 50A-დან 0.01Ω-მდე ორჯერ მაინც 1000A მიკროწამებისთვის, სანამ ნივთები აფეთქდებიან. წარუმატებლობის რეჟიმი სანახაობრივია: პატარა კრატერი სილიციუმში, FET მუდმივად მოკლეა, აშორებს ყველაფერს დანარჩენს ჯაჭვში.

მაგრამ ძალიან ბევრი მკვდარი დრო და სხეულის დიოდი ატარებს მკვდარი პერიოდის განმავლობაში. სხეულის დიოდები საშინელია-წინ ვარდნაზე (1-2V), ნელი აღდგენა. კარგავთ ეფექტურობას და გამოიმუშავებთ მეტ სითბოს. გაცვლა, როგორც წესი, 100-500 ns deadtime-ია, რაც დამოკიდებულია თქვენი FET-ის გადართვის მახასიათებლებზე.

 

სიხშირის შერჩევა აშკარა არ არის

 

ყველას პირველი ინსტინქტი: უფრო მაღალი სიხშირის=პატარა ინდუქტორები/კონდენსატორები=იაფია. ზოგჯერ მართალია. მაგრამ გადართვის დანაკარგები იზრდება სიხშირით-თქვენ კარგავთ ენერგიას ყოველ ჯერზე, როდესაც FET გადადის. ESwitching ≈ 0.5 × Vsupply × Iload × (trise + tfall) × fsw. გააორმაგეთ სიხშირე, გააორმაგეთ გადართვის დანაკარგი.

საავტომობილო დისკებისთვის, 20 kHz არის საერთო. ხმოვანი, მექანიკური დროის მუდმივები არ აინტერესებს. მაგრამ ლეპტოპის კვების წყაროში ხედავთ 300 kHz-1MHz. რატომ? უფრო მცირე მაგნიტები. 1MHz ინდუქტორი ფიზიკურად არის 20kHz სიხშირის იგივე ინდუქციური ინდუქტორის ზომის 1/50. ეს დიდია პორტატული მოწყობილობებისთვის. გაცვლა გჭირდებათ უფრო სწრაფი FET-ები (დაბალი Qg), უკეთესი განლაგება, უფრო ფრთხილად დრაივერის დიზაინი.

აუდიო (D კლასის ამპერები) მუშაობს 250 kHz-1MHz. 200 კჰც-ზე ქვემოთ და თქვენ გესმით გადამზიდავი სიხშირე, როგორც მაღალი-ხმის კვნესა. 1MHz-ზე მაღლა და დაიწყებთ ბრძოლას AM რადიო ჩარევასთან. დიზაინის უმეტესობა დგას 400-500 kHz-ზე, დაბალი გამტარი ფილტრი შესაძლოა 50 kHz-ზე გადამზიდის მოსაშორებლად.

რეალური მაგალითი: ერთხელ გააკეთა 500 kHz buck კონვერტორი, სცადა 1 MHz-ზე გადასვლა დაფის შესამცირებლად. ეფექტურობა დაეცა 4%-ით (88%-დან 84%-მდე). ეს არის 8W დამატებითი სითბო 200W მიწოდებაში. სჭირდებოდა უფრო დიდი გამათბობელი, დაკარგა სივრცის დაზოგვა პატარა ინდუქტორისგან. დარჩა 500 kHz-ზე.

 

PWM

 

რეზოლუციის ლიმიტები

 

8-ბიტიანი PWM (256 ნაბიჯი) კარგად ჟღერს, სანამ არ შეეცდებით LED-ის შეუფერხებლად დაბნელებას 100%-დან 0%-მდე. 10% სამუშაო ციკლის ქვემოთ თქვენ მიიღებთ თვალსაჩინო ნაბიჯებს სიკაშკაშით. ადამიანის თვალი ლოგარითმულია - ბევრად უფრო მგრძნობიარეა ცვლილებების მიმართ დაბალი განათების დონეზე. საჭიროა 12-ბიტიანი (4096 ნაბიჯი) მინიმალური გლუვი ჩაქრობისთვის მთელ დიაპაზონში.

მაგრამ აქ არის დაჭერა: 12-ბიტი 20 kHz-ზე ნიშნავს, რომ გჭირდებათ 20 kHz × 4096=81.92MHz ტაიმერის საათი. ყველა მიკროს არ შეუძლია ამის გაკეთება. და თუ თქვენ გჭირდებათ მრავალი დამოუკიდებელი PWM არხი 12-ბიტიანზე, თქვენ უყურებთ სპეციალურ ტაიმერის პერიფერიულ მოწყობილობებს ან FPGA-ს.

გამოსავალი: გამოიყენეთ 8-ბიტიანი PWM, მაგრამ დაარეგულირეთ სიხშირე დინამიურად. მაღალი სიკაშკაშის დროს იმუშავებს 20 kHz, დაბალი სიკაშკაშის დროს ეცემა 100Hz-მდე. გაწვდით უფრო დახვეწილ ნაბიჯებს იქ, სადაც გჭირდებათ. მაგრამ ახლა თქვენ გაქვთ ცვლადი სიხშირის EMI გამკლავება. არაფერია უფასო.

 

როცა საქმე დიდდება

 

სამრეწველო VFD-ები (ცვლადი სიხშირის დისკები) ცვლის ასობით ამპერს 480VAC-ზე. მართვის სტრატეგია არის უფრო რთული-სივრცის ვექტორული მოდულაცია, ველზე-ორიენტირებული კონტროლი, რაც არ უნდა იყოს-მაგრამ მის ქვეშ მაინც არის PWM გადართვის ექვსი IGBT სამ-ფაზიან ხიდზე.

განსხვავებები ამ მასშტაბით:

კარიბჭის დრაივერებს სჭირდებათ 15 ვ იზოლირებული წყაროები. ეს არის 6 იზოლირებული მარაგი, რომლებიც მცურავია სხვადასხვა პოტენციალით 680VDC-მდე (გასწორებული 480VAC). თითოეულ დრაივერს სჭირდება საკუთარი სიმძლავრე, საკუთარი კარიბჭის რეზისტორი (ტიპიური 0,5-2Ω), საკუთარი ჭარბი დენის დაცვა.

Deadtime იზრდება 2-5µs-მდე, რადგან IGBT უფრო ნელია ვიდრე MOSFET

dv/dt ფილტრები გამომავალზე, რადგან ძრავის კაბელის ტევადობა და სწრაფი გადართვის კიდეები იწვევს უზარმაზარ საერთო-რეჟიმების დენებს. მე გავზომე 20A საერთო-რეჟის დენი 5HP ძრავის კაბელზე, სრულიად განცალკევებული ძრავის დენისგან. ამიტომ გჭირდებათ დაცული კაბელები და სათანადო დამიწება.

თერმული: თუნდაც 2% დანაკარგი 50 კვტ-ზე არის 1 კვტ სითბო. წყლის გაგრილება ნაკადის გადამრთველებით და ტემპერატურის ბლოკირებით. თუ გამაგრილებლის ნაკადი ზღურბლს ქვემოთ ეცემა, კონტროლერი დაუყოვნებლივ გამორთავს გამომავალს. ნანახი სისტემები იწვის, რადგან ვიღაცამ დაავიწყდა გამაგრილებლის დონის შემოწმება.

კომპონენტების შერჩევა უცნაური ხდება. IGBT, რომელიც შეფასებულია 100A უწყვეტად, შეუძლია გაუმკლავდეს მხოლოდ 80A-ს 50 გრადუს გარემოზე, 60A-ს 70 გრადუსზე. მაგრამ დიდი ძრავის გაშვება ატარებს 6x ნომინალურ დენს რამდენიმე წამის განმავლობაში. ასე რომ, თქვენ ზომავთ პიკს და არა სტაბილურს-მდგომარეობას, შემდეგ ამცირებთ ტემპერატურას. დაასრულეთ 300A IGBT "100A" აპლიკაციისთვის. BOM ღირებულება შესყიდვას ძალიან უკმაყოფილო ხდის.

 

მიკროკონტროლერის სპეციფიკა

 

STM32 ქრონომეტრები: უმეტესობას აქვს 16-ბიტიანი PWM, ზოგიერთ მოდელზე მიდის 32-ბიტიანი, მაგრამ თქვენ იშვიათად გჭირდებათ ეს. რაც უფრო მნიშვნელოვანია არის შედარების არხების რაოდენობა და დამატებითი გამომავალი. TIM1 და TIM8 F4 სერიებზე ოთხი შესადარებელი არხია, თითოეულს დამატებითი გამომავალი გამომავალი და პროგრამირებადი სიკვდილის დროში ჩასმა. იდეალურია ძრავის კონტროლისთვის.

პრობლემა: ყველა PWM არხი ერთ ტაიმერზე სინქრონიზებულია იმავე მრიცხველზე. თუ თქვენ გჭირდებათ დამოუკიდებელი სიხშირეები, გჭირდებათ ცალკე ქრონომეტრები. და მხოლოდ ამდენი ტაიმერია მოწინავე ფუნქციებით. STM32F4-ზე მიიღებთ TIM1, TIM8 გაფართოებული კონტროლისთვის. TIM2-5 ძირითადი PWM-სთვის. TIM9-14 არის 16-ბიტიანი სიკვდილის თაობის გარეშე. თქვენ სწრაფად ამოიწურებით, თუ აპლიკაციას სჭირდება მრავალი იზოლირებული PWM სიგნალი.

ნანახი დიზაინები, სადაც ისინი კბენდნენ-PWM-ს პროგრამულ უზრუნველყოფაში, რადგან მათ ამოიწურა ტაიმერის არხები. საშინელი იდეა. Jitter, CPU ზედნადები, პრიორიტეტული ინვერსია, როდესაც სხვა წყვეტს ცეცხლს. უბრალოდ გადაიხადეთ დამატებითი $2 მიკროზე მეტი ტაიმერით ან გამოიყენეთ გარე PWM IC (როგორიცაა PCA9685). თქვენი მომავალი საკუთარი თავი მადლობას მოგახსენებთ.

ESP32-ს აქვს 16 PWM არხი LED PWM პერიფერიის გამოყენებით. მშვენივრად ჟღერს, გარდა იმისა, რომ ისინი ყველა მომდინარეობს ერთი 80 MHz APB საათისგან და იზიარებს გამყოფებს ჯგუფებში. გსურთ სხვადასხვა სიხშირე? იმედია ისინი მთელი რიცხვების შეფარდებაა. ასევე გარჩევადობა მცირდება სიხშირის მატებასთან ერთად, რადგან ის იყენებს იმავე საბაზისო საათს. 20 კჰც-ზე მიიღებთ 12-ბიტს, 40 კჰც-ზე 11-ბიტამდე და ა.შ. მონაცემთა ცხრილი ამას აშკარად არ ასახავს.

 

უფრო ეგზოტიკური ნივთები

 

Spread-სპექტრის PWM: ფიქსირებული სიხშირის ნაცვლად, თქვენ ანაწილებთ მას ±10% შემთხვევით. ავრცელებს EMI-ს უფრო ფართო სიხშირის დიაპაზონში, ამცირებს პიკის ემისიებს. გეხმარებათ FCC/CE ტესტირების გავლაში იმდენი ფილტრაციის აპარატურის გარეშე. თანამედროვე SMPS ჩიპების უმეტესობას აქვს ეს ჩაშენებული. Cypress PSoC კი გაძლევთ საშუალებას აკონტროლოთ დაბნეული ნიმუში-sawtooth, სამკუთხა, ფსევდო-შემთხვევითი.

Interleaved PWM: გაუშვით მრავალი გადამყვანი ფაზიდან. ორი გადამყვანი 180 გრადუსიანი ფაზის ცვლაზე ნიშნავს, რომ შეყვანის კონდენსატორი ხედავს ტალღოვანი დენის ნახევარს. ოთხი გადამყვანი 90 გრადუსიან ფაზურ ცვლაზე-რიპლის მეოთხედში. მაგრამ ახლა თქვენ გჭირდებათ ზუსტი ფაზის სინქრონიზაცია არხებს შორის და დატვირთვის დაბალანსება, რათა მათ თანაბრად გაიზიარონ დენი. ჩვეულებრივ, საჭიროა სპეციალური კონტროლერის IC, თუ თქვენს მიკროს არ აქვს საკმარისი რესურსი.

GaN FET-ებს შეუძლიათ გადართვა 10 წამში. ხსნის 10MHz+ PWM სიხშირეებს-ინდუქტორები ხდება პატარა, თითქმის უბრალოდ PCB კვალი. მაგრამ: დაფის განლაგება კრიტიკულია, კარიბჭის დრაივი საჭიროებს სერიოზულ ყურადღებას, ნებისმიერი ინდუქციურობა იწვევს მასიურ გადაჭარბებას. არა დამწყებთათვის. ვნახე GaN დიზაინის რგოლი 2x VDD-მდე, რადგან ვიღაცამ გამოიყენა სტანდარტული კარიბჭის დრაივერი 5 სმ სიგრძის კვალით. FET არ გადარჩა.

 

PWM

 

რასაც რეალურად ვაკეთებ

 

უმრავლესობისთვის: 20 kHz, აპარატურის ტაიმერი PWM, 10-ბიტიანი გარჩევადობა. საკმარისია ძრავის კონტროლისთვის და LED ჩაქრობისთვის. დაამატეთ კარიბჭის დრაივერის IC (2A პიკური დენის მინიმალური), დაბალი ESR კერამიკული ქუდები პირდაპირ FET დრენაჟთან, ცხიმიანი დაფქული სიბრტყეზე. შეამოწმეთ გადართვის ტალღების ფორმები პირველი პროტოტიპის მასშტაბით, ველით ერთხელ გამეორებას.

ნებისმიერი 10A-ზე მეტი უწყვეტი, თერმული სიმულაციისთვის განლაგებამდე. მე ვიყენებ ANSYS-ს, მაგრამ ძირითადი FEA-საც კი უჭირს უმეტესი პრობლემა. სპილენძის ფენების ექსპორტი დანაკარგებით, როგორც სითბოს წყაროები, დააყენეთ სასაზღვრო პირობები, შეამოწმეთ, თუ რამე ემთხვევა შეერთების 125 გრადუს ტემპერატურას მაქსიმალურ გარემოზე. ჩვეულებრივ საჭიროა გამათბობლები ან იძულებითი ჰაერი, თუ გადართავთ 50 ვტ-ზე მეტს.

და შეამოწმეთ ტემპერატურაზე. ოთახის ტემპერატურის ტესტირება იწვევს პრობლემების 60%-ს. ცხელი-ყუთი 70 გრადუსიან გარემოზე 8 საათის განმავლობაში აღმოაჩენს დანარჩენს-თერმულ გაქცევას, კარიბჭის ზღურბლის ცვლას, კონდენსატორის ESR გაზრდას. კვირაში ერთხელ დამიჯდა, როდესაც დიზაინი კარგად მუშაობდა 25 გრადუსზე, მაგრამ FET დამაგრდა 65 გრადუსზე, რადგან არ გავითვალისწინე ზღვრული ძაბვის ტემპერატურის კოეფიციენტი.

ეს არის PWM. მარტივი კონცეფცია, გაუთავებელი დეტალები.

 

ეს არის PWM. მარტივი კონცეფცია, გაუთავებელი დეტალები.

ბოლო: თუ იყენებთ ბატარეის-ენერგიით მომუშავე PWM პერსონალს, ნუ იაფებთ უჯრედებს. ერთხელ ვცადე რამდენიმე-არასახელო ლითიუმის პაკეტი-ვერ უმკლავდება ტალღოვან დენს, ძაბვა იკლებს დატვირთვის დროს, მთელი სისტემა დაშავებულია. გადაერთო სათანადოზეიონური ლითიუმის ბატარეამოდულები ღირსეული C-რეიტინგით, პრობლემა გაქრა. დამატებითმა 15$ თითო პაკეტზე გადამარჩინა კვირაში სამ მხარდაჭერის ზარისგან.

გამოაგზავნეთ გამოძიება