CNC Modela fres

Fra Bitraf
Revisjon per 3. mar. 2013 kl. 09:47 av Peter (diskusjon | bidrag) (generere borr fil)
Hopp til navigering Hopp til søk

MDX-15 partnames.jpg

PCB borring

  1. Generer fil
  2. Kalibrer (juster høyde på borr)
  3. Send fil til CNC
  4. Smil og tenk på Trygve

Generere borr fil

Kjør Bitraf_drill i EAGLE (Takk til Trygve)

Den eksporterer en fil med koordinater til din prosjek mappe "ditprosjekt".drill.txt

Kalibrering

Føre du starter, fest kortet i holderen og juster høyden på borret. Hurtig senking stykk og hold inne "Tool Down" Noen millimeter over slep knappen og trykk den ned sakte. 1 trykk er ca 0,02mm så du må trykke mange ggr. Hvis du borrer lit i hjørnet på kortet hev borret litt den borrer 100 mil ned fra den positionen. hvis det ikke virker kan du editere *.drill.txt !PZ-100,50; -100 er hvor dypt den borrer fra der stedet du kalibrerer den på 50 er hnor høyt den løfter borret mellom hullen (margin).

Prøv først på ett papir eller pappplate, før å se om allt stemmer. kontroller størelse og eventuelt korriger ulp filen

Send fil

Den sendes i comandprompten til com1

eksempel naviger til 'dit prosjekt' skriv

type test.drill.txt > com1

då borrer den


ULP

Borr genererings filen under konstruktion



#usage "en: <b>Export Roland Modela Drill file</b>\n"
           "<p>"
           "Genererer en borr fil til roland modela CNC maskin"
           " version 0.2."
           "<p>"
           "<author>Author: Trygvis og Karl </author><br>"

// THIS PROGRAM IS PROVIDED AS IS AND WITHOUT WARRANTY OF ANY KIND, EXPRESSED OR IMPLIED



real pen_down_speed = 1;
real pen_up_speed = 10;
real kor_x = 1.013;//korektionsfaktor
real kor_y = 1.013;//korektionsfaktor
void drill(int x, int y) {
//  printf("M % 5.0f,% 5.0f; \r\n", u2mil(x)*(kor_x), u2mil(y)*(kor_y));
  printf("PU % 5.0f ,% 5.0f ; \r\n", u2mil(x)*(kor_x), u2mil(y)*(kor_y));
  printf("VS%.0f;\r\n", pen_down_speed);
  printf("PD % 5.0f,% 5.0f; \r\n", u2mil(x)*(kor_x), u2mil(y)*(kor_y));
  printf("VS%.0f;\r\n", pen_up_speed);
  printf("PU % 5.0f,% 5.0f; \r\n", u2mil(x)*(kor_x), u2mil(y)*(kor_y));
}

board(B) {
  string fn = filesetext(B.name, ".drillv2.txt");

  output(fn) {
//    printf("IN;\r\n");
//    printf("DF;\r\n");
    printf("PA;\r\n");
//    printf("!DW 100;\r\n"); // dwell, pause mellom hver bevegelse i x- eller y-planet
    printf("VS10;\r\n");

    // Horisontal hastighet
    printf("!VZ2;\r\n");

    printf("!PZ-100,50;\r\n");

//    printf("!MC1;\r\n");
    printf("PU;\r\n");
/*
*/
    B.holes(h) {
      drill(h.x, h.y);
    }

    printf("\r\n");
    printf("\r\n");

    B.elements(E) {
//      printf("Element: %s, (%d %d), Package=%s\n", E.name, E.x, E.y, E.package.name);
      E.package.holes(H) {
//        printf("package.hole: ");
        drill(H.x, H.y);
      }
      E.package.contacts(H) {
//       printf("package.contacts: ");
//        drill(H.x, H.y);
      }
    }

    printf("H\r\n");
/*
    for (int i = 0; i < 10; i++) {
      printf("!MC0;");
      printf("\r\n");
    }
    printf("\r\n");
*/
  }
}

/*
    B.signals(S) {
printf("signal\r\n");
      S.vias(v) {
printf("via\r\n");
        drill(v.x, v.y);
      }
    }
    B.elements(E) {
      printf("Element: %s, (%d %d), Package=%s\n", E.name, E.x, E.y, E.package.name);
    }
*/