logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Konsultacja rozwiązania pomiaru napięcia oraz natężenia prądu

wilczyr 21 Maj 2025 10:25 798 29
REKLAMA
  • #1 21555750
    wilczyr
    Poziom 9  
    Posty: 10
    Cześć Wszystkim,



    Chciałbym skonfrontować pomysł budowy (jak w temacie) miernika. Głównym założeniem jest pomiar wartości RMS oraz THD napięcia oraz prądu.

    Cala idea polega na następujących krokach:

    *** Tor napięciowy ***

    1) Za pomocą transformatora obniżam napięcie do 12V.

    2) Stałą składową zostawiam na kondensatorze odsprzęgającym, następnie 12V AC za pomocą wzmacniacza odwracającego tłumię do wartości 1,5V RMS (dla fali sinusoidalnej ok. 2,13 Vp-p ?)

    3) Dokładam filtr dolnoprzepustowy (aktywny/pasywny?) w celu odcięcia sygnałów powyżej 4kHz.

    4) Następnie w celu przesuniecią sygnału używam wzmacniacza sumującego, tak aby napięcia znajdowały się w zakresie możliwym do zmierzenia przez adc - mcp3201.

    5) Wartości za pomocą SPI przesyłam do STM32, co ważne chciałbym realizować również równolegle pomiar w prądu, dlatego docelowo chciałbym użyć 2x SPI DMA z jedną linią CS.



    *** Tor prądowy ***

    1) Za pomocą cewki Rogowskiego z przekladnią 50A/50mA oraz wzmacniacza w konfiguracji prąd - napięcie otrzymuję wartości dU/dt, odpowiadające dI/dt.

    2) Sygnał następnie trafia do wzmacniacza sumującego w celu naniesienia offsetu.

    3) Filitr (pasywny/aktywny?).

    3) Sygnał trafia do drugiego przetwornika mcp3201.



    Transmisja SPI będzie zrealizowana za pomocą konwentera stanow logicznych z 5V na 3.3V.





    O pracę z napięciami siecowymi proszę się nie martwić, jestem świadom zagrożenia oraz odpowiednio przygotowany.

    Chcialbym zrealizować ten projekt jedynie w celach hobbystycznych - nauki poprzez doświadczenie elektroniki oraz programowania.

    Proszę o uwagi czy taka koncepcja jest poprawna, co należy zmienić lub uwzględnić, a może na nowo podejść do całego pomysłu i zrealizować go całkiem inaczej.

    Pozdrawiam
  • REKLAMA
  • #2 21555771
    pawlik118
    Poziom 34  
    Posty: 2422
    Pomógł: 202
    Ocena: 608
    Według mnie filtry można pominąć, gdyż wniosą one tylko błąd do wyniku.
    Co do pomiaru napięcia i prądu - może wystarczy zwykły dzielnik rezystorowy dla napięcia i pojedynczy rezystor równolegle do wyjścia przekładnika prądowego, na którym wydzieli się napięcie równe prądowi?

    W programie należy jak najszybciej odczytywać wartość ADC, a suma (wyników x czas pomiędzy próbkami) / przyjęty czas pomiaru da wynik true RMS?
  • REKLAMA
  • #3 21555792
    wilczyr
    Poziom 9  
    Posty: 10
    Zakładam, że wykorzystanie wzmacniaczy może się opłacić pod względem obniżenia błędu pomiarowego.
    Pierwsza koncepcja opierała się właśnie na rezystorach - dzielniku napięcia oraz rezystorze, z którego uzyskałbym napięcie na podstawie prądu z cewki Rogowskiego.

    Co do programu, koncepcja wygląda następująco:
    1. Timer generuje przerwanie co 50 µs. Podczas przerwania zostaje wyzwolony pomiar dwóch ADC dla osobnych torów pomiarowych.
    void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
    {
        if (htim->Instance == TIM3 && spi_dma_U_ready && spi_dma_T1_ready)
        {
        	spi_dma_U_ready = 0;
        	spi_dma_T1_ready = 0;
        	MCP3201_L1_LOW();
        	if (L1_U_Flag && L1_I_Flag)
        	{
                HAL_SPI_TransmitReceive_DMA(&hspi1, spi_tx, MCP3201_U, 2);
                HAL_SPI_TransmitReceive_DMA(&hspi2, spi_tx, MCP3201_T1, 2);
        	}
        }
    }
    


    2. Odczytane zostaje 400 próbek napięcia oraz prądu na okres sygnału (20 ms). Częstotliwość próbkowania ma wynosić 20 kHz.
    3. W callbacku od ukończonej transmisji po SPI odpowiednio przesuwam bity, przepisuję do tablicy wartości z ADC. Wynikiem są dwie tablice 400-elementowe z wartościami chwilowymi przebiegów.
    void HAL_SPI_TxRxCpltCallback(SPI_HandleTypeDef *hspi)
    {
        if (hspi->Instance == SPI1)
        {
            MCP3201_L1_HIGH();
            uint16_t raw = ((MCP3201_U[0] << 8) | MCP3201_U[1]) >> 1;
            ADC_Raw_Value_U = raw & 0x0FFF;
            // Buforowanie próbek napięcia
            if (sample_index_U < SAMPLES)
            {
                samples_U[sample_index_U  ] = ADC_Raw_Value_U;
                if(sample_index_T1 == SAMPLES)
                {
              	  L1_U_Flag = 0;
                }
            }
            spi_dma_U_ready = 1;
        }
      }
    


    4. W dalszym procesie obliczam wartość RMS (ustawienie flagi L1_U_Flag = 1), być może moc, THD.

    Oprogramowanie jak na razie nie jest rozwijane.
    Docelowo i tak chciałbym to zrobić w LL lub bare-metal.

    Pozdrawiam
  • #4 21555832
    maciej_333
    Poziom 38  
    Posty: 4226
    Pomógł: 487
    Ocena: 1594
    Generalnie nie ma to wielkiego sensu. Poruszyłeś tak wiele zagadnień, że nie sposób tego opisać w kilku zdaniach. W zupełności można zastosować wewnętrzny ADC z STM32, który też ma rozdzielczość 12-bitów. Stosując równocześnie dwa przetworniki da się uzyskać próbki prądu i napięcia z identycznych chwil czasowych. Do tego całość jest wewnątrz STM32 i o wiele lepiej współgra z DMA i całą resztą.

    Proponowałbym zastosować przekładnik napięciowy (nie ten sam transformator jak do zasilania układu). Może być taki: Link. Uzyskasz z niego maksymalnie jakieś 2,26 Vpp. To już blisko do tego, co akceptuje STM32, czyli np. 3,3 Vpp. Starczy więc prosty filtr dolnoprzepustowy np. Sallen-Key'a. Przesunięcie poziomu to może być dzielnik napięciowy i kondensator. Powstaje bardzo prostu tor.

    Odnośnie toru prądowego będzie identycznie, tylko przekładnik prądowy. Może być np. taki: Link. Ma trochę małe pasmo, ale da się poszukać coś innego. Potem to samo, co powyżej.

    pawlik118 napisał:
    Według mnie filtry można pominąć, gdyż wniosą one tylko błąd do wyniku.

    Co z aliasingiem??? Trzeba tu zastosować jakiś chociaż prosty filtr choćby np. drugiego rzędu, ale i tak trzeba sporą fs. Alternatywnie trzeba będzie zastosować znaczną częstotliwość próbkowania, by rozwiązało się to "samo". Problem jest jednak dosyć skomplikowany. Twierdzenie o próbkowaniu tu nie wystarczy. Warto to poczytać: Link. Dobry przykład zaczyna się od strony 11.
  • #5 21555850
    pawlik118
    Poziom 34  
    Posty: 2422
    Pomógł: 202
    Ocena: 608
    Będzie jeszcze wiele innych problemów - jak np. THD, przesunięcia czasowe od innych przerwań. Niemniej jednak jak rozumiem jest o projekt mający na celu naukę elektroniki.
  • #6 21555873
    wilczyr
    Poziom 9  
    Posty: 10
    Chciałbym to zrealizować to "poza" STM32, jak wskazałem - wiąże się to z chęcią odświeżenia trochę wiedzy z zakresu elektroniki (po długim czasie przerwy).
    Jeżeli moja koncepcja się powiedzie, wówczas będę myślał o dalszym rozwoju projektu np. wyświetlacz, wyniki w chmurze, pomiar z 3 faz, obliczenia mocowe, THD.
    Dodatkowo posiadam już część elementów m.in. przekładnik prądowy - https://www.amazon.com/Precision-Current-Tran...mer-DL-CT08CHL18-XH2-54-2P/dp/B0D9Y9SMJW?th=1, transformator czy też ADC lub wzmacniacze.

    Początkowo można powiedzieć, przestraszyłem się przesunięć fazy w wartości napięcia oraz natężenia ze względu na multipleksowanie ADC w STM32 (F411 - 1x ADC z 16 kanałami bodajże).
    Zdaję sobie sprawę, że to i tak wystąpi w pewnym stopniu - zakładam, że wykorzystując dwa osobne ADC mogę jednak to zredukować.
    Przy 3 fazach koncepcja komunikacji pomiędzy uC a ADC zmieni się - 1 SPI na dwa przetworniki.

    Czy możesz mi powiedzieć, STM32 na wejściu dopuszcza sygnały maksymalne 3,3 V między szczytowe czy wartości skuteczne?
    Czy możesz w skrócie wytłumaczyć (jeżeli jest to możliwe), na czym polega różnica w pracy DMA z wewnętrznymi peryferiami, a DMA + SPI do zewnętrznego ADC.

    Co do częstotliwości badanego sygnału (napięcie, natężenie prądu sieciowe - 50 Hz), teoretycznie interesują mnie harmoniczne do 40-tej składowej napięcia (analogicznie robię również natężenie).
    Jest to uwzględnione w Rozporządzeniu Ministra Gospodarki z dnia 04.05.2007r. na temat szczegółowych warunków funkcjonowania systemu elektroenergetycznego.

    Według twierdzenia Shannona , sygnał ciągły może być odtworzony na podstawie próbek czyli jest próbkowany w prawidłowy sposób, tylko jeśli nie zawiera składowych o częstotliwościach większych niż połowa częstotliwości próbkowania. Niespełnienie tego warunku powoduje występowanie zjawiska aliasingu wprowadzającego duże błędy. Wyznaczanie współczynnika THD, zgodnie z normą PN-EN 61000, powinno opierać się na części widma do 40-tej harmonicznej.
    Zwiększenie częstotliwości próbkowania ponad dwukrotność częstotliwości 40-tej harmonicznej (czyli 2000Hz) powinno pozwolić na sprowadzenie błędów wynikających z aliasingu do pomijalnej wartości.
    Docelowo częstotliwość próbkowania miałaby byc 10-20 kHz.
    Jednak myślę, że nie zaszkodzi użcycia filtra dolnoprzepustowego (f graniczna ok. 4000 Hz).
  • #7 21555897
    maciej_333
    Poziom 38  
    Posty: 4226
    Pomógł: 487
    Ocena: 1594
    wilczyr napisał:
    Czy możesz mi powiedzieć, STM32 na wejściu dopuszcza sygnały maksymalne 3,3 V między szczytowe czy wartości skuteczne?

    Przykładowo dla STM32F407 i płytki Discovery zakres (full scale) to 0...3 V. Stąd po przesunięciu poziomu można podać właśnie 3 Vpp (międzyszczytowo). Dla innych STM32 to może być 0...3,3 V i wtedy można podać 3,3 Vpp.

    wilczyr napisał:
    Czy możesz w skrócie wytłumaczyć (jeżeli jest to możliwe), na czym polega różnica w pracy DMA z wewnętrznymi peryferiami, a DMA + SPI do zewnętrznego ADC.

    Jest taka, że zawsze wewnętrzny ADC da się lepiej dopasować do tego, co się robi. Zwyczajnie w STM32 masz nie bez powodu więcej niż jeden przetwornik ADC. Stąd możesz zastosować dwa i próbkować jednocześnie prąd i napięcie. Zatem nie będzie przesunięcia. Jeżeli stosujesz wewnętrzny multiplekser, DMA i tryb skanowania, to faktycznie przesunięcia mogą być spore. Jednak trzeba jeszcze pamiętać o różnych kwestiach związanych z ADC i jego konfiguracją np. ile cykli przyjmiesz na próbkowanie i dlaczego tyle. Ponadto STM32 nie obsługuje sprzętowo linii CS w SPI. Stąd dla wewnętrznego ADC masz prościej, bo możesz całkowicie sprzętowo odebrać te 400 próbek. Zatem zdarzenie od zapełnienia (lub połowicznego zapełnienia) bufora będzie, kiedy już jest tyle próbek ile trzeba. Nie będzie zabawy z tablicami, licznikami indeksów w tablicach itd.

    wilczyr napisał:
    Jednak myślę, że nie zaszkodzi użcycia filtra dolnoprzepustowego (f graniczna ok. 4000 Hz).

    Musiałby mieć więcej niż 4 kHz, bo tłumić zacznie już wcześniej.

    wilczyr napisał:
    Co do częstotliwości badanego sygnału (napięcie, natężenie prądu sieciowe - 50 Hz), teoretycznie interesują mnie harmoniczne do 40-tej składowej napięcia (analogicznie robię również natężenie).

    Jeżeli częstotliwość Nyquist'a ma być 2 kHz, to częstotliwość próbkowania powinna być większa niż 4 kHz. Proponowałbym rzędu 8 kHz, co dla STM32 nie będzie problemem. To w zupełności powinno wystarczyć.
  • #8 21555908
    wilczyr
    Poziom 9  
    Posty: 10
    Streszczając teraz większość informacji:
    1. Posiadam STM32 z jednym ADC 12-bitowym, z 16 kanałami (https://www.st.com/resource/en/datasheet/stm32f411ce.pdf)
    2. Częstotliwość próbkowania ok. 20 kHz na zewnętrznym ADC.
    3. Komunikacja SPI DMA, po przerwaniu z Timera.

    ad. 1) Czy koncepcja użycia zewnętrznych ADC w celu uniknięcia przesunięcia fazy napięcia i prądu jest poprawna? Unikam multipleksowania po kanałach.
    ad. 2) Ustalona częstotliwość próbkowania (20 kHz) nie wymusza użycia w układzie filtra dolnoprzepustowego w celu uniknięcia efektu aliasingu.
    ad. 3) Pozwoli na wykonywanie pomiarów w równych odstępach czasu. Później pomyślę o mechanizmie, który pozwoli mi na usunięcie efektu przesunięcia.

    Wiem, że do tego swoje dołoży narzut HAL-a. Jednak o software będę martwił się później, posiadając żywy organizm w postaci hardware.

    Proszę, mając na uwadze powyższe, o stwierdzenie, czy koncepcja, którą przedstawiłem na początku, jest spójna z zamierzonym celem.
  • #9 21555925
    maciej_333
    Poziom 38  
    Posty: 4226
    Pomógł: 487
    Ocena: 1594
    Jak widać STM32F411 ma tylko jeden ADC. Przykładowo STM42F407 ma trzy: Link. Stąd widać, że powinien być bardziej odpowiedni do takich zastosowań mikrokontroler.

    Podana koncepcja ma jakiś sens. Jednak:
    wilczyr napisał:
    1) Za pomocą transformatora obniżam napięcie do 12V.

    2) Stałą składową zostawiam na kondensatorze odsprzęgającym, następnie 12V AC za pomocą wzmacniacza odwracającego tłumię do wartości 1,5V RMS (dla fali sinusoidalnej ok. 2,13 Vp-p ?)

    Po transformatorze i tak nie będzie składowej stałej.

    Inny problem to przesunięcia fazowe w torze pomiarowym.

    wilczyr napisał:
    ad. 1) Czy koncepcja użycia zewnętrznych ADC w celu uniknięcia przesunięcia fazy napięcia i prądu jest poprawna? Unikam multipleksowania po kanałach.

    Jeżeli dać dwa przetworniki i wymusić jednoczesne próbkowanie, to tak. Jednak ten MCP3201 to bardzo prostu układ. Tutaj zegarem dla SAR jest sam zegar SPI. Próbkowanie rozpoczynane jest przez poziom niski linii CS, potem po 1,5 okresu zegara od tego będzie faktyczne próbkowanie. Zatem musiałbyś jednocześnie ściągać obie linie CS do masy i jednocześnie to odczytywać przez SPI, by nie było opóźnień. To wymagałoby dodatkowych sztuczek.

    wilczyr napisał:
    ad. 2) Ustalona częstotliwość próbkowania (20 kHz) nie wymusza użycia w układzie filtra dolnoprzepustowego w celu uniknięcia efektu aliasingu.

    Raczej tak, ale zależy to od widma analizowanych sygnałów.
  • #10 21556315
    wilczyr
    Poziom 9  
    Posty: 10
    Dziękuję Wam za rady.
    Postaram się na płytce stykowej zrealizować część pomiarową napięcia.
    Kondensator odsprzęgający wyrzucę, odpowiednio skonfiguruję człon kondycjonowania sygnału.
    Głównie właśnie o to mi chodziło – sprzętowe ściągnięcie linii CS do zera, odczyt po SPI DMA próbek, wpisanie ich do tablicy, dalsze operacje.
    Upieram się trochę przy tym rozwiązaniu ze względu na to, że posiadam już mikrokontroler.
  • Pomocny post
    #11 21556638
    janusz_k1
    Poziom 6  
    Posty: 11
    Pomógł: 1
    Ocena: 5
    wilczyr napisał:
    Jeżeli moja koncepcja się powiedzie, wówczas będę myślał o dalszym rozwoju projektu np. wyświetlacz, wyniki w chmurze, pomiar z 3 faz, obliczenia mocowe, THD.

    Wg mnie bez sensu jest to robić na procku, bo 3 fazy to 6 ADC, które muszą próbkować jednocześnie, żeby zminimalizować błędy. Nie do ogarnięcia na procku. Ja robię identyczny miernik na ADE7758, który to wszystko robi z odpowiednią dokładnością, a procek użyć do programowania go i czytania rejestrów.

    Schemat elektroniczny układu pomiarowego z układem ADE7758 oraz zasilaczem.
    Wizualizacja 3D płytki PCB z elementami elektronicznymi, w tym kondensatorami, rezystorami, złączami oraz dużym zielonym transformatorem.

    Dodano po 39 [minuty]:

    Będę dawał w tym tyg płytki do zrobienia u chińczyka, jesteś zainteresowany?
  • REKLAMA
  • #12 21556707
    wilczyr
    Poziom 9  
    Posty: 10
    Dzięki bardzo za wskazówki oraz propozycję płytek.
    Ze wskazówek skorzystam, płytki postaram się zrobić na własną rękę, ale mogę polecić JLCPCB, kiedyś korzystałem – byłem zadowolony.
    Pozdrawiam
  • Pomocny post
    #13 21556753
    CosteC
    Poziom 39  
    Posty: 5321
    Pomógł: 399
    Ocena: 1642
    SI-8641BB = 1 kV izolacji w urządzeniu bez uziemienia - nie za mało? Nawet na CAT II 300V?
    Zero ochrony przepięciowej,
    wilczyr napisał:
    Za pomocą transformatora obniżam napięcie do 12V.

    Czyli pomiar harmonicznych sieci zsumowanych ze zniekształceniami transformatora?
    wilczyr napisał:
    cewki Rogowskiego
    a całkowanie sygnału kto robi?
    pawlik118 napisał:
    Według mnie filtry można pominąć, gdyż wniosą one tylko błąd do wyniku.

    Za to mogą przeciwdziałać aliasingowi, bardzo dokuczliwemu w przypadku użycia cewek Rogowskiego, ale co tam Nyquist, Kotielnikow, Shannon to byli głupcy, nie warto się przejmować.

    Microchip ma dobre noty aplikacyjne pod liczniki energii. Warto poczytać.
  • #14 21556787
    wilczyr
    Poziom 9  
    Posty: 10
    Czy lepszą opcją będzie zastosowanie optoizolatora w torze pomiaru napięcia (np. HCNR200)? Najpierw obniżę napięcie na rezystorach, następnie podam napięcie na optoizolator. Później do układu, który zaproponował nasz przedmówca.
    Co do całkowania sygnału z cewki Rogowskiego - jestem świadomy potrzeby użycia integratora.
  • #15 21556791
    pawlik118
    Poziom 34  
    Posty: 2422
    Pomógł: 202
    Ocena: 608
    CosteC napisał:
    Za to mogą przeciwdziałać aliasingowi, bardzo dokuczliwemu w przypadku użycia cewek Rogowskiego, ale co tam Nyquist, Kotielnikow, Shannon to byli głupcy, nie warto się przejmować.


    W jaki sposób filtr sprzętowy miałby zmniejszać błąd z aliasingu?
  • #16 21556811
    CosteC
    Poziom 39  
    Posty: 5321
    Pomógł: 399
    Ocena: 1642
    pawlik118 napisał:
    CosteC napisał:
    Za to mogą przeciwdziałać aliasingowi, bardzo dokuczliwemu w przypadku użycia cewek Rogowskiego, ale co tam Nyquist, Kotielnikow, Shannon to byli głupcy, nie warto się przejmować.


    W jaki sposób filtr sprzętowy miałby zmniejszać błąd z aliasingu, skoro ten błąd nie wynika z hardwareu tylko z programu, a dokładniej nie-ciągłego całkowania? Fajnie jakbyś zamiast czepialskich odpowiedzi napisał także jakieś rozwiązanie.

    Nie jestem czepialski tylko ty demonstrujesz ignorancję. Rozwiązanie masz w każdej książce, każdym artykule o przetwarzaniu sygnałów.

    Aliasing jest problemem gdy próbkujemy sygnał o częstotliwościach wyższych od połowy częstotliwości próbkowania. Program nie ma nic do rzeczy i nic nie może poprawić. No ale jak już zauważyłem gardzisz zdobyczami nauki takimi jak twierdzenie o próbkowaniu które opracowali wspomnieni Panowie.

    Cewka Rogowskiego ma charakterystykę różniczkującą więc uwydatnia problemy związane z wyższymi częstotliwościami. Późniejsze całkowanie programowe nie usunie problemu ze sprzętem.
  • #17 21556814
    pawlik118
    Poziom 34  
    Posty: 2422
    Pomógł: 202
    Ocena: 608
    >>21556811
    Zadałeś 4 zaczepne pytania, nie udzielając żadnego odpowiedzi.
    Po prostu zapytałem, abyś wyjaśnił w jaki sposób filtr sprzętowy ma zmniejszyć błąd aliasingu (błąd programowy).
  • #18 21556923
    CosteC
    Poziom 39  
    Posty: 5321
    Pomógł: 399
    Ocena: 1642
    pawlik118 napisał:
    >>21556811
    Zadałeś 4 zaczepne pytania, nie udzielając żadnego odpowiedzi.
    Po prostu zapytałem, abyś wyjaśnił w jaki sposób filtr sprzętowy ma zmniejszyć błąd aliasingu (błąd programowy).

    Usiłuję przekazać, że błędy wynikające z aliasingu nie są "błędami programowymi". Są błędami wynikającymi z błędu w architekturze systemu. Wynika to bezpośrednio z twierdzenia o próbkowaniu. Brak filtru powoduje pojawianie się zaliasowanych wyższych składowych sygnału mierzonego i nie ma sposobu aby je odfiltrować "programowo".

    Filtr antyaliasingowy jest potrzebny zawsze, chyba, że jest pewność, że sygnał próbkowany nie zawiera składowych o częstotliwościach wyższych niż połowa częstotliwości próbkowania. Takie założenie jest trudno zrobić dla pomiarów napięcia sieciowego pełnego harmonicznych oraz zakłóceń RF.

    W praktyce filtr anyaliasingowy sprowadza się do odpowiedniego filtra dolnoprzepustowego przed przetwornikiem analog-cyfra.

    wilczyr napisał:
    ad. 1) Czy koncepcja użycia zewnętrznych ADC w celu uniknięcia przesunięcia fazy napięcia i prądu jest poprawna? Unikam multipleksowania po kanałach.

    Szału bez. Zobacz noty microchipa, mają przetworniki równolegle próbkujące w śmiesznych cenach. 4 lub 6 kanałów. MCP3904 chyba to był. To likwiduje ten problem w całości i upraszcza system. Analog devices pewnie też coś ma.
    wilczyr napisał:
    ad. 2) Ustalona częstotliwość próbkowania (20 kHz) nie wymusza użycia w układzie filtra dolnoprzepustowego w celu uniknięcia efektu aliasingu.

    Próbkowanie 20 kHz daje teoretyczne pasmo 10 kHz, w praktyce filtr dolnoprzepustowy ograniczy ci pasmo może do 3 kHz, zależy jak skomplikowany zrobisz, ile chcesz mieć realnej rozdzielczości i tak dalej. Jeśli jesteś fanem płaskiej ziemi (czytaj negowania twierdzenia o próbkowaniu albo ufania, że w sieci nie ma zakłóceń o paśmie > 10 kHz) to filtra antyaliasigowego możesz nie dawać. Kolega wyżej uważa, że inżynierowie z AD czy Microchipa się mylą bo dają filtry mimo szybszego próbkowania ( rzędu MHz!) Pewnie czytali jakiś naukowy bełkot zamiast zrobić na chłopski rozum.

    wilczyr napisał:
    ad. 3) Pozwoli na wykonywanie pomiarów w równych odstępach czasu. Później pomyślę o mechanizmie, który pozwoli mi na usunięcie efektu przesunięcia.

    Proponuję usunąć przesunięcie za kilka złotych i oszczędzić sobie tygodnie walki z kodem i sprzętem, bo poprawne, szybkie multipleksowanie nie jest tak proste jak wpisanie 0x0002 do jakiegoś rejestru.
  • #19 21556955
    wilczyr
    Poziom 9  
    Posty: 10
    Dziękuję za odpowiedź,
    Koncepcja układu zmieniła się, tak jak wspomniałem wyżej.
    Co do zawartości harmonicznych wyższych rzędów w napięciu sieciowym, zgadzam się z Tobą, zdaję sobie sprawę, że w sieci znajdują się sygnały o częstotliwościach dużo wyższych od typowych 50 Hz.
    Po prostu z racji mojej niewiedzy nie byłem przekonany o konieczności użycia filtra w przypadku zwiększenia częstotliwości próbkowania w celu uniknięcia nakładania się sygnałów.

    Z ciekawości rzucę jeszcze okiem na układy, które wspominałeś.
    Czy mogę prosić o odpowiedź na pytania, które zostały zadane wcześniej, tj.
    Zastosowanie dzielnika napięcia oraz optoizolacji w celu zapewnienia separacji galwanicznej układu.

    Przed samym układem próbkującym zastosuję filtr dolnoprzepustowy.
  • #21 21556980
    maciej_333
    Poziom 38  
    Posty: 4226
    Pomógł: 487
    Ocena: 1594
    @pawlik118 Nie masz pojęcia o czym piszesz. Aliasing można zmniejszyć analogowym filtrem dolnoprzepustowym przed przetwornikiem A/C, ale to jest trudniejsze zagadnienie, niż się wydaje. Twierdzenie o próbkowaniu nie daje odpowiedzi na pytanie jak należy próbkować tj. z jaką częstotliwością. Należy to traktować jako pewną wskazówkę i dolne ograniczenie. Generalnie częstotliwość próbkowania jest zawsze większa, niż to by wynikało z tego twierdzenia. Przykładowo dla telefonii analogowej pasmo to 300...3400 Hz, ale częstotliwość próbkowania to 8 kHz, nie zaś 6,8 kHz.
    Późniejszy programowy filtr cyfrowy nic tu nie da. Filtry cyfrowe dolnoprzepustowe stosuje się przed inną programową operacją, czyli decymacją.

    wilczyr napisał:
    Czy mogę prosić o odpowiedź na pytania, które zostały zadane wcześniej, tj.
    Zastosowanie dzielnika napięcia oraz optoizolacji w celu zapewnienia separacji galwanicznej układu.

    To nie jest takie proste. W tym HCNR200 masz jedną diodę LED i dwie fotodiody. Musiałbyś mieć izolowane galwanicznie zasilanie dla strony nadawczej tego układu. Ponadto należałoby przenieść dodatnie i ujemne napięcia wejściowe. To już będzie wymagać kolejnego układu tego typu. Jest to pokazane na rysunku 18: Link. Jak już iść w kierunku, to prościej dać coś w stylu ISO224: Link. Jednak najprościej będzie zostać przy przekładniku napięciowym. Z takimi układami można by zdecydowanie zwiększyć pasmo przenoszenia, ale po co?
  • #22 21556983
    janusz_k1
    Poziom 6  
    Posty: 11
    Pomógł: 1
    Ocena: 5
    CosteC napisał:
    Szału bez. Zobacz noty Microchipa, mają przetworniki równolegle próbkujące w śmiesznych cenach. 4 lub 6 kanałów. MCP3904 chyba to był.

    Taa, chyba, kup go albo zapodaj pdf-a, bo taki 'popularny' jest :( i nie po chińsku czy japońsku.
  • #23 21557012
    CosteC
    Poziom 39  
    Posty: 5321
    Pomógł: 399
    Ocena: 1642
    wilczyr napisał:
    Dziękuję za odpowiedź,
    Koncepcja układu zmieniła się, tak jak wspomniałem wyżej.
    Co do zawartości harmonicznych wyższych rzędów w napięciu sieciowym, zgadzam się z Tobą, zdaję sobie sprawę, że w sieci znajdują się sygnały o częstotliwościach dużo wyższych od typowych 50 Hz.
    Po prostu z racji mojej niewiedzy nie byłem przekonany o konieczności użycia filtra w przypadku zwiększenia częstotliwości próbkowania w celu uniknięcia nakładania się sygnałów.

    Z ciekawości rzucę jeszcze okiem na układy, które wspominałeś.
    Czy mogę prosić o odpowiedź na pytania, które zostały zadane wcześniej, tj.
    Zastosowanie dzielnika napięcia oraz optoizolacji w celu zapewnienia separacji galwanicznej układu.

    Przed samym układem próbkującym zastosuję filtr dolnoprzepustowy.


    Korzystaj z wiedzy już zdobytej. Np tu: https://www.microchip.com/en-us/product/MCP3903 (pomyliłem się w numerku)
    https://ww1.microchip.com/downloads/aemDocume...nts/OTH/ProductDocuments/Brochures/22277a.pdf

    Tutaj masz referencyjny projekt miernika energii elektrycznej: https://www.microchip.com/en-us/development-tool/mcp3905rd-pm1
    Odpowie na twoje pytania i na więcej.

    Optoizolacja - tak, inne metody izolacji też są OK, byle wytrzymywały odpowiednio wysokie napięcie. Do użytku w domowej sieci energetycznej proponowałby minimum 1.5 kV izolacji oraz uziemić stronę wtórną (tą z którą kontakt ma użytkownik)

    janusz_k1 napisał:
    SI8641BB-B-IS1 ma 2.5kV

    Rzeczywiście.
    janusz_k1 napisał:
    Przecież jest uziemienie PE, wystarczy popatrzyć na schemat.

    Nie widzę. Za to widzę 4 pinową wtyczkę J1 z pinem 1 podpiętym do "N" i pozostałymi trzema do faz.

    janusz_k1 napisał:
    CosteC napisał:
    Szału bez. Zobacz noty microchipa, mają przetworniki równolegle próbkujące w śmiesznych cenach. 4 lub 6 kanałów. MCP3904 chyba to był.

    Taa chyba, kup go albo zapodaj pdf-a bo taki 'popularny' jest :( i nie po chińsku czy japońsku.

    https://www.tme.eu/pl/details/mcp3903-e_ss/uklady-scalone-pozostale/microchip-technology/ 20 zł w TME. Cena chyba akceptowalna za 6 równocześnie próbkujących przetworników 24 bit z wstępnym filtrowaniem?
  • #24 21557059
    janusz_k1
    Poziom 6  
    Posty: 11
    Pomógł: 1
    Ocena: 5
    CosteC napisał:
    https://www.tme.eu/pl/details/mcp3903-e_ss/uklady-scalone-pozostale/microchip-technology/ 20 zł w TME. Cena chyba akceptowalna za 6 równocześnie próbkujących przetworników 24 bit z wstępnym filtrowaniem?

    Podawałeś inny numer. Poza tym to tylko ADC, nadal całą resztę musi robić na piechotę programowo, w AD rozwiązaniu ma wszystko na tacy.
    CosteC napisał:
    Nie widzę. Za to widzę 4-pinową wtyczkę J1 z pinem 1 podpiętym do "N" i pozostałymi trzema do faz.

    Bo jest osobno z prawej.
  • #25 21557068
    CosteC
    Poziom 39  
    Posty: 5321
    Pomógł: 399
    Ocena: 1642
    janusz_k1 napisał:
    CosteC napisał:
    https://www.tme.eu/pl/details/mcp3903-e_ss/uklady-scalone-pozostale/microchip-technology/ 20 zł w TME. Cena chyba akceptowalna za 6 równocześnie próbkujących przetworników 24 bit z wstępnym filtrowaniem?

    Podawałeś inny numer.

    Z "chyba" bo z pamięci, i jak widzę przeszukanie strony microchipa albo TME to było za wiele :)
    janusz_k1 napisał:
    Poza tym to tylko adc, nadal całą resztę musi robić na piechotę programowo, w ad rozwiązaniu ma wszystko na tacy.

    ADE7758 to 20 USD :) Trudno się czegoś nauczyć na tym chipie - sam liczy moc. Mniej fajnie jak nie chcesz robić dokładnie miernika mocy elektrycznej.

    janusz_k1 napisał:
    CosteC napisał:
    Nie widzę. Za to widzę 4 pinową wtyczkę J1 z pinem 1 podpiętym do "N" i pozostałymi trzema do faz.

    Bo jest osobno z prawej.

    Jest rzeczywiście. Dobrze ukryte w zasilaczu 5 VDC.
    Napięcia sieciowe mierzysz w odniesieniu do PE zamiast N. Ale zwierasz N z PE przez R7, R10 i C1. To dużego błędu nie wniesie, ale nie widzę też zalet.
  • #26 21557072
    janusz_k1
    Poziom 6  
    Posty: 11
    Pomógł: 1
    Ocena: 5
    CosteC napisał:
    Napięcia sieciowe mierzysz w odniesieniu do PE zamiast N. Ale zwierasz N z PE przez R7, R10 i C1. To dużego błędu nie wniesie, ale nie widzę też zalet.

    Ale producent widział, mierzy względem N, a nie PE. Pomiar na N tylko kompensuje fazę i coś tam jeszcze, wszystko jest w pdf-ie.
    CosteC napisał:
    ADE7758 to 20 USD. Trudno się czegoś nauczyć na tym chipie - sam liczy moc. Mniej fajnie, jak nie chcesz robić dokładnie miernika mocy elektrycznej.

    Bo to ma działać, nie ma czasu ani ochoty się z tym wozić.
    CosteC napisał:
    Z "chyba", bo z pamięci, i jak widzę przeszukanie strony Microchipa albo TME to było za wiele
    janusz_k1 napisał:

    Google szukało i nic nie znalazło, to tam kieruj pretensje, a nie do mnie.
  • REKLAMA
  • #27 21562318
    wilczyr
    Poziom 9  
    Posty: 10
    Cześć Wam,

    Wracam do tematu, tym razem operując już na schematach.

    Schemat blokowy filtrów dolnoprzepustowych opartych na wzmacniaczach operacyjnych z trzema torami sygnałowymi i sekcją zasilania.
    Schemat elektroniczny z trzema torami pomiarowymi napięcia i filtrowaniem dolnoprzepustowym, zbudowany z układów OP07 oraz kondensatorów i rezystorów.
    Schemat elektryczny zasilania i filtracji, zawierający transformatory, mostek prostowniczy, regulatory napięcia i kondensatory.
    Schemat blokowy układu pomiaru energii elektrycznej z wykorzystaniem ADE7758 i izolatora ADUM1401, z pokazanymi połączeniami zasilania, sygnałów oraz filtrami RC.

    Tor napięciowy jest zrealizowany na dzielniku napięcia, w wyniku którego z napięcia 325 Vpp otrzymuję 480 mV Vpp. Sygnał trafia na filtr dolnoprzepustowy. Korzystając z narzędzia Analog Filter Wizard (https://tools.analog.com/en/filterwizard/) otrzymałem następującą charakterystykę:

    Wykres charakterystyki amplitudowej filtru dolnoprzepustowego, przedstawiający tłumienie sygnału w funkcji częstotliwości od 1 kHz do 200 kHz.

    Odfiltrowany sygnał dochodzi do układu ADE7758.

    Podobna filtracja została zastosowana w torze pomiaru prądu (sygnał ok. 350 mV). Nie zastosowałem układu całkującego, układ ADE7758 z tego, co zauważyłem, posiada możliwość całkowania sygnału pochodzącego z cewki Rogowskiego.

    Zakładam zbieranie 400 próbek na okres sygnału oraz obliczanie THD do 40-tej harmonicznej. Daje nam to próbkowanie sygnału, którego wartość częstotliwości wynosi 2000 Hz. Kolejnym założeniem jest próbkowanie sygnału z częstotliwością do 26 kHz, co powinno przełożyć się na miarodajne odwzorowanie sygnału.

    Proszę Was o opinie odnośnie tej koncepcji.
    Obawiam się, czy układ filtrujący nie wprowadzi czasami zbytnio dużych zniekształceń badanych sygnałów.

    Pozdrawiam
  • #28 21562470
    jarek_lnx
    Poziom 43  
    Posty: 22639
    Pomógł: 4183
    Ocena: 6070
    ADE7758 nie potrzebuje filtrów czwartego rzędu, do układu wg poprzedniej koncepcji rozbudowane filtry były by potrzebne. Czytałeś dokumentację ADE7758 ?

    On się opiera na przetworniku sigma-delta, więc filtr pierwszego rzędu o częstotliwości granicznej 10kHz daje prawie 40dB tłumienia dla 833kHz (nie znalazłem wprost podanej tej częstotliwości ale domyślam się że to połowa częstotliwości próbkowania)

    Myślę że wystarczy filtr pierwszego rzędu jak proponuje producent, a jeśli w sieci są źródła zakłóceń w.cz. (komunikacja PLC, zasilacze nie spełniające obowiązkowych wymagań EMC) to dał bym filtr drugiego rzędu.
  • #29 21562495
    CosteC
    Poziom 39  
    Posty: 5321
    Pomógł: 399
    Ocena: 1642
    MCP3903 ma podobnie niskie wymagania odnośnie filtrów.
    Mam wątpliwości co do pomiarów napięcia sprzęgniętych AC.
    OP07 jest precyzyjny, ale nie jest szybki, czasem to może być problem. Pytanie też czy tak niskie offsety są potrzebne - mam wątpliwości. Z drugiej strony jakiś szczególnie drogi nie jest.

    Tak czy inaczej kopiowałbym z dokumentacji AD ile się da. Oni raczej się znają :)
  • #30 21562515
    wilczyr
    Poziom 9  
    Posty: 10
    CosteC napisał:
    Tak czy inaczej kopiowałbym z dokumentacji AD, ile się da. Oni raczej się znają :)


    Tak też zrobię, pozbędę się filtrów aktywnych, skopiuję z dokumentacji tyle, ile mogę :)

Podsumowanie tematu

✨ Dyskusja dotyczy projektu miernika do pomiaru wartości RMS oraz THD napięcia i prądu, z wykorzystaniem zewnętrznych przetworników ADC (MCP3201) i mikrokontrolera STM32 (głównie STM32F411). Autor planuje pomiar napięcia po transformatorze obniżającym, kondycjonowanie sygnału przez wzmacniacze i filtry dolnoprzepustowe, a następnie przesunięcie poziomu sygnału do zakresu ADC. W torze prądowym zastosowana ma być cewka Rogowskiego z integratorem. Dyskutowano o problemach przesunięć fazowych, aliasingu i konieczności stosowania filtrów antyaliasingowych, które są niezbędne do eliminacji zakłóceń o częstotliwościach powyżej połowy częstotliwości próbkowania. Wskazano, że programowe usuwanie aliasingu jest niemożliwe, a filtr dolnoprzepustowy powinien być stosowany przed ADC. Poruszono temat synchronizacji próbkowania napięcia i prądu, gdzie użycie dwóch zewnętrznych ADC z równoczesnym próbkowaniem jest trudne do realizacji ze względu na sterowanie linią CS w SPI. Zasugerowano rozważenie układów dedykowanych do pomiarów energii i mocy, takich jak ADE7758 lub MCP3903, które oferują równoległe próbkowanie i wbudowane funkcje filtracji oraz całkowania sygnału z cewki Rogowskiego. Autor ostatecznie zdecydował się na realizację toru napięciowego na dzielniku napięcia z filtrem dolnoprzepustowym i wykorzystanie układu ADE7758, który posiada wbudowany integrator i przetwornik sigma-delta, co redukuje potrzebę rozbudowanych filtrów. Dyskusja obejmowała także kwestie izolacji galwanicznej, gdzie rozważano zastosowanie optoizolatorów (np. HCNR200) oraz izolatorów cyfrowych (SI-8641BB). Podkreślono znaczenie odpowiedniej izolacji i uziemienia w układzie pomiarowym. Wskazano również na konieczność stosowania filtrów zgodnych z dokumentacją producentów układów pomiarowych oraz na ograniczenia mikrokontrolerów STM32 w kontekście liczby i synchronizacji kanałów ADC.
Wygenerowane przez model językowy.
REKLAMA