IR med Arduino

Berätta om dina pågående projekt.
persika
EF Sponsor
Inlägg: 1358
Blev medlem: 31 juli 2006, 22:14:37
Ort: Österlen, Skåne

IR med Arduino

Inlägg av persika »

Jag har byggt en pannkontroll, se: viewtopic.php?t=107294
Den funkar fint, har kört den sen julas. Har kunnat spara c:a 30% av elkostnaden och kunnat spara pellets också.

Nu skulle jag vilja styra luftvärmepump på ungefär samma sätt, med att styr timme för timme enligt schema, beroende på elpris och egna behov.
Skulle vilja styra med att sända ut IR, så som den ordinarie fjärrkontrollen gör.

Är det möjligt med en IR-diod och Arduino ? IR'n måste vara kodad på nåt vis för att den ska tas emot rätt.
Användarvisningsbild
pi314
Inlägg: 6114
Blev medlem: 23 oktober 2021, 19:22:37
Ort: Stockholm

Re: IR med Arduino

Inlägg av pi314 »

Enklast är väl om det går att få tag på någon dokumentation av hur fjärren skickar kommandon till VPn.
Testa att maila importör eller fabrik, om det går att hitta, och fråga dom.

Plan B är väl reverse engeneering.

Då skulle jag göra ungefär så här. Hitta en lämplig IR-mottagare (om det är IR). Koppla in den på Arduinon så att den kan se vad som skickas från fjärren vid dom kommandon som du vill utföra. Dokumentera dessa.
Koppla sedan in en lämplig IR-LED (om det nu ska vara en sådan) till Arduinon och skriv koden som behövs för att skicka dom kommandon som du vill få VP att utföra.

Jag vet inte hur långa kommandona är eller hur kritiskt det är med pulslängder. Kanske är det ganska bra standardiserat, vad som sänds från en fjärrkontroll? Jag har inte gjort detta själv (ännu), men kanske är det någon här som har och vet mer?

/Pi
Användarvisningsbild
Icecap
Inlägg: 26297
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: IR med Arduino

Inlägg av Icecap »

En IR fjärris brukar pulsa LEDn med 35 eller 38kHz, 10% duty-cycle. Ofta runt 100mA i pulserna.

Sedan är det pulståg modulerat med det budskap som ska överföras.

Om man sätter en PWM-utgång till rätt frekvens o 10% pulsbredd kan man gate det signal ihop med själva datasignalet o styra utgångssteget.

Såklart kan man tända o släcka PWM-signalen via en programslinga som modulation, det kan dock vara lite mer knepigt om man inte har 100% kontroll över hårdvaran.
ToPNoTCH
Inlägg: 4925
Blev medlem: 21 december 2009, 17:59:48

Re: IR med Arduino

Inlägg av ToPNoTCH »

Arduino har väl flera IR bibliotek som du kan använda.

Gällande koderna så vill jag slå ett slag för komponent testaren LCR-T7 som även kan läsa av IR koder.
Jag vart positivt överaskad av den. Säker inte 100% korrekt avläsning, men testar en uppsjö komponenter tillräckligt bra för felsökning.

150:- i Kina land om man orkar vänta, annars Electrokit eller Amazon för det dubbla.
Användarvisningsbild
Henry
Inlägg: 23820
Blev medlem: 20 april 2005, 02:52:47
Ort: Lund

Re: IR med Arduino

Inlägg av Henry »

En 100-lapp mer på Amazon inkl frakt med Prime och får den i övermorgon, mer än dubbla på electrokit inkl frakt.
toolbox
Inlägg: 15
Blev medlem: 20 november 2021, 20:56:32

Re: IR med Arduino

Inlägg av toolbox »

Som påpekats ovan, du har redan det mesta som behövs i biblioteken i arduino IDE. Om du börjar med att köra exempelprogrammet IR-ReceiveDump och skickar något från fjärren så får du utskrivet i klartext vad som tagits emot, hur det kodats inklusive ett förslag på hur du anropar rätt biblioteksrutin för att sända samma kommando som den mottagit. Exempelvis för en Mitsubishi värmepump som jag har, så fås:

Kod: Markera allt

Protocol=PulseDistance Raw-Data=0xCB23 144 bits LSB first

Send with:
    uint32_t tRawData[]={0x0126CB23, 0x05082000, 0x003F4930, 0x401C0000, 0xCB23};
    IrSender.sendPulseDistanceWidthFromArray(38, 3450, 1650, 500, 1200, 500, 400, &tRawData[0], 144, PROTOCOL_IS_LSB_FIRST, <RepeatPeriodMillis>, <numberOfRepeats>);

Sedan följer mer info om timing mm men det kan man nog ignorera. Det finns även många webbsidor där folk gjort reverse engineering på protokollet, t.ex för Mitsubishi finns bl.a. denna som förklarar deras protokoll mer i detalj: https://www.analysir.com/blog/2015/01/0 ... -protocol/
persika
EF Sponsor
Inlägg: 1358
Blev medlem: 31 juli 2006, 22:14:37
Ort: Österlen, Skåne

Re: IR med Arduino

Inlägg av persika »

Henry skrev: 27 augusti 2023, 18:06:52 En 100-lapp mer på Amazon inkl frakt med Prime och får den i övermorgon, mer än dubbla på electrokit inkl frakt.
Tack för tipset. Verkar vara användbar, mer är till IR-signaler.
Ska kolla mera på den.
persika
EF Sponsor
Inlägg: 1358
Blev medlem: 31 juli 2006, 22:14:37
Ort: Österlen, Skåne

Re: IR med Arduino

Inlägg av persika »

Tack för alla svar! Här verkar finnas olika möjligheter för att komma framåt.
persika
EF Sponsor
Inlägg: 1358
Blev medlem: 31 juli 2006, 22:14:37
Ort: Österlen, Skåne

Re: IR med Arduino

Inlägg av persika »

Haj hittade i mitt halvledarlager IS1U621.
Kopplat upp den enligt exemplet i databladet.
Den är ganska störningskänslig, kommer lätt i spikar, har skärmat av den med kretskortslaminat (oetsat) och alu-folie.
Kommer ändå nån spik ibland.
Bifogar oscillogram, tror det var störningsfritt just då.
Inte så lätt att tolka det.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
persika
EF Sponsor
Inlägg: 1358
Blev medlem: 31 juli 2006, 22:14:37
Ort: Österlen, Skåne

Re: IR med Arduino

Inlägg av persika »

toolbox skrev: 27 augusti 2023, 23:58:43 Som påpekats ovan, du har redan det mesta som behövs i biblioteken i arduino IDE. Om du börjar med att köra exempelprogrammet IR-ReceiveDump och skickar något från fjärren så får du utskrivet i klartext vad som tagits emot, hur det kodats inklusive ett förslag på hur du anropar rätt biblioteksrutin för att sända samma kommando som den mottagit. Exempelvis för en Mitsubishi värmepump som jag har, så fås:

Kod: Markera allt

Protocol=PulseDistance Raw-Data=0xCB23 144 bits LSB first

Send with:
    uint32_t tRawData[]={0x0126CB23, 0x05082000, 0x003F4930, 0x401C0000, 0xCB23};
    IrSender.sendPulseDistanceWidthFromArray(38, 3450, 1650, 500, 1200, 500, 400, &tRawData[0], 144, PROTOCOL_IS_LSB_FIRST, <RepeatPeriodMillis>, <numberOfRepeats>);

Sedan följer mer info om timing mm men det kan man nog ignorera. Det finns även många webbsidor där folk gjort reverse engineering på protokollet, t.ex för Mitsubishi finns bl.a. denna som förklarar deras protokoll mer i detalj: https://www.analysir.com/blog/2015/01/0 ... -protocol/

Intressant, kanske det är nåt liknande för Panasonic. Ska leta på nätet.
persika
EF Sponsor
Inlägg: 1358
Blev medlem: 31 juli 2006, 22:14:37
Ort: Österlen, Skåne

Re: IR med Arduino

Inlägg av persika »

Tänkte på... man skulle lika gärna kunna mäta direkt på IR-lysdioden i fjärrkontrollen, så slipper man störningar. Hinner inte just nu, men ska prova sen.
persika
EF Sponsor
Inlägg: 1358
Blev medlem: 31 juli 2006, 22:14:37
Ort: Österlen, Skåne

Re: IR med Arduino

Inlägg av persika »

Nu har jag mätt på lysdioden i fjärrkontrollen.
Då ser det ut så här:
Frekvensen är 36,7kHz
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
persika
EF Sponsor
Inlägg: 1358
Blev medlem: 31 juli 2006, 22:14:37
Ort: Österlen, Skåne

Re: IR med Arduino

Inlägg av persika »

Sen om man "zoomar ut" , ser hela packetet ut så här, när man trycker "on" på fjärrkontrollen:
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
ToPNoTCH
Inlägg: 4925
Blev medlem: 21 december 2009, 17:59:48

Re: IR med Arduino

Inlägg av ToPNoTCH »

Ang. störningar.
Det kan vara avsaknaden av IR filter som orsakar det.

Har något svagt minne att jag pysslade med det för några år sedan.
Slutade att jag tog plastbiten från en gammal skrotad TV-box och satte framför.
persika
EF Sponsor
Inlägg: 1358
Blev medlem: 31 juli 2006, 22:14:37
Ort: Österlen, Skåne

Re: IR med Arduino

Inlägg av persika »

>Det kan vara avsaknaden av IR filter som orsakar det.

Det är möjligt. Kanske den tog in ljus från datorskärmen.
Men det blev bättre när jag mäter direkt på ir-dioden i fjärrkontrollen, och med batteri. Blir gärna en det störningar när man kopplar ihop nätaggregat och dator (Picoscope).
Skriv svar