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 件のコメント:
コメントを投稿