16-01-2021, 02:59
Bo ja na co dzień (no może na "co rok" bo nowe inwestycje nie są tak częste) programuję układy czasu rzeczywistego układy bezpieczeństwa i układy napędowe które z punktu widzenia ich przemysłowych użytkowników można uznać za "mission critical" i szczerze to mam tego trochę w życiu dość. I intencjonalnie nie ma tu kodu tylko "metal". Logika jest prosta i ta implementacja jest niezawodna. Choć złapałem się na jednym błędzie który był wynikiem nawyków z programowania sterowników PLC przeniesionych na hardware. Mianowicie w językach rodziny IEC61131-3 którymi się najczęściej posługuję działanie timera TON jest takie, że sygnał wyjściowy przyjmuje stan "TRUE" po upływie zaprogramowanego czasu a wraz ze zmianą sygnału wejściowego natychmiast wygnał wyjściowy zmienia się na "FALSE". No i zapomniałem że w fizyce tak nie ma i kondensator C56 potrzebuje realnego czasu na pozbycie się ładunku a nie w następnym takcie zegara napięcie na nim wynosi zero. Problem rozwiązałem kasując alternatywną możliwość uruchamiania TX stanem wysokim i wykorzystując U25 który był do tego przeznaczony (zmieniając uprzednio typ bramki) i tworząc układ do rozładowywania kondensatora i kilka centymetrów kynaru. Lubię te pojedyncze brameczki w tycich obudowach bo się świetnie projektuje PCB z nimi. Zresztą ja jestem inżynierem elektronikiem i zawsze ciągnęło wilka do lasu (hardware). Żeby dodać pikanterii, to ten projekt po wykonaniu 5 egzemplarzy na które są kupione części nie będzie kontynuowany, nie zrobię też drugiej rewizji PCB, bo płytka była dość droga. Zawiodłem się na osiągach a może mam za mało doświadczenia i wiedzy żeby wycisnąć z niego więcej? Następny będzie układ do sterowania wzmacniaczy na GaN, gdzie _być_może_ trafi mikrokontroler ale nic w 100% pewne nie jest
