life supporting system

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
dangraf
Inlägg: 530
Blev medlem: 9 juni 2003, 15:30:56
Ort: göteborg

life supporting system

Inlägg av dangraf »

Hej!
Jag håller som sagt på att bygga om en rebreather och behöver lite fler tips. Ämnet var uppe ett tag i en tidigare tråd för ett tag sedan. Jag tänkte diskutera vidare här eftersom jag kommit fram till att ni som hade synpunkter på mitt system har väldigt rätt och att min konstuktion borde modifieras till det lite mer säkrare :-)

Systemfunktionen för mitt system skall se ut ungefär enligt följande:
En flödesventil släpper ett konstant flöde av syrgas motsvarande ca 0.6l/minut. Detta gör att även om elektroniken totalhavererar så finns det tillräckligt med syre för att man skall överleva.

Beroende på belastning av kroppen under dyket kommer kroppen kunna dra mer syre. i vissa fall upp till 2.5l/minut. För att kompensera detta tänkte jag ha en elektronisk dosering av ytterligare syrgas. Det vill säga att jag har hela tiden ett konstant flöde på 0.6l/minut, men om det behövs mer syrgas så öppnas en magnetventil som släpper på ytterligare syrgas in i systemet.

elektronikens vitala funktioner som alltid måste fungera är följande:
*mäta syrgashalten med hjälp av 2 skillda syrgas sensorer.
*mäta trycker med hjälp av 2 olika trycksensorer.
*beräkna om någon syrgas behövs doseras.
*kontrollera att stegsvaret vid eventuell dosering och varna ifall inget händer vilket betyder att antingen syrgasen är slut, magnetventilen inte fungerar eller att något är fel på syrgassensorerna.
*Dosera syrgas

jag har ingen erfarenhet av livsuppehållande utrustning och skulle behöva läsa in mig väldigt mycket på det. Finns det någon literatur eller information på nätet om just detta? vanligt förekommande kopplingar och hur man kontrollerar sin funktion på ett säkert sätt?

Jag hade nämligen tänkt lösa det med 2 separata exakt lika enheter i varsin behållare med separat strömförsörjning.
Eller är det overkill att ha 2 separata behållare och separata batterier här det med tanke på att det trotts allt finns ett konstant flöde?

Jag har utvecklingsverktyg för PIC processorer. Finns det några väl beprövade picprocessorer (gärna någon i 18 serien men absolut ej nödvändigt) som har använts i liknande system? Finns det några C-kompilatorer som är väl utprövade och lätta att få tag på för just "life supporting systems"

kan man på ett enkelt sätt kontrollera om magnetventilerna fungerar? jag hade tänkt mig en återkoppling till processorn så att om man sätter sin logiska transistor som skall styra magnetventilen till 1, så har man kopplat ena polen på magnetventilen till processorn så att man kan mäta om den får en ström eller inte. Är detta en tillförlitlig lösning eller krävs det mer?

En ytterligare kontroll hade behövt göras. Det är att magnetventilen absolut inte får fastna i öppet läge. Det borde finnas någon form av extern elektronik som stänger av flödet om det är öppet längre än en viss tid. Men även detta systemet behövs övervakas och på något stätt kontrolleras att det fungerar.

Jag läste ett tips (i den tidigare tråden) om en liten krets med en spole, xor grindar och 2 transistorer och en summer. Denna kretsen skulle göra att summern börjar pipa automatiskt om en transistor, xor krets eller en processor skulle failera.
Jag skulle även vilja bestämma själv när summern skall pipa eftersom jag gör beräkningar och kontroller mjukvaumässigt. behöver jag då en extra summer eller går det att ordna med ytterligare lite komponenter?

Problemet här är nästan samma på magnetventilen som till summern. jag vill styra en 1a eller 0a och verkligen veta att jag det fungerar. Om t.ex transistorn pajjar vill jag veta detta och inte "tro" att summern piper (eller att jag doserar syrgas) när den i själva verket inte får någon ström.

Jag har även hört att man skall bestämma slumpmässigt vilken krets det är som styr det hela. Hur brukar man lösa det? eller har man en "master" och "slave" ?

Många frågor, hoppas jag får svar på någon av dem :-)


Utöver doseringen så skall jag även ha 2st oberoende syrgasmätare som visar syrgashalten i gasen jag andas, som extra säkerhet.
Men det projektet har jag mycket mer koll på.
Användarvisningsbild
AndLi
Inlägg: 18251
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Inlägg av AndLi »

Brukar det inte stå på förstasidan i princip alla datablad att chip X inte får användas i livsupphållande system?

Eftersom det finns elektronik i sjukhusmaskiner borde det ju då finnas extra säkra chip för detta...

Kodgranskning är också en punkt som kommer in här, sen är ju frågan om man kan lita på en C kompilator. Fast frågan är ju också om man kan lita på sida efter sida av ASM kod.

Jag har ett häfte(tunn bok) på jobb om säkra system, iof riktad mot bilindustrin, men det kan kanske ge lite tips. Ska kolla vad den heter, verkar lättläst!
Användarvisningsbild
Icecap
Inlägg: 26632
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Huruvida magnetventilen reagerar kan kollas på olika sätt. Den "helt riktiga" är att ha en fysisk avkännare som meddelar tillbaka, det kan dock vara svårt att göra bra. Man kan även mäta hur mycker ström spolan drar och lägga in en min/max, detta ger en säkerhet med det elektroniska men inte med mekaniken.

Vad du ska göra är att fundera på vad som _kan_ gå fel och vilken inverkan det kommer att ha och om man kan "komma förbi" den fel på något vis.

Det kan vara allt från att styrningen kokar totalt ihop till att en sensor får spader.

Man kan göra drivningen med att 2 portpinnar ska vara olika för att en funktion ska drivas om det är viktigt att den _inte_ slår på vid totalflipp.

Att ha dubbla system innebär också att du måste kunne ha systemen att ta över styrningen, larma om att det andra system är dött och ha en säker funktion på det och det är inte det enklaste.

Det är en hel doktorsavhandling men det hela mynner ut i: hur stor risk vill du ta? Det är _omöjligt_ att göra det garanterat felfritt men man kan begränsa väldigt många fel och deras verkan och betydelse vid att fundera, tänka och föreställa sig det omöjliga.

En sak jag rakt av kan tänka mig kan bli svår att få bra säkerhet på är strömmatningen och kapslingen. Sen är det många andra saker som kan paja men man kan komma långt vid att tänka värsta senariot osv.
dangraf
Inlägg: 530
Blev medlem: 9 juni 2003, 15:30:56
Ort: göteborg

Inlägg av dangraf »

Självklart så kan jag inte få ett helt felfritt system. Däremot tror jag att om jag ber lite snällt om hjälp så finns det många fler problem som kan lösas/upptäckas än om jag sitter själv här i min lilla garderob och funderar :-)

Kapslingen och batteriförsörljningen får jag lösa i efterhand. Det verkar finnas en hel del olika kapslar och genomgångar för dykning och tryck. Detta kan oftast köpas färdigt. Just nu koncentrerar jag mig på funktionen av själva elektroniken.

Om en kapsel pajjar vill jag vara i stort sätt säker på att den andra enheheten tar över. så det måste givetvis vara någon form av komunikation mellan enheterna, inte bara en 1/0 för att om den lever eller inte.

Eftersom jag inte själv arbetat med sådana här system vet jag inte riktigt vart man skall lägga gränsen för vad som är säkert eller inte.
Själva funktionen är det minsta problemet egentligen det är vilka typer av kontroller som kan/ska göras som jag sitter o funderar över.

>> AndLi, Det där häftet verkar väldigt intressant! väntar med spänning :-)
Gimbal
Inlägg: 8649
Blev medlem: 20 april 2005, 15:43:53

Inlägg av Gimbal »

Varför inte en extern watchdog som övervakar? Om något av systemen slutar skicka pulser som den skall- larma, och eventuellt byt till det system som fortfarande lever.

Sen finns det röstningsmetoden, båda systemen skall komma fram till samma resultat annars larma. Problemet är att avgöra vem som har fel om de inte ger samma resultat.

Sen kan man också invända på att använda två likadana system, om ett av dom slutar funka av en eller annan orsak så är risken stor att det andra också lägger av, av samma orsak.
Användarvisningsbild
AndLi
Inlägg: 18251
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Inlägg av AndLi »

Boken jag tänkte på var "Guidelines for the use of the C language in vehicle based software" från "The motor industry software reliability Association (MISRA)"

Består i 127 regler om saker man inte får göra.
AndXy
Inlägg: 12
Blev medlem: 30 september 2005, 08:40:49

Inlägg av AndXy »

Hej, trevligt forum det här :)

dangraf:
Vid utveckling av säkerhetskritiska styrsystem brukar hänsyn tas till alla steg i utvecklingsprocessen. Du skriver om säkerhet genom dubblerade (redundanta) system, vilket är en metod för att få en viss grad av feltolerans. Feltolerans ökar systemets tillförlitlighet men inte nödvändigtvis säkerhet som snarare är ett mått för riskreduktion. Googla på functional safety till och börja med för mera info.

Saken är den att när man väl byggt sitt säkerhetskritiska system bör (läs ska) man demonstrera (validera) att de systemegenskaper som motiverar säkerhet är implementerade korrekt innan man sätter systemet i drift. Beträffande graden av feltolerans innebär detta t.ex. att vissa felsätt (funktionsfel i processor, drift i resistor etc. kortslutnig mellan två ben för transistor) ska ansättas i systemet då det körs i de förhållanden som prylen är avsedd att användas till vilket för dig troligen innebär tillgång till tempererad tryckkammare mm. (vet inte om du har det)

Vill inte vara tråkig :? men i industrin brukar just säkerhet vara en kostsam tidsmässigt krävande process varför sådana säkerhetskritiska styrsystem blir dyra på marknaden. Dessa pengar investerar man ju just för att då vara säker på att systemet är utprovat och analyserat för att verkligen lämpa sig till sin användning.
dangraf
Inlägg: 530
Blev medlem: 9 juni 2003, 15:30:56
Ort: göteborg

Inlägg av dangraf »

Tack för tipsen!
Att söka på "funftional safety" gav mycket bättre resultat än att söka på "life supporting system". Dock har jag bara hittat regler för vad elektroniken skall klara av. Inte så mycket av exempelkopplingar som jag hoppats på.
Boken får jag försöka kolla upp på biblioteket eller nått.

Jag vet att man inte kan lita på elektroniken till 100% därför hade jag tänkt mig 2st väldigt enkla syrgasmätare som håller koll på detta.
Det känns som att man lägger till fler och fler enheter för att få det säkrare. Jag börjar undra om det blir så i verkligheten.

När man demonstrerar sitt system och kortsluter transistorer och resistorer. Hur många felande komponenter brukar man ha samtidigt? räcker det med att antaga att 2 oberoende fel kan ske?
Finns det någon statistik över komponenter som t.ex hur ofta t blir kortslutining i en resistor? eller att det blir ett avbrott?
AndXy
Inlägg: 12
Blev medlem: 30 september 2005, 08:40:49

Inlägg av AndXy »

Om ditt bygge är ett hemmabygge vill jag rekommendera dig att omedelbart avbryta projektet, sälja prylarna och bygga något annat kuligt för pengarna. (usch va gnälligt :( , hoppas inte du blir sur)

Angående böcker, börja med: MIL-HDBK-338b (gratis o ladda ned från Internet)
Du kan också beställa t.ex. Control Systems Safety Evaluation & Reliability, William M. Goble"
Dessa beskriver grunderna bra.

Bra exempelkopplingar annat än ytterst principiella kommer du nog inte hitta, de här systemen är skräddarsydda till sina applikationer varför generella exempel oftast inte ens är intressanta.

Det känns som att man lägger till fler och fler enheter för att få det säkrare. Jag börjar undra om det blir så i verkligheten.

Riktigt, det behöver det inte alls bli mer tillförlitligt. Men Jag kan tänka mig att ditt system bör tolerera att t.ex. funktionsfel orsakar att MCU på något sätt tolkar syrehalten felaktigt.

Hur många felande komponenter brukar man ha samtidigt?

Detta beror på hur mycket ansvar du lägger på systemet, i vilken miljö det ska användas, och vad som händer om det inte funkar eller kort sagt : din riskanalys.
Man brukar ge systemet en chans (tidsintervall) att upptäcka stokastiska enkelfel i SW/HW innan efterföljande kommer. Sen tänker man sig sk. common cause-fel i dubblerade system. Dessa fel är samtidiga i båda systemen. P(CC) = CCF x P(farligt fel i en kanal)

räcker det med att antaga att 2 oberoende fel kan ske?

Din riskanalys. Men vatteninträngning gör väl inte sannolikheten för två oberoende fel helt försumbar ??

Det vanliga/bästa är att man följer en etablerad standard vid bygge av säkerhetskritiska system, som korrelerar riskanalys till konkreta krav på HW/SW. I ditt fall vill jag varmt rekommendera IEC 61508 i sin helhet.

statistik över komponenter som t.ex hur ofta t blir kortslutining i en resistor? eller att det blir ett avbrott?

Det finns statistik för vissa komponenter som är sk. proven in use (enkla passiva komponenter se datablad) annars får man använda sig av en Reliability Data Handbook
En sådan är IEC TR 62380, en annan är MIL-HDBK-217F (lite föråldrad men används fortfarande flitigt och är gratis precis som 338b) Man får mha dessa räkna ut felfrekvensen för komponenterna genom att ta hänsyn till massor av parametrar.

AndLi: MISRA C är en kodstandard som förbjuder en att använda de mest vansinniga C-konstruktionerna samt att koden ska vara läsbar men den tillför egentligen inget för funktionssäkerhet (interaktionen mellan HW/SW)
dangraf
Inlägg: 530
Blev medlem: 9 juni 2003, 15:30:56
Ort: göteborg

Inlägg av dangraf »

Jag är väldigt ledsen, men eftersom jag är fruktansvärt nyfiken av mig, så kommer jag inte lägga ner projektet utan att ha fått lättlästa bevis på att jag har toalt fel ;-) Jag kommer givetvis att läsa genom manualerna ni rekomenderat, har inte kollat så noga ännu.
tackar så mycket för all information!
Jag hör av mig om jag behöver mer hjälp..

mvh/ Daniel Grafström
egnarf
Inlägg: 17
Blev medlem: 18 mars 2005, 13:52:56

Inlägg av egnarf »

Tänk på att om du har två identiska system så kommer de även ha samma buggar i elektroniken och samma buggar i mjukvaran.

Tänk om mjukvaran har en bugg som gör att processorn kortsluter sig själv när syrgastillförseln är exakt 2.42L/s. Då kommer båda systemen kuka ur samtidigt och du är.. ehm... oxiderad =)
Användarvisningsbild
bengt-re
EF Sponsor
Inlägg: 4829
Blev medlem: 4 april 2005, 16:18:59
Skype: bengt-re
Ort: Söder om söder
Kontakt:

Inlägg av bengt-re »

PIC 16-serien är iaf godkända av DNV för kritiska applikationer. Min grundtes är att lita aldrig på elektronik om fel kan döda eller svårt skada, MEN men... Skall du ändå göra det så finns en del tips ibland de enda som normalt tillverkar prylar som kan ta livet av dig, nämnligen tillverkare av patienansluten medininteknisk utrustning. Kolla exempelvis på:
http://60601-1.com/documents.htm
där finns en del hjälp för att systematisera din konstruktion. Försök också tänka i termer inte bara i fail-safe utan även safe-fail så att singel fault inte stoppar funktionen på något livsfarligt sätt. Det går i princip bygga så att ett fel, oaktat vilket inte ställer till något. Välj sedan komponenter med stor omsorg och glöm inte att de flesta fel beror på två saker:
1. Fel på strömförsörjningen
2. KOntaktproblem
Skriv svar