Browse Source

Merge pull request #563 from njprossi/Marlin_v1

Improvment for delta, Honeywell thermistor table and move from panel
ErikZalm 12 years ago
parent
commit
07f029c2d5

+ 4
- 0
Marlin/Configuration.h View File

@@ -107,6 +107,9 @@
107 107
 #define DELTA_TOWER3_X 0.0 // back middle tower
108 108
 #define DELTA_TOWER3_Y DELTA_RADIUS
109 109
 
110
+// Diagonal rod squared
111
+#define DELTA_DIAGONAL_ROD_2 pow(DELTA_DIAGONAL_ROD,2)
112
+
110 113
 //===========================================================================
111 114
 //=============================Thermal Settings  ============================
112 115
 //===========================================================================
@@ -124,6 +127,7 @@
124 127
 // 5 is 100K thermistor - ATC Semitec 104GT-2 (Used in ParCan) (4.7k pullup)
125 128
 // 6 is 100k EPCOS - Not as accurate as table 1 (created using a fluke thermocouple) (4.7k pullup)
126 129
 // 7 is 100k Honeywell thermistor 135-104LAG-J01 (4.7k pullup)
130
+// 71 is 100k Honeywell thermistor 135-104LAF-J01 (4.7k pullup)
127 131
 // 8 is 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup)
128 132
 // 9 is 100k GE Sensing AL03006-58.2K-97-G1 (4.7k pullup)
129 133
 // 10 is 100k RS thermistor 198-961 (4.7k pullup)

+ 5
- 0
Marlin/Configuration_adv.h View File

@@ -193,6 +193,11 @@
193 193
 #define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
194 194
 #define DEFAULT_MINTRAVELFEEDRATE     0.0
195 195
 
196
+// Feedrates for manual moves along X, Y, Z, E from panel
197
+#ifdef ULTIPANEL
198
+#define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60}  // set the speeds for manual moves (mm/min)
199
+#endif
200
+
196 201
 // minimum time in microseconds that a movement needs to take if the buffer is emptied.
197 202
 #define DEFAULT_MINSEGMENTTIME        20000
198 203
 

+ 3
- 3
Marlin/Marlin_main.cpp View File

@@ -2254,15 +2254,15 @@ void clamp_to_software_endstops(float target[3])
2254 2254
 #ifdef DELTA
2255 2255
 void calculate_delta(float cartesian[3])
2256 2256
 {
2257
-  delta[X_AXIS] = sqrt(sq(DELTA_DIAGONAL_ROD)
2257
+  delta[X_AXIS] = sqrt(DELTA_DIAGONAL_ROD_2
2258 2258
                        - sq(DELTA_TOWER1_X-cartesian[X_AXIS])
2259 2259
                        - sq(DELTA_TOWER1_Y-cartesian[Y_AXIS])
2260 2260
                        ) + cartesian[Z_AXIS];
2261
-  delta[Y_AXIS] = sqrt(sq(DELTA_DIAGONAL_ROD)
2261
+  delta[Y_AXIS] = sqrt(DELTA_DIAGONAL_ROD_2
2262 2262
                        - sq(DELTA_TOWER2_X-cartesian[X_AXIS])
2263 2263
                        - sq(DELTA_TOWER2_Y-cartesian[Y_AXIS])
2264 2264
                        ) + cartesian[Z_AXIS];
2265
-  delta[Z_AXIS] = sqrt(sq(DELTA_DIAGONAL_ROD)
2265
+  delta[Z_AXIS] = sqrt(DELTA_DIAGONAL_ROD_2
2266 2266
                        - sq(DELTA_TOWER3_X-cartesian[X_AXIS])
2267 2267
                        - sq(DELTA_TOWER3_Y-cartesian[Y_AXIS])
2268 2268
                        ) + cartesian[Z_AXIS];

+ 5
- 0
Marlin/example_configurations/delta/Configuration_adv.h View File

@@ -195,6 +195,11 @@
195 195
 #define DEFAULT_MINIMUMFEEDRATE       0.0     // minimum feedrate
196 196
 #define DEFAULT_MINTRAVELFEEDRATE     0.0
197 197
 
198
+// Feedrates for manual moves along X, Y, Z, E from panel
199
+#ifdef ULTIPANEL
200
+#define MANUAL_FEEDRATE {50*60, 50*60, 4*60, 60}  // set the speeds for manual moves (mm/min)
201
+#endif
202
+
198 203
 // minimum time in microseconds that a movement needs to take if the buffer is emptied.
199 204
 #define DEFAULT_MINSEGMENTTIME        20000
200 205
 

+ 152
- 0
Marlin/thermistortables.h View File

@@ -314,6 +314,158 @@ const short temptable_7[][2] PROGMEM = {
314 314
    {1023*OVERSAMPLENR, 0}  //to allow internal 0 degrees C
315 315
 };
316 316
 #endif
317
+
318
+#if (THERMISTORHEATER_0 == 71) || (THERMISTORHEATER_1 == 71) || (THERMISTORHEATER_2 == 71) || (THERMISTORBED == 71) // 100k Honeywell 135-104LAF-J01
319
+// R0 = 100000 Ohm
320
+// T0 = 25 °C
321
+// Beta = 3974
322
+// R1 = 0 Ohm
323
+// R2 = 4700 Ohm
324
+const short temptable_71[][2] PROGMEM = {
325
+   {35*OVERSAMPLENR, 300},
326
+   {51*OVERSAMPLENR, 270},
327
+   {54*OVERSAMPLENR, 265},
328
+   {58*OVERSAMPLENR, 260},
329
+   {59*OVERSAMPLENR, 258},
330
+   {61*OVERSAMPLENR, 256},
331
+   {63*OVERSAMPLENR, 254},
332
+   {64*OVERSAMPLENR, 252},
333
+   {66*OVERSAMPLENR, 250},
334
+   {67*OVERSAMPLENR, 249},
335
+   {68*OVERSAMPLENR, 248},
336
+   {69*OVERSAMPLENR, 247},
337
+   {70*OVERSAMPLENR, 246},
338
+   {71*OVERSAMPLENR, 245},
339
+   {72*OVERSAMPLENR, 244},
340
+   {73*OVERSAMPLENR, 243},
341
+   {74*OVERSAMPLENR, 242},
342
+   {75*OVERSAMPLENR, 241},
343
+   {76*OVERSAMPLENR, 240},
344
+   {77*OVERSAMPLENR, 239},
345
+   {78*OVERSAMPLENR, 238},
346
+   {79*OVERSAMPLENR, 237},
347
+   {80*OVERSAMPLENR, 236},
348
+   {81*OVERSAMPLENR, 235},
349
+   {82*OVERSAMPLENR, 234},
350
+   {84*OVERSAMPLENR, 233},
351
+   {85*OVERSAMPLENR, 232},
352
+   {86*OVERSAMPLENR, 231},
353
+   {87*OVERSAMPLENR, 230},
354
+   {89*OVERSAMPLENR, 229},
355
+   {90*OVERSAMPLENR, 228},
356
+   {91*OVERSAMPLENR, 227},
357
+   {92*OVERSAMPLENR, 226},
358
+   {94*OVERSAMPLENR, 225},
359
+   {95*OVERSAMPLENR, 224},
360
+   {97*OVERSAMPLENR, 223},
361
+   {98*OVERSAMPLENR, 222},
362
+   {99*OVERSAMPLENR, 221},
363
+   {101*OVERSAMPLENR, 220},
364
+   {102*OVERSAMPLENR, 219},
365
+   {104*OVERSAMPLENR, 218},
366
+   {106*OVERSAMPLENR, 217},
367
+   {107*OVERSAMPLENR, 216},
368
+   {109*OVERSAMPLENR, 215},
369
+   {110*OVERSAMPLENR, 214},
370
+   {112*OVERSAMPLENR, 213},
371
+   {114*OVERSAMPLENR, 212},
372
+   {115*OVERSAMPLENR, 211},
373
+   {117*OVERSAMPLENR, 210},
374
+   {119*OVERSAMPLENR, 209},
375
+   {121*OVERSAMPLENR, 208},
376
+   {123*OVERSAMPLENR, 207},
377
+   {125*OVERSAMPLENR, 206},
378
+   {126*OVERSAMPLENR, 205},
379
+   {128*OVERSAMPLENR, 204},
380
+   {130*OVERSAMPLENR, 203},
381
+   {132*OVERSAMPLENR, 202},
382
+   {134*OVERSAMPLENR, 201},
383
+   {136*OVERSAMPLENR, 200},
384
+   {139*OVERSAMPLENR, 199},
385
+   {141*OVERSAMPLENR, 198},
386
+   {143*OVERSAMPLENR, 197},
387
+   {145*OVERSAMPLENR, 196},
388
+   {147*OVERSAMPLENR, 195},
389
+   {150*OVERSAMPLENR, 194},
390
+   {152*OVERSAMPLENR, 193},
391
+   {154*OVERSAMPLENR, 192},
392
+   {157*OVERSAMPLENR, 191},
393
+   {159*OVERSAMPLENR, 190},
394
+   {162*OVERSAMPLENR, 189},
395
+   {164*OVERSAMPLENR, 188},
396
+   {167*OVERSAMPLENR, 187},
397
+   {170*OVERSAMPLENR, 186},
398
+   {172*OVERSAMPLENR, 185},
399
+   {175*OVERSAMPLENR, 184},
400
+   {178*OVERSAMPLENR, 183},
401
+   {181*OVERSAMPLENR, 182},
402
+   {184*OVERSAMPLENR, 181},
403
+   {187*OVERSAMPLENR, 180},
404
+   {190*OVERSAMPLENR, 179},
405
+   {193*OVERSAMPLENR, 178},
406
+   {196*OVERSAMPLENR, 177},
407
+   {199*OVERSAMPLENR, 176},
408
+   {202*OVERSAMPLENR, 175},
409
+   {205*OVERSAMPLENR, 174},
410
+   {208*OVERSAMPLENR, 173},
411
+   {212*OVERSAMPLENR, 172},
412
+   {215*OVERSAMPLENR, 171},
413
+   {219*OVERSAMPLENR, 170},
414
+   {237*OVERSAMPLENR, 165},
415
+   {256*OVERSAMPLENR, 160},
416
+   {300*OVERSAMPLENR, 150},
417
+   {351*OVERSAMPLENR, 140},
418
+   {470*OVERSAMPLENR, 120},
419
+   {504*OVERSAMPLENR, 115},
420
+   {538*OVERSAMPLENR, 110},
421
+   {552*OVERSAMPLENR, 108},
422
+   {566*OVERSAMPLENR, 106},
423
+   {580*OVERSAMPLENR, 104},
424
+   {594*OVERSAMPLENR, 102},
425
+   {608*OVERSAMPLENR, 100},
426
+   {622*OVERSAMPLENR, 98},
427
+   {636*OVERSAMPLENR, 96},
428
+   {650*OVERSAMPLENR, 94},
429
+   {664*OVERSAMPLENR, 92},
430
+   {678*OVERSAMPLENR, 90},
431
+   {712*OVERSAMPLENR, 85},
432
+   {745*OVERSAMPLENR, 80},
433
+   {758*OVERSAMPLENR, 78},
434
+   {770*OVERSAMPLENR, 76},
435
+   {783*OVERSAMPLENR, 74},
436
+   {795*OVERSAMPLENR, 72},
437
+   {806*OVERSAMPLENR, 70},
438
+   {818*OVERSAMPLENR, 68},
439
+   {829*OVERSAMPLENR, 66},
440
+   {840*OVERSAMPLENR, 64},
441
+   {850*OVERSAMPLENR, 62},
442
+   {860*OVERSAMPLENR, 60},
443
+   {870*OVERSAMPLENR, 58},
444
+   {879*OVERSAMPLENR, 56},
445
+   {888*OVERSAMPLENR, 54},
446
+   {897*OVERSAMPLENR, 52},
447
+   {905*OVERSAMPLENR, 50},
448
+   {924*OVERSAMPLENR, 45},
449
+   {940*OVERSAMPLENR, 40},
450
+   {955*OVERSAMPLENR, 35},
451
+   {967*OVERSAMPLENR, 30},
452
+   {970*OVERSAMPLENR, 29},
453
+   {972*OVERSAMPLENR, 28},
454
+   {974*OVERSAMPLENR, 27},
455
+   {976*OVERSAMPLENR, 26},
456
+   {978*OVERSAMPLENR, 25},
457
+   {980*OVERSAMPLENR, 24},
458
+   {982*OVERSAMPLENR, 23},
459
+   {984*OVERSAMPLENR, 22},
460
+   {985*OVERSAMPLENR, 21},
461
+   {987*OVERSAMPLENR, 20},
462
+   {995*OVERSAMPLENR, 15},
463
+   {1001*OVERSAMPLENR, 10},
464
+   {1006*OVERSAMPLENR, 5},
465
+   {1010*OVERSAMPLENR, 0},
466
+};
467
+#endif
468
+
317 469
 #if (THERMISTORHEATER_0 == 8) || (THERMISTORHEATER_1 == 8) || (THERMISTORHEATER_2 == 8) || (THERMISTORBED == 8)
318 470
 // 100k 0603 SMD Vishay NTCS0603E3104FXT (4.7k pullup)
319 471
 const short temptable_8[][2] PROGMEM = {

+ 10
- 8
Marlin/ultralcd.cpp View File

@@ -18,6 +18,8 @@ int plaPreheatFanSpeed;
18 18
 int absPreheatHotendTemp;
19 19
 int absPreheatHPBTemp;
20 20
 int absPreheatFanSpeed;
21
+
22
+static float manual_feedrate[] = MANUAL_FEEDRATE;
21 23
 /* !Configuration settings */
22 24
 
23 25
 //Function pointer to menu functions.
@@ -377,9 +379,9 @@ static void lcd_move_x()
377 379
         encoderPosition = 0;
378 380
         #ifdef DELTA
379 381
         calculate_delta(current_position);
380
-        plan_buffer_line(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], current_position[E_AXIS], 600, active_extruder);
382
+        plan_buffer_line(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], current_position[E_AXIS], manual_feedrate[X_AXIS]/60, active_extruder);
381 383
         #else
382
-        plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 600, active_extruder);
384
+        plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], manual_feedrate[X_AXIS]/60, active_extruder);
383 385
         #endif
384 386
         lcdDrawUpdate = 1;
385 387
     }
@@ -406,9 +408,9 @@ static void lcd_move_y()
406 408
         encoderPosition = 0;
407 409
         #ifdef DELTA
408 410
         calculate_delta(current_position);
409
-        plan_buffer_line(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], current_position[E_AXIS], 600, active_extruder);
411
+        plan_buffer_line(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], current_position[E_AXIS], manual_feedrate[Y_AXIS]/60, active_extruder);
410 412
         #else
411
-        plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 600, active_extruder);
413
+        plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], manual_feedrate[Y_AXIS]/60, active_extruder);
412 414
         #endif
413 415
         lcdDrawUpdate = 1;
414 416
     }
@@ -435,9 +437,9 @@ static void lcd_move_z()
435 437
         encoderPosition = 0;
436 438
         #ifdef DELTA
437 439
         calculate_delta(current_position);
438
-        plan_buffer_line(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], current_position[E_AXIS], homing_feedrate[Z_AXIS]/60, active_extruder);
440
+        plan_buffer_line(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], current_position[E_AXIS], manual_feedrate[Z_AXIS]/60, active_extruder);
439 441
         #else
440
-        plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], homing_feedrate[Z_AXIS]/60, active_extruder);
442
+        plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], manual_feedrate[Z_AXIS]/60, active_extruder);
441 443
         #endif
442 444
         lcdDrawUpdate = 1;
443 445
     }
@@ -460,9 +462,9 @@ static void lcd_move_e()
460 462
         encoderPosition = 0;
461 463
         #ifdef DELTA
462 464
         calculate_delta(current_position);
463
-        plan_buffer_line(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], current_position[E_AXIS], 20, active_extruder);
465
+        plan_buffer_line(delta[X_AXIS], delta[Y_AXIS], delta[Z_AXIS], current_position[E_AXIS], manual_feedrate[E_AXIS]/60, active_extruder);
464 466
         #else
465
-        plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], 20, active_extruder);
467
+        plan_buffer_line(current_position[X_AXIS], current_position[Y_AXIS], current_position[Z_AXIS], current_position[E_AXIS], manual_feedrate[E_AXIS]/60, active_extruder);
466 468
         #endif
467 469
         lcdDrawUpdate = 1;
468 470
     }

Loading…
Cancel
Save