Inverkan av rippel på CPU VCC?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
blastur
Inlägg: 194
Blev medlem: 13 mars 2007, 00:07:26
Ort: Göteborg

Inverkan av rippel på CPU VCC?

Inlägg av blastur »

Hej,

Jag håller på med ett litet program på min Arduino (Atmega328p). Har problem med att programmet startar om sig sporadiskt, särskilt när jag kör mycket med periferienheter (t.ex. serieport, ADC, timers etc). Där finns också ett GSM-modem påkopplat på arduinon, som drar en hel del ström. Hela kalaset drivs från 1 USB-port på min dator. Jag har en teori om att omstarterna beror på spänningsfall.

Programmet ligger i en "evig loop" och väntar på kommandon över serieporten. När inga kommandon anländer ligger den i en vänteloop och snurrar. I detta fall ligger 3.3V till CPU stabilt. När jag dock skickar ett kommando över serieporten och Arduinon får arbeta lite ser jag ganskas stora svängningar i spänningen. Ibland så lågt som 2.5V. Är detta rimligt? Är det OK? Jag kikade i databladet och AVR:ens "operating voltage" verkar ligga mellan 2.7 och 5.5V, alltså är inte 2.5V OK. Men kanske under väldigt korta perioder? Spänningsfallet varar under ca 20 ns. I nedan bild har är 1 ruta 200 ns. Jag har mätt på 3.3V, dvs efter regulatorn som tar in "råspänningen" från USB. Har prövat att använda en separat USB-hubb med egen strömförsörjning och även från en USB-port på PC:n. Konstigt nog upplever jag att strömmen från min PC är betydligt stabilare än den från USB-hubben (?!).

Klicka här för bild -- för bred för att infogas direkt i forum

Min fråga är ganska luddig: Är det troligt att dessa svängningar på 3.3V orsakar mina omstartsproblem?
Användarvisningsbild
tecno
Inlägg: 27254
Blev medlem: 6 september 2004, 17:34:45
Skype: tecnobs
Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
Kontakt:

Re: Inverkan av rippel på CPU VCC?

Inlägg av tecno »

Prova med extern spänningsmatning så får du ett kvitto på om USB matning räcker till eller inte.
bearing
Inlägg: 11676
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Inverkan av rippel på CPU VCC?

Inlägg av bearing »

Är det ett färdigt Arduino kretskort, eller en lös AVR med Arduino firmware?

Verkar som att processorn eller regulatorn är dåligt avkopplad.

Var och hur mäter du spänningen?
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Inverkan av rippel på CPU VCC?

Inlägg av jesse »

alltså är inte 2.5V OK. Men kanske under väldigt korta perioder?
Nej, aldrig, inte ens en nanosekund! Det är väl ganska troligt att det är detta som orsakar omstarten.

I vilket fall som helst är svängningarna oacceptabla då vad som helst kan inträffa i processorn (tappa minnet / starta om. mm)

Det är mycket märkligt att du får sådana stora dippar - det tyder på någon mindre bra koppling nånstans. Man kan ju försöka förbättra matningen med några extra kondensatorer. Eftersom dippet bara handlar om nanosekunder så är det knappas någon nytta att hänga på en massa feta elektrolyter, men däremot ett par 10 - 100 nF keramiska på rätt ställe. Nu bör väl dessa redan finnas på en arduino?

Eftersom du har GSM-sändare i närheten så kan det ju också bero på radiostörning. Antningen får du mätfel pga störningen eller så får du verkliga spänningsdippar. Dipparna kan ju bero på att processorn störs och orsakar ett fel / kortslutning.

Ligger GSM-modemet direkt på USB:ns 5 volt eller på 3.3 volt? Arduinon har väl en egen 3.3 volts stabb?
Om du mäter 5-volten, dippar den också, eller är det bara 3.3 volten som dippar?
...skickar ett kommando över serieporten och Arduinon får arbeta lite...
Kan du försöka identifiera exakt när du får en dipp / omstart? Är det när GSM-sändaren sänder eller någon viss pinne/signal ändras ? Eller sker det lite då och då utan samband med någon viss funktion /operation?
Användarvisningsbild
blastur
Inlägg: 194
Blev medlem: 13 mars 2007, 00:07:26
Ort: Göteborg

Re: Inverkan av rippel på CPU VCC?

Inlägg av blastur »

Tack för snabba svar. Sanningen är den att jag kör en "Arduino klon" som heter Seeduino. Schemat för denna finns här. Jag mäter på den signal som kallas VDD3V3 i schemat. Den verkar vara konstruerad på så vis att USB-spänningen (Vin) går in i 5V regulatorn, som sedan går vidare till 3V regulatorn.

GSM-modemet är en GSM Playground, schema finns här. GSM-modulen har en egen regulator och tar in USB-spänningen (Vin) och omvandlar till 3.7V.

Dipparna händer alltid när jag kör kommandon över serieporten. Jag skall pröva att lyfta av GSM-modulen och se till att denna ej påverkar eller stör. Jag använder en "mjukvaruserieport", så när jag skriver "kör kommandon" innebär detta: 2 st timers kör, 2 st pinnar togglar med en baudrate på ca 2400 bps.

Kan även tillägga att omstarterna inte alltid inträffar trots att (enligt oscilloskop) svängningarna alltid finns där. Dock låter det ju tämligen slumpmässigt hur CPU och dess minne påverkas av en sådan svängning. Om flashläsningar kan bli korrupta eller innehållet i SRAM fel vid svängningar förklarar det ju en hel del av mina "skumma" problem.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Inverkan av rippel på CPU VCC?

Inlägg av sodjan »

> går in i 5V regulatorn,

Var sitter den ? Hittar ingen 5V regulator.

> Jag mäter på den signal som kallas VDD3V3 i schemat.

Och hur såg det ut med de andra spänningarna när du kollade ?
D.v.s de som VDD3V3 genereras från ? Har du samma dippar där ?

> så när jag skriver "kör kommandon" innebär detta:

Jag tror inte att dipparna beror på något som händer *inne* i processorn.
Snarare något som är kopplat till processorn.

> Jag skall pröva att lyfta av GSM-modulen och se till att denna ej påverkar eller stör.

Ja, det är väl ett naturligt steg i felsökningen. :-)
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Inverkan av rippel på CPU VCC?

Inlägg av jesse »

>serieport....

Via FS232/USB ser jag. Den verkar ju också ha egen/separat 5 volts matning (från USB förstås).
EDIT: vad jag menar är att den inte drar nån ström från 3.3V.

Men om du tar in 5 volt från USB till 5V-regulator i seeduion, blir det inte mycket lägre spänning då (4-4.5 volt?)
Hittar ingen 5V regulator, du menar kanske Q1 = mosfeten?
Användarvisningsbild
blastur
Inlägg: 194
Blev medlem: 13 mars 2007, 00:07:26
Ort: Göteborg

Re: Inverkan av rippel på CPU VCC?

Inlägg av blastur »

Ok, jag kanske missuppfattat schemat. Jag är rätt ny i svängarna :) Den komponent som är märkt U5 trodde jag var en 5V regulator (placerad under 3V regulatorn U4).

Jag kör mina kommandon över en mjukvaruserieport, dessa sitter på pinnarna PB4 och PB5 (syns ej i schemat). GSM modemet sitter sedan på "hårdvaruserieporten", som man också skulle kunna nå via USB om man vill (används dock ej).

Det finns t.ex. ett kommando jag kan skicka över serieporten som beräknar maximalt stackutnyttjande sedan uppstart. Denna kommunicerar inte överhuvudtaget med GSM-modemet (även om det kan vara aktivt och anslutet till GSM-nätet parallellt med detta kommando). Likväl får jag rippel på 3.3V.

Skall mäta på andra spänningar, testa med/utan GSM-modem ikväll. Verkar avgörande för att ge svar på mina frågor.

Tack!
Användarvisningsbild
tecno
Inlägg: 27254
Blev medlem: 6 september 2004, 17:34:45
Skype: tecnobs
Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
Kontakt:

Re: Inverkan av rippel på CPU VCC?

Inlägg av tecno »

Visst finns det en 5V regulator men den är bara för extern matningen inte USB
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: Inverkan av rippel på CPU VCC?

Inlägg av blueint »

Elektrolyt vid matningen, mindre polyster? vid själva kretsen. Kanske någon induktans i serie för att bli kvitt problemet. Spänningen är toklåg. Man använder precis sådant här för att få kryptochip att flippa ur.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Inverkan av rippel på CPU VCC?

Inlägg av jesse »

Ja, just det. Matningen från USB kommer direkt in på VDD5_USB och går via Q1 direkt till VDD5V utan spänningsfall, om nu gaten är låg.
bearing
Inlägg: 11676
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Inverkan av rippel på CPU VCC?

Inlägg av bearing »

blastur skrev:jag kör en "Arduino klon" som heter Seeduino. Schemat för denna finns här
Jag kan inte se någon avkoppling mellan processorns VCC och jord, bara mot AVCC. Om man tittar på bilden av kortet syns inte några keramiska kondensatorer precis intill kretsen. Dålig design, säger jag. Rätt rörigt schema, dessutom, med ledningar mot GND och VCC oftast åt höger eller vänster, och sällan nedåt resp. uppåt.

Men Jesse verkar vara inne på något, tycker jag, att det är GSM-modulen som orsakar dippen. Fast med ordentligt avkopplad processor samt GSM-modul skulle nog inte dippen ta sig in i processorn. Hur är GSM-modulen inkopplad och avkopplad? Finns det något strömbegränsande motstånd mellan serie-pinnarna och GSM-modulen, likt det som sitter mellan PD0/PD1 och USB-konverteraren?
Användarvisningsbild
blastur
Inlägg: 194
Blev medlem: 13 mars 2007, 00:07:26
Ort: Göteborg

Re: Inverkan av rippel på CPU VCC?

Inlägg av blastur »

Nu har jag gjort samma mätning även utan GSM-modul och ser samma rippel på spänningen. Jag har mätt på både 3.3V och 5V, och båda signalerna uppvisar samma problem.

5V mätning, min=3.62V max=5.8V
Bild

3.3V mätning, min=1.9V max=4.3V
Bild

Den senare mätning visade mer rippel än någonsin. Om det är som ni säger och 5V är oreglerad direkt från USB tyder väl detta på att min PCs USB-portar är helt åt helvete?

Jag skall gräva fram en alternativ spänningskälla och koppla på Vext, så den går via 5V regulatorn. Detta borde (väl?) ge en stabilare matningsspänning?
v-g
EF Sponsor
Inlägg: 7875
Blev medlem: 25 november 2005, 23:47:53
Ort: Kramforce

Re: Inverkan av rippel på CPU VCC?

Inlägg av v-g »

Ström och spänning kan induceras när som helst i en krets därför ska det sitta kondensatorer där även om man har universums bästa strömkälla. Det räcker med nog långa parallella kablar så induceras spänning från den ena till den andra.
victor_passe
Inlägg: 2436
Blev medlem: 28 januari 2007, 18:45:40
Ort: Kungsbacka

Re: Inverkan av rippel på CPU VCC?

Inlägg av victor_passe »

Min gsm modul behöver kunna dra 3A i burst, det är långt ifrån vad USB kan leverera.
Och även med en stor kondensator så tror jag att det är för lite. Min drar minst 300mA när man ringer.
Skriv svar