Sida 1 av 2
Problem med PIC och störningar i strömmatning
Postat: 6 februari 2006, 19:32:33
av Malm
Har ett problem med en PIC-processor vars uppgift är att läsa av ett numeriskt tangentbord och skicka datan seriellt till en annan processor. Programmerar processorerna mha. en Wisp628, och så länge programmerarens positiva matningsspänning är ansluten till kretsen så fungerar avläsningen klanderfritt. Om jag däremot kopplar ifrån programmeraren helt så blir "slav-PIC:en" väldigt nervös och får för sig att det sker mycket fler knapptryckningar än vad det i själva verket gör. Det verkar som att kontaktstudset ökar dramatiskt då Wispen kopplas ifrån.
Jag antar att detta beror på att Wispen stabiliserar spänningen och tar bort de störningar som orsakar ofrivilliga knapptryckningar. Min fråga är därför vad jag bör göra för att få samma avstörning i min egen krets. Till saken hör att jag redan använder en 0,1 uF-kondensator för att stabilisera matningen.
Tack på förhand!
Postat: 6 februari 2006, 19:42:45
av jack
Sitter kondingen nära PICen?
Postat: 6 februari 2006, 19:44:38
av Malm
jack skrev:Sitter kondingen nära PICen?
Rent fysiskt så sitter den på runt 20 cm kabelväg från den processor som kollar tangentbordet.
Edit: Flyttade den närmre och möjligtvis blev det lite bättre. Har dock fortfarande problem med att den ibland detekterar en knapptryckning som två, ett problem som inte uppstår då Wispen är inkopplad.
Postat: 6 februari 2006, 19:47:10
av jack
Har du testat att sätta den närmare? Typ direkt över PICen?
Postat: 6 februari 2006, 19:55:05
av Malm
Satte den direkt över PIC:en utan förbättring.
Gjorde en annan intressant observation; den stabiliserande effekten hos programmeraren kommer bara då den är kopplad till serieporten på datorn.
Postat: 6 februari 2006, 19:58:01
av gvs
Känner igen problemet

hade exakt samma. Ostabil pic blev stabil då programmeraren var ansluten. Lyckades lösa det med en stor e-lyt direkt över picen.
Postat: 6 februari 2006, 20:02:34
av Malm
Fläskade dit en 470 uF-konding och det stabiliserade något. Det blir inga helt sporadiska knapptryckningar längre. Kontaktstudset orsakar dock fortfarande dubbla (och trefaldiga) knapptryckningar... Får kanske lösa detta i mjukvaran.
Postat: 6 februari 2006, 20:24:45
av Icecap
Jag har, baserat på erfarenhet, alltid knapptryckningar som detekteras av en 10Hz ISR. Knapperna läsas då ENBART 1 gång/interrupt, ska jag testa fler saker med knapperna (n-key rollover t.ex.) sparar jag avläsningen i en variabel.
Sedan jag har vald detta framgångssätt har jag ett välfungerande knappavkänning utan stuts osv.
Postat: 6 februari 2006, 20:30:24
av sodjan
En del är redan sagt, men...
> Till saken hör att jag redan använder en 0,1 uF-kondensator för att stabilisera matningen.
En 100 nF konding används *INTE* till att stabilisera spänningen !
Den används till att filtrera bort högfrekventa störningar som genereras av PIC'en själv.
D.v.s så att switchningsstörningar från PIC'en inte skall störa *andra* kretsar.
Och den skall sitta nära PIC'ens spänningsmatning och jord, mindre 1-2 cm.
Ditt probem verkar vara en dåligt *filtrerad* ("glättad" kallas det också)
matningsspänning. Det avhjälps med en elyt 10-1000 uF beroende på
hur mycket ström som din hela krets drar. Är det bara en PIC så fungerar
säkert allt mellan 10-100 uF.
> Fläskade dit en 470 uF-konding och det stabiliserade något.
Hur vet du det ? Alltså bortsett från dubbeltryckningarna ?
Och hur mycket är "något" ??
> Kontaktstudset orsakar dock fortfarande dubbla (och trefaldiga)
> knapptryckningar... Får kanske lösa detta i mjukvaran.
Helt nornalt !!
Om du *inte* tar hänsyn till det i mjukvara, så spelar det ingen som
helst roll hur stabil matningsspänning du har...
Hur "läser" du tangenterna ?
Postat: 6 februari 2006, 20:40:01
av Malm
Grejen är ju den att med programmeraren inkopplad så fungerar allt perfekt. Jag tycker att det borde tyda på att mjukvaran fungerar när det gäller avläsning av matrisen. Det konstiga är att jag får inmatningar långt efter det att knapptryckningen är gjord - vi snackar runt 500 ms. Om det är kontaktstuds som är problemet borde ju inmatningarna komma bra mycket snabbare än så.
Den stora kondensatorn tog bort de sporadiska felaktiga inmatningarna.
Postat: 6 februari 2006, 20:48:33
av sodjan
OK, I see...
Nä, 500 ms är lite lång tid för kontaktstudsar...
Darriga fingrar ?
Det är svårt att säga mer utan att ha tillgång till hela kopplingen.
Var kommer matningsspänningen ifrån t.ex.
Hur en MCLR kopplad ?
Vilken PIC ?
Hur är LVP config biten satt ?
Hur är LVP ingången kopplad ?
Är PGD/PGC använda till något annat ?
Jag vill inte ha svar, bara peka på att det finns massor av obekanta
variabler utifrån det du har berättat...
o.s.v, o.s.v...
Postat: 6 februari 2006, 21:00:49
av Malm
Matningen kommer från en transformator vars utgång är specad för 5V 2.0A.
Det jag tycker är konstigt är att allt fungerar så fantastiskt bra då bara matningskablarna till programmeraren är anslutna. Inga andra pinnar är anslutna och således borde felet ligga utanför processorerna. Alla interna konfigurationer går rimligtvis att utesluta eftersom de inte förändras mellan de lyckade och misslyckade försöken.
Den ENDA variabeln som skiljer lyckade och misslyckade försök åt är programmerarens spänningsmatning.
För att ge ett så uttömmande svar som möjligt så kan jag tillägga att de två processorerna är 16F88:or som kör interna oscillatorer på högsta frekvens (20 MHz?). MCLR och LVP är avstängda med fuses. LVP-ingången är kopplad till Wispen under programmering och används för seriell kommunikation hos den ena processorn och för LCD-styrning hos den andra. PGD/PGC används ej i applikationen.
Postat: 6 februari 2006, 21:09:51
av dr. Agoz
en fråga brukar inte transformatorer ha väldigt ful spänning som man senare stabiliserar i apparaten för att ha stabiliseringen nära kretsarna? har läst det (troligen här på forumet) kanske skulle vara en sak som spökar. prova annan spänningskälla kanske?
Postat: 6 februari 2006, 21:17:04
av Malm
Hmm... Det är mycket möjligt att det är en riktig skittransformator jag har fått tag på
Ska försöka få fram en vettig spänningskälla för ett test.
Postat: 6 februari 2006, 21:22:58
av dr. Agoz
fyra 1.5v batterier och en 1n4001 (6 - ca 1v)