Mündəricat:

Şəbəkə bağlayıcı çevirici: 10 addım (şəkillərlə birlikdə)
Şəbəkə bağlayıcı çevirici: 10 addım (şəkillərlə birlikdə)

Video: Şəbəkə bağlayıcı çevirici: 10 addım (şəkillərlə birlikdə)

Video: Şəbəkə bağlayıcı çevirici: 10 addım (şəkillərlə birlikdə)
Video: WhatsApp-ın bu hiyləsini bilirsən? 😎 2024, Iyun
Anonim
Image
Image
Şəbəkə bağlayıcı çevirici
Şəbəkə bağlayıcı çevirici
Şəbəkə bağlayıcı çevirici
Şəbəkə bağlayıcı çevirici

Ətli bir layihədir, buna görə bağlayın!

Şəbəkə bağlayıcı çeviriciləri, gücün əla bir qabiliyyət olan bir elektrik prizinə girməsini təmin edir. Dizaynlarında iştirak edən elektrik elektronikası və idarəetmə sistemləri maraqlıdır, buna görə özüm qurdum. Bu hesabat öyrəndiklərimi və işlərimi necə etdiyimi sənədləşdirir. Hər hansı bir şərhinizlə maraqlanacağam (elektrik enerjisi ilə qarışmamaqla bağlı fikirlər istisna olmaqla).

Bütün anlayışlar ölçeklendirilebilir, lakin filtr induktorları doymağa başlamazdan əvvəl bu qurğunun maksimum gücü 40 vatt idi. Çıxış cərəyanı THD <5%ilə sinusoidal idi.

GitHub proqramımdakı proqrama baxın

Təchizat

  • STM32F407 inkişaf lövhəsindən istifadə etdim. 168MHz-də işləyir və hər biri 2.4MSPS (Saniyədə Milyon Nümunə) üzərində 12bit həll edə bilən 3 quraşdırılmış ADC-ə malikdir. Bu çılğınlıqdır!
  • DRV8301 inkişaf etdirmə lövhəsindən istifadə etdim. Burada 60v H-Körpüsü, lazımi qapı sürücüləri, cari şantlar və cari şant gücləndiriciləri var. Super gözəl!
  • 2 çıxış tapası olan 230-25v toroidal transformatordan istifadə etdim. Bu, birbaşa şəbəkə gərginliyi istehsal etməyim lazım olmadığını, əksinə 40 voltluq ən yüksək gərginliklə işləyə biləcəyimi ifadə etdi. Daha təhlükəsiz!
  • Filtr üçün istədiyim L və C dəyərlərini əldə etmək üçün bir indüktör və kondansatör yükünü birləşdirdim.
  • Belə bir layihə üçün bir osiloskop və diferensial zond açardır. Pikoskopum var

Addım 1: Şəbəkə Gücü nədir?

Şəbəkə Gücü nədir?
Şəbəkə Gücü nədir?
Şəbəkə Gücü nədir?
Şəbəkə Gücü nədir?

Elektrik prizində (İngiltərədə) əldə etdiyiniz şey, çox aşağı empedansa malik 50Hz 230v RMS sinusoidal siqnaldır. Bununla əlaqədar söyləmək üçün bir neçə şey:

50Hz - Şəbəkə tezliyi 50Hz -də çox dəqiq saxlanılır. Bir az dəyişir, lakin vaxtın 90% -i 49.9-50.1Hz arasında dəyişir. Bura baxın. Ölkənin yuxarı və aşağı hissəsindəki bütün nəhəng generatorların bir yerdə fırlandığını təsəvvür edə bilərsiniz. Sinxron olaraq fırlanırlar və bizim üçün 50Hz sinusoidal bir siqnal istehsal edirlər. Onların birləşdirilmiş kütləvi fırlanma ətalətini yavaşlatmaq və ya sürətləndirmək üçün vaxt lazımdır.

Teorik olaraq, şəbəkəyə böyük bir yük bağlansaydı, ölkənin generatorlarını yavaşlatmağa başlayardı. Ancaq buna cavab olaraq, Milli Şəbəkənin nəzarət bürosundakı uşaqlar elektrik stansiyalarından qazanları yandırmaq, istiliyi söndürmək və bu generatorları tələbata cavab verməyə məcbur etmək istəyəcəklər. Beləliklə, tələb və təklif bir -biri ilə davamlı rəqs edir.

50Hz siqnalı ilə bağlı başqa bir şey. Təxminən 50Hz ətrafında çox az dəyişsə də, yuxarıdakılar gün ərzində ortalama tezliyin tam 50Hz olduğuna əmin olurlar. Şəbəkə 10 dəqiqə 49.95Hz -də olarsa, dəqiq dövrlərin sayını 50Hz x 60 saniyə x 60 dəqiqə x 24 saat = 4, 320, 000/günə çatdırmaq üçün daha sonra 50.05Hz -də işləyəcəyini təmin edərlər. Bunu Beynəlxalq Atom Zamanından istifadə edərək edirlər. Buna görə ev, ofis və sənaye cihazları vaxt saxlamaq üçün şəbəkə tezliyindən istifadə edə bilər. Bu ümumiyyətlə mexaniki priz taymerləri ilə edilir.

230v - Bu 50Hz siqnalının RMS (Kök Orta Kvadrat) gərginliyidir. Əsl siqnal 325V zirvəyə qədər dəyişir. Bunu bilmək vacibdir, çünki bir çevirici qurursanız, fişlərə axan hər hansı bir cərəyan alacaqsınızsa, bu qədər yüksək gərginlik istehsal etməlisiniz.

Əslində, evinizin bir fişində görünən gərginliklər olduqca dəyişkəndir. Bu, tellərdə, bağlayıcılarda, qoruyucularda, transformatorlarda və s. Müqavimətdə gərginliyin azalması ilə əlaqədardır. Hər yerdə müqavimət var. 11 kilovat (~ 50Amps) çəkən elektrikli duşu açarsanız, hətta 0.2ohms müqavimət sizə 10 volt düşəcək. İşıqların bir qədər zəiflədiyini görə bilərsiniz. Qaldıranlardakı kimi böyük mühərriklər, mühərrik sürətlənərkən böyük cərəyanlar çəkir. Buna görə işıqları yandıranda tez -tez yüngül bir titrəmə görürsən.

Demək istədiyim odur ki, şəbəkə gərginliyi daha dəyişkəndir. Burada İngiltərədə +10%/-6% dözümlülük ilə 230v olması nəzərdə tutulur. Yaxınlıqdakı böyük yüklərin açılması/sönməsi səbəbindən ani dəyişikliklər və dalğalanmalar gözləyə bilərsiniz. Çamaşır qurutma maşınları, su ısıtıcıları, sobalar, tıxaclar və s.

Sinusoidal - Siqnal gözəl bir təmiz sinus dalğası olmalıdır, amma əslində bəzi qeyri -xətti qurğular sinus dalğası dövrünün müəyyən nöqtələrindən gücünü alır. Bu təhrif gətirir və buna görə də siqnal mükəmməl bir sinus dalğası deyil. Xətti olmayan yüklərə ümumiyyətlə kompüterin enerji təchizatı, floresan işıqlar, şarj cihazları, televizorlar və s.

Total harmonik təhrif (THD) bunu dalğa formasında kəmiyyətləndirir. İnverterin çıxışının nə qədər təmiz olması ilə bağlı qaydalar var. Kifayət qədər təmiz bir siqnal verə bilmirsə, satış üçün təsdiqlənməyəcək. Bu vacibdir, çünki şəbəkədəki harmonik məzmun ona bağlı olan bəzi cihazların (xüsusən də tək harmoniklərin) səmərəliliyini azaldır. Hesab edirəm ki, icazə verilən maksimum THD 8% -dir

Aşağı empedans - Şəbəkə bağlayıcı çeviricisi haqqında düşünərkən bunu nəzərə almaq vacibdir. Şəbəkəyə induktiv, rezistiv və bəzən kapasitiv yüklər daxil olmaqla hər cür yük yüklənir. Beləliklə, empedans bilinmir və dəyişkəndir. Müqavimət çox kiçik bir məna daşıyır, əgər yüksək bir cərəyan yükü bağlasanız, gərginlik çox aşağı düşməz.

Addım 2: Gücə Necə Şəbəkəyə Girmə

Gücə Şəbəkəyə Necə Girməli
Gücə Şəbəkəyə Necə Girməli

Gücü şəbəkəyə ötürmək üçün şəbəkənin tezliyinə və fazasına tam uyğun gələn, lakin bir qədər yüksək olan bir gərginliyə malik bir siqnal sintez etməliyik.

Şəbəkənin aşağı müqaviməti səbəbindən bu gərginliyin nə qədər yüksək olacağını dəqiq bilmək çətindir. Və RMS gərginliyi dəyişdikcə onunla dalğalanmağımızı təmin etməliyik. Şəbəkə gərginliyindən bir qədər yüksək olan sabit 50Hz gərginlik siqnalı istehsal etmək işləməyəcək!

PI Çıxış axınının idarə edilməsi

Lazım olan şey, şəbəkəyə basdığımız ani cərəyanı ölçdüyümüz və istədiyimiz cərəyanı idarə etmək üçün avtomatik olaraq çıxış gərginliyimizi tənzimlədiyimiz bir nəzarət döngəsidir. Bu, çıxışımızı səmərəli olaraq aşağı empedansları idarə etmək üçün daha uyğun olan bir cərəyan mənbəyinə (gərginlik mənbəyinə) çevirəcəkdir. Bunu PI (Proportional Integral) nəzarət döngəsi istifadə edərək əldə edə bilərik:

PI nəzarət döngələri fantastikdir! Onların 3 hissəsi var:

  • Ölçülmüş dəyər - Şəbəkəyə qoyduğumuz cərəyan
  • Ayar nöqtəsi - Şəbəkəyə basmaq istədiyimiz cərəyan
  • Çıxış - Yaratmaq üçün siqnal gərginliyi

Hər dəfə PID alqoritmini çağırdığımız zaman ən son cari ölçmə və istədiyimiz nöqtəni keçirik. İsteğe bağlı bir ədəd qaytaracaq (yaratmaq üçün çıxış gərginliyinə mütənasib).

PID nəzarət alqoritmimiz istənilən anda istədiyimiz çıxış cərəyanını seçməyə imkan verir. 50Hz sinusoidal çıxış cərəyanı istehsal etmək üçün tələb olunan cərəyanı sinusoidal şəkildə davamlı olaraq dəyişməliyik.

PID alqoritmi hər 100us adlanır (50Hz dövrü üçün 200 dəfə). Hər dəfə çağırıldıqda, çıxış gərginliyinə birbaşa düzəlişlər edə bilər və dolayısı ilə çıxış cərəyanını dolayı olaraq tənzimləyə bilir. Nəticədə, hər 100usda bir hər addımda, şəkildəki kimi bir addımlı cərəyan çıxarırıq. Bu kifayət qədər qətnamə təmin edir.

Feedforward nəzarət

Bir feedforward nəzarətçi əlavə edərək PI nəzarətçisinin iş yükünü kütləvi şəkildə azalda bilərik. Bu asandır! Yaratmalı olduğumuz təxmini çıxış gərginliyini bilirik (ani şəbəkə gərginliyi ilə eyni). PI nəzarətçi sonra çıxış cərəyanını idarə etmək üçün lazım olan kiçik əlavə gərginliyi əlavə etmək üçün buraxıla bilər.

Öz -özünə ötürücü nəzarətçi, çeviricinin çıxış gərginliyini şəbəkənin gərginliyinə uyğunlaşdırır. Kifayət qədər yaxşı uyğunlaşsaq heç bir cərəyan axmamalıdır. Feedforward nəzarət, buna görə də çıxış nəzarətinin 99% -ni edir.

Şəbəkənin aşağı müqaviməti səbəbindən FF çıxış gərginliyimizdə və şəbəkə gərginliyimizdəki hər hansı bir fərq böyük bir cərəyana səbəb olacaqdır. Buna görə çevirici ilə şəbəkə arasında 1ohm tampon müqavimətini əlavə etdim. Bu, itkilər gətirir, amma böyük sxemdə olduqca kiçikdir.

Addım 3: PWM istifadə edərək Çıxış Gərginliyinin Yaradılması

PWM istifadə edərək Çıxış Gərginliyinin İstehsal Edilməsi
PWM istifadə edərək Çıxış Gərginliyinin İstehsal Edilməsi
PWM istifadə edərək Çıxış Gərginliyinin İstehsal Edilməsi
PWM istifadə edərək Çıxış Gərginliyinin İstehsal Edilməsi
PWM istifadə edərək Çıxış Gərginliyinin İstehsal Edilməsi
PWM istifadə edərək Çıxış Gərginliyinin İstehsal Edilməsi

Çıxış cərəyanını dolayı yolla idarə etsək də, hər an istehsal etdiyimiz bir çıxış gərginliyidir. Çıxış gərginliyimizi istehsal etmək üçün PWM (Pulse Width Modulation) istifadə edirik. PWM siqnalları mikrokontroller tərəfindən asanlıqla istehsal edilə bilər və H-Bridge istifadə edərək gücləndirilə bilər. Bunlar 2 parametr, F tezliyi və D dövrü ilə xarakterizə olunan sadə dalğa formalarıdır.

PWM dalğa forması 2 volt arasında dəyişir, bizim vəziyyətimizdə 0v və Vsupply

  • D = 1.0 ilə PWM dalğa forması Vsupply -də sadəcə DC -dir
  • D = 0.5 ilə, orta gərginliyi 0,5 x Vsupply olan bir kvadrat dalğa alırıq (yəni D x Vsupply)
  • D = 0.1 ilə, dövrü ortalama 0.1 x Vsupply olan impulslu dalğa forması alırıq
  • D = 0.0 ilə çıxış düz xəttdir (0v -də DC)

Orta gərginlik əsas şeydir. Aşağı keçid filtri ilə DC orta komponentindən başqa hər şeyi silə bilərik. Beləliklə, PWM iş dövrü D -ni dəyişdirərək istənilən DC gərginliyini istədiyimiz qədər edə bilərik. Şirin!

H-körpüsünün istismarı

H körpüsü 4 keçid elementindən ibarətdir. Bunlar BJT, MOSFET və ya IGBT ola bilər. Sinus dalğasının ilk yarısını (0 - 180 dərəcə) istehsal etmək üçün Q3 -ü söndürərək Q4 -ü yandıraraq (yəni D = 0 ilə PWM tətbiq etməklə) B fazasını aşağı səviyyəyə qoyduq. Daha sonra P mərhələsini A mərhələsində yerinə yetiririk. VAB -ın mənfi olduğu ikinci yarı üçün A fazasını aşağıya endiririk və PWM -ni B fazasına tətbiq edirik. Bu, bipolyar keçid kimi tanınır.

H körpüsündəki MOSFETlər bir qapı sürücüsü tərəfindən idarə olunmalıdır. Bu, öz mövzusudur, amma sadə bir çip onu həll edə bilər. DRV8301 inkişaf etdirmə lövhəsi, H-Körpüsünü, qapı sürücülərini və cari şantları rahat şəkildə yerləşdirir və bu layihəni çox asanlaşdırır.

Addım 4: Cərəyanı ölçmək

Cərəyanı ölçmək
Cərəyanı ölçmək
Cərəyanı ölçmək
Cərəyanı ölçmək
Cərəyanı ölçmək
Cərəyanı ölçmək

H-Körpünün hər ayağında şant rezistoru və diferensial gücləndirici var. Şantlarımız 0,01 ohm -dir və gücləndiricilərimiz 40 -a bərabərdir. Bu səbəbdən 1 Amp şant boyunca 10 mV inkişaf edir və sonradan 400 mV -ə qədər artırılır.

Şant gücləndiricilərinin çıxışları, davamlı çevrilmə rejimində çalışan STM32F407 üzərindəki 12 bitlik ADC -lər tərəfindən oxunur. ADC -lər, hər bir şantı 110KSPS -də nümunə götürmək üçün qurulmuşdur və DMA nəzarətçisi, dönüşümləri avtomatik olaraq RAM -da 11 sözdən ibarət dairəvi bir buferə yazır. Mövcud bir ölçmə istədikdə, bu 11 söz tamponunun orta dəyərini qaytaran bir funksiya çağırırıq.

Hər bir PID iterasiyasında (10KHz -də) cari ölçmələr tələb etdiyimizdən, lakin 11 kəlməlik ADC tamponlarımızı 110KHz sürətlə doldurduğumuz üçün hər PID iterasiyası ilə tamamilə yeni məlumatlar əldə etməliyik. Median filtrdən istifadə etmənin səbəbi, PWM keçidinin qarışığa sıçrayışlar gətirə bilməsi və median filtrlərin saxta ADC nümunələrini çox təsirli şəkildə yox etməsidir.

Burada vacib bir məqam: H-Körpünün hansı ayağından cari ölçülər üçün istifadə edirik? Yaxşı, hazırda hansı ayağımızın PWMing olduğumuzdan və hansının aşağı tutulduğundan asılıdır. Aşağı tutulan ayaq, cərəyan həmişə o tərəfdəki şunt rezistorundan axdığı üçün cərəyanızı ölçmək istədiyimiz ayaqdır. Müqayisə üçün, PWMed tərəfində, yüksək tərəfli MOSFET açıq və aşağı tərəfi söndürüldükdə, aşağı tərəfli şantdan heç bir cərəyan axmır. Beləliklə, çeviricinin çıxış polaritesinə əsaslanaraq cərəyanı ölçdüyümüz ayağı dəyişirik. Şəkildə bir müddət ərzində şönt gücləndiricilərindən birinin çıxışını aydın şəkildə görə bilərsiniz. Aydındır ki, hamar bir müddət ərzində oxumaq istəyirik.

Mövcud oxularımızı düzəltməyə kömək etmək üçün. STM32F407-də Digital-to-analog çeviricisini qurdum. Aldığım cari oxunuşları yazdım və çıxışı əhatə etdim. Bunu son görüntüdə görə bilərsiniz, mavi - çıxış tampon rezistorundakı gərginlikdir (yəni. Çıxış cərəyanı/1.1ohms) və qırmızı siqnal DAC çıxışımızdır.

Addım 5: Çıxış Süzgəci

Çıxışın Süzülməsi
Çıxışın Süzülməsi
Çıxışın Süzülməsi
Çıxışın Süzülməsi

Çıxış filtri dizaynın əsas hissəsidir. Bu xüsusiyyətlərə ehtiyacımız var:

  1. Bütün yüksək tezlikli keçidləri bloklayın, ancaq 50 Hz siqnal keçirin
  2. Aşağı itkilər
  3. Rezonans yaratmamaq üçün!
  4. Daxil olan cərəyanların və gərginliklərin öhdəsindən gəlmək

0 - V tədarük voltları arasında F, D dövrü D bir PWM siqnalının dördüncü transformasiyası: (D x Vsupply) + Əsas F tezliyində sinus dalğaları və bundan sonra harmoniklər

Bu parlaqdır! PWM siqnalını PWM əsasını və yuxarıdakı hər şeyi bloklayan aşağı keçid filtrindən keçirsək deməkdir. Yalnız DC gərginliyi termini ilə qalırıq. Vəzifə dövrünü dəyişdirərək, izah edildiyi kimi 0 - Vsupply arasında istədiyimiz gərginliyi asanlıqla istehsal edə bilərik.

Yuxarıda göstərilən istədiyiniz xüsusiyyətlərə əsasən çıxış filtrini dizayn edə bilərik. İtkilərin qarşısını almaq üçün minimum müqavimətlə hazırlanmış aşağı keçid filtrinə ehtiyacımız var. Buna görə yalnız induktor və kondansatörlərdən istifadə edirik. 1-2 KHz arasında bir rezonans tezliyi seçsək, bu tezliyə yaxın heç bir siqnal vurmadığımız üçün rezonansdan qaçınacağıq. Budur filtr dizaynımız. Çıxışımızı C1 üzərindəki gərginlik olaraq qəbul edirik.

L1 = L2 = 440uH, C1 = 8.4uF seçərək 1.85KHz rezonans tezliyini hesablayırıq. Bunlar da real komponent dəyərləridir.

İnduktorlarımızın gözlədiyimiz cərəyanlarla doymamağa başlamasını təmin etmək çox vacibdir. İstifadə etdiyim induktorlarda 3A doyma cərəyanı var. Bu, dövrəmizin çıxış gücünü məhdudlaşdıran amil olacaq. Kondansatörün gərginlik dərəcəsini də nəzərə almaq vacibdir. Bu vəziyyətdə çox aşındırıcı olan 450v keramika istifadə edirəm!

Bode sahəsi (bir az fərqli L/C dəyərləri üçün) LTspice istifadə edərək yaradılmışdır. Fərqli giriş tezliklərinə təsir edən zəifləməni bizə göstərir. 1.8 KHz -də rezonans tezliyini aydın görə bilərik. 50Hz siqnalının demək olar ki, heç bir qatqısı olmadığını göstərir, halbuki sizə deyə bilərəm ki, 45 KHz siqnal 54dB ilə zəifləyir!

Beləliklə, PWM daşıyıcı tezliyimizi ~ 45KHz olaraq seçək. Daha yüksək PWM daşıyıcı tezlikləri seçilərək filtr tezliyi daha yüksək ola bilər. Bu yaxşıdır, çünki L və C dəyərlərini daha kiçik edir. Bu daha kiçik və daha ucuz komponentlər deməkdir. İşin mənfi tərəfi odur ki, daha yüksək PWM keçid tezlikləri tranzistor açarlarına daha çox itki verir.

Addım 6: Mərhələ və tezliyi sinxronizasiya edin

Sinxronizasiya Fazası və Tezliyi
Sinxronizasiya Fazası və Tezliyi
Sinxronizasiya Fazası və Tezliyi
Sinxronizasiya Fazası və Tezliyi
Sinxronizasiya Fazası və Tezliyi
Sinxronizasiya Fazası və Tezliyi

Şəbəkə fazasına və tezliyinə sinxronizasiya etmək, bir şəbəkə bağlayıcı çevirici edir. Şəbəkə siqnalının dəqiq faza izlənməsinə nail olmaq üçün rəqəmsal PLL (Phase Locked Loop) tətbiqindən istifadə edirik. Bunu edirik:

  1. Şəbəkə gərginliyinin nümunəsi
  2. Yerli 50Hz sinusoidal bir siqnal istehsal edirik
  3. Yerli və yerli siqnal arasındakı fazanı müqayisə edin
  4. 2 siqnal arasındakı faz fərqi sıfıra qədər yerli siqnalın tezliyinin tənzimlənməsi

1) Şəbəkə gərginliyinin nümunəsi

Xətt gərginliyini oxumaq üçün 3 -cü ADC kanalını konfiqurasiya edirik. Bunu gördüyümüz kimi bir transformator kranını bölməklə əldə edirik. Bu, şəbəkə gərginliyini tam təmsil edən təxminən 1.65v arasında dəyişən ölçülü bir gərginlik təmin edir.

2) Yerli 50Hz sinusoidal siqnalın istehsalı Öz yerli 50Hz sinus dalğasının istehsalı asandır. 256 sinus dəyərindən ibarət bir axtarış cədvəli saxlayırıq. Simulyasiya edilmiş sinus dəyərimiz, cədvəldə tədricən dönən bir axtarış indeksi istifadə edərək asanlıqla əldə edilir.

50 Hz siqnalı əldə etmək üçün indeksimizi tam olaraq doğru nisbətdə artırmalıyıq. Yəni 256 x 50Hz = 12, 800/s. Bunu 168MHz tezlikli timer9 istifadə edərək edirik. 168MHz/12800 = 13125 saat işarə gözləyərək indeksimizi doğru nisbətdə addımlayacağıq.

3) Yerli siqnalımızla elektrik siqnalı arasındakı fazanı müqayisə etmək Bu sərin hissədir! Cos (wt) x sin (wt) məhsulunu 1 müddət ərzində inteqrasiya etsəniz, nəticə sıfırdır. Faz fərqi 90 dərəcədən başqa bir şeydirsə, sıfır olmayan bir rəqəm alırsınız. Riyazi olaraq:

İnteqral [Asin (t) x Bsin (t + φ)] = Ccos (φ)

Bu əladı! Şəbəkə siqnalını, günahı (ωt) yerli siqnalımızla, sin (⍵t + φ) ilə müqayisə etməyə və bir dəyər əldə etməyə imkan verir.

Bununla birlikdə həll edilməli olan bir problem var: Siqnallarımızın mərhələdə qalmasını istəyiriksə, Ccos (φ) müddətini maksimum saxlamaq üçün yerli tezliyimizi tənzimləməliyik. Bu çox yaxşı işləməyəcək və zəif izləmə əldə edəcəyik. Bunun səbəbi, ɑcos (φ) d/dφ φ = 0 -da 0 olmasıdır. Bu, Ccos (φ) termininin faza dəyişikliyi ilə çox dəyişməyəcəyi deməkdir. Bunun mənası varmı?

Nümunə götürülmüş şəbəkə siqnalını faza çevirməklə daha çox olardı ki, cos (ωt + φ) olsun. Sonra bizdə belə var:

İnteqral [Asin (t) Bcos (t + φ)] = Csin (φ)

90 dərəcə bir faza keçid təqdim etmək asandır, sadəcə şəbəkəmizdəki ADC gərginlik nümunələrini bir buferin bir ucuna daxil edirik və 90 dərəcə bir faza dəyişikliyinə uyğun gələn bir sıra nümunələri götürürük. Şəbəkə tezliyi 50Hz -dən çox dəyişmədiyindən sadə bir gecikmə texnikası mükəmməl işləyir.

İndi 90 dərəcə faza dəyişən şəbəkə siqnalımızı yerli siqnalımızla vururuq və son dövrdə (yəni son 256 dəyərdən artıq) məhsulun işlək bir inteqralını saxlayırıq.

2 siqnalın bir -birindən 90 dərəcə ayrı saxlanılması halında bildiyimiz nəticə sıfır olacaq. Bu fantastikdir, çünki şəbəkə siqnalına tətbiq etdiyimiz faza dəyişikliyini ləğv edir. Yalnız aydınlaşdırmaq üçün, inteqral termini maksimuma çatdırmaq əvəzinə sıfır saxlamağa çalışırıq və şəbəkə siqnalını mərhələli şəkildə dəyişirik. Bu 2 dəyişikliyin gətirdiyi 90 dərəcə faza dəyişikliyi bir -birini ləğv edir.

Beləliklə, Integral_Result <0 olsaydı, bilirik ki, yerli osilatör tezliyimizi elektrik şəbəkəsi ilə fazaya qaytarmaq üçün və ya əksinə artırmalıyıq.

4) Yerli siqnalın tezliyinin tənzimlənməsi Bu bit asandır. Sadəcə indeksimizdə artım arasındakı müddəti tənzimləyirik. Faza fərqini nə qədər tez düzəldə biləcəyimizi məhdudlaşdırırıq, əslində saxta ağcaqanadları süzürük. Bunu çox kiçik bir I müddəti olan bir PI nəzarətçisi istifadə edərək edirik.

Və bu qədər. Yerli sinus dalğa osilatörümüzü (çıxış cərəyanını təyin edən nöqtəni) şəbəkə gərginliyi ilə fazalı olaraq bağladıq. PLL alqoritmini tətbiq etdik və yuxu kimi işləyir!

Yerli osilatörümüzün tezliyini artırmaq, şəbəkə siqnalına qoyulan faza dəyişməsini də azaldır. Tezlik tənzimləməsini +/- 131 gənə (+/- ~ 1%) ilə məhdudlaşdırdığımız üçün faza dəyişməsini ən çox +/- 1 ° təsir edəcəyik. Mərhələlər sinxronizasiya edildikdə bunun heç bir əhəmiyyəti olmayacaq.

Teorik olaraq, şəbəkə tezliyi 0,5 Hz -dən çox sapsa, faz kilidimizi itirərik. Bunun səbəbi, yerli osilatör tezliyimizi nə qədər tənzimləyə biləcəyimizə dair məhdudiyyətimizdir. Ancaq şəbəkə sıradan çıxmayacağı təqdirdə bu olmayacaq. Ada əleyhinə qorumamız hər halda bu nöqtədə işə başlayacaq.

Siqnalları ofsetdən başlayaraq əlimizdən gələni etmək üçün başlanğıcda sıfır keçid algılaması həyata keçiririk.

Addım 7: Ada əleyhinə

Ada əleyhinə
Ada əleyhinə

Vikipediyada ada və ada əleyhinə texnika ilə bağlı möhtəşəm bir məqalə var. Bu, bu mövzuya gəldikdə insanların lazım olduğundan daha çox tısladıqlarını və çırpdıqlarını nəzərdə tutur. "Oh, öz şəbəkə çeviricinizi qura bilməzsiniz, birini öldürəcəksiniz və s."

Vikipediya məqaləsində daha yaxşı izah edildiyi kimi, birlikdə kifayət qədər qoruma təmin edən bir neçə təhlükəsizlik tədbiri tətbiq edirik (fikrimcə):

  1. Aşağı/Aşırı gərginlik
  2. Tez/az

Sadəcə nümunə götürülmüş şəbəkə gərginliyimizi analiz edərək bu vəziyyətləri aşkar edə bilərik. Bir şey köhnəlirsə, H körpüsünü söndürün və işlərin normala dönməsini gözləyin.

Tövsiyə: