2012年8月30日木曜日

サーミスタの設定

 先日買うたサーミスタ、村田製作所の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度までの対応なので、エクストルーダ側のサーミスタには使えないようだ。しょぼぼ〜んや。

0 件のコメント:

コメントを投稿