Forskjell mellom versjoner av «CNC Modela fres»

Fra Bitraf
Hopp til navigering Hopp til søk
Linje 32: Linje 32:
  
 
då borrer den
 
då borrer den
 +
 +
 +
== ULP ==
 +
 +
Borr genererings filen
 +
'''''under konstruktion'''''
 +
 +
 +
 +
<nowiki>
 +
 +
#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;//korigering hvis den ikke treffer i prossent
 +
real kor_y = 1.013;//korigering hvis den ikke treffer i prossent
 +
 +
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);
 +
    }
 +
*/
 +
</nowiki>

Revisjonen fra 2. mar. 2013 kl. 23:56

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;//korigering hvis den ikke treffer i prossent
real kor_y = 1.013;//korigering hvis den ikke treffer i prossent

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