Program do exportowania danych z charakterystyk

Układy półprzewodnikowe pełniące ważne funkcje pomocnicze w układach lampowych.

Moderatorzy: gsmok, tszczesn, Romekd, Einherjer, OTLamp

Awatar użytkownika
TooL46_2
1875...2499 postów
1875...2499 postów
Posty: 2061
Rejestracja: ndz, 20 lipca 2008, 12:06
Lokalizacja: Seattle, WA

Program do exportowania danych z charakterystyk

Post autor: TooL46_2 »

Czolem,

Jako, ze jestem len i nie lubie recznie sie bawic w exportowanie danych z charakterystyk, napisalem sobie maly program do 'extrahowania' tychze. Program dziala sobie w Pythonie. Po krotce:

1. Ladujemy sobie charakterystyke (JPEG lub PNG).
1_load.png
2. Ustalamy 'rozdzielczosc' osi napiecia oraz pradu.
2a. Klikamy 'Annotate axes'.
2_a_annotate.png
2b. Rysujemy linie z punktu 0 do konca osi lub jakiegos punktu charakterystycznego na tejze (np. 3ma w przypadku 12AX7). W okienku ustalamy punkty: poczatkowy oraz koncowy. Po zaakceptowaniu tychze punktow -- na wykresie pojawia sie oznaczenia dla zweryfikowania, czy wszystko zostalo opisane jak nalezy.
2_b_annotate.png
Powtarzamy dla drugiej osi.

3a. Nastepnie, dla kazdej z linii na charakterystyce, zaczynamy z punktu '0' i malymi odcinkami rysujemy sobie linie ktora jak najblizej sie pokrywa z krzywa. Algorytm ponizej wykrywa najblizsze linie wiec tutaj nie musimy byc super dokladni ale im blizej linii -- tym mniej potencjalnych bledow algorytm moze wykonac... ;)
3_a_line.png
3b. Opisujemy sobie linie nadajac jej nazwe.
3_b_line.png
3c. Kiedy juz opiszemy linie -- wyestymowana linia jest wrysowana w wykres w kolorze niebieskim co bysmy wiedzieli, ktore linie juz opisalismy.
3_c_line.png
Procedure powtarzamy dla pozostalych linii.

4. Nastepnie, zanim zapiszemy dane, musimy nazwac nasza lampke i zdefiniowac rozdzielczosc dla napiecia. Po kliknieciu na 'Save Annotations' mozemy sobie wybrac folder w ktorym dane zostana zapisane; raz wybrany folder bedzie zapamietany dla calej sesji uzywania programu. Program eksportuje dwa pliki CSV: jeden z charakterystykami dla zdefiniowanej rozdzielczosci (w ponizszym przykladzie -- kazdy punkt bedzie wielokrotnoscia 10V) oraz 'high-res', gdzie kazdy pixel wraz z napieciem / pradem jest opisany.
4_a_save.png
4_b_save.png
Ostatecznie, pliki CSV mozna sobie wrzucic do Excela, stworzyc tabele przestawna (pivot table) i wyrysowac wykres. W nastepnym odcinku planuje dodac automatyczne generowanie modeli Spice.
5_chart.png
Niebawem bede troche podrozowal ale planuje opublikowac ten programik na Githubie wraz z opcja sciagniecia programu wykonywalnego dla Windows, Linux, oraz MacOSX; musze tylko kod troche posprzatac i znalezc chwile, by ustawic CI/CD pipeline na githubie.

Jakbyscie znalezli jakies wieksze 'byki' to: comment below :)
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Pozdr,
-Tomek Drabas
________
‎"One should not pursue goals that are easily achieved. One must develop an instinct for what one can just barely achieve through one's greatest efforts."
—Albert Einstein

tomdrabas.com
Einherjer
2500...3124 posty
2500...3124 posty
Posty: 2662
Rejestracja: pt, 22 stycznia 2010, 18:34
Lokalizacja: Wałbrzych

Re: Program do exportowania danych z charakterystyk

Post autor: Einherjer »

Jak to robisz w Pythonie, to po co Ci Excel do wykresów? Matplotlib zrobi to ładniej 8)
Awatar użytkownika
TooL46_2
1875...2499 postów
1875...2499 postów
Posty: 2061
Rejestracja: ndz, 20 lipca 2008, 12:06
Lokalizacja: Seattle, WA

Re: Program do exportowania danych z charakterystyk

Post autor: TooL46_2 »

Ja robie w Pythonie ale nie kazdy tak chce lub lubi :)
Pozdr,
-Tomek Drabas
________
‎"One should not pursue goals that are easily achieved. One must develop an instinct for what one can just barely achieve through one's greatest efforts."
—Albert Einstein

tomdrabas.com
Einherjer
2500...3124 posty
2500...3124 posty
Posty: 2662
Rejestracja: pt, 22 stycznia 2010, 18:34
Lokalizacja: Wałbrzych

Re: Program do exportowania danych z charakterystyk

Post autor: Einherjer »

Jakby wykresy się "same zrobiły" to wielu myślę by lubiło :lol:
Awatar użytkownika
TooL46_2
1875...2499 postów
1875...2499 postów
Posty: 2061
Rejestracja: ndz, 20 lipca 2008, 12:06
Lokalizacja: Seattle, WA

Re: Program do exportowania danych z charakterystyk

Post autor: TooL46_2 »

Alez oczywiscie mozna dodac :) Zerkam na razie na CI / CD w Github actions zeby zbudowac binarki na wszystkie platformy najpierw. Potem bedziemy dodawac wiecej. 8)

Jesli wiecej osob bedzie 'lubilo' to prosze o kolejne propozycje i pomalu bedziemy dodawac dodatkowe funkcjonalnosci.
Pozdr,
-Tomek Drabas
________
‎"One should not pursue goals that are easily achieved. One must develop an instinct for what one can just barely achieve through one's greatest efforts."
—Albert Einstein

tomdrabas.com
Einherjer
2500...3124 posty
2500...3124 posty
Posty: 2662
Rejestracja: pt, 22 stycznia 2010, 18:34
Lokalizacja: Wałbrzych

Re: Program do exportowania danych z charakterystyk

Post autor: Einherjer »

Jak upublicznisz projekt na githubie to spróbuję coś od siebie dorzucić w wolnej chwili.
Awatar użytkownika
TooL46_2
1875...2499 postów
1875...2499 postów
Posty: 2061
Rejestracja: ndz, 20 lipca 2008, 12:06
Lokalizacja: Seattle, WA

Re: Program do exportowania danych z charakterystyk

Post autor: TooL46_2 »

Jak najbardziej! :) Kod jest tutaj: https://github.com/drabastomek/vacu_graph. Troche mi zeszlo, by przekonac pyinstaller do poprawnego pakowania wielo-zrodlowej aplikacji, ale w koncu sie dalo.

By zbudowac, z glownego folderu:

Kod: Zaznacz cały

pyinstaller --onefile --windowed --name vacu_graph --paths=. vacu_graph/app.py 
Zbudowana aplikacja bedzie w folderze dist.
Pozdr,
-Tomek Drabas
________
‎"One should not pursue goals that are easily achieved. One must develop an instinct for what one can just barely achieve through one's greatest efforts."
—Albert Einstein

tomdrabas.com
Awatar użytkownika
TooL46_2
1875...2499 postów
1875...2499 postów
Posty: 2061
Rejestracja: ndz, 20 lipca 2008, 12:06
Lokalizacja: Seattle, WA

Re: Program do exportowania danych z charakterystyk

Post autor: TooL46_2 »

Wrocilem z wojazy i powracam powoli do projektu w wolnych chwilach.

Zauwazylem 'bug' gdzie jesli zaladujemy sobie maly obrazek -- to w pewnych warunkach glowne okno sie nie przeskalowywalo dokladnie i glupoty wychodzily. Poprawione.

Nastepne kroki:

1. Przeskalowanie zaldowanego obrazka tak, by gdzie rysujemy sie skalowalo. Teraz, gdy zaladowany obrazek jest za duzy i nie miesci sie na ekranie trzeba go przeskalowac poza programem.
2. Dodanie wykresow z matplotlib.
3. Dodanie menu i okna przy zapisie danych.
4. Estymacja modeli Spice.
Pozdr,
-Tomek Drabas
________
‎"One should not pursue goals that are easily achieved. One must develop an instinct for what one can just barely achieve through one's greatest efforts."
—Albert Einstein

tomdrabas.com
Awatar użytkownika
TooL46_2
1875...2499 postów
1875...2499 postów
Posty: 2061
Rejestracja: ndz, 20 lipca 2008, 12:06
Lokalizacja: Seattle, WA

Re: Program do exportowania danych z charakterystyk

Post autor: TooL46_2 »

Zapomnialem, ze rysowanie wykresow z punktu 2 dodalem wczesniej :)

Ostatnia aktualizacja -- przeszlismy z Qt5 do Qt6. Teraz troche pcham punkt 1 -- byc moze wieczorem mojego czasu skoncze.

@Einherjer: masz jakies doswiadczenie z Github Actions? Krew mnie juz zalewa lol
Pozdr,
-Tomek Drabas
________
‎"One should not pursue goals that are easily achieved. One must develop an instinct for what one can just barely achieve through one's greatest efforts."
—Albert Einstein

tomdrabas.com
slawekgaj3
100...124 posty
100...124 posty
Posty: 105
Rejestracja: wt, 18 listopada 2008, 21:26

Re: Program do exportowania danych z charakterystyk

Post autor: slawekgaj3 »

Dlaczego moderator nie reaguje na nie używanie polskich liter w tym wątku?
Żyjemy w kraju gdzie używa się liter ą, ę, ż, itp.
Awatar użytkownika
Romekd
moderator
Posty: 7077
Rejestracja: pt, 11 kwietnia 2003, 23:47
Lokalizacja: Zawiercie

Re: Program do exportowania danych z charakterystyk

Post autor: Romekd »

Czołem.
slawekgaj3 pisze: czw, 12 czerwca 2025, 07:53 Dlaczego moderator nie reaguje na nie używanie polskich liter w tym wątku?
Żyjemy w kraju gdzie używa się liter ą, ę, ż, itp.
Oczywiście świadome nieużywanie polskich liter jest na naszym Forum źle widziane, gdyż należy wykazywać odpowiednią staranność przy posługiwaniu się językiem polskim, jednak są od tej reguły pewne wyjątki, gdyż nie jest prawdą to co znalazło się w powyższej (i cytowanej przeze mnie) wypowiedzi. Nie każdy z naszych Użytkowników mieszka w Polsce i posługuje się spolszczoną wersją systemu operacyjnego, więc takie znaki nie są u niego dostępne i łatwe w użyciu!
Zresztą w opisie Kolegi jest wyraźnie zaznaczone z jakiego miejsca na świecie pisze on swoje posty.
TooL46_2.png
Proszę w przyszłości wykazywać większą czujność i chociaż odrobinę tolerancji dla osób piszących spoza Polski...

Pozdrawiam
Romek
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
α β Σ Φ  Ω  μ π °C ± √ ² < ≤ ≥ > ^ Δ − ∞ α β γ ρ . . . .
Einherjer
2500...3124 posty
2500...3124 posty
Posty: 2662
Rejestracja: pt, 22 stycznia 2010, 18:34
Lokalizacja: Wałbrzych

Re: Program do exportowania danych z charakterystyk

Post autor: Einherjer »

TooL46_2 pisze: śr, 11 czerwca 2025, 21:48 @Einherjer: masz jakies doswiadczenie z Github Actions? Krew mnie juz zalewa lol
Nie specjalnie, zwykle to ktoś robił dla mnie :lol: Z tego korzystasz? https://github.com/nektos/act
Awatar użytkownika
TooL46_2
1875...2499 postów
1875...2499 postów
Posty: 2061
Rejestracja: ndz, 20 lipca 2008, 12:06
Lokalizacja: Seattle, WA

Re: Program do exportowania danych z charakterystyk

Post autor: TooL46_2 »

Einherjer pisze: czw, 12 czerwca 2025, 09:04 Nie specjalnie, zwykle to ktoś robił dla mnie :lol:
Dammit... Fajnie masz :lol:
Einherjer pisze: czw, 12 czerwca 2025, 09:04 Z tego korzystasz? https://github.com/nektos/act
Ha! Zaraz bede korzystal! ;) W 'dziedzinie' CI/CD to mam znikle doswiadczenie...
Pozdr,
-Tomek Drabas
________
‎"One should not pursue goals that are easily achieved. One must develop an instinct for what one can just barely achieve through one's greatest efforts."
—Albert Einstein

tomdrabas.com
Awatar użytkownika
TooL46_2
1875...2499 postów
1875...2499 postów
Posty: 2061
Rejestracja: ndz, 20 lipca 2008, 12:06
Lokalizacja: Seattle, WA

Re: Program do exportowania danych z charakterystyk

Post autor: TooL46_2 »

Mini update :)

1. Przeskalowywanie wykresow: na chwile obecna kazdy zaladowany wykres bedzie proporcjonalnie skalowany do szerokosci 1600 pikseli. W przyszlosci planuje dodac konfiguracje gdzie bedzie sobie mozna zapisac rozne ustawienia i bedzie to mozna zmienic tamze.
2. Dodalem generowanie wykresow z gridlines i anotacja poszegolnych lini odpowiadajacym napieciom na siatce pierwszej.

Chyba nawet niezle to wyglada. Dodatkowo, chyba wyestymowane punkty odpowiadaja tym z wykresu calkiem niezle. Ponizej 6HS5.
6hs5.JPG
6HS5A-new.png
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Pozdr,
-Tomek Drabas
________
‎"One should not pursue goals that are easily achieved. One must develop an instinct for what one can just barely achieve through one's greatest efforts."
—Albert Einstein

tomdrabas.com
Einherjer
2500...3124 posty
2500...3124 posty
Posty: 2662
Rejestracja: pt, 22 stycznia 2010, 18:34
Lokalizacja: Wałbrzych

Re: Program do exportowania danych z charakterystyk

Post autor: Einherjer »

Rewelacja. Można by do tych wyestymowanych punktów dopasować wielomian i to plotować, będzie wtedy ładna linia bez zafalowań. Wielomian piątego stopnia zwykle pasuje bardzo dobrze.