ILPon irDA ohjaus tietokoneen avulla

  • Viestiketjun aloittaja Viestiketjun aloittaja Joppe112
  • Aloituspäivämäärä Aloituspäivämäärä
Vs: ILPon irDA ohjaus tietokoneen avulla

Onko kukaan muuten kokeillut yleiskaukosäätimen käyttöä etäohjaukseen? Jos ostaisi ebaystä 4 euron yleiskaukosäätimen ja juottaisi muutaman releen näpyttelemään nappeja? Siinä on tietenkin ongelmana että alkuperäinen kaukosäädin ja yleiskaukosäädin eivät sitten ole synkronisoituja eli jos yleiskaukosäätimestä lähettää vaikka off-komennon niin alkuperäinen luulee vielä että laite on päällä. Onkohan muita ongelmia luvassa?
 
Vs: ILPon irDA ohjaus tietokoneen avulla

ilp0 sanoi:
Onko kukaan muuten kokeillut yleiskaukosäätimen käyttöä etäohjaukseen? Jos ostaisi ebaystä 4 euron yleiskaukosäätimen ja juottaisi muutaman releen näpyttelemään nappeja? Siinä on tietenkin ongelmana että alkuperäinen kaukosäädin ja yleiskaukosäädin eivät sitten ole synkronisoituja eli jos yleiskaukosäätimestä lähettää vaikka off-komennon niin alkuperäinen luulee vielä että laite on päällä. Onkohan muita ongelmia luvassa?

Aiemmin on todettu että monetkaan yleiskaket eivät osaa ilppien piiiiiiiitkiä komentosarjoja lähetellä. Jotkut osaavat, mutta useimmat ilmeisesti eivät. Voisi ehkä olettaa, että joku neljän euron kake ei tuohon pysty. Ilppihän lähettää yleensä kaikki mahdolliset asetukset kerralla, vaikka painaisi vain yhtä nappia.
 
Vs: ILPon irDA ohjaus tietokoneen avulla

Pyydän anteeksi minun suomi. Tämä on Googlen kääntämä ...

Olen kiinnostunut web pohjainen hallinta mini split lämpöpumppu asennetaan minun halliin, jonkin matkan päässä. Olen lukenut läpi foorumin täällä ja olen vaikuttunut työn ymmärtämään IR tietovirrat, vähän kerrallaan.Lämpöpumppu etiketti on YMGI mutta epäilen sitä on Sanyo koska kompressori on Sanyo ja toiminnallisuus vastaa Sanyo. Joten minulla on pari kysymystä.

Onko asiakirja jonnekin joka kuvaa Sanyo tietovirran tilat, toiminnot, palalta kenttä. Minulla on. Xls asiakirja oli lähetetty hyvin varhain tähän aiheeseen.

Tietääkö kukaan, jos YMGI todella Sanyo sisällä, vai onko tapa tunnistaa valmistaja IR tietoja. Olen tavan kaapata tietoja.

Kiitos.
 
Vs: ILPon irDA ohjaus tietokoneen avulla

Yes, homma etenee ;D Sain just ekaa kertaa nauhoitettua Panasonicin kaukosäädinkoodin Arduinolle ja toistettua sen niin että pumppu vastasi siihen oikein ;D

Ainesosat:
  • Arduino
  • Koekytkentälevy jolla Panasonic E12-pumpun sisäyksiköstä varastettu IR-vastaanotinmoduli, IR-ledi ja sen etuvastus sekä painonappi
  • Ken Sherriff'n IRRemote-kirjasto, josta puukotettu failista IRremote.h raw-koodin puskurin maksimipituudeksi 256
  • Esimerkki IRRecord modattuna niin että otetaan vain RAW-koodi huomioon ja lähetyksessä käytetään 40 kHz taajuutta 38 sijaan

Tuo Panan vastaanotinmoduli vastaanottaa näköjään ihan mitä vaan, tai ainakin Sonyn ja Samsungin TV:n koodin sai nauhoitettua ja toistettua.
 
Vs: ILPon irDA ohjaus tietokoneen avulla

Oletko lukenut tätä topiikkia sivulta 4? Aikoinaan tein Panan ohjaukseen koodin, joka 'soitteli' koodeja PC : n kuulokeliitäntään kytketyistä ledeistä. Siellä on zippipaketti edelleen, jossa on se koodinpätkä. Aika helppo pitäisi olla portata arduinolle sopvaksi? Siinä on selvitetty myös IR koodin sisältöä, joten ei tarvitse 'nauhoittaa' koodeja kaukkarista, kun peruskoodi on selvillä, riittää että muuttaa sinne hexana vaan ohjaukset.
 
Vs: ILPon irDA ohjaus tietokoneen avulla

Joo, tuo IRRemote on niin hyvä pohja että taidan tehdä sen päälle. Aika pienellä vaivalla saa aikaiseksi softan joka
[list type=decimal]
[*]Osaa tulostaa vastaanotetun koodin heksana
[*]Osaa soittaa heksana annetun koodin IR-ledillä
[/list]

Tuo kirjastohan tuntee jo läjän protokollia, pitää vaan lisätä Panan protokolla (header, trailer, space ja mark pituudet ym.) + tuki yli 32 bitin koodeille.

Homman varsinainen pihvi olisi siinä että selvittäisi noiden pakettien rakenteen.

Löytyykö Panan E12-CKP -pumpulle muuten diskreettiä ON ja OFF-koodia erikseen? Kake näyttää aina lähettävän saman koodin kun painaa ON/OFF nappia. E12-DKE:lla ilmeisesti on sellainen kun kaken ruudussa lukee erikseen onko pumppu päällä vai pois, eli se lähettänee joka toinen kerta ON-koodin ja joka toinen kerta OFF-koodin.
 
Vs: ILPon irDA ohjaus tietokoneen avulla

Jos en ihan väärin muista niin silloin aikoinaan kun testailin, niin kaken saa pois 'synkasta' monen toiminnon osalta kun naputtelee vaikka toisessa huoneessa. Kaken näyttö siis eli omaa elämäänsä ja pysyi synkassa kun muisti osoittaa pumppua.

Mutta on/off taisi olla oma koodinsa kuitenkin?

EDIT: ainakin DKEW mallissa oli on ja off omina koodeinaan (topiikin sivut 1 ja 2)
 
Vs: ILPon irDA ohjaus tietokoneen avulla

Nyt on sitten dekoodattu koko ilta tuota E12-CPK:n kakea. Hassu protokolla:
  • Ensin tulee header
  • Sitten näppäimestä riippuen sama data toistuu 2 tai 3 kertaa
    • 32 bittiä dataa
    • header
  • Loppumerkki
En vielä päässyt oikein perillä noista 32-bittisistä koodeista.

Modulointitaajuus on 40 kHz. Jospa huomenna kirjoittaisi lähetysfunktion, sille siis annetaan tuo 32 bittiä ja tieto siitä monta kertaa toistetaan.
 
Vs: ILPon irDA ohjaus tietokoneen avulla

DKEW:ssä alku on 8 tavua ja "payload" 19 tavua tarkistussummineen :)
Vikakoodin tarkastuksessa "payload" on 8 tavua.
 
Vs: ILPon irDA ohjaus tietokoneen avulla

DKE:n kanssa homma taitaa vaatia vähän lisää pohdintaa. CPK näyttäisi jo toimivan, mutta nuo DKE:n komennot ovat niin pitkiä että tuota IRRemote-kirjastoa käytettäessä Arduinon huimat 2 kilotavua RAM-muistia ei riitä esimerkkisovellukselle. IRRemote ottaa ensin raakakoodin vastaan taulukkoon jossa kutakin 'MARK' tai 'SPACE' merkkiä vastaa 'int' joka vie siis 16 bittiä tilaa. 200 bittiä -> 400 merkkiä -> 800 byteä muistia.

Laitoin IR-vastarin kiinni Netduinoon, siinä on vähän enemmän resursseja, mutta siitä taas otetaan takkiin reaaliaikaisuudessa, se kun ajaa .NET Micron päällä. No, ainakin saa koodin pituuksista kiinni:
  • E12-CKP:n IR-koodissa on 272 tai 202 (ion, quiet, powerful, kumpikin air swing) merkkiä (jokainen bitti vie kaksi merkkiä, lisäksi headerit)
  • E12-DKE:n IR-koodissa on 440 tai 264 (quiet, powerful) merkkiä

Lähetyspään koodaus Ardulla on ihan lasten leikkiä kunhan saa ensin koodit luettua sisään.
 
Vs: ILPon irDA ohjaus tietokoneen avulla

Jotenkin teet tuon vaikeasti. DKEW:llä ensimmäinen "datarypäs" on aina sama 02 20 E0 04 00 00 00 06 . Seuraava 19:sta tavun "rypäs" sisältää sitten ne kiinnostavat Mode, Pyyntilämpö, Fanspeedset, ja Swingin asetukset.
 
Vs: ILPon irDA ohjaus tietokoneen avulla

Toni sanoi:
IRRemote-kirjastoa käytettäessä Arduinon huimat 2 kilotavua RAM-muistia ei riitä esimerkkisovellukselle.

Itse olen enemmän HW miehiä ja käyttäisin logiikka-analysaattoria hommaan, mutta kun tätä ei varmaankaan ole käytettävissä niin voisin kuvitella kytkeväni vastaanottomen atmelin yhteen IO pinniin jota lukisin 40khz taajuudella ja sitten dumppaisin datan vaikka byteinä sarjaporttiin. Koodaus kestää max tunnin ja PC:llä datan analysointi onnistuu joko scripteillä, excellä tai jollakin muulla haluamalla työkalulla.

Dataahan tulee tuosta sekunnissa 40kbit eli 500B, johon mikkään ei tukehdu. Tietty jos haluaa Shannonin sekoittaa asiaan niin pääsee vähemmälläkin.
 
Vs: ILPon irDA ohjaus tietokoneen avulla

En nyt vieläkään ymmärrä tuota vaikeamman kaavan mukaan menoa. Ei sitä lähetettä tarvitse samplata. Yksinkertaisesti vaan ohjelmoidaan kontrolleri selvittämään mikä on 1 ja 0 . Siitä muodostetaan tavut ja dumpataan data PC:lle.
 
Vs: ILPon irDA ohjaus tietokoneen avulla

tms sanoi:
En nyt vieläkään ymmärrä tuota vaikeamman kaavan mukaan menoa. Ei sitä lähetettä tarvitse samplata. Yksinkertaisesti vaan ohjelmoidaan kontrolleri selvittämään mikä on 1 ja 0 . Siitä muodostetaan tavut ja dumpataan data PC:lle.

heh.. kun kourassa on vasara kaikki alkaa näyttää naulalta. irdavastaanotinledi ja vastus sarjaporitissa valmiin softan kanssa kuulostaa kyllä minusta helpommalta kuin konrollerin hankinta ja ohjelmointi.. varsinkin kun ainakaan tuosta Argosta ei tullut mitään tavurajoihin istuvaa vaan suunnilleen 160 bittilen pötkö jossa oli tavujen sijasta lähinnä oktaalirajoja.
 
Vs: ILPon irDA ohjaus tietokoneen avulla

prelude sanoi:
Itse olen enemmän HW miehiä ja käyttäisin logiikka-analysaattoria hommaan, mutta kun tätä ei varmaankaan ole käytettävissä niin voisin kuvitella kytkeväni vastaanottomen atmelin yhteen IO pinniin jota lukisin 40khz taajuudella ja sitten dumppaisin datan vaikka byteinä sarjaporttiin. Koodaus kestää max tunnin ja PC:llä datan analysointi onnistuu joko scripteillä, excellä tai jollakin muulla haluamalla työkalulla.

Dataahan tulee tuosta sekunnissa 40kbit eli 500B, johon mikkään ei tukehdu. Tietty jos haluaa Shannonin sekoittaa asiaan niin pääsee vähemmälläkin.

Niin, kun käytettävissä oli yksi yleismittari niin helppoja konsteja ei ollut. Kuitenkin sentään Arduino tms. ehtii näin "hitaisiin" paikkoihin.
Arduino pystyi ainakin 15 kHz näytteenottoon mikä on riittävä noille noin 0,5 ms pulsseille. Dataa ei silloin kerry liikaa ja muutaman
sadan ms jono mahtuu Ardun 2k RAM:iin kun pakkaa bitit tavuiksi. Koitin myös sitä että Ardu lähettää lennossa datan PC:lle mutta sarjaportin käsittely
on kai niin hidas että osa keskeytyksistä katosi.

Tunnin homma? Muistaakseni tuhersin asian parissa pari viikkoa. Tosin silloin oli vasta ensimmäisiä harjoituksia koodaamisen saralla.
 
Vs: ILPon irDA ohjaus tietokoneen avulla

Kotikonstein noita protokollia saa varsin helposti tutkituksi ja nauhoitetuksi kytkemällä IR-vastaanodinmoduulin lähtö tietokoneen ääniporttisisääntuloon. Täytyy vain valita taajuudeltaan sopiva vastaanotinmoduuli. Taajuuden voi periaatteessa myös selvittää ennakolta skoopilla tai/tai yleismittarin taajuuslaskimella kaukosäädinkoodeista (tarvitaan ehkä yksinkertaista pulssinmuokkauspiiriä koekytkentälevylle), jollei halua hankkia vastaanotinkokoelmaa kaikille mahdollisille taajuuksille (noita on kumminkin vain muutama).

Kun on kerran nauhoittanut nuo signaalilähetteet, on niitä helppo tutkiskella ja ohjelmoida sitten analysaattori, joka kertoo reaaliaikaisesti syötetyn toiminnon. Tuo on myös hyvä oman lähettimen analyysiin (sillä tuskinpa tuo toimii kaikin puolin ihanteellisesti ihan laakista).

Tuon kaiken tekeminen suoraan mikrokontrolleria ohjelmoimalla on mielestäni oman pään lyömistä seinään.
 
Vs: ILPon irDA ohjaus tietokoneen avulla

Mä kyllä lähdin mielestäni aika lailla helpoimman kautta liikkeelle. Arduino oli jo valmiiksi työpöydällä, tallissa lojuvasta varaosapumpusta sain IR-vastaanotinmodulin ja netistä IRremote-kirjaston Arduinolle. Heti ensimmäinen koodiesimerkki tärppäsi sen verran että ruudulle tuli 'unknown protocol', sekä raakakoodi, eli 'space' ja 'mark' merkkien pituudet.

IRremote-kirjaston koodissa ei ole muuta vikaa kuin se että
[list type=decimal]
[*]siinä ei ollut valmiiksi koodattuna Panasonicin IR-protokollien tukea :)
[*]oletuksena raakakoodin tallennukseen tarkoitettu puskuri oli liian lyhyt (yksi #define koodissa)
[*]oletuksena koodin lopuksi tulkitaan se kun IR:n tila ei muutu yli 5 ms aikana, ja tuo Panasonicin koodi näyttäisi olevan kaksiosainen, osien välinen erotinmerkki (tai oikeammin 'space') on 14 ms pituinen (E12-CKP protokollassa)
[/list]
Ja Arduinossa ylipäätään on se vika, että mielivaltaisen IR-protokollan tulkinnassa alkaa tulla muistin rajat vastaan jos ensin tallentaa raakakoodin (kaksi tavua per merkki aikaleimoihin) ja sitten vasta alkaa tulkitsemaan sitä.

Nyt mulla on aika lailla valmis dekoodaus E12-CKP protokollalle Netduinolla, on kiva ohjelmoida vähän korkeammalla abstraktiotasolla :) Sitten kun vielä ymmärtäisi mitä nuo bitit merkitsevät, mutta silläkin pääsee jo pitkälle kun saa valmiita sekvenssejä nauhoitetuksi.

Mulla on sellainen ajatus että raudaksi tulee Arduino + Ethernet shield + IR-ledi etuvastuksineen. Tuossa pyörii sitten softa joka kuuntelee verkkoa ja toistaa sieltä tulevia komentoja pumpulle. Käyttöliittymä tulee Windows-luuriin, siihen mulla on jo toimiva pohja, otetaan SSH:n läpi yhteyttä mun ADSL-reitittimeen jossa pyörii DD-WRT ja komennetaan se lähettämään datapaketti sisäverkossa.
 
Vs: ILPon irDA ohjaus tietokoneen avulla

No niin, IR-paketteja lukeva softa tuli kirjoitettua Netduinolle: https://github.com/ToniA/netduino-ir-receiver

Siitä saa ulos jotain tämänkaltaista, koodista riippuen:
Koodi:
H11001111110011110010000000100000H11001111110011110010000000100000HWH00010101000101010110110001101100H00010101000101010110110001101100H

H = header
W = tauko
 
Vs: ILPon irDA ohjaus tietokoneen avulla

Mitäs tehdä kun VILP in IR-kykyinen mutta kapulaa ei ole? Eli selvitykseni mukaan Ultimaten 9000 EEV:tä voi ohjata kapulla jos se on astettu "Room-temp" tilaan. Mukana ei vaan tule kapulaa.... Ei kait vaan joku ole jo selvittänyt?
 
Vs: ILPon irDA ohjaus tietokoneen avulla

Tässä olisi pieni demo siitä mitä olen tähän mennessä saanut aikaan. Eli tuo Arduino-softa laittaa Panasonic E12-CKP:n (tai sen sen kanssa yhteensopivan) päälle tai pois, samaan tapaan kuin sen oma kake kun painaa OFF/ON -nappia. Asetukset ovat lämmitys, 21 astetta, AUTO-puhallus, sivusuuntainen swing AUTO, pystysuuntainen swing toiseksi ylin.

Arduinoon tarvitaan IR-ledi (esim. vanhasta kaukosäätimestä) ja sen etuvastus (esim. 1 kOhm), kytketään välille digital 3 - GND, sekä painonappi, kytketään välille digital 12 - GND. Ja kirjastosta pitää löytyä Onebutton.

Mulla on Netduinossa softa joka lukee näitä koodeja Panasonicin IR-vastaanotinmodulin avulla, mutta en ole vielä sen kummemmin pureskellut niiden sisältöä. Eli toistaiseksi mulla ei ole hajuakaan siitä mikä on minkäkin bitin merkitys. Multa löytyy Panasonicin CKP ja DKE-sarjan kaukosäätimet sekä Fujitsun AWYZ14-kaukosäädin, eli noiden koodeja saan nauhoitettua helposti.

Koodi:
#include <Arduino.h>
#include <OneButton.h>

// Infrared LED on PIN digital 3
// Connect with 1 kOhm resistor in series to GND
#define IR_LED_PIN        3

// Panasonic CKP timing constants
#define PANASONIC_AIRCON1_HDR_MARK   3400
#define PANASONIC_AIRCON1_HDR_SPACE  3500
#define PANASONIC_AIRCON1_BIT_MARK   800
#define PANASONIC_AIRCON1_ONE_SPACE  2700
#define PANASONIC_AIRCON1_ZERO_SPACE 1000
#define PANASONIC_AIRCON1_MSG_SPACE  14000

// Button pin, pushbutton between digital 12 and GND
OneButton button(12, true);

// Send the Panasonic CKP code
void sendPanasonicCKP(char *codes)
{
  int pos = 0;
  char code;
  
  // 40 kHz PWM frequency
  enableIROut(40);
  
  while (code = codes[pos++]) {
    switch (code)
    {
      case 'H':
        mark(PANASONIC_AIRCON1_HDR_MARK);
        space(PANASONIC_AIRCON1_HDR_SPACE);
        break;
      case 'W':
        mark(PANASONIC_AIRCON1_BIT_MARK);
        space(PANASONIC_AIRCON1_MSG_SPACE);
        break;
      case '1':
        mark(PANASONIC_AIRCON1_BIT_MARK);
        space(PANASONIC_AIRCON1_ONE_SPACE);
        break;
      case '0':
        mark(PANASONIC_AIRCON1_BIT_MARK);
        space(PANASONIC_AIRCON1_ZERO_SPACE);
        break;
    }
  }
  
  mark(PANASONIC_AIRCON1_BIT_MARK);
  space(0);
}

// 'mark', 'space' and 'enableIROut' have been taken
// from Ken Shirriff's IRRemote library:
// https://github.com/shirriff/Arduino-IRremote

void mark(int time) {
  // Sends an IR mark for the specified number of microseconds.
  // The mark output is modulated at the PWM frequency.
  (TCCR2A |= _BV(COM2B1)); // Enable pin 3 PWM output
  delayMicroseconds(time);
}

void space(int time) {
  // Sends an IR space for the specified number of microseconds.
  // A space is no output, so the PWM output is disabled.
  (TCCR2A &= ~(_BV(COM2B1))); // Disable pin 3 PWM output
  delayMicroseconds(time);
}

void enableIROut(int khz) {
  pinMode(IR_LED_PIN, OUTPUT);
  digitalWrite(IR_LED_PIN, LOW); // When not sending PWM, we want it low

  const uint8_t pwmval = F_CPU / 2000 / (khz);
  TCCR2A = _BV(WGM20);
  TCCR2B = _BV(WGM22) | _BV(CS20);
  OCR2A = pwmval;
  OCR2B = pwmval / 3;
}


// Initialize the serial port to 9600 bps and the pushbutton to run 'sendIR'
void setup()
{
  Serial.begin(9600);
  button.attachClick(sendIR);
}

// Just poll the pushbutton in the main loop
void loop()
{
  button.tick();
}

// Send the IR code when the button is clicked
void sendIR()
{
  Serial.println("Sending Panasonic CKP IR code...");
  
  // This code has been recorded on Netduino with Panasonic's IR received module
  // https://github.com/ToniA/netduino-ir-receiver
  //
  // This code was sampled when pressing the POWER key (switches from ON->OFF or OFF->ON) with these settings:
  // * HEAT
  // * 21 degrees C
  // * Vertical air swing: second highest position
  // * Horizontal air swing: AUTO
  // * Fan: AUTO
  //
  // So sending this will either turn the air conditioner on in heat pump mode (if it was off), or turn it off (if it was on)
  
  char *code = "H01101111011011110010000000100000H01101111011011110010000000100000HWH00010101000101010110110001101100H00010101000101010110110001101100H";

  sendPanasonicCKP(code);
}
 
Vs: ILPon irDA ohjaus tietokoneen avulla

Posti oli nopea, viime viikolla Kiinasta tilaamani Arduinon Wiznet Ethernet-moduli tuli tänään :) Testasin jo webserver-esimerkkisovellusta, toimii hienosti.

Eiköhän mulla ole viikonloppuna kasassa Arduino-softa joka laittaa joko E12-CKP:n tai E12-DKE:n päälle ja pois lähiverkon kautta komennettuna, ja jos oikein innostun, niin pääsee säätämään vaikkapa tilaa, lämpötilapyyntöä tms.
 
Vs: ILPon irDA ohjaus tietokoneen avulla

Äh, en millään jaksanut liimata weppiserveriä ja tätä Panasonic IR-lähetyskoodia yhteen:

https://github.com/ToniA/arduino-panasonic-heatpump-controller

Mutta tuossa ollaan nyt, eli CKP-mallisen pumpun tilaa pääsee säätämään kuten kaukosäätimestä, lukuunottamatta 'quiet', 'ion', 'powerful', 'horizontal swing' ja 'timer' -asetuksia. 'quiet', 'ion' ja 'powerful' ovat ON/OFF-tyylisiä, eli niihin on vain tilanvaihtokomento. Samaten virtaa ei pääse komentamaan erikseen päälle ja pois, vaan voi ainoastaan vaihtaa tilaa.

Seuraavaksi liimaan weppiserverin yhteen tämän koodin kanssa, sitten lähden pureskelemaan Panasonicin DKE-mallin protokollaa. Siinä voi sentään komentaa pumpun erikseen päälle ja pois.
 
Vs: ILPon irDA ohjaus tietokoneen avulla

Moi

Ohjaan Panasonicia Raspberry:llä ja Lirc:llä ja koska jotain muutakin foorumin lukijaa saattaa kiinnostaa niin tässä hieman tietoa siitä.
Lirc:ssä ei uskoakseni pysty määrittämään panasonicin vaatimaa toista headeria, joten koodit on raw-muodossa. Liitteessä esimerkki lircd.conf-tiedostosta jossa on käskyt ON ja OFF. ON asettaa moodiksi heat ja lämmöksi 22.
Käskyt on tehty 2-sivulla olevien panasonicin käskytaulukoiden perusteella. Ilmalämpöpumppu siis käynnistetään käskyllä: irsend SEND_ONCE PANA ON ja vastaavasti sammutetaan: irsend SEND_ONCE PANA OFF. lircin asensin seuraavan linkin ohjeilla: http://alexba.in/blog/2013/01/06/setting-up-lirc-on-the-raspberrypi/

1.9.2013
Lisätty lircd.conf (1).txt jossa käskyt:QUIET, POWERFUL, ON20, ON21, ON22, ON23 ja OFF
 

Liitetiedostot

Vs: ILPon irDA ohjaus tietokoneen avulla

Toni sanoi:
No niin, IR-paketteja lukeva softa tuli kirjoitettua Netduinolle: https://github.com/ToniA/netduino-ir-receiver

Nyt tässä dekoodaussoftassa on sitten sekä CKP että DKE-mallisten Panasoniccien kaukosäätimen koodit tuettuna, ajastinta lukuunottamatta.

En ole vieläkään keksinyt miten tuon CKP:n saisi varmasti päälle tai pois jos ei tiedä nykyistä tilaa. DKE:n tapauksessa se ei ole ongelma.
 
Vs: ILPon irDA ohjaus tietokoneen avulla

Toni sanoi:
En ole vieläkään keksinyt miten tuon CKP:n saisi varmasti päälle tai pois jos ei tiedä nykyistä tilaa.

Pystyisikö sen laittaa ajastimella OFF esim. minuutin päästä. ;)
 
Vs: ILPon irDA ohjaus tietokoneen avulla

Toni sanoi:
Nyt tässä dekoodaussoftassa on sitten sekä CKP että DKE-mallisten Panasoniccien kaukosäätimen koodit tuettuna, ajastinta lukuunottamatta.
Mieleisensä ajastimen voi tehdä vaikka samalla kontrollerilla joka hoitaa sulatushuijauksen ja pohjan lämmitysvastuksen. Tietysti siinä on oltava reaaliaikakello.
 

Liitetiedostot

  • CIMG1316.JPG
    CIMG1316.JPG
    63,4 KB · Lukukerrat: 555
Vs: ILPon irDA ohjaus tietokoneen avulla

Toni sanoi:
En ole vieläkään keksinyt miten tuon CKP:n saisi varmasti päälle tai pois jos ei tiedä nykyistä tilaa.
CKP katkaisee ulkoyksiköstä virrat releellä muutaman minuutin kuluttua sammuttamisesta. Jos siis malttaa suodattaa päälle/pois-kytkennät muutaman minuutin välein tapahtuvaksi, niin homman voi varmistaa jälkikäteen jännittesyötön tilasta.

Olen itse ripustanut ulkoyksikön jännitesyötön rinnalle sopivan vastuksen eristeen sisään, jolloin saan tilan selville lämpöanturilla hiukan pitemmän viiveen jälkeen (käyttämäni logiikkahan menee muuten toisin päin kuin tässä, eli päättelen kaukosäätimellä annetut asetukset sisä- ja ulkoyksikön tilaa seuraamalla ja ohjaan muuta lämmitystä tuon pohjalta).
 
Vs: ILPon irDA ohjaus tietokoneen avulla

Joo, täytyy miettiä tuota CKP:n ON/OFF -ohjausta. Kyllähän mulla on sille seuranta, joten sitä kautta näkee onko se päällä vaiko ei.

Arduinon softa eteni sen verran, että nyt siinä pyörii pieni weppiserveri, se näyttää formin jonka kautta voi ohjata pumppua. Testattu ja toimii :) Seuraavaksi sitten se DKE-sarjan pumppu, siitäkin on jo protokolla selvillä eli se on vaan koodaustyötä.

https://github.com/ToniA/arduino-panasonic-heatpump-controller
 
Vs: ILPon irDA ohjaus tietokoneen avulla

Juuri noin. Kauko-ohjaus ja ajastintoiminnot IR ohjauksella. Pakkascopit saadaan kuntoon sulatushuijauksella ja pohjan lämmitysvastus siinä samalla. Jopa vanhat Panasonicitkin ovat erinomaisia kun ne käskytetään toimimaan niinkuin niiden halutaan toimivan.
Yllättävää on, että käyttäjät joutuvat muuttamaan laitteet mieleisekseen kun valmistajat eivät sitä "ylimielisyydessään" tee.
 
Vs: ILPon irDA ohjaus tietokoneen avulla

Joo, vanhakin Panasonic invertteri toimii hienosti, kun se on huijattu olemaan käymättä liian pienillä tehoilla ja olemaan sulattamatta liian usein, tosin DKE-mallissa taitaa olla vaarana rotary-kompuran lamellin jousen katkeaminen jos öljyn paluuta ei ole varmistettu tarpeeksi tiheillä sulatuksilla.

Tein sen verran reverse engineeringiä että tuo mun Netduinolla pyörivä dekoodaussofta osaa nyt myös dekoodata myös timer-viestit kakelta, siitä on hyvä jatkaa. Eli sekä CPK:n että DKE:n protokolla alkaa olla selvillä.
 
Vs: ILPon irDA ohjaus tietokoneen avulla

Nyt sitten Netduinolla pyörivä dekoodaussofta ymmärtää TIMER-viestit joissa asetetaan joko vain ON tai OFF-aika. Samalla tuli testattua sekin, että CKP:n saa päälle timer-viestillä jossa pyydetään vain ON-aikaa mutta OFF jätetään antamatta. Sammutus vastaavasti lähettämällä vain OFF-aika. Ajastimen resoluutio on vain 10 minuuttia, mutta viestissä menee mukana myös nykyinen kellonaika, jonka voi sitten huijata olemaan vaikka yhtä minuuttia vähemmän kuin ajastimen laukeaminen.

Arduino-puolen koodinlähetyssofta ymmärtää nyt sitten sekä CKP:n että DKE:n ja tuntuisi äkkiä testaamalla toimivan. TIMER-viestien lähetys puuttuu vielä.

https://github.com/ToniA/arduino-panasonic-heatpump-controller
 
Vs: ILPon irDA ohjaus tietokoneen avulla

Toni sanoi:
Nyt sitten Netduinolla pyörivä dekoodaussofta ymmärtää TIMER-viestit joissa asetetaan joko vain ON tai OFF-aika. Samalla tuli testattua sekin, että CKP:n saa päälle timer-viestillä jossa pyydetään vain ON-aikaa mutta OFF jätetään antamatta. Sammutus vastaavasti lähettämällä vain OFF-aika.

Hyvä että tuo mun ideani toimi sitten käytännössäkin. ;D
http://lampopumput.info/foorumi/index.php?topic=1904.msg231523#msg231523
 
Vs: ILPon irDA ohjaus tietokoneen avulla

Mikä olisi helppo/yksinkertainen tapa lukea oman kaukosäätimen IR-koodit PC:llä (Windows-käyttöjärjestelmä) ?

Onko puolestaan kukaan törmännyt tälläiseen laitteeseen: http://www.usbuirt.com/overview.htm ? Eli selvittelyn alla saisiko kyseisen laitteen liitettyä johonkin valmiiseen ohjelmaan tai tehtyä ohjelman itse, jolla lähettää nauhoitetut IR-koodit/komennot pumpulle. Onko jollakin vinkata toimivaksi todettua laitetta IR-koodin lähettämiseen PC:ltä?

Koko homman takana se, että haluaisin oman Mitsubishi FH25 pumpun automaattisesti 4 eri toimintatilaan (lämpötila, puhallusnopeus, siivekkeiden asennot, jne.) yhden päivän aikana.
 
Vs: ILPon irDA ohjaus tietokoneen avulla

crake sanoi:
Mikä olisi helppo/yksinkertainen tapa lukea oman kaukosäätimen IR-koodit PC:llä (Windows-käyttöjärjestelmä) ?

Onko puolestaan kukaan törmännyt tälläiseen laitteeseen: http://www.usbuirt.com/overview.htm ? Eli selvittelyn alla saisiko kyseisen laitteen liitettyä johonkin valmiiseen ohjelmaan tai tehtyä ohjelman itse, jolla lähettää nauhoitetut IR-koodit/komennot pumpulle. Onko jollakin vinkata toimivaksi todettua laitetta IR-koodin lähettämiseen PC:ltä?

Koko homman takana se, että haluaisin oman Mitsubishi FH25 pumpun automaattisesti 4 eri toimintatilaan (lämpötila, puhallusnopeus, siivekkeiden asennot, jne.) yhden päivän aikana.

Äänikortin kanssa saattaisi onnistua, foorumilta löytyy jonkinverran juttua.
 
Vs: ILPon irDA ohjaus tietokoneen avulla

http://lampopumput.info/foorumi/index.php?topic=18509.0

Eikös tuo Arduino Tonin ja kumppanieden valmiilla kirjastolla ole nopein ja kustannus tehoikkian tapa tuon mitsunkin ohjaukseen ?
 
Vs: ILPon irDA ohjaus tietokoneen avulla

Yritän saada Arduino megalla ohjattua ilpoa, mutta Arduinon pinniin 3 ei tule pulssia. Onko koodi yhteensopiva vain Arduino Duemilanoven kanssa?
Jos näin on niin mitähän muutoksia täytyisi tehdä?
 
Vs: ILPon irDA ohjaus tietokoneen avulla

Kyllä se toimii Megallakin, tässä on esimerkki skemasta joka on oikeasti käytössä: https://github.com/ToniA/arduino-carrier-heatpumpcontrol/blob/master/carriercontroller.ino
 
Vs: ILPon irDA ohjaus tietokoneen avulla

Testailin lisää. Sillä "simple" testiohjelmalla mega 2560 kortilla toimii kun IR ledin ohjaukseen vaihtaa I/O pinnin 46 =>
IRSender irSender(46); // IR led on Duemilanove digital pin 3

Sillä alkuperäisella asetuksella pin 3 ei toiminut.

Laitoin IR ledin tilalle tavallisen ledin niin siitä näkee helposti vilkkumisen.

Kun yritin Webserver versiolla johon voi lomakkeeseen laittaa asetukset niin ledi ei vilku kummassakaan pinnissä.
// Infrared LED on PIN digital 3
// Connect with 1 kOhm resistor in series to GND
#define IR_LED_PIN 46

Olen kokeillut kahdella eri mega kortilla ja sama homma.

Noissa eri softissa määritellään IR ledi eri nimillä. Voisiko olla, että alemmalla tasolla on käytössä nyt väärä nimi ja sen takia ei toimi?
 
Vs: ILPon irDA ohjaus tietokoneen avulla

Dokumentaatiota voisi toki parantaa jos jaksaisi... Megalla toimivat pinnit ovat 9, 10, 11, 44, 45 ja 46. Ks. https://github.com/ToniA/arduino-heatpumpir/blob/master/IRSender.cpp
 
Vs: ILPon irDA ohjaus tietokoneen avulla

Sain toimimaan pinnillä 9, mutta muilla ei jostain syystä toimi. Aika lähellä täytyy olla IR ledi sisäyksikköä, mutta se ei ole ongelma. Ledin etuvastusta voisi varmaan hieman pienentää.

Kiitos supportista...
 
Takaisin
Ylös Bottom