Trójwymiarowy obraz płytki drukowanej w Eagle
Możliwość obejrzenia zmontowanego układu jeszcze przed wytworzeniem płytki drukowanej to bardzo przydatna opcja. Można dzięki niej ocenić gabaryty płytki, wykluczyć kolizje elementów, sprawdzić ich prawidłowe rozłożenie na płytce itp. Użytkownicy programu Eagle mogą stworzyć trójwymiarowy obraz projektowanego układu, dzięki dostępnym za darmo, zestawom skryptów.
Co będzie potrzebne?
- Eagle – program do tworzenia schematów oraz płytek PCB. Program można pobrać ze strony: www.cadsoft.de
- Eagle3D – wspomniany wcześniej zestaw skryptów do pobrania ze strony: www.matwei.de
- POV-Ray – darmowy program do renderowania obrazów na podstawie danych o ich położeniu w trójwymiarowej przestrzeni. Najnowsza wersja: www.povray.org
Instalacja programu Eagle nie jest skomplikowana, więc każdy z nią sobie poradzi. Podobnie jest z programem POV-Ray. Skrypty Eagle3D najlepiej zainstalować w katalogu ulp zainstalowanego wcześniej programu Eagle (nie jest to jednak wymóg).
Eagle3d
Generowanie pliku POV omówię na przykładzie płytki Freeduino pobranej ze strony: www.freeduino.org
Najpierw otwieramy projekt z płytką Freeduino w programie Eagle. Następnie w oknie z płytką uruchamiamy skrypt 3d41.ulp korzystając z opcji File->Run.

Eagle3D - krok 1
Po wywołaniu skryptu możemy ustawić różne parametry dotyczące generowanego obrazu. Zachęcam do samodzielnych eksperymentów. Dla przykładu wprowadzimy obrót w osi Y.

Eadle3D - krok 2
Po ustawieniu wszystkich opcji klikamy w przycisk create POV-File and Exit lub create POV-File. W zależności od tego jakie elementy znajdują się na płytce, wyświetlą się kolejne okienka z pytaniami o m.in. logo na układzie scalonym, wysokość rezonatora kwarcowego, kolor diod LED itp.

Eagle3D - krok 3

Eagle3D - krok 4

Eagle3D - krok 5
Gdy ustalimy już wszystkie parametry, zostanie wygenerowany plik z danymi o płytce. W tym momencie możemy przejść do programu POV-Ray.
POV-Ray
Pierwszą czynnością, jaką należy wykonać po uruchomieniu programu POV-Ray, jest dopisanie do jego pliku konfiguracyjnego informacji o lokalizacji potrzebnych nam plików z pakietu Eagle3D. W tym celu należy otworzyć plik POVRAY.INI z katalogu renderer programu POV-Ray (można skorzystać z opcji Tools->Edit master POVRAY.INI). Następnie na jego końcu należy dodać informację o ścieżce dostępu do plików – przykładowo:
Library_Path="d:\Programy\Eagle\ulp\Eagle3D\povray"
Teraz możemy już otworzyć plik wygenerowany w programie Eagle. Gdy to zrobimy, wciskamy przycisk Ini. W nowo otwartym okienku możemy określić rozdzielczość generowanego obrazu oraz to, czy ma być stosowany antyaliasing.

POV-Ray - krok 1
Po kliknięciu w Render pojawi się poniższe okienko. Nie należy się nim zbytnio przejmować i po prostu kliknąć OK.

POV-Ray - krok 2
Gdy klikniemy w OK rozpocznie się proces renderowania obrazu. Czas jego wykonywania jest zależny od wybranej rozdzielczości i trybu. Po chwili ujrzymy naszą płytkę.

POV-Ray - krok 3
Płytka została wygenerowana, ale brakuje na niej znacznej liczby elementów. Wynika to z braku informacji o danej obudowie w skryptach Eagle3D. Aby temu zaradzić, należy samodzielnie taką informację dodać.
Uzupełnianie brakujących elementów
Uzupełnianie należy rozpocząć od ściągnięcia biblioteki elementów 3D. Właściwie są to jedynie obrazki, jednak pomogą nam one w odnalezieniu odpowiedniej obudowy.
Następnie przechodzimy do okna ze schematem naszego projektu (w programie Eagle) i za pomocą opcji Info sprawdzamy symbol obudowy (Package) przypisany do interesującego nas elementu (brakującego w wyrenderowanym obrazie). Dla poniższego przypadku (stabilizator) jest to DPACK.
W bibliotece elementów wyszukujemy obraz, który jest najbliższy wyglądem do wyglądu naszego stabilizatora.
W tym przypadku jest to element o nazwie IC_SMD_DPAK_369C.
W tym momencie otwieramy pliki: user.inc z katalogu Eagle3D/povray oraz 3dusrpac.dat z katalogu Eagle3D (przeglądając pliki należy ustawić Pliki typu: na All Files (*.*)).
Standardowo oba pliki są puste.
W pliku 3dusrpac.dat, dodajemy linię:
PACKAGE_NAME:0:1:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:MACRO_NAME(::
PACKAGE_NAME zamieniamy na nazwę naszej obudowy, czyli DPACK natomiast MACRO_NAME na IC_SMD_DPAK_369C. Otrzymujemy więc:
DPACK:0:1:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:IC_SMD_DPAK_369C(::
Ostatnią czynnością jaką należy wykonać jest odnalezienie odpowiedniego wpisu w standardowych bibliotekach Eagle3D i przeniesienie go (z pewną modyfikacją) do pliku user.inc.
Plik, który musimy przeszukać to ic.inc (ponieważ nasz stabilizator to układ scalony). Znajdujemy w nim wpis:
#macro IC_SMD_DPAK_369C(value,logo) object{IC_SMD_GRND(6.1,6.5,2.2,11,2,0,4.5,0,0.8,0,0.5,0.1,0,4,0,1.5,1.0,0,logo)} #end
i przenosimy oraz modyfikujemy do user.inc:
#macro IC_SMD_DPAK_369C(value) union{ object{IC_SMD_GRND(6.1,6.5,2.2,11,2,0,4.5,0,0.8,0,0.5,0.1,0,4,0,1.5,1.0,0,"")} } #end
Operacje te powtarzamy dla wszystkich elementów. Na końcu ponownie generujemy plik dla programu POV-Ray (za pomocą skryptu 3d41.ulp) i uruchamiamy renderowanie obrazu. W wyniku otrzymujemy pełen obraz naszej płytki.

Rezultat
Niektóre elementy wymagają dodatkowych zabiegów (głównie odpowiedniego obrócenia i przesunięcia), aby pasowały do płytki. Aby tego dokonać należy zmodyfikować odpowiednie wartości w zapisie:
PACKAGE_NAME:0:1:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:MACRO_NAME(::
Znaczenie poszczególnych pól opisane jest na stronie projektu Eagle3D.
Pliki do pobrania:


