RepRap PID

Re: PID einstellungen Repetier
March 25, 2013 08:36PM

Registered: 3 months ago
Posts: 123

Also dank den netten Hersteller des HotEnd (-; habe ich es in griff bekommen, einfach unter repetier als G Code M303 P0 S245 eingeben schon stellt er sich selber ein. Jetzt kann ich endlich anfangen mein Drucker bis 180mm/s mit ABS einzustellen

http://www.techniklexikon.net/d/standardregler/standardregler.htm

Willy [ PM ]

Re: PID Werte richtig einstellen?
July 02, 2013 07:33PM

Registered: 1 year ago
Posts: 459

Ich habe den I-Wert auf 0 stehen, und P, D auf dem Maximum was die Firmware über LCD + Drehencoder erlaubt hat grinning smiley. Das ist zwar auch nicht genau (je nach Temp. 1 – 3 °C weniger als eingestellt), aber dafür schnell. Grundsätzlich ist der I-Teil für das genaue Erreichen der Temperatur zuständig, doch er macht die Regelung langsam.

LG, Willy

 

 

 

Re: PID Werte richtig einstellen? new
July 06, 2013 04:58AM

Registered: 1 year ago
Posts: 273

SO macht man das aber nicht, einfach PIE mal Daumen was VERstellen, und dann einfach dann den I-Wert einfach mal so auf 0 stellen und den Rest auf Anschlag knallen

Wenn das richtig gemacht wird stimmt die Temp auf 0,2 Grad !
Des Teil wird superschnell heiss regelt 3 mal und fertig Temp steht wie angenagelt
Das muss man mehrer mal hintereinander durchlaufen lassen und nicht nur ein mal

Mit Marlin läuft das z.b so ab

Man muss das logischerweise mehrmals hintereinader laufen lassen oder mehr dann wird das noch genauer dann bekommt am am Ende 6 PID Werte mit jeweisl P I und D und dann den besten mit der geringsten Abweichung nehmen, so einfach ist das

Extruder
M303 C6 S245 ( ermittelt 6 unterschiedliche Werte, man kann acuh mehr nehmen dann z.b M303 E-1 C10 S90 dann gibt es 10 Werte )

Und fürs Bett wird das mit

M303 E-1 C6 S100

gemacht

Hardwarekiller

 

 

Calibration

Re: Bahnkorrektur / Offset
May 19, 2012 03:30AM

Registered: 7 months ago
Posts: 85

Da das kaum mal einer richtig erklärt hat, ( zumindest hab ich das im Inet nirgend wo gefunden ) wie man das macht hier mal eine kleine Anleitung

Mit diser Einstellung macht man die SEHR wichtigen Extruderbreiteneinstellung.
Wenn ich es in Skeinforger erklären würde währe da der „Flow“ zu hoch
Damit der Slicer die „Filamentwurst“ auch richtig benutzen kann, weil wenn man es nicht macht denkt der Slicer es ist eine 0.5er Wurst die gedruckt wird aber praktisch dann 0.70 breit ist, was nicht stimmt
Dann sind auch Löcher zu eng
da er pro Radius 0.70-0.5 = 0,2mm das mal 2 also 0,4mm pro Loch zu eng druckt

@Jack n

Beispiel für eine 0.5er Düse und 0.3mm Schichthöhe
Also ich gehen mal davon aus das du eine 0.5er Düse hast, und die Steps per mm in der Firmware richtig eingestellt hast, und SLicer auch
die Filamentdicke einigermassen stimmt

Slic3r

1. Layer height auf 0.3 stellen
2. Extrusion whith ratio von (auto=0) auf 1.66 stellen ( damit wird festgelegt das die Wall IMMER 0.5mm dick ist 0.3mm x 1.66 = 0.5mm
Wanddicke
3 dann 0.5er Single Wall drucken und messen

4. Messen, wenn zu dick also zb 0.7mm gemessen wird
dann
5. Extrusion multiplier von 1 runtersetzen zb.mal auf 0.92
6. Dann wieder drucken und messen
7. sich dann mit dem Extrusion multipliere an die 0.5mm Wanddicke rantasten

WICHTIG
Immer wenn man das Filament wechselt oder an dem Feder-Andruck des Extrudes drehst, die Layerhöhe änderst oder die Extrudertemp ändert MUSS man den Extruder multiplier neu ermitteln.
Am besten mehrer Configurationen für unterschiedliche Layerhöhen anlegen

PS.
Wenn du als HOST REPETIER benutzt dann noch unter
Config 3D Settings
Bei „Width over Thickness“ die 1.66 eintragen
und bei Layer height die 0.3
und den Filamentdurchmesser
Dann stimmt auch die Anzeige

Wenn du den Extrusion multiplier ermittelt hast kannst du wieder den Extrusion whith ratio wieder auf 0 setzen wenn du möchtest, aber die AUTO Funktion ist nicht anzuraten, weil er je nach STL Teil da einen falschen Wert nimmt und dann nicht richtig füllt.
Du solltest NACH der Einstellung mal etwas damit spielen, bei einer 0.5er Düse kann man auf Breiten bis zu 0.3mm runter
Im übrigen sollte bei metrischen STL Teilen die Multiplikation zwischen Layerhöhe und Extrusion whith ratio besser ein Breitenwert rauskommen der ohne „Rest“ ins STL passt

Ein Tip noch am Rande
Mach Marlin als Firmware und Repetier als HOST drauf, dann kannst du WÄHREND des Druckes den Flow anpassen und du kannst das sehr genau anpassen und Teile drucken da stauen viele, gerade extrem dünnwandige.

 

 

 

 

========================================================================

http://forums.reprap.org/read.php?245,229785

Bootloader

### For the ATmega644:
# write fuses

./avrdude -C ./avrdude.conf -c <your programmer> -p atmega644 -P /dev/ttyACM0 \
    -B 5 -U lfuse:w:0xF7:m -U hfuse:w:0xDC:m -U efuse:w:0xFC:m

# upload bootloader
./avrdude -C ./avrdude.conf -c <your programmer> -p atmega644 -P /dev/ttyACM0 \
    -B 1 -U flash:w:../Gen7/bootloaders/Gen7/bootloader-<your variant>.hex

# lock the bootloader
# this gives an expected "verification error 0xcf != 0x0f"

./avrdude -C ./avrdude.conf -c <your programmer> -p atmega644 -P /dev/ttyACM0 \
    -B 1 -U lock:w:0xCF:m

LoFuse:  0xF7
HiFuse:  0xDC
E Fuse:  0xFC

Lock:    0xCF  (maybe read as 0x0F )

my644_18432000.name=myATmega644 with 18.432 MHz
my644_18432000.upload.protocol=stk500v2
my644_18432000.upload.maximum_size=63488
my644_18432000.upload.speed=115200
my644_18432000.bootloader.low_fuses=0xF7
my644_18432000.bootloader.high_fuses=0xDC
my644_18432000.bootloader.extended_fuses=0xFC
my644_18432000.bootloader.path=Gen7
my644_18432000.bootloader.file=bootloader-644-20MHz.hex
my644_18432000.bootloader.unlock_bits=0x3F
my644_18432000.bootloader.lock_bits=0x0F
my644_18432000.build.mcu=atmega644
my644_18432000.build.f_cpu=18432000L
my644_18432000.build.core=arduino

 extruder1p.bootloader.lock_bits=0x0F   << note reads as CF in AVR studio so needs to be 0xCF.

GSG-Mod

GSG-Mod Marlin

//=======================================================================================
//=======================================================================================
// myGSG-Board
//=======================================================================================
//=======================================================================================

#if MOTHERBOARD == 111
#define KNOWN_BOARD 1

//x axis pins
#define X_STEP_PIN 21
#define X_DIR_PIN 20
#define X_ENABLE_PIN 24 //?
#define X_MIN_PIN 3
#define X_MAX_PIN -1

//y axis pins
#define Y_STEP_PIN 23
#define Y_DIR_PIN 22
#define Y_ENABLE_PIN 24
#define Y_MIN_PIN 5
#define Y_MAX_PIN -1

//z axis pins
#define Z_STEP_PIN 26
#define Z_DIR_PIN 25
#define Z_ENABLE_PIN 24
#define Z_MIN_PIN 12
#define Z_MAX_PIN -1

//extruder pins
#define E0_STEP_PIN 28
#define E0_DIR_PIN 27
#define E0_ENABLE_PIN 24

#define TEMP_0_PIN 29
#define TEMP_1_PIN -1
#define TEMP_2_PIN -1
#define HEATER_0_PIN 0
#define HEATER_1_PIN -1
#define HEATER_2_PIN -1

#define HEATER_BED_PIN 1
#define TEMP_BED_PIN 30

#define SDPOWER -1
#define SDSS -1 //17
#define LED_PIN -1
#define FAN_PIN -1
#define PS_ON_PIN -1
#define KILL_PIN -1
//our pin for debugging.

#define DEBUG_PIN -1

//our RS485 pins
#define TX_ENABLE_PIN -1 //12
#define RX_ENABLE_PIN -1 //13

/*
#ifndef __AVR_ATmega644__
#error Oops! Make sure you have ‚Sanguino‘ selected from the ‚Tools -> Boards‘ menu.
#endif
*/
#endif

//==============================================================================================

/* GSG-MOD-Pinout

#define MOTORS_EN 24 // PA7
#define XDIR 20 // PC4
#define XSTEP 21 // PC5
#define YDIR 22 // PC6
#define YSTEP 23 // PC7
#define ZDIR 25 // PA6
#define ZSTEP 26 // PA5
#define EXTRDIR 27 // PA4
#define EXTRSTEP 28 // PA3
#define THERM1 30 // PA1 Heatbed
#define A1 THERM1
#define THERM2 29 // PA2
#define A2 THERM2
#define HEAT1 1 // PB1
#define HEAT2 0 // PB0
#define OPTOX 3 // PB7
#define OPTOX_MAX 4 // PB6
#define OPTOY 5 // PB5
#define OPTOY_MAX 10 // PD2
#define OPTOZ 12 // PD4
#define OPTOZ_MAX 11 // PD3
#define FAN 19 // PC3

myGen6

Modifiziertes Gen6-Board

– ohne I2C
– ohne RS485
– ohne R10, R11, R5

Erweiterungen:

Pin 37 PA0 (ADC0) Temperatursensor-Heizbett

Heizbett An/Aus I2C-Stecker: Pin3 (PC1), Pin2 (GND) (ATMEGA644 Pin20, PC1 (17) )

#define    STEPS_PER_M_X                    32000 // 10-Zahn Pullys Gen6 ( 8 Microsteps )
#define    STEPS_PER_M_Y                    32000
#define    STEPS_PER_M_Z                  1280000 // Gen6 ( 8 Microsteps 1:1 )

#define    STEPS_PER_M_E                    301887