Sida 1 av 1

Spänningsmatning till "Arduino" på motorcykel

Postat: 9 januari 2017, 15:59:22
av hubben
Jag håller på med ett livstidsprojekt i att bygga en rallyhoj som ska "bara fungera" i alla tänkbara miljöer och förhållanden.
För att göra en lång historia kort så har jag kommit fram till att den "enklaste" lösningen på att göra elen på cykeln gatlaglig är att bygga ett litet kretskort för att hantera alla states typ blinkers, heljus, roadbook, diverse fjärrkontroller osv. Detta för att minimera kabelkaoset på cykeln.

http://www.runstenracing.se/?p=3117

Första versionen körde med reläer för matningen till hel- och halvljus, men sedan har jag övergått till mosfet för detta som synes.. Senaste kortet har en större avlänkningskondensator och flyttat ut USB-gränssnittet till en FTDI-adapter istället, för att hålla det enklare..

Kortet är byggt som en arduino med lite kringkomponenter, så jag laddar in ardu-bootloadern och kör ardukod på det.
Dock har jag ett återkommande problem med att kortet startar om vid "hög belastning", typiskt om jag använder tutan, eller om motorvarvet går ned så att matningsspänningen sjunker. Det är ju rätt störande när helljuset slocknar och allt återgår till ursprungsstatus. Jag har testat sätta en större kondensator innan (och efter) spänningsregulatorn på kortet, men problemet fortsätter.
Nu har jag kommit på tanken att sätta en diod + kondensator innan voltregulatorn för att inte ladda ur kondensatorn bakvägen, kan det lösa problemet - eller är det någon som har tips på vad jag ska göra för att få detta att lira?

Det är ganska störande när man kör fort och koncentrerar sig på trippmätare, karta, väg och hinder - att dessutom måsta fippla med detta då helljuset slocknar då och då..
Jag har funderat på att helt överge denna lösning till förmån för en lösning med reläer, men jag har inte hittat något bistabilt relä där jag kan växla lägen genom att trycka på en återfjädrande tryckknapp.. Tips på dylika reläer?

Här finns mer om hela projektet att läsa:
http://www.runstenracing.se/?cat=23

Jag har varit iväg på rally bland annat i Albanien och korsat floder och kört i öknen, och lösningen fungerar riktigt bra i stort.. det är bara det här med att den startar om som bekymrar mig.. ;)

Re: Spänningsmatning till "Arduino" på motorcykel

Postat: 9 januari 2017, 16:24:18
av anders_bzn
Ja, att mäta är att veta!

Vet du att det är spänningen som sjunker? Eftersom vi inte vet hur schemat ser ut, men om MOSFET:arna sitter på kortet är det ju viktigt att veta hur strömmen (i jorden) är routad på kortet. Om man spekulerar fritt i vad om kan går fel:

- Att matningsspänningen sjunker så mycket att kortet startar om.
- Att spänningsfallet i jordledaren i samverkan med olycklig routing gör att kortet startar om
- Att någon störning får MCU:n att starta om.

Lägg upp schema och layout på kortet. Bistabila reläer låter dyrt.

Re: Spänningsmatning till "Arduino" på motorcykel

Postat: 9 januari 2017, 16:41:33
av RDX*
Har du avkopplat reset:en på AVR:en?

Är du Hubbe på SOE?
/RDX*

Re: Spänningsmatning till "Arduino" på motorcykel

Postat: 9 januari 2017, 16:52:15
av rvl
Boot counterkoden kanske kunde lagra MCUSR status för ett lämpligt antal senaste boot, så får man tips om orsaken.

Re: Spänningsmatning till "Arduino" på motorcykel

Postat: 9 januari 2017, 17:47:38
av LHelge
ISO 7637-2 kan vara en bra utgångspunkt för att sätta sig in i vad en elpryl ska tåla i fordonsmiljö. Nu behöver den knappast uppfyllas till punkt och pricka för ett hobbyprojekt, men vill du ta fram något som ska funka i alla väder så.

En bra utgångspunkt förutom mängder av kapacitans är en buck-boost regulator för spänningen.

.

Re: Spänningsmatning till "Arduino" på motorcykel

Postat: 9 januari 2017, 17:54:17
av E Kafeman
Med stor sannolikhet är det spänningsförsörjningen som ger skräp.
Strömförsörjningen bör se ut så här:
+12Volt-> Diod-> resistordropper ->STOR kondensator->liten kondensator->spänningsregulator -> keramisk kondensator nära mcu samt gärna ytterligare en ellyt-kondensator. På jordsidan får inte kraftströmmarna dela samma PCB-jord som processorn, led gärna fram separat jordkabel för respektive, och led dom inte tätt parallellt med varandra då det annars blir induktiv koppling. Stora kondensatorn vara stor nog att ska försörja MCU under så läng tid som en större störning väntas pågå.
Exempel på vanliga störningsskapare är signalhorn som skapar elaka induktiva spikar eller startmotor som kan skapa låga spänningsdippar.
Vid klen jordning kan även påslag av t.ex. strålkastare ge transienter i jorden.

Om det ska vara hög tålighet på systemet är en vattentät metallåda för mcu att föredra då det ger visst skydd inte bara mot skitig och fuktig omgivning utan även mot ESD. För att skydda sej mot störningar från t.ex. mobiltelefoni krävs RF-mässig filtrering. Inte heller inkommande signaler ska dela jordplan på PCB. Enklast löser man det med optokopplare för både in och utsignaler.
RC-filter på signal-ingångarna och skyddsdioder mot spänningsspikar ger ytterligare driftsäkerhet.
Tidskonstanten på RC-filterna väljs så att nämnvärd fördröjning inte märks.
Om inte ingjutning ska ske, spray-måla korrosions-skydd över hela kretskortet och limma fast större komponenter så att de tål långvariga vibrationer.
Ska tåligheten vara så god att det godkänns i fordons-industrin krävs ytterligare många andra åtgärder, men med detta uppräknade kommer du en bra bit.
Ska det även vara rally-klass bör man se till att kontaktering är så utförd att byte av trasig låda lätt kan ske även under primitiva förhållanden. Kräver att man har reservdel med sej, så gör ett par enheter samtidigt.

Re: Spänningsmatning till "Arduino" på motorcykel

Postat: 9 januari 2017, 18:32:42
av Biker
Exakt som ovan , om grejerna måste ha lite mer kräm i "upsen" som i ovanstående använder en storkonding som buffert så kan man ha en scottydiod som backspärr och en blyack på t.ex 1-2Ah i stället.
Scottyn dioden är viktig om man skall köra blyacc för att få en ganska normal laddstatus.

Kört så med mc/bil och elektronik som reset och störskydd , puts väck med problem

Re: Spänningsmatning till "Arduino" på motorcykel

Postat: 10 januari 2017, 09:40:00
av hubben
Supertack för alla bra svar, helt galet vad många bra tips!

@anders_bzn:
Eftersom att kortet bara resettar när jag är ute och kör, eller varje gång jag använder tutan - så är det lite småknepigt att mäta. Tutan ger spänningsdrop dock som jag gissar startar om kortet.

@RDX*:
Japp, jag är hubbe på soe. ;)
Pinsamt nog har jag inte gjort det.. tanken har inte ens slagit mig, men nu när du säger det är det ju helt uppenbart!

@rvl:
MCUSR verkar bli wipeat av ardubootloadern, men det är helt klart värt att kika mer på! Hade ingen koll på den, men den verkar väldigt intressant att logga!

@LHelge:
Mycket läsning blir det om man vill uppfylla alla standarder. ;)
Eftersom att cykeln har batteri tänkte jag att spänningen aldrig borde droppa så lågt att en LM1117 inte kan trycka ut 5v, men jag har troligen fel..

@E Kafeman:
Tack för många bra tips!
Vad är en resistordropper? Aldrig hört det uttrycket förut.. får googla det!
Alla delar av kortet delar samma jord, så det är ju generalfel då.. återigen har jag inte tänkt på det, men när det skrivs är det så uppenbart. Det är inte bara spänningsmatningen som blir full av skräp när man switchar lite större strömmar..
Jag gjuter in kortet i polyester, så det blir en homogen klump. Det har fungerat bra hittills, men precis som du skriver har man med sig en eller två i reserv när man kör långväga.. Dock är det inga kritiska delar av elsystemet som detta kort styr, bara belysning och "lull", så även om kortet havererar fullständigt så tar man sig i mål.. Dock är det aningens otrevligt att köra i mörker på albanska motorvägar med skitiga gogglar när belysningen på hojen inte fungerar. Själv ser man ingenting, och ingen annan ser en där man kommer heller - inte för att de bryr sig om en motorcykel ändå men..

@Biker:
Bra tips med en blyacc.. Jag tror att jag ritar om kortet helt med en helt separat matning/jord direkt från batteriet på hojen till MCU:n. Sen skiljer jag MCU:n från resten med optokopplare och mosfetar på in- och utsidorna, och lasterna får gå på helt separat matning från rallytornet

Re: Spänningsmatning till "Arduino" på motorcykel

Postat: 10 januari 2017, 11:40:54
av E Kafeman
Resistor-dropper är ett sätt att göra livet lite enklare för efterföljande störningsfiltrering, och begränsar initiala strömrusningen när STORA kondensatorn ska laddas upp. Störningsfiltreringen blir betydligt bättre med tanke på kondensatorers ESR och därmed också förbättrar spänningsregulatorns stabilitet. Resistorn är billigare och enklare än att låta en spole göra samma sak men har andra funktioner, dels som strömbegränsare om spänningsregulator skulle få härdsmälta och bli totalkortis. Då skyddas yttre spänningsmatningen från att smälta kabel. Det fungerar även åt andra hållet och skyddar mot extrem strömrusning genom regulatorn om t.ex. MCU Vcc skulle råka komma i kontakt med jord vid test och montering. Chansen ökar att saker överlever sådan kortslutning om max-ström begränsas av en resistor. Det skyddet ger inte en spole på samma sätt.

Beräkna/mät max-ström till MCU. Är vanligen vid bootning, men många tungdrivna utpinnar kan också ge högt strömbehov.
Antag max accepterat spänningsfall över motståndet till 1 Volt vid denna max-ström, vilket då ger lämpligt motståndsvärde.
Motståndet minskar marginalerna något för minsta accepterad inspänning vilket är dåligt om man vill kunna driva systemet på så låg inspänning som möjligt och samtidigt tar upp en del av den värme som annars hamnat över spänningsregulatorn.
Är inspänningen 9-14 Volt så är det normalt goda marginaler för vad 5-Volts regulatorn behöver.
Lågimpedivt jordplan och kondensatorer med lågt ESR kan minska behovet av denna komponent ur störnings-synpunkt.
Resistorn blir även lite fattigmans automatsäkring om den kan svälja värmen vid kortis utan att brinna.
För att ytterligare lägga på en dimension kan man lägga på en lysdiod+motstånd över motståndet+seriedioden för att optiskt indikera överström.

Men i korthet, plutta dit en plats för ett seriemotstånd i PCB-designen då kostnaden är nära noll. Grovvälj motståndsvärde 10- 100 Ohm, och kontrollmät i efterhand om spänningsfallet är under 1 Volt vid maxlast.
Välj effektålighet beroende på om det är en fördel att den brinner före annat eller tvärs om.

Re: Spänningsmatning till "Arduino" på motorcykel

Postat: 10 januari 2017, 12:02:03
av hubben
Klockrent, så ett motstånd i serie innan voltregulatorn : check!