CNC Modela fres

Fra Bitraf
Revisjon per 2. mar. 2013 kl. 23:14 av Peter (diskusjon | bidrag)
Hopp til navigering Hopp til søk

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. Hurtig senking stykk og hold inne "tool Down" noen millimeter over slep knappen og trykk den ned sakte. 1 trykk er 0,02mm så det går ikke raskt 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å

prøv først på ett papir med

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);
    }
*/