Jump to content

Edit History

Mastiff

Mastiff

Dermed var reléproblemet mitt løst for godt. Jeg la til ekstra 30A Biltema-releer foran hvert av de store releene fordi jeg er nødt til å veksle jord, ikke 12V+ i systemet mitt (så relékortet koblet til ESP-en veksler Biltema-releene med 12V+ mens de igjen veksler de store releene med jord). Men ESP-en startet fremdeles om igjen kanskje hver tiende gang jeg slo av et av de store. Og da ble det releet slått på igjen når ESP-en kom i gang igjen, noe som jo tar rundt 3-4 sekunder.

 

Det skyldes at jeg ikke bruker den innebygde, upålitelige funksjonen for å ha samme status ved oppstart som da ESP-en ble slått av eller startet om. Istedenfor har jeg i Node-RED progammert et oppsett som leser inn alle endringer i reléstatusen og lagrer det til ei fil, sånn at når det kommer "birth message" fra en ESP (altså at den kommer opp igjen etter å ha vært av), leser den inn denne fila og setter alle statusene til den som sist var innlest (noe som tar noen brøkdeler av et sekund). Men når denne problemomstarten skjer, går det så fort at ESP-en ikke får sendt signalet om endring i reléstatusen til Node-RED. Så jeg la inn en omvei, som kanskje er litt "dirty", men fungerer 100 %:

 

Hver gang jeg utløser en switch, altså et relé sånn at statusen endres, sender switchfunksjonen først en "imitasjon" av statusmeldingen som kommer fra releet når det blir vekslet på vanlig måte. Så har jeg lagt inn et halvt sekunds pause (delay), og først da går selve kommandoen til releet. Dermed er det kommet en statusendring til Node-RED før ESP-en eventuelt starter om igjen på grunn av et spenningsfall på jord, eller hva det nå er.

 

Jeg har lagt dette både på når jeg slår på og av releene, for et par ganger har jeg sett at ESP-en har startet om igjen når jeg har slått på alle releene i boksen samtidig. Problemet er egentlig bare aktuelt når releene skal være av, for jeg har redundans i systemet (ja, jeg er totalt sprø...): Jeg bruker et Phidgets 16-kanals IO-kort, sånn at når jeg slår på et relé med ESP-en, blir det samme releet også vekslet med jord fra Phidgets-kortet, som styres med et Python-skript på Pi-en, et skript som av seg selv husker hva som var av og på før en eventuel omstart. Dermed fungerer alt av strøm selv om ESP-en eller Phidgetsen svikter når releene skal slås på, for releet vil likevel være slått på av den andre.  Det som ikke funker, er hvis releene skal slås av, og den ene da "henger" (altså i praksis at ESP-en har staret om igjen og beholdt feil på-status), for da vil releet fortsatt være på. Derfor var det så viktig å få ordnet problemet med ESP-en og de store releene.

 

Sånn ser boksen ut nå, de svarte kablene som går ut i nederste venstre hjørne er der Phidgetsen kobles inn, de tjukke, røde er strøm ut og inn.

 

Ingen beskrivelse er tilgjengelig.

Mastiff

Mastiff

Dermed var reléproblemet mitt løst for godt. Jeg la til ekstra 30A Biltema-releer foran hvert av de store releene fordi jeg er nødt til å veksle jord, ikke 12V+ i systemet mitt (så relékortet koblet til ESP-en veksler Biltema-releene med 12V+ mens de igjen veksler de store releene med jord). Men ESP-en startet fremdeles om igjen kanskje hver tiende gang jeg slo av et av de store. Og da ble det releet slått på igjen når ESP-en kom i gang igjen, noe som jo tar rundt 3-4 sekunder.

 

Det skyldes at jeg ikke bruker den innebygde, upålitelige funksjonen for å ha samme status ved oppstart som da ESP-en ble slått av eller startet om. Istedenfor har jeg i Node-RED progammert et oppsett som leser inn alle endringer i reléstatusen og lagrer det til ei fil, sånn at når det kommer "birth message" fra en ESP (altså at den kommer opp igjen etter å ha vært av), leser den inn denne fila og setter alle statusene til den som sist var innlest (noe som tar noen brøkdeler av et sekund). Men når denne problemomstarten skjer, går det så fort at ESP-en ikke får sendt signalet om endring i reléstatusen til Node-RED. Så jeg la inn en omvei, som kanskje er litt "dirty", men fungerer 100 %:

 

Hver gang jeg utløser en switch, altså et relé sånn at statusen endres, sender switchfunksjonen først en "imitasjon" av statusmeldingen som kommer fra releet når det blir vekslet på vanlig måte. Så har jeg lagt inn et halvt sekunds pause (delay), og først da går selve kommandoen til releet. Dermed er det kommet en statusendring til Node-RED før den eventuelt starter om igjen på grunn av et spenningsfall på jord, eller hva det nå er.

 

Jeg har lagt dette både på når jeg slår på og av releene, for et par ganger har jeg sett at ESP-en har startet om igjen når jeg har slått på alle releene i boksen samtidig. Problemet er egentlig bare et problem når releene skal være av, for jeg har redundans i systemet (ja, jeg er totalt sprø...): Jeg bruker et Phidgets 16-kanals IO-kort, sånn at når jeg slår på et relé med ESP-en, blir det samme releet også vekslet med jord fra Phidgets-kortet. Dermed fungerer det selv om ESP-en eller Phidgetsen svikter når releene skal slås på, for releet vil likevel være slått på av den andre.  Det som ikke funker, er hvis releene skal slås av, og den ene da "henger", for da vil releet fortsatt være på. Derfor var det så viktig å få ordnet problemet med ESP-en og de store releene.

 

Sånn ser boksen ut nå, de svarte kablene som går ut i nederste venstre hjørne er der Phidgetsen kobles inn, de tjukke, røde er strøm ut og inn.

 

Ingen beskrivelse er tilgjengelig.



×
×
  • Create New...