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

Pomiar mocy i energii Rigol DM3058E Labvie, python

korpala 06 Mar 2021 23:07 639 0
REKLAMA
  • Witam wszystkich
    Pomiar mocy i energii jest w miarę dobrze znany, jest sporo DIY układów pomiarowych no i samych mierników. Z tym że najczęściej dotyczy to znacznych mocy... powyżej 1W. Budując układy zasilana bateryjnie a jeszcze dodatkowo z zasilaniem typu hasvesty energy można mówić o mocach w mW. No i pojawi asie dynamika kilka sekund kilka wat a potem mili waty. Próbując ten problem rozwiązać, bazując na posiadanym sprzęcie, okazało się to małym problemem. Multimetr UNI-T UT71E owszem posiada przystawkę ale na 230V i chyba kW Posiadam między innymi też RIGOL DM3058E. Dobry multimetr ale w instrukcji ani słowa na temat pomiaru mocy...Ma natomiast możliwość pomiarów dwóch wielkości (2ND). Sam miernik nie potrafi z tym nic zrobić, oprócz wyświetlania, ale... po podłączeniu do komputera otwierają się szerokie możliwości, którymi chciałbym się podzielić.
    Multimetr RIGOL DM3058E po podłączeniu po USB obsługiwany może być między innymi przez VISA (https://pl.wikipedia.org/wiki/Virtual_Instrument_Software_Architecture)
    Po analizie dokumentacji https://www.batronix.com/pdf/Rigol/ProgrammingGuide/DM3058_ProgrammingGuide_EN.pdf
    stworzyłem program, który obsługuje miernik realizując pomiary długoczasowe, np. pojemność akumulatorów, energochłonność układów pomiarowych...
    Pierwsze podejście w Labview, - ze względu na raportowanie oraz integracje z innymi elementami.
    Drugie podejście w Pythonie - ze względu na stabilność :)
    Oczywiście temat jest trywialny, polega na wysłaniu kilku komend do miernika i odczytaniu odpowiedzi, ale,... nie znalazłem gotowca, więc się tym dzielę:)

    import pyvisa
    import time
    rm = pyvisa.ResourceManager()
    print(rm.list_resources()) # select the appropriate port and enter it below
    inst = rm.open_resource('USB0::0x1AB1::0x09C4::DM3R221100226::INSTR') # this is an example port from my resource
    print(inst.query("*IDN?"))


    #inst.write(":FUNCtion:VOLTage:DC") # ustawienie na 1 VDC
    print(inst.query(":FUNCtion?"))
    #inst.write(":FUNCtion2:CURRent:DC") # ustawienie na 2 VDC
    # the rest of the configuration in https://www.batronix.com/pdf/Rigol/ProgrammingGuide/DM3058_ProgrammingGuide_EN.pdf
    try:
    while True:
    dcvolt=float(inst.query(":FUNCtion2:VALUe1?"))

    dccur=float(inst.query(":FUNCtion2:VALUe2?"))

    print()
    print(" Voltage = ",dcvolt," Current = ",dccur, " power = ",dcvolt*dccur)
    time.sleep(1)

    except KeyboardInterrupt:
    print("Press Ctrl-C to terminate while statement")
    pass


    Pomiar mocy i energii Rigol DM3058E Labvie, python

    Fajne? Ranking DIY
    O autorze
    korpala
    Poziom 2  
    Offline 
    korpala napisał 3 postów o ocenie 2. Mieszka w mieście Kraków. Jest z nami od 2002 roku.
  • REKLAMA
REKLAMA