IR med Arduino
IR med Arduino
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.
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.
Re: IR med Arduino
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
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
Re: IR med Arduino
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.
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.
Re: IR med Arduino
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.
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.
Re: IR med Arduino
En 100-lapp mer på Amazon inkl frakt med Prime och får den i övermorgon, mer än dubbla på electrokit inkl frakt.
Re: IR med Arduino
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:
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/
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/
Re: IR med Arduino
Tack för alla svar! Här verkar finnas olika möjligheter för att komma framåt.
Re: IR med Arduino
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.
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.
Re: IR med Arduino
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.
Re: IR med Arduino
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.
Re: IR med Arduino
Nu har jag mätt på lysdioden i fjärrkontrollen.
Då ser det ut så här:
Frekvensen är 36,7kHz
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.
Re: IR med Arduino
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.
Re: IR med Arduino
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.
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.
Re: IR med Arduino
>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).
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).