Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

W miarę uniwersalny skrypt do obsługi DMM - logowanie zapadów napięcia

avatar 31 Dec 2017 14:40 2874 5
  • Witam, z racji świąt i większej ilości wolnego czasu postanowiłem zweryfikować napięcie sieciowe, jakie dostarcza operator. Pomijając mniej ciekawe szczegóły (przekroje przewodów i punkt pomiaru), do sieci na dłuższy czasu został podłączony woltomierz. Z racji braku dużych obciążeń w domu (ogrzewanie gazowe tak samo jak kuchnia) ewentualne zapady spowodowane odbiornikami są raczej pomijalne.

    Wyniki:
    Poniżej załączony wykres napięcia w czasie 30 000 sekund (około 8 godzin) od 18:30 do 3:30 25 grudnia . Jak widać – same góry i doliny – ciekawe, czy ktoś potrafi powiedzieć, że jest to standard czy jakiś ewenement ? Miejscowość w której znajduje się dom to stosunkowo szybko rozwijająca się wieś pod Gdańskiem.
    W miarę uniwersalny skrypt do obsługi DMM - logowanie zapadów napięcia
    Z tego, co wiem wartości, jakie udało się złapać, nie kwalifikują się do reklamacji, bo są jeszcze w normie.

    Oprogramowanie i sprzęt:
    Pomiaru dokonałem za pomocą multimetru firmy Rigol 5,5 cyfry oraz złącza RS232, jakie oferuje na tylnym panelu.
    Do odczytu wartości z miernika napisałem prosty skrypt w windowsowym Powershellu, który po drobnych modyfikacjach można dostosować do dowolnego typu miernika czy też innego urządzenia komunikującego się z komputerem za pomocą RS232. Jest to gotowe rozwiązanie, które zapewne przyda się wielu osobom, bo nie wymaga posiadania jakiegokolwiek specjalnego oprogramowania – zazwyczaj interpreter Powershella jest dostępny w każdym Windowsie od XP. Co ważniejsze wysyłamy bezpośrednio bajty! Więc nietypowe oraz białe znaki nie są dla tego skryptu problemem!
    Code:
    <# Rigol pomiar napięcia AC AC :MEASure:VOLTage:AC? #>
    
    Param(
    [string]$NazwaPliku
    )
    $NazwaPliku=$NazwaPliku | Foreach-Object {$_ -replace "`/","_"}
    echo $NazwaPliku
    Add-Type -AssemblyName System.speech
    $speak = New-Object System.Speech.Synthesis.SpeechSynthesizer
    echo("Program otwiera port COM10, loguje co 1 sekunde pomiar na napiecu AC i zapisuje w katalogu TEMP wartosci do CSV, praca przez xx godzin")
    $zapisywany2="sep=;"+"`n" <#Linijka przyjazna MSExcel#>
    $zapisywany2 | Set-Content C:\Temp\$($NazwaPliku+".csv")
    <#Otwieranie portu i wyslanie zapytania o odczyt#>
       $port= new-Object System.IO.Ports.SerialPort COM10,115200,None,8,one
       $port.open()
       $a = 1

    DO
    {   
       <#Wymagane przez rigol - komenda dla miernika Rigol wysyłana bajt po bajcie oraz CRLF #>
       [Byte[]] $request = 0x3a,0x4d,0x45,0x41,0x53,0x75,0x72,0x65,0x3a,0x56,0x4f,0x4c,0x54,0x61,0x67,0x65,0x3a,0x41,0x43,0x3f,0x0d,0x0a
       $port.Write($request, 0, $request.Count)   <#Zapisz komende do portu#>
       $obecny_czas=Get-Date -format T            <#Pobiereanie czasu ssytemowego#>
       Start-Sleep -s 1                     <# 1 sekunda #>
       $buffer=$port.ReadLine()               <#Odczyt danych z portu rs232#>
       $zapisywany2=$obecny_czas+";"+$buffer+";"   <#Składanie na piechote danych do zapisu#>
       $zapisywany2 | Add-Content C:\Temp\$($NazwaPliku+".csv") <#Append do pliku#>
    $a++

    "Zapis numer $a"

    } While ($a -le 30000) <#Ilosc zapisow#>
       
    $port.close()
    $speak.Speak("Koniec")
    $speak.Dispose()


    Z graficzną reprezentacją były drobne problemy – MS Excel jest w stanie poradzić sobie z plikiem, ale jest to bardzo powolny proces. Dlatego do graficznej reprezentacji polecam ciekawy i darmowy programik GnuPlot. Obsługa jest banalna – całe sterowanie odbywa się z linii komend. Program posiada bardzo wiele ciekawych opcji, ale tu już trzeba się wgłębić w instrukcję dla swojego przypadku. Skrypt, mam nadzieję, posiada wystarczającą ilość komentarzy, aby połapać się, co jest od czego. :) Zasadniczo skrypty Powershell posiadają rozszerzenie *.ps1 i tak należy zapisać zawartość okienka kod.
    Pozdrawiam.

    Cool! Ranking DIY
    Can you write similar article? Send message to me and you will get SD card 64GB.
    About Author
    avatar
    Level 35  
    Offline 
    Na "naszym" forum ważniejszy jest regulamin, badanie poprawności pisma i przestrzeganie tego regulaminu a nie jakieś tam posty.
    Has specialization in: serwonapędy, oswietlenie
    avatar wrote 3894 posts with rating 291, helped 146 times. Live in city NYC. Been with us since 2003 year.
  • #2
    lukashb
    Level 39  
    Witam! Mieszkam w Lublinie, również wykonałem taki sam pomiar kiedyś tylko innym sprzętem + dane na WWW szły. Niestety już tego niema. Ale do rzeczy.

    Wyniki wyszły zbliżone do Twoich, aż martwiłem się czy mój sprzęt źle mierzy? bo takie skoki i pływania, ale okazało się porównując z innym miernikiem, że jest zbliżone. W nocy 240V - 242V w dzień 230V. Zauważyć dało się moment uruchomienia lamp oświetlenia ulicznego w wykresie u mnie :) z trafostacji z której się zasilam (mam do niej 50 metrów, 2x trafo 400kVa) jest zasilana szafka oświetlenia ulicznego na spory obszar. Skok kilkuwoltowy zauważony. Tak samo uruchomienie windy, ale to wynika z przekroju przewodów bezpośrednio już. Czy to norma? uważam, że tak. Gdyby zapiąć amperomierz na szynach stacji uważam, że pomiar by szalał. Tyle osób ile jednocześnie odłącza urządzenia i dołącza, to amperomierz wskazuje raz tyle a tyle, te skoki napięcia o tym świadczą.
  • #3
    TechEkspert
    Editor
    Zjawisko ma pewnie charakter silnie lokalny, kiedyś robiłem eksperyment z pomiarem częstotliwości napięcia sieciowego przy okazji próbkując co 1000s napięcie sieciowe. Zauważyłem wahania napięcia noc/dzień oraz tydzień/weekend (w weekend napięcie niższe) ale transformator zasila dużo budynków mieszkalnych, w okolicy przemysłowej efekt pewnie byłby odwrotny.

    Ciekawe czy w opisanym przypadku zapady napięcia są skutkiem działania pojedynczego odbiorcy, czy też jest to suma wielu zdarzeń w lokalnej sieci...
  • #4
    ghost666
    Translator, editor
  • #5
    TechEkspert
    Editor
    Pewnie V na Y i s na X, w takim przypadku przydałby się pomiar w kilku miejscach sieci nN zasilonej z lokalnego transformatora, ciekawe czy byłaby korelacja spadków napięć.