Projektowanie oraz prototypowanie układów i urządzeń elektronicznych może być postrzegane przez praktyków jako proste, intuicyjne działanie, ale też jako bardzo złożony, wieloetapowy proces. W pierwszym z tych przypadków możemy mieć do czynienia zarówno z niewielkim doświadczeniem zaangażowanej osoby, jak i z ogromnym doświadczeniem praktycznym oraz wiedzą teoretyczną zespołu projektowego. W drugim wymienionym przypadku (złożony, wieloetapowy proces), także można mieć do czynienia z dwoma skrajnymi spojrzeniami: osoby mało doświadczonej i jeszcze nieco przerażonej możliwymi wyzwaniami projektowymi, ale także podmiotu o ogromnym doświadczeniu i bardzo profesjonalnym podejściu do postawionego zagadnienia.
Obiektywne spojrzenie na tak postawione zagadnienie zależy od wielu czynników – zarówno czysto technicznych, jak i komercyjnych, czysto biznesowych. Projektowi realizowanemu czysto hobbystyczne można wiele wybaczyć z uwagi na główne cele: trochę eksperymentalne, trochę rozwojowe. Zupełnie inaczej jest z projektami komercyjnymi, gdzie na ich twórcach spoczywa zwykle duża odpowiedzialność prawna i finansowa za wytworzony projekt i produkt końcowy. W szczególności, konsekwencje wszelkich wad (czy nawet pomniejszych niedociągnięć) końcowego produktu mogą kosztować utratę zaufania oraz szacunku do marki (a w konsekwencji utratę pozycji rynkowej). Mogą się z tym wiązać, także znaczne straty finansowe na skutek wysokich kosztów serwisowania czy ostatecznie utylizacji produktu.
W dalszej części artykułu podjęto próbę zmierzenia się z głównymi aspektami poruszonych zagadnień – jednak z pominięciem licznych aspektów roli oprogramowania, które same w sobie stanowią temat na osobny artykuł tematyczny, dedykowany gremium konstruktorskim.
Ogólne zasady projektowania
Ogólne zasady projektowania układów i urządzeń elektronicznych, są pełne licznych szczegółów, kryteriów (często wzajemnie sprzecznych) oraz wymogów zupełnie niezwiązanych z tzw. „czystą myślą technologiczną”. Chodzi tu przede wszystkim o wspomniane wcześniej uwarunkowania komercyjne, wynikające z partykularnych oczekiwań docelowych adresatów tworzonych projektów. Z drugiej strony bagatelizowanie aspektów czysto technicznych na rzecz priorytetu dla aspektów biznesowych, także może okazać się zgubne w skutkach. Konsekwencje mogą dotyczyć kategorii czysto biznesowych, a konkretnie wymiarów: finansowego, prawnego czy PR (public relations – relacje publiczne, aspekty wizerunkowe).
Typowy, pełny cykl realizacji projektu układu czy urządzenia elektronicznego, ze szczególnym uwzględnieniem zadań samego projektowania i prototypowania powinien wyglądać tak, jak to ujęto w ramce. W pewnych wypadkach możliwe będzie pominięcie niektórych z opisanych etapów prac, w innych konieczne może okazać się wielokrotne powtórzenie wybranych działań, albo nawet zagnieżdżenie części z nich w innych – zwłaszcza, jeśli urządzenie docelowe ma modułową strukturę, a cały projekt musi zostać podzielony na podprojekty.
W przypadku prostych i niedrogich projektów urządzeń amatorskich, bardzo często pomijane są mało znaczące aspekty kosztowe, a wybierane rozwiązania bazują na już sprawdzonych i dostępnych solucjach. Z kolei w przypadku rozbudowanych konstrukcji warto jest podzielić projekt na mniejsze fragmenty – tak, aby uniknąć rozwiązywania zbyt wielu istotnych (ważnych i trudnych) problemów równocześnie. Oczywiście, takie podejście z kolei będzie implikowało konieczność zapewnienia interakcji i koordynacji pomiędzy poszczególnymi podprojektami oraz ujętymi w nich rozwiązaniami technicznymi.
W kolejnej części artykułu opisano praktyczny przykład zastosowania podanych powyżej ogólnych zasad projektowania układów i urządzeń elektronicznych. Przykład ten opracowano w odniesieniu do projektu modułowego odbiornika nasłuchowego „RX Dosia 80/40” prezentowanego w ciągu ostatnich niemal trzech lat na łamach „Elektroniki Praktycznej”.
Praktyczny przykład realizacji prostego cyklu projektowego
Rozwinięcie podanych etapów cyklu projektowego podano w formie odniesień do poszczególnych punktów z powyższego ustępu.
Ad.1. Jako założenie wstępne przyjęto, że użytkownik końcowy odbiornika nasłuchowego jest mało lub średnio doświadczonym elektronikiem-amatorem. Założono także, że łączny koszt realizacji projektu nie powinien być zbyt wysoki i rozłożony w czasie. Przyjęto też, że konstrukcja urządzenia, choć niezbyt skomplikowana, to jednak nie powinna być trywialna i winna nieść ze sobą solidną porcję wiedzy praktycznej.
Ad.2. Jako optymalne rozwiązanie zdefiniowanego powyżej zadania konstruktorskiego przyjęto, że:
- konstrukcja powinna być modułowa, co pozwoli na podzielenie wyzwań, związanych z uruchomieniem urządzenia, na mniejsze fragmenty, oraz znacznie obniży i rozłoży w czasie koszty realizacji całej konstrukcji,
- odbiornik powinien być co najwyżej dwupasmowy (na podstawowe pasma 80 m oraz 40 m), co ułatwi jego strojenie, a także da największe szanse na realizację pierwszych, fonicznych nasłuchów w języku polskim,
- przy konstrukcji odbiornika powinna zostać zastosowana wyłącznie łatwo dostępna „przewlekana” technologia montażu THT,
- aby uniknąć potencjalnych zawiłości i trudności, związanych z filtracją jednowstęgową SSB (Single Side-Band) przyjęto, że zupełnie wystarczającym rozwiązaniem będzie implementacja odbiornika homodynowego DSB (Double Side-Band), tzn. z bezpośrednią przemianą częstotliwości do pasma podstawowego „audio”,
- konstrukcja powinna dostosowana do wskazanego typu obudowy, co zdejmie z osoby realizującej odpowiedzialność za samodzielny dobór odpowiednich rozwiązań w tym zakresie.
Ad.3. W ramach licznych rozwiązań technicznych wstępnie wybrano następujące:
- konstrukcja modułowa, składająca się z kilku modułów, pozwalających na ich niezależne: uruchomienie, testowanie, a także stosowanie w innych konstrukcjach,
- homodynowy odbiornik dwupasmowy na pasma 80m i 40m z w pełni półprzewodnikową komutacją pasm (bez przekaźników), co powinno ułatwić wykonanie, a także obniżyć koszty, zmniejszyć wymiary całkowite i dodać pewien walor edukacyjny,
- mieszacz cyfrowy, oparty o bardzo popularne, tanie i wciąż bardzo łatwo dostępne klucze analogowo-cyfrowe z serii 74HC4066. Odrzucono rozwiązania oparte o klasyczne mieszacze analogowe z serii: NE/SE 602/612 i podobne. Są to rozwiązania przestarzałe, mało odporne na przesterowania, coraz trudniej dostępne,
- prosty, analogowy generator VFO, dostarczający na wyjściu cyfrowego sygnału sterującego mieszaczem, skonstruowany z powszechnie dostępnych podzespołów – odrzucono rozwiązania oparte o klasyczne diody pojemnościowe (tzw. „warikapy”), których asortyment sprzedażowy na pasma krótkofalowe został praktycznie wyczerpany z uwagi na zmierzch epoki analogowych odbiorników radiowych na te pasma,
- scalony wzmacniacz audio, niskoszumny, stereofoniczny i dostosowany zarówno do pracy z głośnikami jak i z popularnymi słuchawkami,
- zaimplementowane w jak najprostszy sposób funkcjonalności: Automatycznej Regulacji Wzmocnienia ARW (AGC – Automatic Gain Control), pomiaru siły odbieranego sygnału (tzw. S-metra), cyfrowego pomiaru odbieranej częstotliwości (tzw. F-metra) oraz pamięci ustawień roboczych.
Ad.4. Etap tzw. „studium wykonalności” został ograniczony w tym przypadku do niezbędnego minimum, bowiem wybrane rozwiązania w znacznym stopniu bazowały na istniejących, już sprawdzonych i nieskomplikowanych koncepcjach technicznych. Jakkolwiek, przed przystąpieniem do realizacji projektu docelowego wykonano i przetestowano prototypy najbardziej krytycznych bloków funkcjonalnych. W zakresie projektu docelowego podjęto także decyzję o sposobie podziału projektu na moduły i o umieszczeniu całości urządzenia na wspólnej płycie podstawy. W zakresie produkcji seryjnej, magazynowania, dystrybucji i obsługi posprzedażowej urządzenia założono, że ta część procesu projektowego będzie oparta o klasyczne, sprawdzone rozwiązania, stosowane przez firmę zamawiającą.
Ad.5. W ramach wyboru rozwiązania docelowego dokonano podziału projektu na konkretne bloki funkcjonalne i realizujące je moduły. Ustalono też warunki zasilania całego urządzenia, a także wyznaczono ramy gabarytowe dla całej konstrukcji i jej poszczególnych modułów oraz wybrano konkretny model obudowy, dobrze dopasowany do zdefiniowanej wcześniej konstrukcji elektryczno-mechanicznej.
Ad.6. W trakcie realizacji projektu docelowego nie napotkano na trudności, które wymusiłyby powtórzenie któregokolwiek z etapów 1...5 cyklu projektowego, co zasadniczo dobrze świadczy o sposobie i jakości wcześniejszego przeprowadzenia wymienionych kroków.
Na fotografii 1 pokazano sposób realizacji podstawowych założeń projektu.
Worst Case Design
Określenie „Worst Case Design” oznacza projektowanie na najgorszy możliwy przypadek i jest jest swego rodzaju metastrategią postępowania przy projektowaniu układów i urządzeń elektronicznych na wielu etapach tych działań. Jest bezpośrednio powiązana z koncepcjami: „Worst-case circuit analysis” (analiza obwodów z uwzględnieniem najgorszego możliwego przypadku, http://bit.ly/3b9uPv2) oraz „Worst-case scenario” (najgorszy możliwy scenariusz, http://bit.ly/2vBxYEY). Nie wnikając zbytnio w jej wszelkie możliwe odmiany, warianty i ich praktyczne zastosowania w praktyce inżynierskiej, ekonomicznej czy choćby logistycznej, WCD w bezpośrednim odniesieniu do projektowania urządzeń i układów elektronicznych sprowadza się do:
- Uwzględnienia w realizowanym projekcie wszelkich możliwych odstępstw (tolerancji, dopuszczalnych marginesów) parametrów dla wszystkich stosowanych podzespołów, elementów i rozwiązań – ze szczególnym uwzględnieniem ich negatywnego wpływu na projekt układu.
- Uwzględnienia możliwych skutków wzajemnych interakcji wymienionych powyżej odstępstw.
- Doboru i zastosowania takiej koncepcji projektowej (np. poprzez wybór optymalnej topologii danego układu oraz wybór poszczególnych elementów), by opracowany projekt i produkt końcowy (także z uwzględnieniem aspektów wielkoseryjnej produkcji) charakteryzował się jakością jak najmniej uzależnioną od skutków wspomnianych tolerancji, albo przynajmniej jakością uzależnioną od wymienionych czynników w kontrolowany sposób.
Założenia teoretyczne tej metody wydają się proste i oczywiste, ale ich realizacja praktyczna może nie być łatwa i tak samo intuicyjna. W ramach realizacji wytycznych z punktu pierwszego, doświadczony, dobrze przygotowany do swojego zadania konstruktor z łatwością odnajdzie w kartach katalogowych planowanych do wykorzystania podzespołów wartości ich krytycznych w danym zastosowaniu parametrów oraz możliwe zakresy tolerancji w wybranych warunkach pracy (np. zakresie napięć zasilania, prądów roboczych czy temperatur pracy). W przypadku nie dość satysfakcjonujących właściwości należy szukać podzespołów o lepszych parametrach, co może jednak wiązać się z trudnościami w ich pozyskaniu i/lub podwyższonym kosztem zakupu.
Większe trudności zaczynają się w punkcie drugim, w którym ukryte są możliwe interakcje pomiędzy odstępstwami (rozrzutem) parametrów poszczególnych podzespołów. Najprostszym i zarazem najlepszym rozwiązaniem będzie oczywiście zastosowanie podzespołów o jak najmniejszym rozrzucie wartości krytycznych parametrów (podobnie, jak w odniesieniu do punktu 1.), ale nie zawsze będzie to możliwe z odpowiednim skutkiem. Wtedy z pomocą może przyjść sprawdzona meta-strategia optymalizacyjna (stosowana szeroko w różnych zagadnieniach optymalizacyjnych – nie tylko inżynierskich), znana pod potoczną nazwą „dziel i zwyciężaj”. Chodzi tu o podział układu (a więc i problemu projektowo-optymalizacyjnego) na mniejsze podproblemy, jak najmniej powiązane ze sobą parametrycznie (tzn. z minimalizacją wzajemnej interakcji w zakresie parametrów roboczych).
Niestety, w niektórych wypadkach takie podejście nie będzie możliwe wcale lub dalszy podział układu na mniejsze podukłady nie będzie wykonalny. Wówczas wkroczymy w obszar punktu trzeciego, gdzie trzeba będzie dobrać odpowiednie rozwiązanie układowe i sprawić, by rozrzut wartości krytycznych parametrów zastosowanych podzespołów nie pogorszył w znaczący sposób jego działania. Z pozoru prosta i intuicyjna metodyka działań projektowych, okazała się pełna złożonych uwarunkowań, ukrytych trudności i wzajemnych interakcji.
Analiza wrażliwościowa – podstawy i zastosowania
Wartości parametrów elementów i podzespołów, z których zbudowany jest praktycznie każdy układ elektroniczny, zwykle różnią się w pewnym stopniu od tych przyjętych przez konstruktora. Przy seryjnej produkcji układów elektronicznych, parametry poszczególnych egzemplarzy mogą ulegać nierzadko znacznemu rozrzutowi. Różnice będą wynikały przede wszystkim z tolerancji (odchyłek wartości) parametrów poszczególnych podzespołów, ale też i w pewnym stopniu z niedoskonałości zastosowanych procesów technologicznych, a także zestarzenia się elementów czy zmian klimatycznych. Można mówić wówczas o rozrzutach wartości parametrów układów elektronicznych. Rozrzuty te sprawiają, że parametry zewnętrzne układu elektronicznego (jak np. napięcia wyjściowe, wydajności prądowe, impedancje znamionowe, transmitancje w dziedzinie widma częstotliwości czy odpowiedzi czasowe) również będą odbiegały od tych założonych przez konstruktora.
Aby móc uwzględnić wpływ wymienionych zjawisk na parametry zewnętrzne układu, oblicza się wpływ niewielkich zmian wartości parametrów elementów na parametry zewnętrzne układu. Tą procedurę nazywamy „analizą wrażliwościową”. Z teoretycznego punktu widzenia opiera się ona na analitycznym opisie układu elektronicznego w formie złożonej funkcji wielu zmiennych (zazwyczaj silnie nieliniowej), obowiązującej dla danych warunków pracy układu (tzn. punktu pracy oraz częstotliwości w przypadku układów zmiennoprądowych). Do takiego analitycznego opisu układów stosowane są dość podstawowe metody analizy matematycznej (rachunku różniczkowego), a konkretnie rozwinięcie (przybliżenie) funkcji nieliniowej w otoczeniu danego zestawu wartości parametrów roboczych (nominalnych) w tzw. „szereg Taylor’a” (http://bit.ly/2IVo4RF), który przyjmuje postać wielomianu wielu zmiennych. Jeśli oznaczylibyśmy interesujący nas, badany parametr zewnętrzny układu literą k, a zestaw parametrów wewnętrznych układu, od wartości których zależy wartość k, wektorem x, gdzie:
to funkcja wyznaczająca wartość k (w ujęciu ogólnym – nieliniowa) miałaby postać:
Rozwijając zależność (2) na szereg Taylor’a wokół wartości x0 (nazywanych wartościami nominalnymi) otrzymujemy wyrażenie:
Dla niewielkich przyrostów:
można uwzględnić tylko dwa pierwsze składniki rozwinięcia (i pominąć pozostałe):
gdzie:
jest nazywane wrażliwością bezwzględną parametru k na wielkość xi. Stosowane bywają również definicje wrażliwości względnej:
oraz dwóch wrażliwości półwzględnych:
Wykorzystując wyrażenia (5) oraz (7) można napisać alternatywną zależność, opisującą zmianę wartości parametru k:
W praktyce, wyznaczanie rzeczywistych charakterystyk wrażliwościowych układów elektronicznych wykonuje się za pomocą oprogramowania przeznaczonego do komputerowej symulacji, np. z rodziny programów „SPICE” np „SPICE2” czy „PSPICE”. Często wykorzystuje się dwa dość podstawowe parametry: wrażliwość oraz wrażliwość znormalizowaną. Jeśli badanym parametrem byłby potencjał V(n), wyznaczony dla n-tego węzła w układzie, to jego wrażliwość względem parametru układu P (element sensitivity) będzie pochodną cząstkową potencjału węzłowego V(n) względem parametru P:
W programach symulacyjnych wykorzystuje się także tzw. „wrażliwość znormalizowaną” (normalized sensitivity), wyznaczaną względem 1-procentowej zmiany parametru P:
Warto wspomnieć o tym, że możliwe jest wykonanie podobnych analiz (oczywiście, za pomocą odpowiednio zmodyfikowanych zależności) zarówno dla parametrów o wartościach zespolonych, jak i dla tzw. wielkoprzyrostowych zmian wartości badanych parametrów (analiza „wrażliwości wielkoprzyrostowej”). Jakkolwiek, z racji znacznej złożoności i obszerności wspomnianych zagadnień, nie będą one szerzej omawiane w tej publikacji o charakterze przeglądowym. Prosty przykład zastosowania analizy wrażliwościowej do projektowania układów elektronicznych zostanie podany w dalszej części artykułu.
Analiza Monte Carlo – podstawy i zastosowania
Analiza Monte Carlo jest silnym narzędziem wspierającym analizę wpływu rozrzutu wartości wybranych parametrów układu elektronicznego. U jej podwalin leży statystyczne podejście do tego zagadnienia, oparte o cykliczne powtarzanie komputerowych symulacji całego układu przy każdorazowym, pseudolosowym modyfikowaniu tychże parametrów – jednak wyłącznie w zakresie założonych tolerancji.
Analizę tę wspiera wiele programów, przeznaczonych do symulacji układów elektronicznych, głównie tych opartych o silnik oprogramowania „SPICE”. W przypadku tego programu (i pokrewnych) możliwe jest modyfikowanie wszystkich parametrów, które daje się określić w ramach instrukcji „.MODEL”. Samą analizę Monte Carlo wywołuje się poleceniem „.MC”. Możliwe jest też zastosowanie modyfikatorów „DEV” oraz „LOT”.
Pierwszy z nich służy do określenia bezwzględnej lub procentowej tolerancji wybranego parametru, zdefiniowanego poleceniem „.MODEL”.
Natomiast drugi jest słowem kluczowym, za pomocą którego parametry wszystkich elementów, odwołujących się do tego samego polecenia „.MODEL”, w której to został podany modyfikowany parametr, zmieniają się jednocześnie. Analiza Monte Carlo zazwyczaj może być przeprowadzana w odniesieniu do analiz (symulacji): stałoprądowego punktu pracy, stałoprądowej, zmiennoprądowej (częstotliwościowej) oraz stanów nieustalonych (polecenia: „.OP”, „.DC”, „.AC” oraz „.TRAN”).
Więcej wyczerpujących informacji (i szczegółów dotyczących poszczególnych implementacji) na temat tej analizy można znaleźć w podręcznikach (pomocy technicznej) dla konkretnych programów symulacyjnych. W tym miejscu warto jednak podkreślić fakt, że wykonanie odpowiednio dużej liczby symulacji w ramach pojedynczej analizy Monte Carlo pozwala ocenić wpływ rozrzutu elementów na pracę danego układu a, w szczególności, interakcji występujących na skutek wystąpienia ich różnych kombinacji.
Komputerowe narzędzia wspomagające projektowanie
W wytwarzaniu układów elektronicznych, z racji ich coraz większej złożoności technologicznej i rozmiarowej, coraz szerzej stosuje się oprogramowanie z rodziny „CAE/CAD/CAM” (Computer Aided Engineering/Design/Manufacturing), wspierające projektowanie i realizację. Zakres zastosowania takich narzędzi jest ogromny, bo sięga nie tylko projektowania samych elementów i parametrów elektronicznych (w tym także płytek drukowanych „PCB”), ale również wszelkich aspektów konstrukcji mechanicznych czy sterowaniem zautomatyzowanym procesem produkcji.
Osobną dziedzinę stanowią zadania wytwarzania dedykowanego oprogramowania dla układów mikroprocesorowych oraz projektowania wewnętrznych struktur wszelkiego rodzaju układów scalonych (i wszelkich innych przyrządów półprzewodnikowych), jednak nie będą one szerzej poruszone w tej publikacji z racji obszerności i wysoce specjalistycznego charakteru. Skupimy się tu wyłącznie na wybiórczym przeglądzie bardzo szerokiej rodziny popularnego oprogramowania, przeznaczonego do projektowania układów oraz dedykowanych im płytek drukowanych „PCB” (Printed Circuit Board).
W zakresie projektowania układów elektronicznych kluczowe miejsce zajmują wszelkie programy, oparte w znacznej mierze o modele, mechanizmy symulacyjne oraz uproszczony język programu „SPICE” (w kilku swoich kolejnych wersjach), opracowywanego przez wiele lat na Berkeley University w U.S.A. Program ten ma nieocenione zasługi nie tylko w projektowaniu układów dyskretnych, zarówno analogowych, jak i cyfrowych, ale także (a może przede wszystkim) w projektowaniu struktur wewnętrznych układów scalonych. Do podstawowych typów symulacji, które można wykonywać tym programem należą przede wszystkim: analiza (symulacja) stałoprądowego punktu pracy (polecenie „.OP”), stałoprądowej (polecenie „.DC”), zmiennoprądowej (polecenie „.AC”), a także w dziedzinie czasu (polecenie „.TRAN”). Możliwe też jest opcjonalne wykonywanie analiz uzupełniających (jak wspomniane wcześniej analizy: wrażliwościowa czy Monte Carlo), bardzo przydatnych w rękach doświadczonych konstruktorów rozbudowanych układów.
Z dobrze znanych, sprawdzonych i wyposażonych w dogodny interfejs graficzny programów warto polecić programy PSPICE, TINA-TI SPICE, LTspice oraz ngspice. Program PSPICE zyskał szczególną popularność w latach 90-tych ubiegłego wieku z uwagi na powszechną dostępność darmowej wersji studenckiej, powszechnie stosowanej w celach akademickich, oraz na spore bogactwo dostępnych bibliotek elementów. Program TINA-TI SPICE (więcej informacji o nim jest dostępnych m.in. na stronach WWW: https://bit.ly/2WshRVg oraz https://bit.ly/3a6n7lu) jest kompleksowym środowiskiem do projektowania układów elektronicznych (z rozbudowanym modułem symulacyjnym), dostarczanym wraz z rozbudowaną biblioteką elementów przez uznaną na rynku firmę Texas Instruments.
Ciekawą alternatywę dla programów w pełni lub częściowo komercyjnych stanowią LTspice oraz ngspice, które są dostępne całkowicie za darmo, a są cenione za wysoką stabilność numeryczną i szybkość działania. Pierwszy z nich, rozwijany z woli uznanego na rynku producenta układów scalonych Linear Technologies, posiada bardzo prosty i łatwy do opanowania interfejs graficzny (rysunek 1), niezłą dokumentację techniczną (https://bit.ly/395aB4o, https://bit.ly/2U4OW86), jest dostarczany ze sporą biblioteką elementów i makromodeli, a jego najaktualniejszą wersję można pobrać ze strony producenta (http://bit.ly/2SORLHe).
Drugi z tych programów, całkowicie niekomercyjny, pierwotnie przeznaczony był wyłącznie do pracy w trybie tekstowym (rysunek 2), ale już od wielu lat jest dostępny z wystarczającym środowiskiem graficznym (rysunek 3), dostępny także dla platform Linux czy UNIX. Program ngspice wraz z licznymi przydatnymi informacjami, można pozyskać ze stron WWW: https://bit.ly/2UrrzV8 lub https://bit.ly/2J5M0la.
Tematyka artykułu nie pozwala na głębsze wniknięcie w niuanse komputerowej symulacji układów elektronicznych, jednak chciałbym wyjaśnić pewien mit. Wielu konstruktorów uważa narzędzia symulacyjne za całkowicie nieprzydatne w projektowaniu układów elektronicznych argumentując tym, że operują one na pewnych „uśrednionych” modelach podzespołów elektronicznych. Jest to całkowita prawda, jednak doświadczony konstruktor, o odpowiedniej wiedzy powinien mieć pełną świadomość tego, do którego momentu można zaufać takim modelom, a od którego należy w danej konkretnej symulacji uwzględnić także parametry pasożytnicze, niewidoczne na schemacie układu. Wtedy może wykonać dodatkowe analizy wrażliwościowe i/lub Monte Carlo, które pozwolą profesjonalnie uwzględnić wpływ rozrzutu wybranych parametrów zastosowanych elementów.
W zakresie projektowania płytek drukowanych, czyli tzw. PCB, wybór narzędzi komputerowych, przeznaczonych do ich projektowania, jest ogromny. Programy te różnią się między sobą zarówno paletą dostępnych opcji i funkcjonalności, jak i … ergonomią oraz wygodą obsługi. Jak nietrudno się domyśleć, narzędzia komercyjne zwykle są bardziej dopracowane i oferują więcej możliwości przydatnych w profesjonalnych i wymagających rozwiązaniach (np. projektowanie układów pracujących z bardzo wysokimi częstotliwościami).
Na drugim biegunie znajdują się narzędzia stosunkowo mało skomplikowane, umożliwiające pracę poprzez interfejs WWW i często nie dające nawet możliwości zapisu (zachowania) projektu w trwałej formie. Przysłowiowym „koniem trojańskim” wielu z tych narzędzi bywa funkcja tzw. „automatycznego router’a”, czyli mechanizmu przeznaczonego do automatycznego rozmieszczenia elementów i prowadzenia ścieżek na PCB, która okazuje się niejednokrotnie wielkim rozczarowaniem początkujących projektantów. Nie oferuje ona tak dopracowanych rozwiązań jakie doświadczony konstruktor jest w stanie wypracować „na piechotę”. Ilość potrzebnych ustawień oraz ręcznych poprawek po takim narzędziu zazwyczaj sprawia, że co prawda nabieramy znacznego doświadczenia w projektowaniu, ale ostatecznie rezygnujemy ze stosowania wspomnianego narzędzia na rzecz „ręcznych”, przemyślanych rozwiązań. Natomiast poprawnie zaimplementowane funkcjonalności, które „podpowiadają” możliwe prowadzenia, szerokości oraz kształty poszczególnych ścieżek należy uznać za potencjalnie bardzo cenne i praktycznie przydatne.
Trudno jest wymienić wszystkie znane i powszechnie dostępne programy do projektowania PCB. Jakkolwiek, wśród rozwiązań stosowanych przez profesjonalistów od lat nie da się chyba pominąć programów: PADS (https://bit.ly/2xfYe88, rysunki 4 i 5) oraz Altium Designer (https://bit.ly/399NEgl, rysunki 6 i 7).
Spore uznanie, także wśród amatorów – głównie z uwagi na stosunkowo nieskomplikowaną obsługę oraz dostępność darmowej wersji (jednak z ograniczeniem wymiarów projektowanej płytki drukowanej) zajmuje program Eagle (https://autode.sk/2Uo2eeR, rysunek 8).
Coraz większe uznanie, nie tylko wśród amatorów, zdobywa od lat program KiCAD (https://bit.ly/3bcvpbw, rysunki 9 i 10), który jest całkiem darmowy i nie posiada ograniczeń, a od momentu przejęcia jego rozwoju przez słynny szwajcarski ośrodek naukowy CERN zyskuje on niezmiennie i systematycznie na profesjonalizmie, ergonomii i praktycznej użyteczności oferowanych funkcjonalności.
Prototypowanie układów
Przygotowanie prototypu to zadanie mające na celu:
- sprawdzenie w praktyce tego, czy opracowany na drodze działań teoretycznych układ będzie prawidłowo działał w praktyce,
- wprowadzenie do projektu teoretycznego (i – najlepiej od razu – także do prototypu) konkretnych korekt lub ulepszeń.
Proces prototypowania może różnić się bardzo znacznie w zależności od przeznaczenia i złożoności układu. W przypadku prostych konstrukcji amatorskich nierzadko udany prototyp staje się od razu urządzeniem docelowym.
Najprostszą amatorską metodą prototypowania jest budowa tzw. pająka. Chociaż tak skonstruowane układy mogą działać (choćby w prostych celach eksperymentalnych), to z racji licznych potencjalnych problemów nie jest to polecana technika działania. Lepszym rozwiązaniem mogą być różnego rodzaju niedrogie uniwersalne płytki (fotografia 2), wyposażone w pola lutownicze pojedyncze i/lub połączone ze sobą w usystematyzowane ścieżki. Fotografia 3 ukazuje ambitniejsze i trwalsze rozwiązanie, w którym autor pokusił się o użycie płytki uniwersalnej.
Brakujące połączenia drukowane, niemożliwe do realizacji przez zalanie tzw. „kroplą cyny” musiały zostać wykonane za pomocą srebrzanki lub kynaru, czyli rodzaju cienkiego, izolowanego drutu, dość odpornego na wyginanie. Takie rozwiązanie może być uzasadnione w niektórych typach konstrukcji, jednak wciąż trudno nazwać je profesjonalnym i godnym polecenia przy konstrukcjach o większej skali.
Mniej doświadczonym konstruktorom można polecić rozwiązanie tzw. płytek stykowych (breadboard) jak na fotografii 3. Przeznaczone są do realizacji małej i średniej wielkości prototypów z elementami w technologii THT – końcówki elementów wciska się w dedykowane otwory, połączone ze sobą elektrycznie w pionowych i poziomych ciągach pod spodem płytki. Chociaż prototypowanie wydaje się bardzo szybkie, to ogromną wadą tego rozwiązania są niepewne połączenia wtykane, stające się coraz bardziej zawodne wraz ze starzeniem się i zużyciem takiej płytki stykowej.
W przypadku bardziej rozbudowanych konstrukcji, wykonalnych jedynie w technologii elementów SMD, praca wyłącznie z płytkami uniwersalnymi może okazać się bardzo mało efektywnym rozwiązaniem, a w układach pracujących z wysokimi częstotliwościami całkowicie niedopuszczalnym z powodu ryzyka potencjalnych zakłóceń czy sprzężeń. W takich sytuacjach jedynym rozwiązaniem jest zaprojektowanie dedykowanej płytki drukowanej SMD wraz z montażem (nie każdy projektant sprawnie radzi sobie z montażem SMD). Fotografia 5 pokazuje przykładowy prototyp z elementami SMD, wykonany na specjalnie zaprojektowanej płytce.
W wielu zastosowaniach projektów prototypowych (ale często także docelowych) sporą pomocą mogą okazać się różnego rodzaju gotowe moduły, za pomocą których podzespoły i większe układy w technologii SMD można sprowadzić do wygodniejszej w prototypowaniu technologii THT (fotografia 6). Znakomitym przykładem na przydatność tego typu rozwiązań są m.in. wszelkiego rodzaju moduły dostępne w ramach popularnej platformy Arduino i wszelkie podobne.
Na koniec należy stanowczo podkreślić, że zużyte płytki prototypowe, których praktyczna użyteczność w innych projektach jest mocno dyskusyjna, należy poddać odpowiedniej utylizacji.
Rodziny układów ASIC i PLD
Projektując zaawansowane układy, „szyte na miarę” potrzeb konkretnych, wymagających użytkowników, nie można zapomnieć o możliwości zastosowania układów scalonych, zrealizowanych w technologiach z rodzin ASIC (Application-Specific Integrated Circuit, specjalizowany układ scalony, zaprojektowany do realizacji z góry określonego zadania) oraz PLD (Programmable Logic Device, układ elektroniczny o programowalnej strukturze). Stanowią one istotne alternatywy dla rozwiązań, w których układy scalone, dostępne standardowo w katalogach producentów, nie mogą być użyte. Główne powody dla „ucieczki” w ich stronę, to zwykle zbyt mała szybkość działania lub wysoka unikalność (specyfika) zastosowań, w realizacji których rozwiązania „półkowe” słabo się sprawdzą. Inną przyczyną może być też chęć utajnienia przez zamawiającego taki układ, jego funkcjonalności oraz zastosowanych rozwiązań technicznych przed otwartym rynkiem komercyjnym, a także szeroko pojętą konkurencją (np. w grupie zastosowań militarnych czy związanych ze strategicznym bezpieczeństwem organizacji lub nawet państwa).
W klasycznych przypadkach układy z rodzin ASIC oraz PLD stanowią dobrą alternatywę dla zastosowań cyfrowych, w których nawet najszybsze mikroprocesory, sterowane programowo, lub układy złożone z wielu układów dostępnych w otwartej ofercie komercyjnej, okazałyby się zbyt wolne, a małoseryjna produkcja dedykowanych kości w standardowych, wielkoseryjnych procesach technologicznych, byłaby zbyt kosztowna i/lub zbyt długotrwała.
Ogromną zaletą specjalizowanego, dedykowanego układu scalonego ASIC jest to, że zwykle zastępuje on cały zestaw układów ogólnego przeznaczenia, dzięki czemu jest zazwyczaj tańszy, mniejszy, niezawodniejszy, mniej energochłonny i – nade wszystko – szybszy od „klasycznej” alternatywy. Zastosowanie pojedynczej kostki ASIC obniża też koszty związane z projektowaniem, produkcją, montażem i testowaniem znacznie większego rozmiarami układu, umieszczonego na płytce drukowanej. Układ scalony, mieszczący w jednej obudowie pełną funkcjonalność urządzenia, nazywany jest często układem SoC (System-On-a-Chip, system w jednej kości). Do wad specjalizowanych układów ASIC należy zaliczyć wysoki koszt opracowania, trudny do zamortyzowania przy produkcji małoseryjnej. Dodatkowo, czas opracowania i testowania takich układów jest wyższy od alternatywnych rozwiązań, a uniwersalność ich zastosowań, innych, niż nominalne, jest znikoma. Układy ASIC są dziś dość powszechnie stosowane, np. jako: układy sterujące telefonów komórkowych i komputerów, układy szybkiego cyfrowego przetwarzania sygnałów analogowych (w tym dźwięku i obrazu), układy szyfrujące i deszyfrujące, ale także jako układy wydobywające tzw. „kryptowaluty” (jedno z najnowszych zastosowań).
Do budowy prototypów układów ASIC oraz do ich małoseryjnej produkcji, zwykle stosuje się jedną z technik z rodziny układów PLD, które mogą zostać zaprogramowane tak, by działały jak dowolny układ cyfrowy - oczywiście, w granicach dostępnych zasobów niezaprogramowanego układu wyjściowego, którego graniczeniem jest ilość wewnętrznych elementów i możliwych połączeń między nimi. Układy PLD nie są programowalne w taki sposób jak mikroprocesory, które posiadają ustaloną strukturę wewnętrzną i sposób funkcjonowania. Układy PLD są zestawem bramek logicznych, których działanie zależy od sposobu ich połączenia. Do najpopularniejszych typów układów PLD należą: najstarsze historycznie i najprostsze układy SPLD (Simple Programmable Logic Device, proste programowalne układy logiczne) - w tym układy GAL, PAL, PLE, PLA, układy CPLD (Complex Programmable Logic Device, złożone programowalne układy logiczne) oraz układy FPGA (Field-Programmable Gate Array, macierz bramek programowalna bezpośrednio w urządzeniu docelowym). Strukturę układów PLD definiuje się za pomocą jednego z licznych języków opisu sprzętu HDL (Hardware Description Language, język opisu sprzętu), z których do najważniejszych można zaliczyć języki: Verilog oraz VHDL. Natomiast za podmioty, które włożyły największe zasługi do rozwoju szeroko pojętych układów PLD można uznać firmę ALTERA oraz XILINX.
Dokumentacja i testowanie
Tworząc jakikolwiek projekt nie należy zapominać, że jest to tylko krok w kierunku produktu końcowego. Szczęśliwe zakończenie projektu jest zwykle początkiem życia produktu końcowego, który z różnych powodów może a nawet powinien ewoluować – zarówno z powodu możliwych korekt błędów i celowych ulepszeń, jak i z powodu zmian oczekiwań klientów.
Zarówno z tych powodów jak i w związku z naturalnymi wymogami cyklu produkcyjnego, należy zapewnić należytą dokumentację każdego projektu. Oczywistymi jej elementami będą: generalne opisy charakterystyk technicznych i użytkowych produktu docelowego, schematy i rysunki techniczne, zestawienia elementów i podzespołów – wraz z kartami katalogowymi tych konkretnych wykonań i producentów, które zostały pozytywnie zwalidowane i zarekomendowane do zastosowania w produkcji, projekty płytek drukowanych (PCB), wszelkiego rodzaju wzorce użytkowe oraz szeroko pojęte projekty elementów estetycznych i wykończeniowych.
W poprawnie sporządzonej dokumentacji technicznej nie powinno zabraknąć także wszelkich spostrzeżeń, które pojawiły się na etapie testowania prototypów oraz pierwszych egzemplarzy produkcyjnych a także wskazówek co do tego, jakie zmiany warto wprowadzić w kolejnych wersjach projektu i jak należy prowadzić proces produkcji i testowania.
Wobec znacznej obszerności i złożoności tak zdefiniowanej dokumentacji technicznej oraz licznych współzależności pomiędzy jej elementami, obowiązkowo należy prowadzić usystematyzowane, elektroniczne repozytoria dokumentacji, które będą podlegały skrupulatnemu wersjonowaniu ich poszczególnych elementów – np. z zastosowaniem popularnego systemu „GITHUB”. Dla rozpoczynających przygodę w tej dziedzinie niezłymi wzorcami mogą być repozytoria dokumentacji międzynarodowych organizacji technicznych z dużymi tradycjami – takimi, jak np. IEEE czy ETSI.
Osobnym zagadnieniem pozostaje testowanie urządzeń elektronicznych. W przypadku tanich i niezbyt skomplikowanych produktów „z niskiej półki sklepowej” może ono nie mieć miejsca w ogóle – jako jeden z elementów polityki cenowej (redukcja kosztów). W takiej sytuacji, gdy nabywca stwierdza niesprawność produktu – trafia on zwykle w najlepszym przypadku do utylizacji, a kupujący otrzymuje kolejny egzemplarz. Jedyny pożytek z tego podejścia może być taki, że informacja o zwrotach trafia do hurtownika, a od niego do producenta, co jest sygnałem do tego, by coś zmienić w procesie produkcji lub nawet w samym projekcie urządzenia.
W czasach, gdy królował ręczny montaż urządzeń, projektowanych w technologii THT, także proces testowania miał przebieg „ręczny” i sprowadzał się do najprostszych pomiarów potencjałów czy przebiegów napięć w punktach testowych. W przypadkach bardziej złożonych czy ważniejszych technicznie podzespołów (modułów) lub całych urządzeń (np. medycznych, przemysłowych, militarnych) do ich testowania dedykowane były specjalne stanowiska a poszczególne moduły testowano poprzez podłączenie ich do takich stanowisk dedykowanym złączem, do części którego podłączane było zasilanie i sygnały sterujące (testujące), a z innej odbierano i mierzono parametry (jakość) sygnałów wyjściowych. W technologii montażu ręcznego THT zazwyczaj liczono się z wadliwością bardziej złożonych modułów, sięgającą nawet do 5% pełnego wolumenu produkcji.
Sytuację diametralnie zmieniło masowe wprowadzenie montażu SMD. Tu zarówno proces produkcyjny jak i testowanie modułów i produktów ma zazwyczaj całkowicie zautomatyzowany przebieg, co jest uzasadnione tempem i skalą produkcji. Dzięki zastosowaniu automatycznego montażu SMD zarówno wadliwość produkcji jak i awaryjność produktów docelowych znacznie spadła (efekt eliminacji tzw. „czynnika ludzkiego” z tych procesów). Również samo testowanie zostało znacznie przyspieszone i uproszczone – głównie dlatego, że większość zaawansowanych produktów posiada wbudowane mechanizmy kontrolno-testowe, oparte o bardzo dziś już tanią technikę mikroprocesorową. Przy takim podejściu praktycznie zrezygnowano z procesu (dosłownie: wykluczono go z łańcucha życia produktu) serwisowania gwarancyjnego, sprowadzając go do wymiany całego produktu lub – co najwyżej, w uzasadnionych przypadkach – wybranych modułów.
Ww dzisiejszych czasach klasyczne procesy testowania i serwisowania „na piechotę” zostały zarezerwowane jedynie dla bardzo drogich urządzeń z „najwyższej możliwej półki” (głównie wysoce specjalistycznych urządzeń laboratoryjnych), których cykl produkcji i tak wymaga przeprowadzenia „ręcznego” strojenia i regulacji, a sama produkcja nie jest bardzo wielkoseryjna (np. w porównaniu z urządzeniami RTV czy komputerowymi).
Podsumowanie
W artykule podjęto próbę zmierzenia się z bardzo obszernymi dziedzinami projektowania i prototypowania układów i urządzeń elektronicznych. Nie było możliwe w tak (z zasady) krótkiej publikacji wyczerpujące omówienie wszystkich istotnych aspektów z tych dziedzin, a niektóre z nich zostały celowo pominięte – jako tematy na osobne, większe publikacje. W ramach przeglądu wybranych aspektów projektowania i prototypowania przedstawiono też elementy systematyzacji tych procesów oraz przybliżono zastosowanie metod analitycznych w służbie komputerowego projektowania układów przeznaczonych do produkcji wielkoseryjnej.
Adam Sobczyk SQ5RWQ
sq5rwq@gmail.com