Multimetr Meratronik V543 – interfejs do PC postscriptum do EdW 4-5/2018 |
|
errare humanum est Zacznę nietypowo, ponieważ tyle razy sprawdzane było i to nie żaden chochlik gazetowy tylko ślepota ma wtórna :( Przepraszam za niedogodności. post scriptum Dla porządku - materiały dodatkowe (dla obu części artykułu), oficjalnie pojawią się także na elportal.pl: ⇨ v543pc.zip Nawiązując do pierwszej części i celem uzupełnienia - trochę do poczytania w wolnej chwili na temat systemów pomiarowych do współpracy z którymi były przygotowane przyrządy serii V53x oraz V54x: ⇨ INFORMATYCZNY SYSTEM POMIAROWY MERATRONIK (BCPS_33460_1976_MERA---biuletyn-prze.pdf, str.40) ⇨ SYSTEM AUTOMATYCZNYCH POMIAROW WIELKOŚCI ELEKTRYCZNYCH "MERATRONIK" (BCPS_32948_1975_Biuletyn-MERA--R--14.pdf, str.12) Bliźniaczy materiał, powstały mocno na motywach artykułu dla EdW to post na forum Microgeek ⇨ Woltomierz panelowy Meratronik V628 - interface do komputera | cz.3, wykorzystałam przygotowane wcześniej oprogramowanie aczkolwiek ze względów formalnych rozwiązanie układowe musiało być inne. Teraz te dwa tematy mogą w końcu się tu spotkać i wzajemnie uzupełnić. galeria zdjęć z budowy przystawki czyli tradycyjny fotoplastikon, chronologicznie, od czasu do czasu komentarz. Tu w formie drobnej porady: jeżeli lutujemy druciki do złącza, które ma więcej niż dwa rzędy (DB50 ma trzy) to najlepiej zacząć uzbrajanie w przewody od [u]wewnętrznych[/u] pinów złącza, po zalutowaniu zewnętrznych do środkowego rządka jest masakrystycznie wręcz trudno się dostać. Lutowanie od spodu wymagało machnięcia rysunku-ściągawki co do czego idzie, bez tego łatwo o pomyłkę, tym bardziej że często pinout kostki `ma się w głowie` ale z widoku od góry (top view, tak malujemy płytki), odruchowo, z rozpędu można popłynąć że hej... Każdy drucik jest osobnym, małym dramatem. Złącze odsunięte od płytki na słupkach dystansowych, ale laminat płytki deko cherlawy mi się trafił. Zatem, aby nic sie nie wykruszyło - pomiędzy słupek/nakrętkę M3 dołożone są małe podkładki, rozkładają nieco naprężenia przy manipulowaniu modułkiem na zadku V543, a proszę mi wierzyć - ze złączem DB50 trzeba się odrobinę posiłować. Choć to tylko model, to kondensatory blokujące zasilanie kostek obowiązkowo, trzymajmy jakiś poziom nawet na uniwersalce. Uwielbiam fotografować mojego cudnego neonowca i trzeba to jakoś znosić. Niedomaga mi cyferka jak widać, teraz po trójce to ósemkę zaczęło coś brać. Pierwsze walki z oprogramowaniem, wtedy jeszcze była koncepcja taka, że Arduino będzie obrabiało dane, pomysł porzuciłam przenosząc to zadanie na aplikacje w PC. Kontrola pracy interfejsu. Pierwsze eksperymenty z logowaniem danych i nauka, jak je obrabiać awk/gnuplot, ale to mega zabawa była! Maratonik pomiarowy, cały wieczór zbierania danych z MCP9700, to z lutego A tu z marca, półtorej doby Aktualna wersja v543daq z logowaniem surowych ramek, w folderze /data pliczki do wykresów temperatury i skrypty: ⇨ v543daq.zip odrobina samokrytyki Patrząc na pierwotny schemat interfejsu można mieć wrażenie pewnej rozrzutności, wykorzystane cztery kostki 74165, ale z czwartej aktywne tylko dwa bity, reszta wejść zwarta do masy. Jest to pewna niegospodarność, przyznaję, ale eliminacja jednej z kostek wymagałaby upchnięcia gdzieś kolanem dwóch wystających bitów /OVER i DC. Oczywiście można sobie wyobrazić pomocniczy układ kombinacyjny, który przykładowo trzy sygnalizacyjne bity luzem R/DC/AC sprowadzi do wartości dwubitowej. Podobnie z polaryzacją - skoro jest + no to nie może być naraz minus i obowiązuje to tylko dla trybu DC, kolejne uproszczenie. Ale skoro mamy już te cztery rejestry i finalnie sześć wolnych bitów wejściowych to można pokusić się o ich wykorzystanie jako swego rodzaju uniwersalnych wejść logicznych. Ich stan zostanie zebrany jak pozostałe bity danych z multimetru, w aplikacji na PC wystarczy tylko odpowiednio je zinterpretować i na przykład podjąć jakieś decyzje w programie. Najbanalniejszy przykład to obserwacja stanu przekaźników przełączających wejścia multimetru w układzie pomiarowym. Można w ten sposób mieć pomiar wielopunktowy, informacja co jest aktualnie mierzone będzie łatwo dostępna. Przykładowa ewolucja podstawowego schematu z EdW poniżej, wraz z detalami wejść. Warto użyć transoptorów typu LTV-354, mają już diody zabezpieczające led więc czy dla AC czy DC wystarczy im raptem rezystor ograniczający prąd led-a i nic już nie musimy robić, dość wygodne kostki. No i zauważmy - wejścia cyfrowe są galwanicznie rozłączne, można zapinać je na dowolnych potencjałach, oczywiście w granicach wytrzymałości transoptora. Sterowanie mamy w logice ujemnej - stan H na wejściu -> świeci -> stan L na wyjściu (fototranzystor nasycony), zatem w programie musimy odwrócić kota ogonem i zanegować tę zależność. Przykładowa modyfikacja metody ProcessV543Data() poniżej, na podstawie wartości zmiennych input1..3 możemy zrobić coś ciekawego, co nam akurat potrzeba. Gdy bitów brakuje - dołożenie kolejnych trzech jest tylko formalnością. procedure TMainForm.ProcessV543Data ( rawHex : string ); var raw : LongInt; reading, rangeId, modeId, polarity : integer; over, input1, input2, input3 : boolean; begin self.EditRawFrame.Text := RightStr ('00000000' + UpperCase( rawHex ), 8 ); raw := Hex2Dec( rawHex ); input3 = not odd(raw shr 31); // Q7 U4 input2 = not odd(raw shr 30); // Q6 U4 input1 = not odd(raw shr 29); // Q5 U4 reading := StrToInt( HexStr( (raw and $0001FFFF), 5 ) ); rangeId := (raw shr 17) and $07; modeId := (raw shr 22) and $07; polarity := (raw shr 20) and $03; over := not odd(raw shr 25); UpdateDisplay ( reading, modeId, rangeId, polarity, over ); end;fade away Jak łatwo zauważyć w EdW panują aktualnie arduinowe klimaty, ale interfejsik co przygotowałam można z powodzeniem zapiąć do dowolnego mikrokontrolera czy zestawu prototypowego. Mi osobiście cały czas chodzi po głowie jakby to działało z modułkiem Wemos D1 (oczywiście po dodaniu konwerterów poziomów logicznych). Można sobie wyobrazić implementację obsługi komend SCPI/LXI czyli coś co ma cukierkowy Rigol daleko nie szukając, bardzo fajna sprawa. Problemem drobnym pozostanie wtedy zasilanie, aktualnie interfejs żywi się z Arduino i jego USB, modułek WiFi no to trzeba by zasilać niezależnie lub skubnąć +5V z Meratronika. Na złączu DB50 są wolne, nieobsadzone piny, ale wyprowadzenie zasilania wymagać będzie drobnej (ale jednak) ingerencji we wnętrze mierniczka. No i zasilacz 5V z V543 nie ma zbytniego zapasu mocy, z dodatkowym poborem prądu trzeba uważać, aby miernikowi się nie oberwało niechcący. A na koniec oczywiście mój niemy świadek tych wszystkich tragikomicznych sytuacji, co on się tam nasłuchał i naoglądał przy okazji to już temat na inną zupełnie opowieść. #slowanawiatr, maj 2018 |