PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Sensor im Extruder (3D Drucker) Teacup Einstellung



DjEKI
15.04.2015, 20:35
Moin,

Ich nutze Teacup Firmware auf ein Arduino Uno.
Hier der Sensor (http://www.ebay.de/itm/3D-Drucker-Print-Head-Extruder-0-2mm-0-3mm-0-4mm-Nozzle-Thermostable-RepRap-/121564027408?pt=LH_DefaultDomain_77&hash=item1c4dc7da10)
Der Sensor ist an Pin A4 angeschlossen.

Es gibt ein Wiki dazu (http://reprap.org/wiki/MeasuringThermistorBeta), aber ich verstehe es Absolut nicht. Das kommt vllt auch von daher, dass ich nicht so gut Englisch kann.
Ich habe den Sensor gemessen und es hat 5Ohm bei Zimmertemperatur. (an Rot und blaues Kabel gemessen)

Weis jemand, wie ich Teacup einstellen kann?

ThermistorTable.h

// Thermistor lookup table for one thermistor or
// identical thermistors in all places.

/*
This table doesn't depend on the type of electronics, but on the type of
thermistor(s) you use. You want one table for each thermistor type you use.
*/

// How many thermistor tables we have.
#define NUMTABLES 1

// Names for our tables, so you can use them in config.h.
// Table numbering starts at 0.
#define THERMISTOR_EXTRUDER 0

/*
You may be able to improve the accuracy of this table in various ways.

1. Measure the actual resistance of the resistor. It's "nominally" 4.7K,
but that's ± 5%.
2. Measure the actual beta of your thermistor:
http://reprap.org/wiki/MeasuringThermistorBeta
3. Generate more table entries than you need, then trim down the ones
in uninteresting ranges.

In either case you'll have to regenerate this table with
createTemperatureLookup.py, which requires python, which is difficult to
install on windows. Since you'll have to do some testing to determine the
correct temperature for your application anyway, you may decide that the
effort isn't worth it. Who cares if it's reporting the "right" temperature
as long as it's keeping the temperature steady enough to print, right?
*/

// The number of value pairs in our table.
// Must be the same for all tables.
#define NUMTEMPS 20

const uint16_t PROGMEM temptable[NUMTABLES][NUMTEMPS][2] = {

// Table for the Extruder.
// Thermistor: unknown

// ./createTemperatureLookup.py --r0=100000 --t0=25 --r1=0 --r2=4700 --beta=4066 --max-adc=1023
{
{1, 3364}, // 841.027617469 C
{21, 1329}, // 332.486789769 C
{41, 1104}, // 276.102666373 C
{61, 987}, // 246.756060004 C
{81, 909}, // 227.268080588 C
{101, 851}, // 212.78847342 C
{121, 805}, // 201.30176775 C
{141, 767}, // 191.787692666 C
{161, 734}, // 183.662212795 C
{181, 706}, // 176.561442671 C
{201, 680}, // 170.244089549 C
{221, 658}, // 164.542298163 C
{241, 637}, // 159.33475843 C
{321, 567}, // 141.921298995 C
{381, 524}, // 131.166509425 C
{581, 406}, // 101.561865389 C
{781, 291}, // 72.9710018071 C
{881, 219}, // 54.8051659223 C
{981, 93}, // 23.4825243529 C
{1010, 1} // 0.498606463441 C
}
};

Ausschnitt von Config.h

/************************************************** *************************\
* *
* 4. TEMPERATURE SENSORS *
* *
\************************************************* **************************/

/** \def TEMP_HYSTERESIS

Actual temperature must be target +/- this hysteresis before target
temperature is considered to be achieved. Also, BANG_BANG tries to stay
within half of this hysteresis.

Unit: degree Celsius
*/
#define TEMP_HYSTERESIS 10

/**
TEMP_RESIDENCY_TIME: actual temperature must be close to target (within
set temperature +- TEMP_HYSTERESIS) for this long before target is achieved
(and a M116 succeeds). Unit is seconds.
*/
#define TEMP_RESIDENCY_TIME 60

/**
TEMP_EWMA: Smooth noisy temperature sensors. Good hardware shouldn't be
noisy. Set to 1.0 for unfiltered data (and a 140 bytes smaller binary).

Instrument Engineer's Handbook, 4th ed, Vol 2 p126 says values of
0.05 to 0.1 are typical. Smaller is smoother but slower adjusting, larger is
quicker but rougher. If you need to use this, set the PID parameter to zero
(M132 S0) to make the PID loop insensitive to noise.

Valid range: 0.001 to 1.0
*/
#define TEMP_EWMA 1.0

/// which temperature sensors are you using? List every type of sensor you use here once, to enable the appropriate code. Intercom is the gen3-style separate extruder board.
// #define TEMP_MAX6675
#define TEMP_THERMISTOR
// #define TEMP_AD595
// #define TEMP_PT100
// #define TEMP_INTERCOM

/************************************************** *************************\
* *
* Define your temperature sensors here. One line for each sensor, only *
* limited by the number of available ATmega pins. *
* *
* Types are same as TEMP_ list above - TT_MAX6675, TT_THERMISTOR, TT_AD595, *
* TT_PT100, TT_INTERCOM. See list in temp.c. *
* *
* The "additional" field is used for TT_THERMISTOR only. It defines the *
* name of the table(s) in ThermistorTable.h to use. Typically, this is *
* THERMISTOR_EXTRUDER for the first or only table, or THERMISTOR_BED for *
* the second table. See also early in ThermistorTable.{single|double}.h. *
* *
* For a GEN3 set temp_type to TT_INTERCOM and temp_pin to AIO0. The pin *
* won't be used in this case. *
* *
\************************************************* **************************/

#ifndef DEFINE_TEMP_SENSOR
#define DEFINE_TEMP_SENSOR(...)
#endif

// name type pin additional
DEFINE_TEMP_SENSOR(extruder, TT_THERMISTOR, AIO4, THERMISTOR_EXTRUDER)
//DEFINE_TEMP_SENSOR(bed, TT_THERMISTOR, AIO1, THERMISTOR_EXTRUDER)
// "noheater" is a special name for a sensor which doesn't have a heater.
// Use "M105 P#" to read it, where # is a zero-based index into this list.
// DEFINE_TEMP_SENSOR(noheater, TT_THERMISTOR, 1, 0)

021aet04
16.04.2015, 07:07
Das ist kein Sensor sondern ein gesamter extruder. Das was du gemessen hast ist der Schrittmotor (laut dem Link hat der Motor 5,75ohm). Der Sensor ist ein PT100, hat somit bei 0Grad Celsius 100 Ohm.

Ich habe mir das Programm nicht genau angeschaut, aber im config.h steht Temp type den musst du auf pt100 stellen, dann sollte es funktionieren, wenn alles richtig angeschlossen ist.

MfG Hannes

DjEKI
16.04.2015, 07:32
Na, ich glaube, das es der sensor war, das kabel geht in den heater rein. Das andere kabel, das etwas dicker ist, soll laut ebay der heater sein, der auch in den heater geht. Die kabel am motor sind noch nicht angeschlossen. Also, was ich da gemessen habe, ist anschein nicht normal?

malthy
16.04.2015, 09:14
Hi,

ich kenne mich nicht näher mit dem Extruder aus. Aber auf den ersten Blick: kann es sein dass Du den Innenwiderstand der Beheizung des Extruders gemessen hast? Auf ebay ist 12V bei 35 W angegeben, das würde einem Innenwiderstand von R = U2/P = 4.1 Ohm entsprechen. Vielleicht sind die Kabelfarben auf ebay einfach vertauscht angegeben worden? Demnach könnten rot und blau die Heizung des Extruders sein und die beiden weißen Kabel der Temperatursensor. Du könntest also den Widerstand zwischen den weißen Kabeln nochmal messen und gucken ob der plausibel ist.

Gruß
Malte

i_make_it
16.04.2015, 11:20
Nach der Beschreibung die beim Artikel unten steht, sind die weißen Kabel die Heizung und rot & blau der PT100. Aber der sollte bei Zimmertemperatur über 100 Ohm haben. 5 Ohm kommt wirklich einer Motorwicklung näher.
http://www.abmh.de/pt100/tabelle.html

Wenn das Ohmmeter in Ordung ist, Die Batterie in Ordnung ist, der richtige Messbereich gewählt ist und der PT100 beim Messen nicht irgendwo angeschlossen ist, würde ich mir Gedanken machen ob das Teil kaputt ist.
Features:


extruder stepper motor Model 42H46 - Operating voltage 12-24V.
the cooling fan operating voltage 12V.
Extrusion head voltage 12V, power 35W, 500MM cable.
K-type thermocouple (PT100 reference temperature of 0 degrees), 500MM connect cable


Parameters:

Movement axis speed: 40mm /s
Nozzle flow rate: about 24cc / h
Print Material: ABS




Note:



Heating section must have temperature control,Normal operating temperature 190 ° -230 °, set the maximum temperature does not exceed 280 °.
the Two white cables: heating
Red and blue cables: Thermocouple

malthy
16.04.2015, 12:46
5 Ohm kommt wirklich einer Motorwicklung näher.

Ich könnte mir vorstellen, dass man die Motoranschlüsse vom Rest der Kabelage visuell unterschieden kann, sie kommen ja von woanders. Daher mein Gedanke, dass vielleicht die Anschlüsse des Temepratursensors mit denen der Extruderbeheizung verwechselt wurden. Dass das dann nicht mit den Farbangaben im ebay Angebot übereinstimmt, ist schon klar. Solche Fälle sind mir bei China-Kram aber durchaus schon untergekommen.

Gruß
Malte

i_make_it
16.04.2015, 13:24
Aus dem Heizelement kommen auf dem Bild von der Auktion drei Geflechtleitungen. Zwei weiße und ein Metallgeflecht. Das Metallgeflecht ist mit blauem Schrumpfschlauch abgeschlossen und daraus kommen wohl ein rotes und ein blaues Kabel.
Dann gibt es noch rot und schwarz am Lüfter und die Kabel vom Stepper (rot, gelb, grün,grau).
Ein vertauchen erfordert wohl komplette Farbenblindheit und die Abwesenheit jedes Technik wissens.
Ich denke schon das Erik Huber die richtigen Kabel genommen hat.
Außer er hat den Lüfter gemessen.

Es könnte auch ein DOA Teil sein.

DjEKI
16.04.2015, 18:45
Also, Kabel wurden nicht vertauscht. Der Heater funktioniert, denn es wird heiß. Nur der Sensor zeigte heute bei Zimmertemperatur 6,8 Ohm an. Der Multimeter funktioniert, habe es an ein paar Widerständen ausprobiert.

Aber danke für den Hinweis, wegen PT100. Dann stelle ich das mal ein und wird in den nächsten Tagen ausprobiert. Werde es mit ein Digitalen Thermometer überwachen.

Wüsste aber jemand, an welchen Pin vom ATMega328 ich den Sensor anschließen dürfte?

mfg

i_make_it
16.04.2015, 19:46
Spannungsteiler mit PT100 und einem normalen Wiederstand aufbauen und an einen Analogeingang.

Rot an 5V, an blau den anderen Wiederstand der am anderne Ende auf Masse liegt. An blau kommt dann noch der Analogeingang.
(ADC0 bis ADC5)

redround
16.04.2015, 20:10
wie schon gesagt wurde, sind 5 Ohm für einen PT100 vollkommen utopisch. PT100 heißt ja gerade, dass es ein temperaturabhängiger Platin-Sensor ist mit 100 Ohm bei 0 Grad.

Das mit dem Anschluss einen PT100 ist so eine Sache. Das Problem ist, dass sich der Sensor bei zu hohem fließenden Strom selbst erwärmt. Eigentlich nimmt man dafür einen Instrumenten-Verstärker. Wenn man es ganz genau machen will (was in diesem Anwendungsfall aber wohl eher nicht notwendig ist), dann in einer sog. 4 Draht Ansteuerung. Einfach mal danach googlen. Auf mikrocontroller.net gibt es auch einen ganzen Haufen unterschiedlicher Schaltungen für die Auswertung - mit zum Teil sehr kontroversen Diskussionen dazu. Es gibt auch schon fertige Verstärker-Module für die PT-Sensoren ... aber auch da muss man aufpassen, da die Schaltung dort auch nicht immer wirklich gut ist.

DjEKI
16.04.2015, 20:46
Nagut, ich habe den Verkäufer mal angesprochen und mal sehn, was er dazu meint.

Jdenfals, i_make_it, könntest du ein Schaltplan für mich machen, oder finden?^^ Ich habe das nicht so verstanden, was du da geschrieben hast ^^

redround, leider gibt es zu viele Varianten um ein PT100 zu schalten, womit ich überfordert bin. Wie gesagt,ich benötige das für mein AVR.
Ich habe aber auch schon gesucht und das hier gefunden, nur weis ich nicht, was das für ein bauteil ist, op747 ic2a http://files.mikrokopter.de/PT100_Messverstaerker_02.pdf
Nur muss das ganze ja auch mit der Teacup Einstellung funktionieren.

Peter(TOO)
16.04.2015, 22:02
extruder stepper motor Model 42H46 - Operating voltage 12-24V.
the cooling fan operating voltage 12V.
Extrusion head voltage 12V, power 35W, 500MM cable.
K-type thermocouple (PT100 reference temperature of 0 degrees), 500MM connect cable


Das passt nicht!
K-type thermocouple ist ein Thermoelement und kein PT100!
http://de.wikipedia.org/wiki/Thermoelement#Vergleich_verschiedener_Thermoelemen te

Beim Thermoelement spielt auch die Polung eine Rolle, weshalb unterschiedliche Drahtfarben sein müssen.
Bei einem PT100 spielt die Polung keine Rolle.

MfG Peter(TOO)

- - - Aktualisiert - - -

Hallo Erik

Nagut, ich habe den Verkäufer mal angesprochen und mal sehn, was er dazu meint.

Ein Thermoelement erkennst du, unter anderem, daran, dass es keine Kupferdrähte sind und zudem die beiden Drähte aus unterschiedlichem Material bestehen.
OK, die unterschiedlichen Materialen sind nicht so einfach zu erkennen, aber direkt nebeneinander haben sie eine leicht unterschiedliche Farbe.

MfG Peter(TOO)

DjEKI
17.04.2015, 07:29
Das würde einiges erklären. Danke für den hinweis. Dann darf ich anschein auch nicht in der einstellung auf pt100 einstellen? Wie müsste ich denn alles anschließen?

Gut, durch Wiki und viel suchen habe ich endlich herrausgefunden, was mir noch fehlt. Ich brauch ein MAX6675. Denn einfach so anschließen geht nicht, da ohne Verstärker der Controller es nicht lesen kann. Ich hatte mal mit ein Multimeter getestet und habe bei einer bestimmten Hitze gerade mal 1-3 mV ablesen können.

Dann wäre ja alles erledigt. Danke :)

Mfg

Peter(TOO)
17.04.2015, 19:05
Hallo,

Das würde einiges erklären. Danke für den hinweis. Dann darf ich anschein auch nicht in der einstellung auf pt100 einstellen? Wie müsste ich denn alles anschließen?
Ich kenne die Bibliothek nicht und weiss auch nicht was du einstellen musst, bzw ob da überhaupt etwas für Thermoelemente vorgesehen ist?
Thermoelemente werden aber oft in Extrudern verwendet und die Software ist einfach, da die Spannung linear zur Temperatur ist, da muss man also nicht kompliziert linearisieren.


Gut, durch Wiki und viel suchen habe ich endlich herrausgefunden, was mir noch fehlt. Ich brauch ein MAX6675. Denn einfach so anschließen geht nicht, da ohne Verstärker der Controller es nicht lesen kann. Ich hatte mal mit ein Multimeter getestet und habe bei einer bestimmten Hitze gerade mal 1-3 mV ablesen können.

Dann wäre ja alles erledigt.
Fast alles!
Du musst bei Thermoelementen noch etwas mit Steckern und Klemmen aufpassen!
Immer wenn zwei unterschiedliche Metalle zusammen kommen, tritt so eine Thermospannung auf. Wenn man es richtig macht, kompensieren die sich aber. Wenn aber z.B. die Klemmen eine unterschiedliche Temperatur haben, erzeugt dies einen Temperatur-Fehler. Du musst also einen Stecker so belegen, dass beide Kontakte immer die gleiche Temperatur haben.

MfG Peter(TOO)

DjEKI
18.04.2015, 06:46
Ok, danke für den hinweis. Ich habe mir ein modul bestellt und müsste heute kommen. Da sind die schraubklemmen sehr nah bei anander

021aet04
18.04.2015, 08:23
Das Problem ist nicht wie weit die klemmen auseinander sind. Das Problem ist, wie oben schon geschrieben wurde, die unterschiedlichen Materialien. Deswegen verwendet man bei Thermoelementen eine kaltstellenkompensation. Bei fertigen Reglern (industrieregler) sind diese dort integriert.

Als Verbinder gibt es spezielle Stecker bzw klemmen.

MfG Hannes

DjEKI
18.04.2015, 09:04
Axo, naja, ich habe mir halt komplett ein Modul gekauft und ich denke mal, dass die dort sich schon ein paar Gedanken gemacht haben http://www.amazon.de/gp/product/B00RWZ0ZUG?psc=1&redirect=true&ref_=oh_aui_detailpage_o00_s00

021aet04
18.04.2015, 11:17
Die klemmen könnten passen. Die kompensation macht der Chip selbst. Wenn du ein Thermometer hast könntest du dann die Genauigkeit überprüfen. Einmal mit ca. 0Grad und einmal mit einer hohen Temparatur (z.b. 200grad).

MfG Hannes