logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak tworzyć pliki Gerber RS274X w notatniku? Szukam materiałów wprowadzających

MES Mariusz 10 Gru 2015 11:05 2961 7
  • #1 15227221
    MES Mariusz
    Poziom 36  
    Witam.

    Szukam tutoriali / materiałów "miękko" wprowadzających w realia gerberów, na tyle, by samodzielnie móc "na szybkiego" w notatniku móc potem stworzyć np.:

    - warstwę miedzi - kwadrat o wymiarach 100 mm na 100 mm
    - w koordynatach (20,20) oraz (80,20) wstawić przelotkę: otwór 1 mm, pad 3 mm
    - połączyć przelotki ścieżką 1 mm

    Póki co znalazłem takie materiały:

    http://www.artwork.com/gerber/274x/rs274x.htm
    http://www.artwork.com/gerber/appl2.htm
    https://www.ucamco.com/files/downloads/file/81/the_gerber_file_format_specification.pdf

    Jeśli znacie coś godnego polecenia, podzielcie się materiałami proszę.

    Dziękuję i pozdrawiam.
    Mariusz
  • #2 15227436
    Kuniarz
    Moderator Projektowanie
    Pliki Gerber można generować z projektów w EAGLE - czy to nie będzie prostsze, niż z łapki pisać ? ;-)
    Pomogłem? Kup mi kawę.
  • #3 15228430
    MES Mariusz
    Poziom 36  
    Kuniarz napisał:
    Pliki Gerber można generować z projektów w EAGLE - czy to nie będzie prostsze, niż z łapki pisać ? ;-)


    Jasne, że się da. W każdym EDA się da ;-) Chodzi o to, by się w gerberach na tyle oblatać, że jak będziesz dziesiątki paczek gerberów dziennie obrabiać, to tylko zaglądasz do środka, patrzysz na nagłówek np. %FSLAX24Y24*% i wiesz od razu, że otwierasz, nie wiem CAM350, czy FAB3000, i od razu importujesz z prawidłowo ustawionym formatem, bo od razu czytasz, że to Leading Zeros Suppression, Absolute Coordinates format=2.4 i się nie musisz domyślać, zgadywać itd (często przy wczytywaniu owiertu (nie wszystkie EDA załączają narzędzia do pliku drill-a) i się domyślasz, formaty losujesz, aż trafisz. ;-)

    Swoją drogą FAB 3000 ( http://numerical-help-guide.s3.amazonaws.com/fab3000v7/FAB3000v7.pdf ) jest jak na razie najpotężniejszym narzędziem do fabrykacji gerberów i nie tylko. Potężne narzędzie DFM, generujące na prawdę przyzwoity i treściwy raport DFM, cała masa definiowalnych reguł, i na prawdę działa. Klasa. 1 klik, i wszędzie silkscreen z padów lutowniczych usunięty. Jeden klik i wszystkie warstwy zgrane ze sobą. Jeden klik, wybór rule check file dla danej technologii, klik i raport DFM w PDF dostajesz, kdzie masz wyplute wszystkie przekroczenia, które popełniłeś / klient popełnił. Wszystko dynamiczne, intuicyjne. Przy nim CAM350 to naprawdę słabe i stare "narządziątko". Taka trochę lepsza przeglądarka. Niby edytor, ale w porównaniu z FAB 3000, CAM 350 to taka lepsza przeglądarka ;-)

    Ale wracając do tematu, kilka EDA można rzeczywiście wykorzystać (KiCad, DesignSpark, Eagle) i pobawić się - narysować 2 przelotki połączone ścieżką na obszarze 100 x 100 na tych samych koordynatach z tym samym originem, i zobaczyć co się wygeneruje / porównać outputy. Dodawać coraz więcej i w ten sposób nauczyć się (praktycznie) konstrukcji gerberów, by później nie stanowiły żadnej tajemnicy (i płytki w notatniku poprawiać ;-).
  • #4 15228457
    Kuniarz
    Moderator Projektowanie
    MES Mariusz napisał:
    i płytki w notatniku poprawiać

    Ja tam jestem tolerancyjny, nawet dla masochistów ;-)
    Pomogłem? Kup mi kawę.
  • #5 15228473
    MES Mariusz
    Poziom 36  
    Kuniarz napisał:
    MES Mariusz napisał:
    i płytki w notatniku poprawiać

    Ja tam jestem tolerancyjny, nawet dla masochistów ;-)


    Sęk w tym, że twoje podejście dotyczy kogoś, kto tworzy layout. Ja stoję w tym momencie po tej drugiej stronie ;-). Po jednej stronie ktoś przygotowuje gerbery, po drugiej ktoś inny te gerbery obrabia, przygotowuje do produkcji. Dla jednych są outputem, dla innych inputem.
  • #6 15228546
    Kuniarz
    Moderator Projektowanie
    Mam częsty zawodowy kontakt z Satland'em i czasem dzwoni facet mówiąc, że tam coś zachodzi itp. Muszą mieć jakiś dobry soft do obróbki gerberów, bo wszelkie poprawki uzgodnione telefonicznie robią bez problemów.
    Co nie zmienia faktu, że po drugiej stronie barykady nie masz lekko ;-)
    Pomogłem? Kup mi kawę.
  • #7 15230095
    MES Mariusz
    Poziom 36  
    Jak pomyślałem, tak i zrobiłem. Za pomocą jednego z programów EDA narysowałem obrys 100 mm x 100 mm z originem w lewym dolnym rogu, w koordynatach 20,20 oraz 80,20 umieściłem przelotkę (średnica padu 1,2 mm, średnica otworu 0.5 mm). Połączyłem ścieżką o szerokości 1 mm. Wygenerowałem gerber.

    Odfiltrowałem zawartość ze śmieci (gerber dalej poprawnie się otwiera).

    Zawartość:

    %MOMM*%
    *
    %FSLAX35Y35*%
    *
    G04 PC Aperture Table*
    %ADD102C,0.0254*%
    %ADD103C,1.2*%
    %ADD104C,1*%
    *
    G54D102*
    G54D103*
    G01X60000Y60000D03*
    X6060000D03*
    G54D104*
    X60000D02*
    X6060000D01*
    X0Y0D02*
    M02*



    Rozkład na czynniki pierwsze:

    %MOMM*% - ustawienie jednostek na milimetry
    * - separator - zwiększa przejrzystość pliku, nie powoduje zmian
    %FSLAX35Y35*% - definicja formatu (Leading, Absolute, 3:5)
    G04 PC Aperture Table* - komentarz: początek tablicy apertur
    %ADD102C,0.0254*% - d-code 102, makro okręgu, średnica 0.0254 mm czyli 1 mils
    %ADD103C,1.2*% - d-code 103, makro okręgu, średnica 1.2 mm
    %ADD104C,1*% - d-code 104, makro okręgu, średnica 1 mm
    G54D102* - ustaw aperturę D102
    G54D103* - ustaw aperturę D103
    G01X60000Y60000D03* - interpolacja liniowa, flash na pozycji 60000,60000
    X6060000D03* - flash na pozycji x=6060750 (?)
    G54D104* - ustaw aperturę D104
    X60000D02* - idź na pozycję x=60000 (?)
    X6060000D01* - rysuj linię aż do x=6060750 (?)
    X0Y0D02* - idź na pozycję x=0, y=0
    M02* - koniec pliku


    Ponieważ wstawianie nieużywanej apertury wydaje mi się zupełnie bez sensu, wywalam zbędne linie. Pozostaje:

    %MOMM*%
    %FSLAX35Y35*%
    %ADD103C,1.2*%
    %ADD104C,1*%
    G54D103*
    G01X60000Y60000D03*
    X6060000D03*
    G54D104*
    X60000D02*
    X6060000D01*
    X0Y0D02*
    M02*


    %ADD103C,1.2*% - d-code 103, makro okręgu, średnica 1.2 mm
    %ADD104C,1*% - d-code 104, makro okręgu, średnica 1 mm

    G54D103* - ustaw aperturę D103
    G01X60000Y60000D03* - wstawia aperturę D103 na pozycji x=60000, y=60000
    X6060000D03* - ustawia x=X6060000 i wstawia aperturę D103
    G54D104* - ustaw aperturę D104
    X60000D02* - idź na pozycję x=60000
    X6060000D01* - rysuj linię aż do x=6060000
    X0Y0D02* - idź na pozycję x=0, y=0
    M02* - koniec pliku

    Jeśli pady przelotek w EDA są umieszczone na pozycjach 20,20 oraz 80,20 to pomiędzy nimi po x-ie jest 60 mm odstępu.

    Dlaczego jednak ploter biegnie najpierw na pozycję X60000Y60000, wstawia aperturę D103, a następnie biegnie na pozycję X6060000 i tam wstawia kolejną D103?

    Dlaczego w ogóle podnosi się na wysokość Y60000 ?
    Po x-ie ustawia się na X60000 i bach, stawia D103, a następnie jedzie na pozycję
    X6060000 i tam stawia drugie D103 ?

    Po iksie porusza się pomiędzy wartościami X60000 oraz X6060000.

    Ale dlaczego i jak to się ma do tych 60 mm jeszcze nie wiem.
  • #8 15231468
    MES Mariusz
    Poziom 36  
    Ok. Doczytałem o formacie, ukrywaniu przecinków i zer.

    Czyli jeszcze raz:

    %MOMM*% - milimetry

    %FSLAX35Y35*% formatowanie koordynatów, z którego wynika:

    - leading, czyli ukrywanie zer początkowych
    - absolute, czyli każdy koordynat pokazywany w odniesieniu do punktu 0,0
    - przecinek poprzedzają 3 cyfry, po przecinku występuje 5 cyfr

    %ADD103C,1.2*% - opis apertury D103: okrąg o średnicy 1.2 mm

    %ADD104C,1*% - opis apertury D104: okrąg o średnicy 1 mm

    G54D103* - polecenie użycia apertury D103

    G01X60000Y60000D03* - polecenie włączenia trybu apertury liniowej (?) następnie ustawienie na pozycję (zgodnie z formatem). Za X stoi wartość 60000. Wiem, że ustawione jest ukrywanie zer początkowych, oraz, że przecinek stoi po trzech cyfrach i przed pięcioma, czyli x = 000.60000, czyli wartość w milimetrach: x = 0.6 mm. Wydać, że y = 0.6 mm (również).
    Podsumowując: apertura D103 zostanie postawiona na koordynacie (0.6,0.6).

    X6060000D03* Tryb apertury liniowej (G01) pozostaje włączony (modalność). Ruch na pozycji y pozostaje również bez zmian (modalność).
    Po x następuje ustawienie na pozycję 6060000 czyli (zgodnie z formatem) 060.60000 mm, zatem x=60.6 mm. Kursor znajduje się na pozycji (60.6,0.6) i za pomocą kodu D03 zostaje postawiona aktualnie ustawiona apertura (D103).

    Zostały więc postawione dwa pady w odległości 60 mm po x, na tym samym y.

    G54D104* - polecenie użycia apertury D104

    X60000D02* - pamiętając o zasadzie modalności widać, tryb apertury liniowej bez zmian (G01) oraz pozycja y znowu się nie zmienia. Pozycja x zmienia się natomiast na wartość 60000, czyli 000.60000 mm = 0.6 mm. Ponieważ użyto kodu D02 (zmiana pozycji z wyłączonym kursorem) nie zostało nic namalowane.

    X6060000D01* - tryb apertury liniowej bez zmian (G01) oraz pozycja y bez zmian. Po koordynacie x następuje przesunięcie głowicy na pozycję 6060000 czyli 060.60000 mm = 60.6 mm. Głowica z punktu (0.6,0.6) zostaje przesunięta do pozycji (60.6,0.6), ale uwaga z włączonym kursorem (D01), pozostawiając za sobą ścieżkę. Ostatnio ustawiona apertura to D104, więc wykonana została narzędziem okrągłym o średnicy 1 mm. Zatem grubość ścieżki to 1 mm.

    X0Y0D02* Głowica zostaje ustawiona na pozycji (0,0), puch głowicy odbywa się z wyłączonym kursorem (D02).

    M02* - praca plotera zostaje zakończona.

    Co się potwierdza po otwarciu pliku:

    %MOMM*% 
    %FSLAX35Y35*% 
    %ADD103C,1.2*% 
    %ADD104C,1*% 
    G54D103* 
    G01X60000Y60000D03* 
    X6060000D03* 
    G54D104* 
    X60000D02* 
    X6060000D01* 
    X0Y0D02* 
    M02*


    w edytorze CAM350 (pad z lewej na pozycji 0.6,0.6 mm następnie pad z prawej na pozycji 60.6,0.6 mm, połączone ścieżką o grubości 1 mm). Zastanawia mnie tylko, dlaczego origin nie jest w środku padu po lewej stronie (dlaczego ów pad leży na pozycji 0.6,0.6).

    Tak to przynajmniej wygenerował mój EDA (muszę sprawdzić w innym).
    Nie wspominając o tym, że zgodnie z ustawionym obrysem (i originem w lewym dolnym rogu obrysu) lewy pad powinien znaleźć się na pozycji 20,20. Podsumowując wszystko jest ok, tyle, że został zignorowany outline PCB a origin został ustawiony na lewy dolny róg okrągłego padu (prościej byłoby wytłumaczyć, gdybym użył padu kwadratowego ;-).

    Trochę jak łysy grzywką, o kant kuli, ale chyba wiadomo o co chodzi :-)

    Dodano po 3 [godziny] 1 [minuty]:

    A tutaj to samo, tylko wygenerowane z DesignSparka. Ładny spójny kod (bez śmieci, nadmiarowych makr). A jednak fotoploter sobie trochę inaczej pojeździ ;-)

    %FSLAX33Y33*%
    %MOMM*%
    G04 EasyPC Gerber Version 18.0.1 Build 3581 *
    %ADD89C,1.00000*%
    %ADD88C,1.20000*%
    X0Y0D02*
    D02*
    D88*
    X20064Y20064D03*
    X80064D03*
    D02*
    D89*
    X20064D02*
    X80064D01*
    X0Y0D02*
    M02*



    No to w ramach ćwiczenia (teraz z pamięci ;-))

    %FSLAX33Y33*% - lead - ukrywanie zer początkowych, absolute - wspólny punkt odniesienia 0,0 dla wszystkich koordynatów, przed przecinkiem 3 cyfry, po przecinku 3 cyfry

    %MOMM*% - milimetry

    G04 EasyPC Gerber Version 18.0.1 Build 3581 * - G04 to komentarz

    %ADD89C,1.00000*% - definicja apertury: d-code 89, okrągła o średnicy 1

    %ADD88C,1.20000*% - definicja apertury: d-code 88, okrągła o średnicy 1.2

    X0Y0D02* - ustaw głowicę na pozycję 0,0 - kursor wyłączony, nic się nie rysuje (D02)

    D02* - x oraz y bez zmian - znowu ustawia głowicę (ciekawe po co, chyba dla pewności)

    D88* - chyba ustawia aperturę, trochę dziwne, bez kodu G54 ?

    X20064Y20064D03* - zaczyna się ;-) Ustaw głowicę na koordynatach x = y = 20064, co przy ukrywaniu zer początkowych i oraz trzech cyfrach przed i po przecinku daje w milimetrach 020.064 mm = 20.064 mm, jak ustawisz włącz na chwilę marker czyli postaw aperturę (D03)

    X80064D03* - y bez zmian, po x-ie ustaw głowicę na pozycję 80064, co daje 080.064 mm = 80.064 mm, jak ustawisz włącz na chwilę marker czyli postaw aperturę (D03)

    D02* - ustaw głowicę tam gdzie jesteś (tylko po co skoro już tam jesteś ;-))

    D89* - chyba ustawia aperturę, trochę dziwne, bez kodu G54 ?

    X20064D02* - ustaw głowicę po x-ie na pozycję 20064, czyli 020.064 mm = 20.064 mm. Ruch z wyłączonym kursorem (D02) więc nic się nie rysuje.

    X80064D01* - ustaw głowicę po x-ie na pozycję 80064, czyli 080.064 mm = 80.064 mm. Tym razem ruch z włączonym kursorem (D01) więc rysuje się ścieżka za pomocą wcześniej ustawionego narzędzia D89 - okręgu o średnicy 1mm (więc będzie to ścieżka o szerokości 1 mm).

    X0Y0D02* - ustaw głowicę na pozycję 0,0 ale z wyłączonym markerem.

    M02* - koniec programu.


    Poszło nieźle. Wygląda na to, że rysowanie ścieżek i padów rozpykane :-)
REKLAMA