Sida 1 av 2

Avr: svårt att få bort störningar vid extern interrupt

Postat: 4 oktober 2013, 22:13:32
av dundersmurfen
Försöker trigga via en extern interrupt. Har en gt101dc hallgivare, denna sänker mot jord vid signal max 40mA. Interrupten sitter på en arduino. Har prövat flera olika, unos och megas.

Den är för känslig på interrupten. Har prövat olika pullupmotstånd 10k mot 5v, 120 mot 5volt 300 mot 12volt osv (triggar på falling). Även olika kondensatorer. Man ser inget på skåpet när den tar in en spöksignal. Det kommer in spöksignaler ganska ofta. Visst kan man förbättra läget med diverse kod, men när endast en givare och en pullup är inkopplad på bänken känns det overkill det måste gå att stabilisera det hela på rätt sätt, men vilket är det?

Det måste finnas något simpel grej jag har missat om hur man avänder en dylik tingest...

Tips mottages gärna!

Re: Avr: svårt att få bort störningar vid extern interrupt

Postat: 4 oktober 2013, 22:20:22
av TomasL
Tja, ett lågpassfilter på ingången är väl det första som man tänker på samt klamping/TVS-dioder.
Sedan beror det väl på vilken typ av Oscilloscop du har, och hur du mäter, för att kunna fånga transienter.

Re: Avr: svårt att få bort störningar vid extern interrupt

Postat: 4 oktober 2013, 22:25:31
av Swech
Strunta i interrupt
Kör istället avläsning med jämnt intervall
t.ex. 10 ggr / sekund så slipper du fel...
Hur snabba förlopp är du ute efter?
Swech

Re: Avr: svårt att få bort störningar vid extern interrupt

Postat: 4 oktober 2013, 23:26:48
av dundersmurfen
Nä en loop som läser blir inge bra. Tajming är prio, avläsningen sker upp till 300hz cirka. Ska starta en timerinterrupt för att tajma in events efter att signalen är intagen. Men det är småpotatis, men måste få en ren signal. Men jag går bet.

Förklara gärna mer tomasl. Tänk på att jag inte kan ett smack... Har kikat på lågpass filter men inte fattat hur det hänger ihop med det här. dioder och klamping låter som nåt man har på mackan...

Swech, jag kikade på din sida. Mycket fina prylar du har :tumupp: Munkedal / bovall också, nära och bra.

Försöker bygga ett tändsystem till bensinmotor. Det mesta verkar funka som det är tänkt, förutom interupterna. Det är ju så det är roligare att göra själv än att köpa färdigt...

Re: Avr: svårt att få bort störningar vid extern interrupt

Postat: 4 oktober 2013, 23:33:21
av sodjan
Jag antar att själva motorn inte ingår i testerna än?
Vad har du för övrigt uppkopplat? En motor-miljö är
ofta väldigt "störig" och behöver i sig en del åtgärder
för att det ska fungera.

För övrigt, hinner Arduinon med i ett tändsystem?

Re: Avr: svårt att få bort störningar vid extern interrupt

Postat: 4 oktober 2013, 23:36:29
av TomasL
Motstånd mellan ingången och signalen, samt en lämplig konding mellan ingången och jord.
TVSer eller Schottkydioder mellan signal och jord, samt signal och matning, dock behöver du mycket kondingar på matningen och troligen en Zenerdiod på matningen också.

Re: Avr: svårt att få bort störningar vid extern interrupt

Postat: 5 oktober 2013, 00:06:43
av dundersmurfen
Jodå hinner med gör den allt. Kanske får trixa lite här och där. Upplösningen på timerinterruptet är 4uS och vid 8000rpm är det 21uS per grad. Det funkar perfekt som det är bortsett från just störningarna. Skulle det släpa på varv så kan man ju kompensera det...

Givaren är speciellt gjord för denna typen av användning. Ger en väldigt fin signal. Problemet uppkommer väl eg när pulluppen håller i det hela. Då är det något som spökar till det. Det hela ligger ju still på bänken och inget annat händer där.

Vet om problemet med störig miljö, har en simpel variant som är i drift nu, men även denna lider lite av samma problem.

Har helt enkelt insett att jag vet för lite för att reda ut detta själv med google och tuben.

Vad är det som händer egentligen? Den triggar när ingången "nuddar jord"? Hur gör den det när pullupen drar åt andra hållet?

Re: Avr: svårt att få bort störningar vid extern interrupt

Postat: 5 oktober 2013, 00:15:17
av Johanb
Några saker att kolla upp:
-Stabil matningsspänning
-Knepigheter i koden
-Stabil klocka
-Överhörning

Re: Avr: svårt att få bort störningar vid extern interrupt

Postat: 5 oktober 2013, 00:16:36
av sodjan
Tja, felkopplat, programfel, störningar på matningen eller något annat.
Vi vet ju i princip ingenting om vad du har gjort, vi har bara dina
skriftliga beskrivningar. Inga bilder, inga scheman. I ett sådant
här läge (det är ju faktiskt något som inte fungerar som du vill)
så finns det ingen anledning att utfå från att dina beskrivningar
faktiskt är helt korrekta. *Något* saknas...

Re: Avr: svårt att få bort störningar vid extern interrupt

Postat: 5 oktober 2013, 00:19:21
av TomasL
Oavsett vilket, så måste man fixa elektroniken först, innan man börjar fundera på att kompensera i koden.

Re: Avr: svårt att få bort störningar vid extern interrupt

Postat: 5 oktober 2013, 00:33:06
av Johanb
Ja om felet inte beror på en programbugg :)
Det jag har i åtanke är hur registren som styr interrupten är satta.
OM det nu är så att signalen är så fin som det beskrivits.

Re: Avr: svårt att få bort störningar vid extern interrupt

Postat: 5 oktober 2013, 00:59:37
av gkar
Det bästa som vanligt, är ju att inte ha störningar, ;-), men om du har det, och har svårt att få bort dem:

Det viktigt att tänka på att flanken på signalen är snabbare än störningarna du har.
Annars hinner du trigga flera gånger på varje flank.

Dvs, ett lågpassfilter som slöar ner flanken, men inte får bort störningarna tillräckligt gör saken värre.

Re: Avr: svårt att få bort störningar vid extern interrupt

Postat: 5 oktober 2013, 01:23:04
av Krille Krokodil
dundersmurfen skrev:Nä en loop som läser blir inge bra. Tajming är prio, avläsningen sker upp till 300hz cirka. Ska starta en timerinterrupt för att tajma in events efter att signalen är intagen. Men det är småpotatis, men måste få en ren signal. Men jag går bet.
Får du bara första flanken rätt i tid så kan du kan fuska med att sätta en flagga som hindrar att fler avläsningar påverkar timern innan alla events är genomförda, alltså att du omsluter allt i det externa avbrottet med if(!flagga){ }.

Re: Avr: svårt att få bort störningar vid extern interrupt

Postat: 5 oktober 2013, 08:58:04
av Andax
Går det att separera givaren och MCU galvaniskt via t.ex. optokopplare? Här kan du läsa lite om ingångsfiltrering i allmänhet som kan vara intressant. http://www.digikey.com/us/en/techzone/m ... onics.html

Re: Avr: svårt att få bort störningar vid extern interrupt

Postat: 5 oktober 2013, 09:05:56
av Icecap
Jag hade tänkt mig svara med lite tips men sedan läste jag beskrivningen: "har prövat olika pullupmotstånd 10k mot 5v, 120 mot 5volt 300 mot 12volt osv" och insåg att designen måste vara urkass till att börja med om man kan hitta på att mata en µC-ingång med 12V. :roll:

Dessutom "uppstår" dessa interrupts inte bara sporadisk, de orsakas av ändringar på ingången eller mjukvaran, alltså ser jag all hjälp som omöjlig att ge utan korrekt schema och datablad osv.

Att börja nysta i källkoden utan en välfungerande koppling kan kvitta totalt...