{"id":685,"date":"2024-06-12T08:15:04","date_gmt":"2024-06-12T05:15:04","guid":{"rendered":"https:\/\/kivijakola.fi\/projektit\/?p=685"},"modified":"2024-06-12T21:13:19","modified_gmt":"2024-06-12T18:13:19","slug":"nibe-f1245-f1145-compressor-soft-starter-arduinolle","status":"publish","type":"post","link":"https:\/\/kivijakola.fi\/projektit\/2024\/06\/12\/nibe-f1245-f1145-compressor-soft-starter-arduinolle\/","title":{"rendered":"NIBE F1245 &#038; F1145 Compressor Soft Starter Arduinolle"},"content":{"rendered":"\n<p>Niben on\/off maal\u00e4mp\u00f6pumpuissa on kompressorin pehmok\u00e4ynnistin, jolla v\u00e4ltet\u00e4\u00e4n virtapiikki kompressorin k\u00e4ynnistyksess\u00e4. K\u00e4ynnistin sis\u00e4lt\u00e4\u00e4 my\u00f6s vaihevahdin puuttuvien vaiheiden ja v\u00e4\u00e4r\u00e4n vaihej\u00e4rjestyksen tarkkailulle.<\/p>\n\n\n\n<p>Samassa paketissa on my\u00f6s moottorinsuojakytkin, mallia EATON PKZM0-6.3-C. Kompressori itsess\u00e4\u00e4n ei tarvitse nollajohtoa, mutta pehmok\u00e4ynnistimen piirilevy tarvitsee nollan vaiheiden mittauksen vertailutasoksi.<\/p>\n\n\n\n<p>Digitaaliosien j\u00e4nnitteensy\u00f6tt\u00f6 on 12V liittimen X5 kautta (musta ja punainen johdin). Maal\u00e4mp\u00f6puppu kommunikoi moduliin kanssa &#8221;l\u00e4hes&#8221; I2C-v\u00e4yl\u00e4n kautta. V\u00e4yl\u00e4ss\u00e4 ei ole osoitteitusta eik\u00e4 varsinaisia start\/stop -tiloja. <\/p>\n\n\n\n<p>K\u00e4ynnistys ja k\u00e4ynniss\u00e4pito maal\u00e4mp\u00f6pumpun komennolla 0x01,0x33, 0x33 ,0x00 ja sammutus komennolla 0x01,0x2d, 0x2d ,0x00. Komennon j\u00e4lkeen pehmok\u00e4ynnistin vastaa nelj\u00e4tavuisella statussanomalla.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"992\" height=\"641\" src=\"https:\/\/kivijakola.fi\/projektit\/wp-content\/uploads\/2024\/06\/image.png\" alt=\"\" class=\"wp-image-686\" srcset=\"https:\/\/kivijakola.fi\/projektit\/wp-content\/uploads\/2024\/06\/image.png 992w, https:\/\/kivijakola.fi\/projektit\/wp-content\/uploads\/2024\/06\/image-300x194.png 300w, https:\/\/kivijakola.fi\/projektit\/wp-content\/uploads\/2024\/06\/image-768x496.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p>Jos kylm\u00e4moduulia ja kompressoria haluaa k\u00e4ytt\u00e4\u00e4 pehmok\u00e4ynnistimen kautta kokonaisuudesta irrotettuna, tarvitaan logiikka sanomien l\u00e4hett\u00e4miseen. T\u00e4ss\u00e4 yksinkertainen toteutus Arduinolle.<\/p>\n\n\n\n<p>Huom! T\u00e4ss\u00e4 ei huomioida keruun tai l\u00e4mm\u00f6njaon nestekiertoa ja pumppujen ohjausta. My\u00f6s yli- ja alipainepressostaattien tarkkailu j\u00e4tet\u00e4\u00e4n huomioimatta. Suoralla sy\u00f6t\u00f6ll\u00e4 kompressori k\u00e4y rikkoontumiseen asti tai kun moottorinsuojakytkin laukeaa.  <\/p>\n\n\n\n<p>Arduino k\u00e4ynnist\u00e4\u00e4 kompressorin, kun sen sarjaportista vastaanotetaan 1 tai jumpperipinnit on yhdistetty. Kompressori sammuu, kun uutta k\u00e4ynnistyssanomaa ei tule muutamaan sekuntiin tai v\u00e4litt\u00f6m\u00e4sti Arduinon vastaanotettua 0 ja sammutussanoman l\u00e4hett\u00e4misen j\u00e4lkeen.<\/p>\n\n\n\n<p>K\u00e4ynnistyssanoman j\u00e4lkeen pehmok\u00e4ynnistyksen releet kytkeytyv\u00e4t ja compr.on LED syttyy. Pienen viiveen (1-2s) j\u00e4lkeen pehmok\u00e4ynnistys kytkeytyy ohitukselle ja Bypass LED syttyy.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"426\" height=\"515\" src=\"https:\/\/kivijakola.fi\/projektit\/wp-content\/uploads\/2024\/06\/image-1.png\" alt=\"\" class=\"wp-image-688\" srcset=\"https:\/\/kivijakola.fi\/projektit\/wp-content\/uploads\/2024\/06\/image-1.png 426w, https:\/\/kivijakola.fi\/projektit\/wp-content\/uploads\/2024\/06\/image-1-248x300.png 248w\" sizes=\"auto, (max-width: 426px) 100vw, 426px\" \/><\/figure>\n\n\n\n<p>Pehmok\u00e4ynnistimen piirilevyll\u00e4 ohjauksesta vastaa pic16f677-mikrokontrolleri. T\u00e4m\u00e4 ohjaa kuutta relett\u00e4, joilla kompressorin sy\u00f6tt\u00f6 valitaan halutulle reitille.<\/p>\n\n\n\n<p>Nelinapaliitin: <br>1: Punainen, 12V<br>2: Musta, GND (My\u00f6s Arduino!)<br>3: Harmaa, SCL (0-5V)<br>4: Valkoinen, SDA (0-5V)<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"292\" height=\"468\" src=\"https:\/\/kivijakola.fi\/projektit\/wp-content\/uploads\/2024\/06\/image-2.png\" alt=\"\" class=\"wp-image-691\" srcset=\"https:\/\/kivijakola.fi\/projektit\/wp-content\/uploads\/2024\/06\/image-2.png 292w, https:\/\/kivijakola.fi\/projektit\/wp-content\/uploads\/2024\/06\/image-2-187x300.png 187w\" sizes=\"auto, (max-width: 292px) 100vw, 292px\" \/><\/figure>\n\n\n\n<p>Arduinon C-koodi<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-c\" data-lang=\"C\"><code>\/*\n * NIBE F1245 & F1145 compressor soft start communication controller \n * Uart commands:\n * 1: Set compressor ON\n * 0: Set compressor OFF\n * \n * Close jumper pins for continuous ON state kicking\n * \n * Some return values:\n * 0x3: Phase1 missing\n * 0x5: Phase2 missing\n * 0x7: Phase3 missing\n * 0x9: Incorrect phase order\n * \n * 0xB: Phases OK, compressor OFF\n * 0xD: Compressor on\n * 0x11: All phases missing\n * \n * (c) 2024 Janne Kivijakola\n *\/\n\n\n#define PIN_SCL 19\n#define PIN_SDA 18\n\n#define PIN_JUMPER1 2\n#define PIN_JUMPER2 3\n\nvoid setCompressor(byte state);\n\nvoid setup()\n{\n  Serial.begin(115200);\n  Serial.println(&quot;\\nNIBE SOFT STARTER&quot;);\n\n  pinMode(PIN_SDA, INPUT_PULLUP);\n  pinMode(PIN_SCL, OUTPUT);\n\n  \/\/Jumper\n  pinMode(PIN_JUMPER1, INPUT_PULLUP);\n  pinMode(PIN_JUMPER2, OUTPUT);\n  digitalWrite(PIN_JUMPER2, LOW);\n}\n\nvoid loop()\n{\n  byte incomingByte;\n\n  if (Serial.available() &gt; 0)\n  {\n    incomingByte = Serial.read();\n\n    if(incomingByte == &#39;1&#39;)\n    {\n      setCompressor(1);\n    }\n    if( incomingByte == &#39;0&#39;)\n    {\n      setCompressor(0);\n    }\n  }\n\n  \/\/Jumper in place --&gt; Do kicking\n  if(!digitalRead(PIN_JUMPER1))\n    setCompressor(1);\n\n  delay(1000);\n  \n}\nvoid setCompressor(byte state)\n{\n  byte startcmd[] = { 0x01,0x33, 0x33 ,0x00};\n  byte stopcmd[]  = { 0x01,0x2d, 0x2d ,0x00};\n  byte *writeData = startcmd;\n\n  if(!state)\n    writeData = stopcmd;\n  \n  pinMode(19, OUTPUT);\n  digitalWrite(19, HIGH);\n   \n  \/\/start\n  pinMode(PIN_SDA, OUTPUT);\n  digitalWrite(PIN_SDA, LOW);\n  delay(5);\n  digitalWrite(PIN_SCL, LOW);\n  delay(5);\n\n  \/\/sync\n  for(int i = 0; i&lt;8;i++)\n  {\n    digitalWrite(PIN_SCL, HIGH);\n    delay(5);\n    digitalWrite(PIN_SCL, LOW);\n    delay(5);\n  }\n\n  \/\/Write data\n  for(int k = 0; k&lt;4;k++)\n  {\n    byte writeByte = writeData[k];\n    for(int i = 0; i&lt;8;i++)\n    {  \n      digitalWrite(PIN_SDA, writeByte &gt;&gt; 7);\n      writeByte = writeByte &lt;&lt; 1;\n      digitalWrite(PIN_SCL, HIGH);\n      delay(5);\n      digitalWrite(PIN_SCL, LOW);\n      delay(5);\n    }\n    delay(5);\n  }\n  pinMode(PIN_SDA, INPUT_PULLUP);\n\n  \/\/Read data\n  for(int k = 0; k&lt;4;k++)\n  {\n    byte readData = 0;\n    for(int i = 0; i&lt;8;i++)\n    {\n      readData = readData &lt;&lt; 1;\n      digitalWrite(PIN_SCL, HIGH);\n      \n      delay(5);\n      readData|= digitalRead(PIN_SDA);\n      digitalWrite(PIN_SCL, LOW);\n      delay(5);\n    }\n    Serial.print(&quot;READ: 0x&quot;);\n    Serial.println(readData, HEX);\n    \n  }\n  pinMode(PIN_SCL, INPUT_PULLUP);\n\n}<\/code><\/pre><\/div>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Niben on\/off maal\u00e4mp\u00f6pumpuissa on kompressorin pehmok\u00e4ynnistin, jolla v\u00e4ltet\u00e4\u00e4n virtapiikki kompressorin k\u00e4ynnistyksess\u00e4. K\u00e4ynnistin sis\u00e4lt\u00e4\u00e4 my\u00f6s vaihevahdin puuttuvien vaiheiden ja v\u00e4\u00e4r\u00e4n vaihej\u00e4rjestyksen tarkkailulle. Samassa paketissa on my\u00f6s moottorinsuojakytkin, mallia EATON PKZM0-6.3-C. Kompressori itsess\u00e4\u00e4n ei tarvitse nollajohtoa, mutta pehmok\u00e4ynnistimen piirilevy tarvitsee nollan vaiheiden mittauksen vertailutasoksi. Digitaaliosien j\u00e4nnitteensy\u00f6tt\u00f6 on 12V liittimen X5 kautta (musta ja punainen johdin). Maal\u00e4mp\u00f6puppu kommunikoi &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/kivijakola.fi\/projektit\/2024\/06\/12\/nibe-f1245-f1145-compressor-soft-starter-arduinolle\/\" class=\"more-link\">Jatka lukemista<span class=\"screen-reader-text\"> &#8221;NIBE F1245 &#038; F1145 Compressor Soft Starter Arduinolle&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,1],"tags":[],"class_list":["post-685","post","type-post","status-publish","format-standard","hentry","category-elektroniikka","category-yleinen"],"_links":{"self":[{"href":"https:\/\/kivijakola.fi\/projektit\/wp-json\/wp\/v2\/posts\/685","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kivijakola.fi\/projektit\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kivijakola.fi\/projektit\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kivijakola.fi\/projektit\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kivijakola.fi\/projektit\/wp-json\/wp\/v2\/comments?post=685"}],"version-history":[{"count":11,"href":"https:\/\/kivijakola.fi\/projektit\/wp-json\/wp\/v2\/posts\/685\/revisions"}],"predecessor-version":[{"id":708,"href":"https:\/\/kivijakola.fi\/projektit\/wp-json\/wp\/v2\/posts\/685\/revisions\/708"}],"wp:attachment":[{"href":"https:\/\/kivijakola.fi\/projektit\/wp-json\/wp\/v2\/media?parent=685"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kivijakola.fi\/projektit\/wp-json\/wp\/v2\/categories?post=685"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kivijakola.fi\/projektit\/wp-json\/wp\/v2\/tags?post=685"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}