blogs kategori-billede

Nu bliver det sjovt at arbejde for Toyota

Af Rolf Ask Clausen,  torsdag 04. mar 2010 kl. 11:21

Pyha! Det værste politiske Toyota-cirkus er overstået i USA. Senatshøringen er slut.

Sporten kort / hurtigt kig på resultattavlen:

• Toyota har sagt rigtig meget undskyld, men har fået mange buler og skrammer og bliver nødt til at ”arbejde videre” med deres biler, ingen tvivl om det.

• NHTSA (National Highway Traffic Safety Administration) ser ud til at åbne en egentlig undersøgelse af bilelektronik/softwares indflydelse på bilsikkerheden. Kommentar: På høje tide. Se næste punkt.

• NHTSA råder ikke over kompetente software / elektronikfolk ansat og kan derfor groft sagt kun vurdere bilers mekanik. Ikke det, der tæller i dag.

Sagen efterlader et klart indtryk af, at der er noget at komme efter i bilindustrien. Overgangen til drive by-wire er i gang og der er helt sikkert tænkt meget over det hos den enkelte producent. Men der er bare ikke tænkt godt nok.

Eksempel: Læs David W. Gilberts paper fra den politiske høring: “Toyota Electronic Throttle Control Investigation Preliminary Report”. Hvad der bekymrer mig er, at han påviser at en induceret sensorfejl ikke sætter sig spor i bilens computerlog.

Producenterne skal først til at opdage, hvor komplekst det hele er nu – og problemstillingen kan ikke reduceres til almindelige ”softwarefejl” (læs også ovre hos Poul-Henning). Problemet handler mindst lige så meget om ”softwaremangler” – jf. Gilberts forsøg - og ikke mindst tilsyneladende manglende risiko(scenario)analyse hos producenterne.

Toyota har al mulig grund til at blive meget dygtige til det her i en fart. Søg job hos dem, det kan ikke undgå at blive spændende.

Og hvis I ikke kan lide Toyota, så er der også et job i Minnesota/Køln.

Er det mon noget for danske ingeniører og har vi/I kompetencerne?



04. mar 2010 kl 12:12

avatar

Poul-Henning Kamp

Amatør arbejde...

Den er rapport er sgu' da skræmmende.

To "uafhængige" sensorer, monteret på samme printkort og forbundet til computeren, via samme kabel ?

Har bilindustrien hørt om "tin-whiskers" ?

Hvis det skulle laves blot nogenlunde ordentligt, skulle A og B monteres på hver sin side af printet, ingen thru-hole eller via'er og stikket skal have 8 ekstre GND ben, således at alle next-neighbor kortslutninger bliver opdaget.

Det ville formodentlig koste næsten en dollar mere per pedal...

Jeg er godt klar over at det er begrænset hvor dyr man kan gøre en speeder-pedal, men alligevel, det burde sgu' også være begrænset hvor billig man må gøre den.

Poul-Henning

PS: Jeg kan ikke lige gennemskue om det er en pull-up eller pull-down modstand der indikeres i computer-enden, hvis det er en pull-up modstand, bør nogen stilles for retten for uoverlagt massemord.


04. mar 2010 kl 12:36

Henrik Jacobsen

Re: Amatør arbejde...


PS: Jeg kan ikke lige gennemskue om det er en pull-up eller pull-down modstand der indikeres i computer-enden, hvis det er en pull-up modstand, bør nogen stilles for retten for uoverlagt massemord.

Det er pull down (EPA = Earth Pedal Angle).


04. mar 2010 kl 14:23

avatar

Rolf Ask Clausen

Re: Amatør arbejde...

Den er rapport er sgu' da skræmmende.

Ja, jeg skal gerne stå ved at jeg har ændret syn på problematikken efter at have læst denne rapport.

Jeg tror umiddelbart ikke rigtig på scenarioet, der ligger til grund, de angivne kortslutninger; ikke så vildt sandsynlige.

Men rapporten påviser klart et design-issue, som ikke burde have været der.

Og så kan man jo spørge, hvad der mon ellers ikke er tænkt på?


04. mar 2010 kl 16:05

Bjarke Mønnike

Re: Re: Amatør arbejde...

Der er givet tænkt over alt, men indkøberne er et folkefærd, der er parat til at skrotte en del til 1000kr, der fungerer godt, hvis de kan få en anden uprøvet, med samme data til 999,99kr.

Man behøver bare at stille sig foran en PSA produktion og prøve at gætte på hvilket elektronikfirma, der er undeleverandør inden man lukker motorhjelmen op.

Ducellier og Bosch er de mest sandsynlige. Men Lucas og Marelli forekommer også indenfor samme model og årgang.


04. mar 2010 kl 20:10

Leif Neland

Re: Amatør arbejde...

Hvis de to uafhængige signaler var i modfase, ville det være ulige lettere at detektere at det ene var jammet fast.
Og en kortslutning imellem de to signaler ville også let kunne detekteres.

Men det vigtigste må være, at fuld bremse overrider fuld gas.


04. mar 2010 kl 21:45

Jens Madsen

Re: Re: Amatør arbejde...

To "uafhængige" sensorer, monteret på samme printkort og forbundet til computeren, via samme kabel ?

Hvordan er kravene for et mekanisk system? Skal der også være to uafhængige kabler for speeder pedalen?

Hvis et mekanisk system, ikke sætter større krav, så har Toyota opfyldt kravene.

Det som betyder mest, er risiko analysen. Som eksempel, vil det hjæpe betydeligt, hvis bremsepedalen også kan bruges til at tage gassen af med. Det vil give et mere sikkert og uafhængigt system, end to sensorer på speederpedalen, da der også er en uafhængig pedal, uafhængig fjeder, og f.eks. en måtte har mindre risiko for, at påvirke to forskellige pedaler "modsat" af hinanden. Samtidigt, er det også en fordel, at den ene pedal skal trædes for at give gas - og den anden skal slippes for at give gas. Det er så godt som optimalt, da de to systemer fungerer omvendt af hindanden.

Hvis det ikke er vigtigt, om en motor går i stå, eller at speederen holder op med at give gas - så betyder det ikke meget at der kun er et kabel til speederen. Det vigtige er at sikre, at uanset hvad der sker med dette kabel, så vil det medføre at der ikke gives gas. Igen, er risiko analysen det vigtigste. Som eksempel, sendes informationerne fra pedalen måske digitalt, og det er nemt at detektere om disse mangler - så fås jo ingen "bits". Går kablet over, eller sker kortslutninger, så ved ECU'en straks, at kablet er gået, og at bilen skal gå i stå. Kan derimod ikke accepteres, at pedalen pludseligt ikke fungerer - så skal systemet være redundant, med to sensorer, to kabler, to ECU'er, to motorer, og to benzintanke.

På mange måder, kan elektronik være langt mere pålideligt end mekanik. Som eksempel, kan elektronikken tjekke strømme og spændinger i ledningerne - og om de er kortsluttet, eller opfører sig forkert. På et mekanisk system, vil et sådant tjek, højst blive gjort ved eftersyn, en gang hvert andet år.


04. mar 2010 kl 23:24

Jørn Tychsen

Re: Re: Re: Amatør arbejde...

Det er helt rigtigt at sammenligne med sikkerheden ved et tilsvarende mekanisk system. Det er dog ikke sikkert at et "fattigmands redundant" system som Toyotas når et alm. mekanisk system til sokkeholderne. Det kan man først afgøre når man har set på hvilke komponenter der kan fejle, hvordan de fejler (f.eks. afbryder eller ændrer værdi), hvor ofte det sker, om det kan detekteres og hvad konsekvensen af en fejl er. Dvs. Risiko analyse og f.eks. FMEA.

Mht. f.eks. detektion af fejl er elektronik og SW ofte mekanik overlegent og derfor kan man godt få et elektronik system til at blive både bedre og billigere end en mekanisk løsning. Man skal dog nok gøre sig betydeligt mere umage end Toyota har gjort. De skulle jo ellers have den volumen i produktion der skal til for at det kan betale sig at analysere på sin elektronik i den retning.

P.S. Kører selv Toyota.........


04. mar 2010 kl 23:45

avatar

Poul-Henning Kamp

Re: Re: Re: Amatør arbejde...


Hvordan er kravene for et mekanisk system? Skal der også være to uafhængige kabler for speeder pedalen?

Ikke hvis dette ene kabel er konstrueret så det er "intrinsic fail safe".

Så vidt jeg ved, sidder der en fjeder ved motor-enden af kablet, således at hvis dette knækker, ender motoren i tomgang.

Med mindre pedalen fysisk sætter sig fast i bundstilling, har jeg meget svært ved at se en fejlsituation, hvor du ender med fuld uforanderlig motorkraft, som Toyotas "drive-by-wire" system tilsyneladende lider af.

Poul-Henning


05. mar 2010 kl 00:37

Michel Berggren

Re: Re: Re: Re: Amatør arbejde...


Så vidt jeg ved, sidder der en fjeder ved motor-enden af kablet, således at hvis dette knækker, ender motoren i tomgang.

Poul-Henning

Ja og nej. Sprængt kabel, ja, men kabel der sætter sig fast kan ske. En anden skribent har nævnt problemer med sin Everton som jeg dog kan finde løsninger på - dog, jeg har oplevet at dårligt smurte "kabelovertræk" kunne få det til at sætte sig fast, men det kunne typisk løses med et passende dask.

Har aldrig oplevet det i en bil, men det kunne vel teoretisk ske.

M


05. mar 2010 kl 10:25

avatar

Poul-Henning Kamp

Re: Re: Re: Re: Re: Amatør arbejde...

men det kunne typisk løses med et passende dask.

Og det gør jo pokker til forskel, ikke ?

Det er de færreste der er i stand til at fumle rundt med et multimeter nede ved speederen, mens de samtidig holder bilen på vejen...

Poul-Henning


05. mar 2010 kl 12:32

avatar

Per A. Hansen

Re: Positivt nyt

Fra normalt velunderttet kilde har jeg hørt, at Toyota har kunne meddele, at man ikke har fundet fejl ved hansdskerumsbelysningen.


05. mar 2010 kl 12:48

avatar

Rolf Ask Clausen

Re: Re: Re: Re: Amatør arbejde...

Ikke hvis dette ene kabel er konstrueret så det er "intrinsic fail safe".

Så vidt jeg ved, sidder der en fjeder ved motor-enden af kablet, således at hvis dette knækker, ender motoren i tomgang.

Præcist som med gammeldags relæstyrede togsignaler: Default er rød og det er der en fjeder, som sørger for.


05. mar 2010 kl 14:23

avatar

Rune Eilertsen

Re: Re: Re: Re: Amatør arbejde...

PHK; "Med mindre pedalen fysisk sætter sig fast i bundstilling, har jeg meget svært ved at se en fejlsituation, hvor du ender med fuld uforanderlig motorkraft,"

Hmm.. så har du ikke kørt meget i rigtig vintervejr.
:-)
Jeg har mere end en gang kørt i koldt vejr med gammeldags speeder, som grundet slitasje har trukket vand ind, som så fryser til is.
Det giver den samme ulækre følelse hvori man tramper fuld gas, og så hænger pedalen fast i den stilling.
Hvis du kombinerer dette med denne "typiske" problem, sammensat med årstidens ofte glatte vejbane, så kan man selv se at en forbikøring hurtige kan komme ud af kontrol. (specielt hvis bilen har automatgir.)
Ved manuelt gir havde man mulighederne.. koble ud, og lade motoren spinde op i omdrejninger til den ikke kunne mere, eller stå distancen ud og forsøge holde bilen på vejen..:-) Et forsøg på at bremse (den gang baghjulstræk) medførte blot låste forhjul, og dermed ingen styring.
Et hurtig af med tenningen på tenningsnøglen var den bedste løsning. Men hvis man ikke koblet fra i samme sekund, kunne det også godt ende med bremsende hjul som også medførte skrens.
(og et hak for meget tilbage, så gik ratlåsen på...:-)
Sluk tenningen og koblingen ind, så fik man kontrol på hjulene, men mistet servo på bremsen (og styringen...)

Jo, jeg tror nu egentlige at dagens biler er kommet et langt skridt forover i forhold til de mekansike gamle løsninger trods alt. Dette var situationer de fleste har prøvet i en eller anden situation i nordnorge. Dertil karburator is som også kan give nogle sjove effekter (inden det bliver så slemt at motoren stopper.)
I den modsatte ende.. jeg har også vært med til på tør vej, klart vejr at antispind neste kom til at drepe mig, når jeg skulle tage en venstresving med en SUV med diesel og automatgir. Det kom en lastebil i mod, men det var tilstrækkelige distance til at tage venstresvinget. MEN.. i det jeg drejer skarpt til venstre og giver fuld gas, siger bilen "bip bip bip".. antispin har fejlagtig registreret for meget hastighedsforskel på hjulene, grundet stort ratudslag, og tager trotlen til idle. Det skal rigtig meget koncentration til for at slippe speederen helt ud, for at fremskynde en "klarmelding", for så at give den gas igen. Og med typisk diesel og automatgir er det ikke helt uden forsinkelse at bygge op kraften på ny. Meget ubehagelige.
Så den sikkerhedsteknologi kan i sig selv i nogle sammenhænge være med at tage liv, da man ikke længere har kontrol over krafttilførselen.

Helt modsat hold fik jeg i mine unge dage, hvori jeg kørte lastebil, en forskrækkelse når jeg skulle trampe på bremsen inden et lysreguleret kryds, og intet skedde. Det var så en halvliter cola glasflaske som pent rullede ind under bremsepedalen lige når jeg begyndte at bremse farten.. Så skulle jeg slippe pedalen op, få flasken fjernet, og så trampe bremsen igen. Igen skriger det i rygmarven at gøre noget modsat af naturen kalder til, da man instinktivt har lyst at trampe hårdere på pedalen... (men det gik altså godt, og vi stoppet i tide...)

Så min holdning til Toyota problemene? Jo.. Toyota bør fikse dette bedre, men det er trods alt for de fleste stadige bedre i de nyere biler, end det var i gamle dage, og det er stadige mange andre mulige årsager for at det går galt med gas og brems.

Til dem som noterer at motoren skal overstyres af bremsen... :-) Så er i ualmindelige uavancerede sjåfører. En bakkestart hvori man bruger både gas, brems og kobling samdige er noget jeg udfører ret tit. Igen.. ikke noget man tit gør i flade Danmark, men noget der faktisk er del af sjåføropløringen i andre lande. :-)
Man klarer i alle tilfælde godt at bremse mere end motoren kan trække, specielt på en forhjulstrækker er det ganske ukompliceret. Og så er det blot at slukke for motoren inden bremserne er gået varme.
Så når i beskriver før og nu, op og ned, så gør det med et bredere syn. Det er grunde for at motoren ikke idler når man bremser, og det har sked mange gange i gamle dage at en speeder låste sig ved fuld gas, enten det skyldes frost eller at viren var ved at tvære og kilet sig fast. I de situationer fungerer ikke returfjæderen som sidder ved karburatoren ;-)
Den fungerer kun når viren glipper/bryder. På samme måde har en flycer en modsat fjæder, som bringer motoren til lige fuld trottle ved en defekt vire.


05. mar 2010 kl 14:56

avatar

Poul-Henning Kamp

Re: Re: Re: Re: Re: Amatør arbejde...


Jeg har mere end en gang kørt i koldt vejr med gammeldags speeder, som grundet slitasje har trukket vand ind, som så fryser til is.

Naturlich, men du har også angivet det temmelig store antal afværgemuligheder du havde, i forhold til Toyotaerne i USA kun har én afværgemulighed, som stort er udokumenteret:

koble ud

... Virker ikke med automatgear, som praktisk taget alle USAnske biler har.

Et hurtig af med tenningen på tenningsnøglen

Det er her historien egentlig startede: For at slukke motoren skulle man holde "Start" knappen inde 3 sekunder i disse biler.

Selvom det stod i manualen, så er 3 sekunder for det første meget lang tid at "ofre" en hånd i den situation, for det andet er det dybt kontraintuitivt, uanset manualens forklaring.

Firkantet sagt, havde du to indlysende, rutineprægede afværgeforanstaltninger, USAnerne havde en halv, hvis de havde læst bogen meget grundigt og turde prøve at gennemføre handlingen.

Mindst 5:1 til den gamle bil her.

Poul-Henning


05. mar 2010 kl 15:06

Jens Dalsgaard Nielsen

Re: Re: Re: Re: Re: Amatør arbejde...

Til dem som noterer at motoren skal overstyres af bremsen... :-) Så er i ualmindelige uavancerede sjåfører. En bakkestart hvori man bruger både gas, brems og kobling samdige er noget jeg udfører ret tit. Igen.. ikke noget man tit gør i flade Danmark, men noget der faktisk er del af sjåføropløringen i andre lande. :-)
Man klarer i alle tilfælde godt at bremse mere end motoren kan trække, specielt på en forhjulstrækker er det ganske ukompliceret. Og så er det blot at slukke for motoren inden bremserne er gået varme.
Så når i beskriver før og nu, op og ned, så gør det med et bredere syn. Det er grunde for at motoren ikke idler når man bremser, og det har sked mange gange i gamle dage at en speeder låste sig ved fuld gas, enten det skyldes frost eller at viren var ved at tvære og kilet sig fast. I de situationer fungerer ikke returfjæderen som sidder ved karburatoren ;-)

der var vist noget med at bilen faktisk bevægede sig med mere end 0 km/t +/- xx km/t :-)
Hvis du gentagne gange kører rundt i din bil og får frossen vand i kable fejlen er vi vel tæt på en kriminel fejl 40 ???

men som phk siger: sporten kort 5-1 ;-)


05. mar 2010 kl 15:20

Jens Madsen

Re: Re: Re: Re: Re: Re: Amatør arbejde...

Det undrer, at Toyota overfører dataene "analogt" til ECU'en. Analoge data, er langt mere følsomme, end digital overførsel. Havde man sat en microcontroler på ved speederen, som detekterede de analoge data, og oversatte dem til digitale - så havde det været mere sikkert. En microcontroler, der uafbrudt sender data af sted, vil elektronikken nemt opdage, hvis kablet overklippes, eller microcontroleren standser - så sendes ingen data. ECU'en, kan så eventuelt afbryde strømmen, og sætte den på igen, i et forsøg på fejlretning, og virker det ikke, så der sendes korrekte data fra microcontroleren, så vil motoren stoppe. Et analogt signal, der kortsluttes, får fugt, går hul på, eller beskadies, vil derimod nemt give forkerte data. Digitale signaler, kræver også færre ledere - i princippet, kan nøjes med 2 ledere, hvis data også forsyner strøm.


05. mar 2010 kl 16:12

avatar

Poul-Henning Kamp

Re: Re: Re: Re: Re: Re: Re: Amatør arbejde...

Havde man sat en microcontroler på ved speederen, som detekterede de analoge data, og oversatte dem til digitale - så havde det været mere sikkert.

Det er jeg for det første overhovedet ikke enig med dig i, computere er ikke per definition en bedre metode til den slags ting. Men det kan vi gemme til en anden gang.

For det andet, ville det have kostet både to og tre dollars og det er nok den primære grund til at det ikke er sket.

Poul-Henning


05. mar 2010 kl 17:33

Jens Madsen

Re: Re: Re: Re: Re: Re: Re: Re: Amatør arbejde...


Det er jeg for det første overhovedet ikke enig med dig i, computere er ikke per definition en bedre metode til den slags ting. Men det kan vi gemme til en anden gang.

For det andet, ville det have kostet både to og tre dollars og det er nok den primære grund til at det ikke er sket.

Poul-Henning
Tænkte nok, at jeg kunne provokere lidt - mange foretrækker analoge guldbelagte ledninger, fremfor digital fremførsel.

Prisen først. Sidst, jeg købte en microcontroler med 4 analoge indgange, var prisen 4 kroner per styk, og altså under en dollar. Sidst, jeg købte en 6-leder oliebestandig gummikabel, mener jeg det var en 50'er per meter! Prisen var en brøkdel for 2-leder. Prisen for en microcontroler, spares altså hurtigt ind i kobber, konnektorer osv. Det koster meget, at lave en forbindelse i en konnektor. Fastgørelse af stik i begge ender, kan nemt koste flere kroner, for en multi-konnektor. Mange typer kabler, er svært at crimpe, andet end i hånden, og gøres ikke af robotter. Prisen, for montering, afhænger derfor meget af antal ledere. Stik - når de skal være vejrbestandige - koster også, og igen, afhænger det af antal ledere. Endeligt, er flerlederkabler mere stive, og tungere, og det kan gøre arbejdet med dem mere besværligt, og dermed koste tid, og penge. Skal du gøre noget billigt, er det bedste ofte at reducere antal forbindelser, antal crimps, måden som det sættes sammen på og stik imellem printene, og så eventuelt at bruge nogle billige SMD monterede microcontrolere på stedet. Prisen for disse, spares desuden ofte, i færre ben for de microcontrolere som signalerne føres til, og ved at der er dataprocessering på stedet, så koden bliver mere simpel.

Det er svært at gennemteste en ledning, hvis forbindelserne er analoge. Det som kan måles er ledning inklussiv sensor. Debugging er derfor sværre. Elektronikken kan ikke fortælle dig, hvad som fejler.

Microcontrolere, kan være enormt stabile. Ihvertfald ligeså stabile som dem i ECU'en. Typisk, er det som går galt for microcontrolere, at koden hopper noget over, registre muterer og lign. Det betyder ikke noget. Programmet starter jo forfra et øjeblik efter, og der overleveres ingen tilstande. Da processoren reelt genstarter hele tiden, kan den hellerikke hænge. Hvis processoren ikke genstarter, og holder op med at sende data, så kan strømmen afbrydes af ECU'en, og sættes på igen. Hjælper denne operation, så vil data igen modtages. Kan det ske tilstrækkeligt hurtigt, til at det ikke medfører for lang tids mangel på data, så kan fortsættes. Hjælper det ikke at genstarte, og kan ikke opnås der sendes data ud fra controleren, så må ECU'en opgive, og ved der ikke kommer data fra speeder.

Selvom der er en microcontroler ved speederen, skal naturligvis altid være 2 hall sensors - for at udelukke at sensoren fejler.

Jeg tror ikke at du kan gøre det sikrer med analoge data, eller ved at bruge en decideret chip til oversættelse af analog til serielt digital. Ingen chip, er mere sikker, end en microcontroler der genstartes uafbrudt, og hvor der ikke overleveres tilstande mellem genstarts, som ikke redundante og eventuelt automatisk fejlrettes. En sådan sikkerhed, svarer helt til hardware der har fejlrettende registre indbygget, og bruges til automative formål. Også i selve koden, kan du tjekke om registre muterer, og om der sker fejl. Først, når kredsen ikke mere fungere efter genstart, og en eventuel afbrydelse og tilslutning af strømmen, så må den betragtes som død.

Når det drejer sig om analog og digital overførsel, og om der skal bruges sølv, guld, eller bare gummi-kabel, så er der uden tvivl mange delte meninger, der ofte beror mere på følelser, end på fakta.


05. mar 2010 kl 18:21

Jens Dalsgaard Nielsen

lakmustesten ?!

lidt provokerende :-)

hvad stoler du mest på.

1. et stykke ledning med to ledere der fører til en ECU
eller
2. et stykke ledning med to ledere der fører en ECU efterfulgt af 1 ledning med 2 ledere der fører til en ECU

???



05. mar 2010 kl 19:39

Jens Madsen

Re: lakmustesten ?!

Hvis der er fugt, og ledning eller stik har taget skade, ved jeg godt hvad jeg stoler mest på.

Sendes digitalt, og er dataene kodet så der opdages når værdien er forkert, så er det sikkert. Derimod den analoge, vil i fugt virke som et utæt oliefyldt kabel.

Kabel og forbindelser, er ofte årsag til fejl og mere upålidelige end god elektronik. Når elektronikken fejler, skyldes det ofte forbindelser. En PIC10F220 koster 0.36 USD, og sparer ikke kun masser af ledning - den medfører også, at sensorernes data ikke sendes ud på en lang og støjfyldt tur, med risiko for, at elektrisk støj og induktion brænder selve sensorerne af. Den digitale driver, efter PIC kredsen, er mange gange mere robust, end hvis signalet fra sensorerne ledes direkte ud. Kortsluttes den, vil der ofte være en seriemodstand, så den er sikret mod dette. Høje spændinger og spikes, vil nemt dæmpes, og ikke fortsætte ind i de følsomme transducere.

I mange tilfælde, så medfører mere elektronik større sikkerhed. Men det afhænger af hvordan det laves. Laver du speeder ECU'en, så den får strøm uafbrudt, og ikke genstartes, med mindre bilens batteri udskiftes, så får du nemt et meget upålideligt system. Genstartes den, når du starter bilen, bliver den mere pålidelig. Genstartes den uafbrudt - hver gang der sendes data til ECU'en, og typisk mindst 50 - 100 gange i sekundet - så får du et meget sikkert system. Sendes data, således de skal opfylde et system, så ses nemt af ECU'en hvis de har fejl, og de kan ignoreres, så næste data tages i stedet. Modtages ingen korrekte data, indenfor en vis tid, kan motoren stoppe. En microcontroler, der genstartes uafbrudt, og hvor der enten ikke sendes data videre ved genstart, eller de data der videresendes og huskes permanent, er fejlkorrigerede og fejltestede, er altid langt mere sikker, end en ECU. ECU'en genstartes normalt ikke uafbrudt, men vil typisk genstartes ved næste batteriskift. Det er ikke umuligt at man må fjerne batteriet, og isætte det igen, hvis f.eks. lyset hænger. Jeg har også set, at lyskontrollen har drænet batteriet for strøm, fordi den netop var tændt når bilens tænding var på OFF.

Det som betyder noget, er hvordan det laves. Genstart uafbrudt, uafbrudte fejlkorrektioner ved hver genstart således at data der huskes permanent, også fejlrettes, giver en meget større sikkerhed end en computer der kører uafbrudt, og hvor enhver fejl er fatal. I nogle tilfælde, sættes krav til at koden verificeres for fejl - dette kræver at kode hukommelsen kan aflæses. Skrives programmet, således det er forskellige dele der sender data ud, f.eks. hver anden gang, så er en sådan sikkerhed normalt ikke påkrævet, andet end i hoved ECU'en, da de data der modtages af ECU'en altid vil fejle, hvis der er bit som er muteret i koden. Igen er fejlanalysen det vigtige - man skal overveje, hvad som sker, hvis der er fejl i koden, og om ECU'en opdager det. Der skal overvejes, hvad som sker, hvis der sker fejl i registre, eller indstruktionspointer - og om ECU'en opdager dette, og kan håndtere dette på en acceptabel måde.

Analoge ledninger, er altid noget bras. Tager du ved ledningen, og ryster lidt - så ændres spændingen på udgangen. Starter du en motor, så induceres støj. Trækker du lidt i stikkene, så ændres modstanden i stik, og hastigheden bliver måske ustabil. Køres over en sten, så stiger hastigheden pludseligt, fordi at modstanden indstiller sig korrekt.

En 6-benet microcontroler, med et par beskyttelseskomponenter, er den mest sikre løsning.


05. mar 2010 kl 20:02

avatar

Poul-Henning Kamp

Re: Re: lakmustesten ?!

En PIC10F220 koster 0.36 USD,

Den er så vidt jeg ved ikke i nærheden af at kunne bruges til formålet.

For det første overser du, at behovet for at lave fejldetektering på de analoge hall sensorer ikke forsvinder, blot fordi du flytter computeren tættere på, derfor er 6 ben ikke i nærheden af nok.

Du skal bruge mindst to ADC'er per hall føler, en til forsyningsspænding og en til udgangs signal.

Dernæst overser du, at du nu har fået et endnu sværere fejldetekteringsproblem i ECU'en, for nu skal du kunne checke at microcontrolleren i speederen ikke lyver for dig, fordi den har fået bit-blødning.

Inklusiv design og programmering, kommer det til at koste dig en god del mere end 36 cent per pedal.

Bid mærke i, at jeg ikke siger at det ikke _kan_ gøres bedre med en distribueret microcontroller, jeg siger kun at det ikke, per definition, er en god ide, som mange ellers tror.

Poul-Henning


05. mar 2010 kl 20:57

Jens Madsen

Re: Re: Re: lakmustesten ?!

En PIC10F220 koster 0.36 USD,

Den er så vidt jeg ved ikke i nærheden af at kunne bruges til formålet.

For det første overser du, at behovet for at lave fejldetektering på de analoge hall sensorer ikke forsvinder, blot fordi du flytter computeren tættere på, derfor er 6 ben ikke i nærheden af nok.

Du skal bruge mindst to ADC'er per hall føler, en til forsyningsspænding og en til udgangs signal.

Dernæst overser du, at du nu har fået et endnu sværere fejldetekteringsproblem i ECU'en, for nu skal du kunne checke at microcontrolleren i speederen ikke lyver for dig, fordi den har fået bit-blødning.

Inklusiv design og programmering, kommer det til at koste dig en god del mere end 36 cent per pedal.

Bid mærke i, at jeg ikke siger at det ikke _kan_ gøres bedre med en distribueret microcontroller, jeg siger kun at det ikke, per definition, er en god ide, som mange ellers tror.

Poul-Henning

Det koster ikke meget. At kode PIC'en kan gøres på en dag. Når lønnen deles ud på antal solgte biler, så bliver det meget lidt per pedal. PIC kredsen, har så få bytes kodelager, at der ikke er plads til det store advancerede Linux paradis. Så normalt, tager kodningen kun et par timer.

Hvis du bruger PIC kredsen, kan det måske være en fordel at kunne tænde/slukke forsyningen til HALL elementerne. Men jeg kan ikke se, hvorfor forsyningen til de to HALL elementer ikke kan være ens, og hvorfor der ikke kan bruges en digital udgang. De hall sensorer jeg kender, skal have ca. 5V, ind, og har tre ben - på udgangen leveres så en spænding ud, afhængig af positionen. Det betyder, at der fra to sensorer, skal bruges to analoge inputs - og det er netop hvad chippen har. Den skal have en digital udgang, der kan tænde/slukke begge sensorer samtidigt. Og, endeligt en sidste eventuelt kombineret ind/udgang der kan kommunikere med ECU'en. I princippet, gør den ikke andet, end læser de to analoge signaler, og sender dem af sted digitalt. Resten gøres af ECU'en. Redundans, kan opnås, ved at sende samme data to gange. F.eks. kan bruges en RS232 protokol, på 8 bit, hvor den øverste bit reserveres til synk. Så er der 7 bits. Disse bits, bruges til at først sende første sensors analoge værdi - og for første byte, sættes synk bitten også således der vides det er første byte, herefter anden sensors analoge bit, første sensors igen, og 2. sensors igen. Eventuelt kan 1. sensors sendes igen, og 2. sensors igen, så det er muligt med fejlretning. Herefter holdes en pause, der er mindst 1-2 bytes stor, således at RS232 prtokollen synkroniseres, og at næste data der sendes altid opfattes som ny data med synk bitten sat. CPU'en genstartes, af den indbyggede timer. Det er en ganske lille programmeringsopgave. På ECU'en, er der måske en USART indgang fri, og data læses herfra, i stedet for fra en analog indgang.

Problemerne er meget større hvis data overføres analogt. Overfører du dem analogt, skal du indprogrammere støjfjerning i ECU'en, eller du skal designe filtre, foran din ECU til at fjerne støj med. Du skal også beskytte indgangene. Et sådant filterdesign, tager nemt dage - og ikke mindst, er det svært at få til at fungere, med tilfældigt støj og transienter der kan gå i hall sensorer og ind på de analoge indgange.

En løsning, med en microcontroler, er mange gange hurtigere at udvikle. Det er nemmere at beskytte f.eks. digitale udgange, da transistorer leder, og ikke er i det analoge område. Energi, der spyttes ind, går dermed i forsyningen, og ikke i transistorer.

Løse kontakter osv. opdager du, hvis der ikke kommer data. Det giver naturligvis lidt ekstra kodning af ECU'en. Men, at undlade det, er jo at sløjfe sikkerheden.

Jeg gætter på, at den lille 6 benede PIC er nok - sådan som jeg forstår funktionen af hall sensorerne. Jeg synes dog, at rapporten virker lidt uoverskuelig, med hensyn til de 3 ledningers eksakte funktion. Men kreds med 12 I/O koster USD 0.52, så det er næppe et problem. Det er langt dyere, med flere ledere, crimping og fletning af disse, og et tykkere oliesikkert flerlederkabel.

Der er mange fejlmuligheder for både et analogt og et digitalt system. Fordelen ved det digitale system er, at problemerne er til at løse. Det kan være svært, eller umuligt for det analoge, uden du skal ud i dyre guldbelagte konnektorer, der er designet for vejrbestandighed og kan tåle olie. Det er næsten umuligt, at tjekke om det analoge kabel er ok, eller om der er fejl på værdierne. En løs konnektor, er det samme som at løfte/presse pedalen.


05. mar 2010 kl 21:04

avatar

Poul-Henning Kamp

Re: Re: Re: Re: lakmustesten ?!


Det koster ikke meget. At kode PIC'en kan gøres på en dag.

Forudsat at firmaet ikke har skyggen af kvalitetssikring, ja.

Poul-Henning


05. mar 2010 kl 21:13

Jens Dalsgaard Nielsen

Re: Re: lakmustesten ?!

Hvis der er fugt, og ledning eller stik har taget skade, ved jeg godt hvad jeg stoler mest på.

Sendes digitalt, og er dataene kodet så der opdages når værdien er forkert, så er det sikkert. Derimod den analoge, vil i fugt virke som et utæt oliefyldt kabel.

Prøv lige at læse det jeg skrev... Du kan vel ikke mene at istedet for at fremføre et signal via et kable over en distance på måske 1m til en ECU er det bedre at overføre det via(det samme) kabel til en ECU behandle det og så vidersende det via et kabel (net?) til den "oprindelige" ECU. Hvis det skal passe skal den ekstra ECU og kabel have mere en 100% i pålidelighed :-) det giver vist ikke mening...


Glemte at sige at jeg har været med til at have næsen nede i "noget BMW". Der er faktisk gjort en del ud af deres system, snesevis af computer mange (!) netærk osv osv. Det er ikke "bare lige" lige at smide 300 linier C i en PIC.


05. mar 2010 kl 21:40

Jens Madsen

Re: Re: Re: lakmustesten ?!

Prøv lige at læse det jeg skrev... Du kan vel ikke mene at istedet for at fremføre et signal via et kable over en distance på måske 1m til en ECU er det bedre at overføre det via(det samme) kabel til en ECU behandle det og så vidersende det via et kabel (net?) til den "oprindelige" ECU.

PIC'en skal placeres ved speederpedalen, på samme print som HALL sensorerne, og indstøbes i en box, så der ikke træder fugt ind. Hvis der er kabel, ledninger, stik, eller andet skal de indstøbes, så der ikke kommer fugt til, og de ikke påvirkes af viberationer.
Glemte at sige at jeg har været med til at have næsen nede i "noget BMW". Der er faktisk gjort en del ud af deres system, snesevis af computer mange (!) netærk osv osv. Det er ikke "bare lige" lige at smide 300 linier C i en PIC.
Når du bruger en PIC kreds, står i manualen at du kan bruge C, at der findes C kompilere osv. Virkeligheden er, at dette oftest er pral. Der findes PIC kredse, der faktisk er store nok, til at kunne programmeres i C. Men for de fleste, er muligheden af teoretisk karakter. PIC's kodes i rå assembler... Det betyder også, at koden er meget få bytes stor, og der ikke er plads til udskejelser. Netop derfor, vil man ikke lægge intelligensen ind i PIC'en. Intelligensen, skal stadigt lægges i ECU'en. Formålet med PIC'en, er at opsamle data, og at videresende disse. PIC står for "Programmable Interface Controler" ( http://en.wikipedia.org/wiki/P...er). Deres typiske funktion, er f.eks. at opsamle noget analogt, og sende det videre digitalt. Eller at virke som en TTL gate. 10F220 har 256 indstruktioners kodelager (maskinkode). Hvis vi, af hensyn til kodesikkerhed, vil kode opgaven flere gange, er vi reelt tættere på 80 indstruktioner. Dette er dog lige nok til, at vi kan konvertere data med A/D konverterne, og sende dem ud serielt i RS232 protokol, og gøre det 3 gange. Det er nemt at verificere funktionen, da den er simpelt beskrevet, og kan valideres med en normal RS232 terminal på udgangen. Den vil tydeligt vise speederpedalens position, og at data er ens de tre gange, så eventuelle fejl på data kan rettes, og eventuelle fejl i koden opdages.


05. mar 2010 kl 22:33

avatar

Poul-Henning Kamp

Re: Re: Re: Re: lakmustesten ?!

Der findes PIC kredse, der faktisk er store nok, til at kunne programmeres i C. Men for de fleste, er muligheden af teoretisk karakter.

Det vil komme som en stor forbavselse for alle de PIC18 kredse jeg har fyldt med C-kode, senest: http://www.version2.dk/artikel...0001

Resten af hvad du skriver er jeg heller ikke vildt imponeret af, du har tydeligvis ikke nogen erfaring med at lave en fault-tree analyse på et hi-rel design.

Har du f.eks overvejet om din microcontroller kan holde RS-232 BAUD-generatoren på rette frekvens fra -40 til +85 grader Celcius, i mindst 10 år ?

Forstå mig ret: enhver idiot kan programmere en pic så den laver to A/D konverteringer og sender dem på en seriel snor til den anden ende.

Men en speederpedal i en bil er ikke noget der skal programmeres af enhver idiot: den skal designes så det virker, bliver ved med at virke og, frem for alt, hvad der netop er kernen i hele denne sag: så den med meget stor sikkerhed holder op med at virke, på den mest hensigtsmæssige måde, hvis ikke normal funktion kan garanters opretholdt.

Med hensyn til dit forslag med at sende aflæsningen "tre gange" og så deklamere fyraftensbajer hvis du modtager den samme udlæsning tre gange efter hinanden, så er det nærmest latterligt forkert.

Uanset hvad du tror du ved om dine 80 assembler instruktioner, så skal designet laves så det opdages hvis dine 80 assembler instruktioner ikke udføres korrekt.

Det vil, som et minimum, sige en checksum, et sekvensnummer, formodentlig også en self-test funktion der trigges af ECU'en (to-vejs kommunikation!), samt relevant diagnostik for dump ind i ECU'ens log ved fejlsituationer: For stor standardafvigelse på ADC læsninger, højfrekvens-signaler i ADC læsninger[1], fejlstatus i chippen (resets, watchdog, brown-out osv), check-sum kontrol af program-kode. osv osv.

I den forbindelse er et at de helt store problemer med PIC processorer, at de næsten ingen energi bruger og derfor, selv med temmelig voldsomme kredsløbsfejl kan finde på at afvikle deres kode, mere eller mindre forudsigeligt og som resultat sende alle mulige ting ud på deres interfaces.

Dit design ville derfor sandsynligvis lide af præcist samme skavank som Toyotas: hvis GND ledningen til din controller blev kompromiteret, ville din ADC's GND-VREF indsnævres og alle målinger fra ADC'en bliver derfor større end den korrekte værdi, med det resultat at din PIC siger til ECU'en: Fuld gas.

Den slags ting skal tænkes igennem og testes igennem og det tager en god del mere end en eftermiddag.

Jeg har f.eks set et hi-rel design, hvor man med hård hånd havde monteret 100 Ohm pulldowns på alle ben, ikke bare I/O men også Vpp & Vpgm, for at sikre at chippen var helt og aldeles deaktiveret, når dens udpegede strømforsyning var slukket.

Jeg tvivler på at nogen fandt på den løsning på en enkelt eftermiddag.

Poul-Henning

[1] Et ofte overset fejlkriterie når man overvåger den virkelige verden: En speederpedal har masse, derfor gælder newtons love for den og man kan opstille fornuftige grænseværdier for dens hastighed og acceleration, hvilket giver følsom detektion af typiske ADC fejlscenarier.


05. mar 2010 kl 23:45

Jens Madsen

Re: Re: Re: Re: Re: lakmustesten ?!

PIC18 kredsene, er blandt de større PIC kredse - det er faktisk den serie, som jeg hentyder til, når jeg skriver de godt kan programmeres i C. Til 18 serien, er det meste af Microchips eget software også i C - og du kan få TCP/IP og netværkssoftware til 18 serien. De findes med indbygget 10 MBIT LAN. PIC10 kredsene, er nogle af de små. De er ikke så egnet til C. Dog, så er f.eks ATMEL kredse mere egnet end 18 serien, da du her kan bruge en standard GNU C. Det findes ikke til PIC serien. Derfor, vil man typisk kode de komplekse ting ind i ECU'en, hvor der bruges en kreds, der er egnet til f.eks. C, eller et andet programmeringssprog.

Med hensyn til baudrate, så er det meget normalt, at modtageren (ECU'en) detekterer denne. Det sker ved at måle på pulsernes bredde, og indstille frekvensen derefter. Nogle sender en speciel sekvens først, for at frekvensen nemt detekteres. Hvis sync pulsen, er negeret, så vil start bit være en bit bred, og dermed kan sendefrekvensen nemt detekteres udfra startbittens bredde på første byte der sendes. Det er meget normalt, at modtageren detekterer frekvensen ved PIC kredse, fordi de er uden krystal - så for alle de små, fungerer det ofte sådant. De RS232 biblioteker som findes på nettet, rummer normalt automatisk detektion af hastigheden, ved at f.eks. finde mindste bredde af en databit i en sekvens. Den vil i langt de fleste tilfælde, svare til en bit bredde, og kan bruges til hastighedsmåling. Det er også meget normalt, at starte en sekvens med f.eks. 55H, hvor bittene skifter skiftevis.

Det er ikke muligt, at genneralt sige tjeksum er bedre end at sende data 3 gange. En tjeksum indeholder mindre information - og hvad skal den være tjeksum af? Vil du sende en sum, af de to sensorers værdi? Og skulle det være mere sikkert, end at sende hver enkelt sensors værdi med tjeksum? At sende værdien to gange, svarer til tjeksum - hvis du sender den ene negeret. Det betyder dog ikke meget her, da det ikke er et problem hvis udgangen konstant hives høj eller lav. Så modtages ikke valid data. Det er derfor sikkert nok, selvom hver anden ikke sendes negeret. At sende 3, gør det naturligvis mere sikkert end tjeksum. Og det rummer mulighed for, at ECU'en kan foretage fejlretning, men også nemt kan se, at der er sket fejl. Desuden sendes data igen, meget kort tid efter - typisk 100 gange i sekundet - og den kan springe målingen over, hvis den fejler.

Selvtest er til en vis grad med, for ændrer du i koden, ændrer en bit i registrene eller andet, så vil de tre data ikke passe. Det betyder, at ECU'en kan se der er opstået en fejl. Hvis reset oscillatoren svigter, så opdages det også - da vil ingen data sendes. Det er faktisk svært at gøre noget, som ikke opdages. Hvis A/D konverteren fejler, er den ligesom HALL elementerne duppleret, så det også opdages.

Alle dine sikkerhedsanalyser skal ikke ind i PIC'en. Standard afvigelse på ADC læsningerne, afvigelse på data mellem de to analoge værdier osv. hører under ECU'en, og er præcis det samme, som nu er programmeret i ECU'en. Reset, watch-dog, osv. er der også taget hensyn til. Den resetter hele tiden, af watch-dog'en, således at der sendes en portion data 100 gange i sekundet. Hvis reset eller watch-dog ikke virker, så kommer ingen data. Og det opdager ECU'en.

Sker fejl, så kan ECU'en slukke for strømmen til såvel HALL sensors, som til PIC'en, og forsøge om det virker med genstart.

Jeg kan ikke udelukke, at det kan gøres bedre, hvis man overvejer det grundigt. Som eksempel, kan ECU undersøge lækstrømme i ledningerne. Dette vil kræve, at PIC'en sætter udgangen threestate et stykke tid. Det er ikke medtaget. Men, det kan nemt lægges ind, at den f.eks. skifter til three-state, i et stykke tid mellem hver pakke. Det er ikke nødvendigt at sende data i begge retninger.

Det er korrekt, at jeg ikke nævte de funktioner som nu er i ECU'en, da formålet med PIC'en alene er at videresende de analoge signaler - og det betyder naturligvis at den eksisterende sikkerhed i ECU'en stadigt skal være der. Dette inkluderer vurdering af de analoge inputs, deres interval, osv. Og at eventuelt sammenholde med forrige værdier. For PIC kredsen, starter hele livet forfra, med en ny sending data. Dette øger sikkerheden. For ECU'en sammenholdes værdierne, og i nogle tilfælde, vil måske tages et gennemsnit, udover at åbentlyst forkerte konverteringer smides bort. En konvertering ved speederen, er dog ikke så kritisk, som hvis du fører ledninger op til ECU'en, da du undgår støj i kablet.

På mange måder, er "min" løsning, omtrent samme som du oprindeligt foreslog: At sende de analoge signaler direkte til ECU'en. Dog, vil jeg lige digitalisere dem først. Og sende dem et par gange, eller tre - således jeg opdager, hvis der er fejl i koden. Tjeksum, kan naturligvis også bruges som alternativ. De fleste fejl, som PIC kredsen kan medføre, svarer til sensorfejl eller analog konverteringsfejl, og opdages af ECU'en. Så vi behøver egentligt ikke, at sende data flere gange, eller sende tjeksum. Uanset, hvad der sker, så burde det opdages af ECU'en udfra analyse af de analoge værdier i forhold til de forrige.

Koden er derfor ikke kritisk. Det kritiske er, at sikre der ikke bruges data mellem resets, og sikre at der resettes f.eks. 100 gange i sekundet. Koden, må helst ikke indeholde en watchdog clear indstruktion, da denne indstruktion gør kode usikker (en løkke kunne aktivere indstruktionen til at køre uafbrudt). Normalt, skal der være to indstruktioner, der skal køre skiftevis - således at to uafhængige rutiner, kan aktivere dem på skift. Desvære, giver PIC kredsene ikke mulighed for det, så derfor er mest sikkert, at bare genstarte dem hele tiden.

Dertil, skal du analysere de analoge data i ECU'en - og typisk smide åbentlyse data bort, og måske lave gennemsnitsmåling over nogle målinger.


06. mar 2010 kl 00:00

Jens Madsen

Re: Re: Re: Re: Re: Re: lakmustesten ?!

Koden er derfor ikke kritisk. Det kritiske er, at sikre der ikke bruges data mellem resets

Det blev formuleret meget dårligt. Det skulle stå, at der ikke overføres data mellem resets. Når watch-dog'en resetter, startes altså på en frisk - ingen tilstande eller andet overlever. Derfor kan en "fejl" i form af en forkert tilstand ikke overleve i systemet.

Den typiske fejl i computere, er forkerte tilstande der opstår. Man skal helst sikre sig, at de ikke kan opstå, eller vil dø.


06. mar 2010 kl 00:31

Jens Madsen

Re: Re: Re: Re: Re: Re: Re: lakmustesten ?!

Jeg har f.eks set et hi-rel design, hvor man med hård hånd havde monteret 100 Ohm pulldowns på alle ben, ikke bare I/O men også Vpp & Vpgm, for at sikre at chippen var helt og aldeles deaktiveret, når dens udpegede strømforsyning var slukket.
For en indgang, er det normalt med 100 ohm til stel (typisk impedansen af kablet - den dæmper ringninger og reflektioner bedst). For en udgang, vil du ofte bruge serietilpasning, og have 100 ohm i serie med - men det afhænger af udgangens impedans. Er den under 100 ohm, så bruges serietilpasning - er den over 100 ohm, sættes modstanden på parallelt. Du skal "se ind" i 100 ohm. Jeg vil bruge en seriemodstand, da jeg forventer en udgangsmodstand < 100 ohm, og dertil VDR direkte over udgangen. En seriemodstand, beskytter også halvlederen bedre, end parallel modstand, i mange tilfælde. For Vdd, vil en lyt og kondensator over indgangen, betragtes som en kortslutning til jord, og den rette måde at sætte dæmpningsmodstanden på, er i serie med indgangen, og ikke til jord. At sætte modstandende til jord, på alle indgange og udgange, tror jeg derfor ikke er spor overvejet.


06. mar 2010 kl 06:35

avatar

Poul-Henning Kamp

Re: Re: Re: Re: Re: Re: Re: Re: lakmustesten ?!

At sætte modstandende til jord, på alle indgange og udgange, tror jeg derfor ikke er spor overvejet.

Eller også er det mere velovervejet end du kan forestille dig:

Pointen var at sikre sig imod parasitisk forsyning, under alle omstændigheder, det havde intet at gøre med terminering.

Din teoretiske basis for udsagn som:

Det er ikke muligt, at genneralt sige tjeksum er bedre end at sende data 3 gange.

Er dybt mangelfuld og totalt mangler indsigt i typiske fejl-scenarier, ikke mindst taget i betragtning at du foreskriver RS-232 kommunikation.

Særligt kan jeg garantere dig, at et design der bruger autobaud, uden en stærk checksum, bliver dumpet med et brag.

De løsninger du foreskriver ville muligvis kunne godtages til kontakten til blinklyset, men _aldrig_ til speederen.

Poul-Henning


06. mar 2010 kl 10:57

Niels Erik Danielsen

Re: Re: Re: Re: Re: Re: Re: Re: Re: lakmustesten ?!

Som allerede nævnt ovenfor, ser jeg at hoved problemet er at der ikke findes en intuitiv(e) måde at stoppe en bil med en defekt speeder.
Dvs. problemet er primært et HMI design problem.
En kobling og tændings nøgle er en god og sikker løsning da de bruges ofte hvilket betyder at der er god 'Diagnogstic coverage' da det bliver opdaget hvis der er funktions fejl på dem.
Funktionen og brug af kobling og tændings nøgle i en normal situation og en stuck trottle situation er den samme så reaktioen er indlært.
Hvis bilen er nøgleløs vil jeg mene at start og stop foregå med en rød og grøn tryk knap. Systemet skal være to tråds, og afbryde tænding, indsprøjtning, og brændstof pumpe. Motoren må ikke kunne startes medmindre at begge systemer blev afbrudt inden for 50ms ved sidste stop.

Den elektriske opbygning af speederen med de to galvanisk uafhængige analoge kanaler ser da fornuftig ud hvis den bruges i et ikke støjfyldt mijø.
Overførings funktionen på de to kanaler er forskellig så det er muligt at detektere en kortslutning mellem de to. (Den samme spænding på begge kanaler giver ikke en valid speeder position)

Det er også muligt at opbygge en tokanals ECU, hvor de to signaler går ind i hver sin microcontroller.
Hvis de to kanaler pulser deres sensor forsyninger (V+ og V-) uafhængigt af hinanden kan flere fejl dekteres.

Muligvis har Toyota i deres DFMEA besluttet at det er mere sikkeret at fortsætte på en kanal, end at stoppe motoren. Et motor stop kan skabe en farlig situation på en motorvej hvis man ikke befinder sig i den yderste vognbane.
Jeg mener at der har været dødsulykker, og efterfølgende retssager i USA pga. motore der stoppede 'Fail Safe' på en motorvej.


06. mar 2010 kl 11:56

Jens Dalsgaard Nielsen

Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: lakmustesten ?!

Som allerede nævnt ovenfor, ser jeg at hoved problemet er at der ikke findes en intuitiv(e) måde at stoppe en bil med en defekt speeder.

Hovedproblemet er at en enkelt(?) defekt i en komponent kan medføre at motoren kører op på max rpm og bliver der. Hvis det ikke havde været der så var det dit hovedproblem der jo ikke :-)

http://en.wikipedia.org/wiki/F...ysis er en start på at læse lidt om det her.

Men som altid er problemet at man skal kunne forestille sig alle de ting der kan ske for at man kan håndtere den analytisk. Så hvis man eks har glemt at få med at man kan løbe tør for bensin så har vi den klassiske: bilen vil ikke starte - hvorfor ?


06. mar 2010 kl 14:57

Jens Madsen

Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: lakmustesten ?!

Som allerede nævnt ovenfor, ser jeg at hoved problemet er at der ikke findes en intuitiv(e) måde at stoppe en bil med en defekt speeder.

I tog, er det et krav at speederen ikke må have konstant værdi. Togføren skal slippe den med jævne mellemrum, ellers vil toget gå i stå. Dårlige forbindelser, hvor forbindelsen kommer og går, er her en fejlmulighed der skal tages hensyn til.

Hovedproblemet er at en enkelt(?) defekt i en komponent kan medføre at motoren kører op på max rpm og bliver der. Hvis det ikke havde været der så var det dit hovedproblem der jo ikke :-)

Man kunne jo nemt have stoppet motoren, hvis de to værdier var ens - men har valgt at ikke gøre det. Men det undrer mig alligevel, at det kan ske. Det mest logiske, hvis man har to komponenter, er at tage den laveste hastighed fra de to - og ikke højeste. En deffekt komponent, kan derved medføre lavere hastighed, men aldrig højere. For at opnå højere hastighed, skal begge komponenter være deffekte.

Jeg må indrømme, at jeg har meget imod analoge forbindelser. Det er absolut ingen god løsning. Som regel, vil der kunne være opstået dårlige forbindelser i stik, og vand, sten og hop, og mekaniske påvirkninger påvirker den analoge værdi. Uanset, hvordan det laves, risikere vi det får betydning for kørslen. Vi har en meget lang, og total ukontroleret forbindelse, bestående af mange ledere, som kun giver anledning til besvær. Det er vigtigt, at digitalisere signalet så tæt på transducerne som muligt. En god løsning, er at bruge f.eks. to PIC's, der klarer hver deres signal. Derved kan vi i princippet køre videre, med en deffekt sensor, eller et defekt kabel, hvis systemet er lavet til dette. Igen, er PIC's gode til formålet, fordi de indeholder watch-dog timers, og kan genstartes hele tiden, og de behøver hverken at sende tjek sum eller andet ud - men det vil være flot, hvis de gør det. Jeg indrømmer, at tjeksum er bedst, hvis der f.eks. skulle kunne komme konstant frekvens på indgangen - den vil kunne medføre der modtages en stak 55h'er. På den anden side, vil begge transducere blive påvirket forkert og sende samme værdi, og det burde opdages. At digitalisere signalet, vil øge sikkerheden betydeligt, uanset hvor dårligt det gøres.

Skal vi endeligt sende en analog værdi, skal den sendes som strøm - og ikke som spænding, som toyota gør. Udgangsmodstanden skal være høj - gerne uendelig, således støj lægger sig på udgangen - og indgangsmodstanden skal være lav. Som eksempel, kan væges en indgangsmodstand på 100 ohm.


07. mar 2010 kl 12:53

Niels Erik Danielsen

lakmustesten ?!

At digitalisere signalet, vil øge sikkerheden betydeligt, uanset hvor dårligt det gøres.

Det er jeg ikke helt enig i :-)
Hvis der laves en skrammel løsning ude ved sensoren, kan de efterfølgende controllere ikke rette op på det, jeg har set sådan en løsning uden watchdog i sensoren som kunne gå i baglås, således at hele systemet måtte genstartes.
Desuden kræves der to microcontrollere for at lave det sikkert til en speeder.

Jeg foretrækker selvfølgelig et en kommunikations forbindelse, men ikke for enhver pris.
Bus forbindelser er noget skrammel, jeg foretrækker punkt til punkt forbindelser som fiber, switchet Ethernet, LVDS eller RS422 :-)
Men ofte kan det ikke betale sig at bruge Ethernet til en simpel sensor der bare lige skal måle en enkelt process værdi. Derfor er valget ofte mellem 4-20mA, og en bus som CAN.

Jeg skal til at forholde mig til om sensor leverandøren har implementeret CAN korrekt, samt de fejl meddelelser som CAN stakken kan give.
Jeg får reelt ikke mere diagnostik hvis sensoren er simpel, udover at kunne læse en firmware version.
Der er mere kabling, typisk skal der i en industriel løsning bruges et kabel til bus ind og ud, samt forsyning. 4-20mA sensorer har kun et kabel.
Hvis der er en kabel fejl på CAN, eller forsyning til sensoren, forstyrre det resten af systemet. Det bør det ikke gøre på 4-20mA.

Skal vi endeligt sende en analog værdi, skal den sendes som strøm

Her er vi helt enige..


07. mar 2010 kl 15:45

Glenn Møller-Holst

DCC overalt ?

At digitalisere signalet, vil øge sikkerheden betydeligt, uanset hvor dårligt det gøres.

Det er jeg ikke helt enig i :-)
...
Bus forbindelser er noget skrammel, jeg foretrækker punkt til punkt forbindelser som fiber, switchet Ethernet, LVDS eller RS422 :-)
...

Er DCC ikke godt nok? - tovejskommunikation, checksummer, velgennemprøvet af mange entusiaster jorden rundt - "det er den rene luksus", det flyder med elektrisk støj i modeljernbanelegemet grundet beskidte skinner - men modeltoget kører:

http://da.wikipedia.org/wiki/D...trol
http://en.wikipedia.org/wiki/D...trol

NMRA STANDARDS AND RECOMMENDED PRACTICES (S-9):
http://www.nmra.org/standards/...html

Tovejskommunikation:

RP-9.3.1 Electrical Specifications for DCC Decoder Transmission:
http://www.nmra.org/standards/...-931 2007 Jan.pdf
http://www.nmra.org/standards/....3.2 draft 2005-04-14.pdf

To ledere er nok og de kan byttes rundt uden nedsmeltning...faktisk virker det ligesågodt.


07. mar 2010 kl 16:06

Glenn Møller-Holst

Re: DCC overalt ?


...
Tovejskommunikation:

RP-9.3.1 Electrical Specifications for DCC Decoder Transmission:
http://www.nmra.org/standards/...-931 2007 Jan.pdf
http://www.nmra.org/standards/....3.2 draft 2005-04-14.pdf
...

Hovedside:
DCC Standards & Recommended Practices Index:
http://www.nmra.org/standards/...html


07. mar 2010 kl 18:26

Jens Madsen

Re: Re: DCC overalt ?

DCC standarden er meget tæt på ideel. Frekvensen skal holdes indenfor +/-5%. Jeg havde foretrukken en standard, hvor frekvensen var mere ukrtisk, så man kunne undgå krystal. Måske kan det undgås, ved at sende i begge retninger, og kun have krystal på ECU'en. Der kan så udregnes en datasekvens som sendes til PIC'en, som den "kalibrerer" sig efter, og denne sendes med jævne mellemrum, eller hvis ECU'en opdager, at frekvensen er ændret lidt. Et andet probem, er at DCC standarden kun leverer strøm, når der sendes "0" fra main enheden til slave enheden. Det betyder, at en lyt på slave enheden, skal indeholde energi nok, til at kunne sende data retur, og forsyne kreds og sensorer under transmissionen. Igen, er problemet dog ikke større, end at det kan løses ved at data halvdelen af tiden sendes fra main til slave enheden, og måske samtidigt sender data, der kan bruges til kalibrering.
Overvejes protokollen lidt, så der sendes data i begge retninger, tror jeg godt den kan bruges, og samtidigt er såvel addressering, som data og fejlkorrigering en del af standarden. Det betyder, at flere sensorer kan sættes på samme kabel (hvis man tør!). Men det kan være noget om, at busforbindelser er "noget skrammel". Protokollen, ligger måske op til en brokolbet ensretning af de data der kommer ind - og at de to ledere dermed er to signalledere uden stel. Det skal man måske være opmærksom på. Minus, på slave enheden, er muligvis ikke stel. Strømmen kan måske tilføres ved enkeltensretning, og de negative værdier der sendes tilbage klares med en kondensatorpumpe - men umiddelbart synes jeg ikke, at standarden ligger op til dette.

At digitalisere signalet, vil øge sikkerheden betydeligt, uanset hvor dårligt det gøres.

Det er jeg ikke helt enig i :-)

Ja, jeg kom nok til at gå lidt for vidt :-).

Dog kan det godt gøres uden watch-dog, men ikke uden det overvejes. Hvis MCU'en ikke sender data, opdages det af ECU'en, og den kan derved slukke spændingen til speederen, og starte igen - hvis denne process går hurtigt, fungerer den som en slags watch-dog, uden den er implementeret på speeder MCU'en. Her kan vi måske også tilføje det til en lille ulempe, at slave enheden ved DCC standarden, ikke modtager strøm hele tiden. Det betyder, at en lyt holder spændingen et stykke tid, og dermed adderer det nogen tid, til den tid det vil tage at resette systemet fra ECU'en.

Jeg tror den nemmeste 2-vejs mulighed, vil svare lidt til den gamle analoge telefonstandard, hvor data tilføres med spænding fra main-enheden, og slave enhederne svarer retur med AC ændring i strømforbrug. Her leveres energi hele tiden og det er muligt, at holde stel som stel. En shunt-regulering, vil ikke behøve afkoblingslyt, og det kan sandsynligvis gøres med få komponenter. Men at bruge den gamle BELL standard direkte, og standard modem kommunikation, er måske lidt overkill... Den er dog velprøvet, i støjende omgivelser, og over store strækninger. Vi kan fjerne "ringetonen", og det som ikke er i sløjfe tilstand.


07. mar 2010 kl 19:26

Glenn Møller-Holst

Re: Re: Re: DCC overalt ?


..
Et andet probem, er at DCC standarden kun leverer strøm, når der sendes "0" fra main enheden til slave enheden. Det betyder, at en lyt på slave enheden, skal indeholde energi nok, til at kunne sende data retur, og forsyne kreds og sensorer under transmissionen.
...

Bemærk at 9.3.1 og 9.3.2 kun beskriver slave(command control decoder transmission)->main kommunikation.

-

Main->slave(command control decoder transmission) føder både energi og kommunikation i samme næsten firkantpulser. Det står i:
http://www.nmra.org/standards/....pdf

Både de kodede nuller og ettere giver energi.

En gang imellem laves en "3-state" periode kaldet "Cutout", det er i dette tidsrum slave(command control decoder transmission)->main kan komme i spil og hvor strømstyringspulser benyttes til transmission.


07. mar 2010 kl 19:37

Glenn Møller-Holst

...DCC overalt ?

Iøvrigt flyder det med konstruktionsbeskrivelser til både DCC power station og DCC decoder. OK - DCC systemet er ikke idiotsikkert - men det er tæt på:

Fra dansk Wikipedia:

DCC Resources Main Page:
http://www.merg.org.uk/resourc....htm

MiniDCC© - A Digital Command Control Do-It-Yourself Project!:
http://www.minidcc.com/

The 3 Amp Booster For My MiniDCC© System:
http://home.cogeco.ca/~rpaisle...html

Digital Command Control Booster on the Teton Short Line An HO Scale Model Railroad featuring do-it-yourself electronics, computers, DCC and operations:
http://www.tslrr.com/dccboost.....htm

Hi-rel DCC:
USP Technical Information:
http://www.lenz.com/techinfo/u....htm

-

Hvis jeg en dag fik tid ville jeg lave en antennerotor styret gennem antennekablet. Hvorfor skal man have et separat 5-leder kabel til en antennerotor - hvor forhistorisk.


07. mar 2010 kl 19:56

Glenn Møller-Holst


07. mar 2010 kl 19:57

Glenn Møller-Holst


07. mar 2010 kl 20:04

Glenn Møller-Holst

...DCC overalt ? I2C konkurrent

Iøvrigt flyder det med konstruktionsbeskrivelser til både DCC power station og DCC decoder. OK - DCC systemet er ikke idiotsikkert - men det er tæt på:
...

Lav f.eks. en DCC mini-powerstation/booster ud af følgende openservostyring:

http://www.openservo.com/

Diagram:
http://www.openservo.com/Schem...tic3
Download diagram:
http://www.openservo.com/Schem....pdf

Har man brug for højere spænding kan man se på MOSFET halvbroerne:
IRF7343

DCC bygget over openservo-styring = simpel småt DCC system. Der er ingen der hindrer mere downsizing => I2C konkurrent? RS-2xx/4xx konkurrent? USB konkurrent?

Der er ingen der hindrer common-mode støj filtrering... Det er jo næsten balanceret. I en bil kunne man f.eks. vælge +-3...+-12V output - ikke nul og 12V til forsyning af boosteren.


07. mar 2010 kl 20:22

Jens Madsen

Re: ...DCC overalt ? I2C konkurrent

Jeg forstår ikke helt, om det er muligt at den kan forsyne en slave enhed med strøm, samtidigt med at slave enheden sender data retur. Hvordan gør den det? Kan main-enheden, levere strøm, samtidigt med at data sendes retur? Her er main enheden indgang - og slave er udgang. Normalt, forsynes strømmen af udgangen. Ved speeder tilfældet, har vi brug for at speederelektronikken får strøm, samtidigt med der sendes data tilbage til ECU'en, som er main enhed - med mindre, vi opmargasinerer energien på en lyt.


07. mar 2010 kl 20:26

Glenn Møller-Holst

Re: Re: ...DCC overalt ? I2C konkurrent

Jeg forstår ikke helt, om det er muligt at den kan forsyne en slave enhed med strøm, samtidigt med at slave enheden sender data retur. Hvordan gør den det? Kan main-enheden, levere strøm, samtidigt med at data sendes retur? Her er main enheden indgang - og slave er udgang. Normalt, forsynes strømmen af udgangen.

Hej Jens

I den korte "Cutout" periode er det rigtigt at en kondensator skal forsyne slaven.

I Cutout perioden sendes ingen energi fra main->slave.


07. mar 2010 kl 21:38

Claus Andreaseen

Hvad med Folkevogn og Audi ???????

De er meget stille med deres problemer, hvor den ikke sætter sig fast, men falder af.

http://www.aftonbladet.se/bil/...0.ab


07. mar 2010 kl 22:07

Jens Madsen

Re: Hvad med Folkevogn og Audi ???????

DCC standarden, kan måske laves i en neddroslet udgave, hvis den synes for dyr... I stedet for, at lede +/-12V retur, kunne man levere +/-5V retur - og derved sende retursignalet direkte fra PIC'en. Det tror jeg kunne spare komponenter. For bilbranchen, er 1 dollar sparet, en tusse i udsalg.

Jeg tror at DCC metoden, med reduceret udgangsspænding fra slave enheden, er det som giver den billigste løsning. Selv med +12V ud, vil det kunne klares med en simpel three-state driver. Og den beskytter PIC'en.

Nu er jeg dog ikke en stor fan af lytter. Men af komponenter, er de blandt de bedste batterier, til at holde spændingen under retur sendingen. Eventuelt, kan sendes få bits af gangen i flere portioner, så spændingen kun skal holdes kort tid.

Mit umiddelbare forslag havde været i retning af analog-telefon standarden. Noget med spænding der sendes ud fra f.eks. 9V-12V for at sende data til PIC'en, og strøm - f.eks. 5mA skift, der sendes fra PIC til enheden. Dertil et konstant strømforbrug uden støj fra enheden ved konstant spænding. F.eks. noget i den retning:
http://www.mediafire.com/image...ynoo

Shunt-generatoren D1 giver 5V til PIC'en. Ved konstant 12V på klemmerne, er der et konstant strømforbrug uanset PIC og elektronikkens forbrug. Anvendes en zener, i stedet for en shunt-regulator, vil der være større lidt støj.

Spændingen på indgang/udgang deles af R2 og R3 til at ligge indenfor 5V området. Med R2 på 1K, kan PIC'ens udgang skifte strømforbruget 5mA.

Der bruges den udgang på PIC'en, der også kan konfigureres som komperator indgang. Det betyder, at PIC'en kan detektere spændingen på indgangen med komperatoren, og selv kan indstille en passende skiftetærskel. Flere udgange kan sættes sammen, for at give PIC'en bedre udgangseffekt, og eventuelt vælge et større strømskift.

D2, C2, R4 er for komponentbeskyttelse, og undertrykkelse af transienter og støj. R1, og R2, begrænser strømmen, og beskytter også.

En mulig protokol, kunne også være at konstant føde med strøm, og så lade enhederne trække lav, f.eks. ned til 7V. Signalet, vil så skifte typisk fra 7V til 12V.

Som dataprotokol, kan evt. anvendes samme som for DCC.

Ialt, tror jeg dog, at DCC kan laves med færre komponenter - og til lavere pris - specielt hvis der kan nøjes med +/-5V retur. DCC har også den fordel, at kunne levere stor strøm, og ikke behøve konstant strømforbrug.


07. mar 2010 kl 22:50

Jens Madsen

Re: Hvad med Folkevogn og Audi ???????

De er meget stille med deres problemer, hvor den ikke sætter sig fast, men falder af.

Er det et problem overalt i automobilbranchen?

Det værste er måske, at de ikke har opdaget fejlene. Man kan så tænke, om de andre dele i bilens styresystem og software er overvejet.


07. mar 2010 kl 23:06

Jens Madsen

Re: Re: Hvad med Folkevogn og Audi ???????

Bør det gøres til et lovkrav, at ECU'en dæmper motorens kræfter, når bremselyset træder i funktion? Det vil løse en række problemer, og hjælpe mod manglende pedal, måtte ol.

ABS funktionen fungerer måske også mere optimalt, hvis en del af bremseeffekten ikke ophæves, på halvdelen af hjulene. Jeg vil tro, at bremsen leverer ens tryk, på alle bremsecylindrer, ved de fleste biler, og at ABS'en også slækker bremsetrykket ens. Justeres ikke motorkraften ned ved bremsning, så kan det måske medføre dårlige bremseegenskaber.


08. mar 2010 kl 09:00

Steen L.

Re: Re: Re: Hvad med Folkevogn og Audi ???????

Hej

Bør det gøres til et lovkrav, at ECU'en dæmper motorens kræfter, når bremselyset træder i funktion? Det vil løse en række problemer, og hjælpe mod manglende pedal, måtte ol.

Jeg kan ikke lige gennemskue om det kan have negative sideeffekter. Min egen bil (Mondeo 2008) tager dog selv gassen af når der trædes på bremsen, og jeg kan ikke mindes at det har generet mig. Jeg troede egenligt at det var alm. praksis i nyere biler.

/Steen


09. mar 2010 kl 10:38

Ebbe Tranberg

Re: Re: Re: Hvad med Folkevogn og Audi ???????

..Jeg vil tro, at bremsen leverer ens tryk, på alle bremsecylindrer, ved de fleste bile

Nej, trykket til bagbremserne reguleres på sædvanlig vis afhængig af last og vægtforskydning under opbremsningen.

..og at ABS'en også slækker bremsetrykket ens..

Bremsetrykket slækkes uafhængigt for hvert hjul, men man skal sørge for at levere et højt nok indgangstryk, og ikke prøve at "second-guesse" ved selv at dosere trykket for at undgå vibrationer i bremsepedalen.


Ny i debatten? Opret en brugerkonto

  • Seneste nyt
  • Mest læste
  • Debatterede
 

Nyhedsbrev

Tilmeld dig vores nyhedsbrev.