Jak zprovoznit plotr?

Sid
Příspěvky: 17
Registrován: 07 čer 2022, 23:09

Jak zprovoznit plotr?

Příspěvek od Sid »

Zdravím odborníky přes ARDUINO!
Postavil jsem si plotr podle

Jelikož jsem v tomto směru začátečník, doufal jsem, že v odkazech nabídnutý nějaký soubor

bude obsahovat alespoň demonstrační program. Jenže, moc tomu nerozumím, ale myslím si, že se jedná pouze prográmek, který umí ovládat funkce krokových motorků a možná i servru, kteřížto jsou u plotru použití. Viz:

Kód: Vybrat vše

/***********************************************************************
This sketch writes a `$I` build info string directly into Arduino EEPROM

To use:
- Just alter the "build_info_line" string to whatever you'd like. Then 
  compile and upload this sketch to your Arduino.
    
- If your Arduino is blinking slowly, your string has already been 
  written to your EEPROM and been verified by checksums! That's it!

- If you Arduino LED is blinking fast, something went wrong and the 
  checksums don't match. You can optionally connect to the Arduino via
  the serial monitor, and the sketch will show what its doing.

NOTE: This sketch is provided as a tool template for OEMs who may need
to restrict users from altering their build info, so they can place
important product information here when enabling the restriction.

NOTE: When uploading Grbl to the Arduino with this sketch on it, make
sure you see the slow blink before you start the upload process. This
ensures you aren't flashing Grbl when it's in mid-write of the EEPROM.

Copyright (c) 2016 Sungeun K. Jeon for Gnea Research LLC
Released under the MIT-license. See license.txt for details.
***********************************************************************/

#include <avr/pgmspace.h>
#include <EEPROM.h>

#define SERIAL_BAUD_RATE 115200
#define LINE_LENGTH 80U    // Grbl line length
#define BYTE_LOCATION 942U // Grbl build info EEPROM address.


// ----- CHANGE THIS LINE -----

char build_info_line[LINE_LENGTH] = "Testing123.";

// -----------------------------


uint8_t status = false;
int ledPin = 13;                 // LED connected to digital pin 13

void setup() {
  Serial.begin(SERIAL_BAUD_RATE);
  delay(500);
  
  uint32_t address = BYTE_LOCATION;
  uint32_t size = LINE_LENGTH;
  char *write_pointer = (char*)build_info_line;
  uint8_t write_checksum = 0;
  for (; size>0; size--) { 
    write_checksum = (write_checksum << 1) || (write_checksum >> 7);
    write_checksum += *write_pointer;
    EEPROM.put(address++, *(write_pointer++)); 
  }
  EEPROM.put(address,write_checksum);
  
  Serial.print(F("-> Writing line to EEPROM: '"));
  Serial.print(build_info_line);
  Serial.print(F("'\n\r-> Write checksum: "));
  Serial.println(write_checksum,DEC);

  size = LINE_LENGTH;
  address = BYTE_LOCATION;
  uint8_t data = 0;
  char read_line[LINE_LENGTH];
  char *read_pointer = (char*)read_line;
  uint8_t read_checksum = 0;
  uint8_t stored_checksum = 0;
  for(; size > 0; size--) { 
    data = EEPROM.read(address++);
    read_checksum = (read_checksum << 1) || (read_checksum >> 7);
    read_checksum += data;    
    *(read_pointer++) = data; 
  }
  stored_checksum = EEPROM.read(address);

  Serial.print(F("<- Reading line from EEPROM: '"));
  Serial.print(read_line);
  Serial.print("'\n\r<- Read checksum: ");
  Serial.println(read_checksum,DEC);
  
  if ((read_checksum == write_checksum) && (read_checksum == stored_checksum)) {
    status = true;
    Serial.print(F("SUCCESS! All checksums match!\r\n"));
  } else {
    if (write_checksum != stored_checksum) {
      Serial.println(F("ERROR! Write and stored EEPROM checksums don't match!"));
    } else {
      Serial.println(F("ERROR! Read and stored checksums don't match!"));
    }
  }
  pinMode(ledPin, OUTPUT);      // sets the digital pin as output
}

void loop() {
  // Blink to let user know EEPROM write status. 
  // Slow blink is 'ok'. Fast blink is an 'error'.
  digitalWrite(ledPin, HIGH);   // sets the LED on
  if (status) { delay(1500); } // Slow blink
  else { delay(100); } // Rapid blink
  digitalWrite(ledPin, LOW);    // sets the LED off
  if (status) { delay(1500); }
  else { delay(100); } 
}
Neumím k tomu přidat soubor, který by obsahoval nějaké vektorové záležitosti o tom, co chci na plotru napsat-nakreslit. Prosím snažně vás, zkušení harcovníci, o nějakou kuchařku, od samotného počátku v .jpg.
Jsem zde poprve, takže se omlouvám za úpravu stránky.
Uživatelský avatar
eMZet
Příspěvky: 133
Registrován: 24 úno 2013, 15:02

Re: Jak zprovoznit plotr?

Příspěvek od eMZet »

Stiahni si program GRBLGRU
https://www.grblgru.com/
V nejakom programe si nakreslis co chces napr. Inkscape a ulozis napr. v svg formate.
To svg-cko natiahnes do grblgru a kreslis.

Ja mam takto urobenu laserovu gravirovacku zo stareho plotra a elektronika je GRBL - cize arduino, a driver shield s motor drivermi.

Pan co programuje ten grblgru je super chlapik co ti vie poradit ak by si mal nejaky problem. Komunikuje ang, alebo nemecky.
Napr. tu
https://www.cnczone.com/forums/uncatego ... um-28.html

Alebo este moze pomoct ujo google
https://www.google.com/search?q=grbl+pl ... nt=gws-wiz
Sid
Příspěvky: 17
Registrován: 07 čer 2022, 23:09

Re: Jak zprovoznit plotr?

Příspěvek od Sid »

""To svg-cko natiahnes do grblgru a kreslis.""
Zkoušel jsem natáhnout, ale těch parametrů pro nastavení je tolik, že jsem se v nich ztratil. Pro to ARDUINO ale potřebuji asi nějaký soubor vyexpedovat (asi .TXT) s vektorovými parametry. To jsem tam nikde nenašel. Takže, děkuji za váš zájem, ale tápu dál.
Uživatelský avatar
jrt
Příspěvky: 1921
Registrován: 17 úno 2013, 17:13

Re: Jak zprovoznit plotr?

Příspěvek od jrt »

jrt
Uživatelský avatar
eMZet
Příspěvky: 133
Registrován: 24 úno 2013, 15:02

Re: Jak zprovoznit plotr?

Příspěvek od eMZet »

Sid píše: 10 čer 2022, 09:23 ""To svg-cko natiahnes do grblgru a kreslis.""
Zkoušel jsem natáhnout, ale těch parametrů pro nastavení je tolik, že jsem se v nich ztratil. Pro to ARDUINO ale potřebuji asi nějaký soubor vyexpedovat (asi .TXT) s vektorovými parametry. To jsem tam nikde nenašel. Takže, děkuji za váš zájem, ale tápu dál.
Spoj sa s panom co programuje grblgru a popytaj sa co by ti odporucil aku masinu pouzit. Vola sa Gery.
Ja na mojej laserovej gravirke nastavujem len intenzitu laseru a rychlost nic viac.
A co pouzit to z toho videa?
V inkscape sa urobi da sa povedat vsetko. A ten ti vypluje hotovy G-code, ktory potrebujes. To je to co ty nazyvas TXT. Ano, v podstate je to obycajny textak, ale s presnymi prikazmi a poziciami motorov. A to sa vola G-CODE a ten otvoris v lasergrbl, alebo v grblgru a kreslis. V GRBLGRU je vyhoda, ze tam natiahnes svg-cko a on sam vytvori G-code.
https://lasergrbl.com/
Presne ako je to v tom videu. Len tusim treba do inkscape doplnit doplnok na tvorbu g-codu.
Uživatelský avatar
fulda
Příspěvky: 1359
Registrován: 04 led 2016, 17:18

Re: Jak zprovoznit plotr?

Příspěvek od fulda »

Sid píše: 09 čer 2022, 17:09 Zdravím odborníky přes ARDUINO!
...
Neumím k tomu přidat soubor, který by obsahoval nějaké vektorové záležitosti o tom, co chci na plotru napsat-nakreslit. Prosím snažně vás, zkušení harcovníci, o nějakou kuchařku, od samotného počátku v .jpg.
Jsem zde poprve, takže se omlouvám za úpravu stránky.
Nejsem si úplně jistej, jestli jsi pochopil, jak celý ten vláček funguje.
Odkazuješ na grbllib, to je jedna z možností a je velmi oblíbená a funkční. S použitím této knihovny ze svého zařízení uděláš sériový plotter, který mluví jazykem g-code a dá se připojit do USB portu počítače. Na počítači pak potřebuješ něco, co vezme obrázek a odešle jej ve formátu g-code do toho plotru. Takových programů je hodně, některé dokáží otevřít jpeg, jiné svg a jiné zase něco jiného.

Pochopitelně ten grbl lib je univerzální a nedokáže sám od sebe poznat, jakou jsi použil převodovku a kolik kroků motoru je jeden centimetr délky a jak máš dlouhá ramena a jak velký papír, takže se musí trochu nastavovat.

Nějaký hodně zjednodušený popis vyšel třeba v květnovém amáru:
Obrázek
Za pravopisné chyby v této zprávě může moje učitelka češtiny.
Uživatelský avatar
eMZet
Příspěvky: 133
Registrován: 24 úno 2013, 15:02

Re: Jak zprovoznit plotr?

Příspěvek od eMZet »

Alebo si este mozes pozriet tento dokument.
Konfigurace firmware GRBL.pdf
(859.71 KiB) Staženo 118 x
V programe laserGRBL sa da jednoducho upravit firmware grbl, kde si nastavis pocet krokov na mm atd.
Sid
Příspěvky: 17
Registrován: 07 čer 2022, 23:09

Re: Jak zprovoznit plotr?

Příspěvek od Sid »

Ten laserGRBL jsem použil, trochu jsem si pohrál a plotr se dal do pohybu. Jenže on ten program možná umí zvedat i pisátko, ale tam jsem v koncích. Možná že by stačilo na šiltu přehodit piny? Nebo ví snad někdo o jiném způsobu ...
star-1.jpg
Uživatelský avatar
jrt
Příspěvky: 1921
Registrován: 17 úno 2013, 17:13

Re: Jak zprovoznit plotr?

Příspěvek od jrt »

Můžeš mi prozradit, proč pro plotr používáš ovládací program pro laser a nikoli ten k tomu přímo určený?
Laser žádné pisátko nemá, takže tímhle programem půjde nejspíš modelářské servo ovládat jen ztěží.
jrt
Uživatelský avatar
fulda
Příspěvky: 1359
Registrován: 04 led 2016, 17:18

Re: Jak zprovoznit plotr?

Příspěvek od fulda »

Já bych si s tím grbl lib nedělal takové starosti, jestli je pro plotr, laser, nebo frézu.
spíš bych si dělal starost s tím, že tu nevidím nic, co by hovořilo o tom, jak je servo připojené a ani nic o tom, jak je to grbl nastavené. Pokud se nepletu, tak pro podporu serva se používá příkaz M03 Sxx. Ale je potřeba použít nějaký klon grbl, který má servo jako spindle.
Namátkou třeba tento:
https://github.com/robottini/grbl-servo
Nebo možná tento návod:
https://www.instructables.com/How-to-Co ... sing-GRBL/
Za pravopisné chyby v této zprávě může moje učitelka češtiny.
Odpovědět