先日買うたサーミスタ、村田製作所のNXFT15WF104FA2Bにつて、とりあえずこれで行けたという設定。gen6.dボードのファームウェアを書き換える。
https://github.com/romscrajから、Marlinというバージョンのファームウェアをダウンロード。中身はarduinoのソース。
で、Marlinフォルダの中に入っている、createTemperatureLookup.pyを使って値を計算するらしい。
設定温度(t0)、B定数(beta)なるものは秋月の資料をみて解ったのだが、結局r1とr2の値の意味が分からんかったw
ので、先人の方を見習いながら設定した。
ターミナルから、
createTemperatureLookup.py --r0=100000 --t0=25 --r1=0 --r2=4700 --beta=4250
とすると値が出てくる(以下)
// Thermistor lookup table for RepRap Temperature Sensor Boards (http://make.rrrf.org/ts)
// Made with createTemperatureLookup.py (http://svn.reprap.org/trunk/reprap/firmware/Arduino/utilities/createTemperatureLookup.py)
// ./createTemperatureLookup.py --r0=100000 --t0=25 --r1=0 --r2=4700 --beta=4250 --max-adc=1023
// r0: 100000
// t0: 25
// r1: 0
// r2: 4700
// beta: 4250
// max adc: 1023
#define NUMTEMPS 31
short temptable[NUMTEMPS][2] = {
{1, 722},
{35, 267},
{69, 222},
{103, 198},
{137, 182},
{171, 170},
{205, 159},
{239, 151},
{273, 144},
{307, 137},
{341, 131},
{375, 125},
{409, 120},
{443, 115},
{477, 111},
{511, 106},
{545, 102},
{579, 97},
{613, 93},
{647, 88},
{681, 84},
{715, 79},
{749, 75},
{783, 70},
{817, 64},
{851, 59},
{885, 52},
{919, 44},
{953, 34},
{987, 20},
{1021, -23}
};
上記の、{ }にある数値を下記の様にthermistortables.hに書き込む
#if (THERMISTORHEATER_0 == 7) || (THERMISTORHEATER_1 == 7) || (THERMISTORHEATER_2 == 7) || (THERMISTORBED == 7) // 100k murata NXFT15WF104FA2B
const short temptable_7[][2] PROGMEM = {
{1*OVERSAMPLENR, 722},
{35*OVERSAMPLENR, 267},
{69*OVERSAMPLENR, 222},
{103*OVERSAMPLENR, 198},
{137*OVERSAMPLENR, 182},
{171*OVERSAMPLENR, 170},
{205*OVERSAMPLENR, 159},
{239*OVERSAMPLENR, 151},
{273*OVERSAMPLENR, 144},
{307*OVERSAMPLENR, 137},
{341*OVERSAMPLENR, 131},
{375*OVERSAMPLENR, 125},
{409*OVERSAMPLENR, 120},
{443*OVERSAMPLENR, 115},
{477*OVERSAMPLENR, 111},
{511*OVERSAMPLENR, 106},
{545*OVERSAMPLENR, 102},
{579*OVERSAMPLENR, 97},
{613*OVERSAMPLENR, 93},
{647*OVERSAMPLENR, 88},
{681*OVERSAMPLENR, 84},
{715*OVERSAMPLENR, 79},
{749*OVERSAMPLENR, 75},
{783*OVERSAMPLENR, 70},
{817*OVERSAMPLENR, 64},
{851*OVERSAMPLENR, 59},
{885*OVERSAMPLENR, 52},
{919*OVERSAMPLENR, 44},
{953*OVERSAMPLENR, 34},
{987*OVERSAMPLENR, 20},
{1021*OVERSAMPLENR, -23}
};
#endif
必要に会わせて、Configuration.hのヒーターベッドのサーミスタ設定の値も替えておく。
上記の場合、7番目の設定にしてある。
で、arduino.appでファームウェアをうpして終了。
☆このサーミスタ、125度までの対応なので、エクストルーダ側のサーミスタには使えないようだ。しょぼぼ〜んや。