PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Verkabelung IS471 (externer Interrupt)



Mule
05.11.2005, 13:40
So, jetzt hab ich die IS471-Platinen fertig. Diese sollen, wenn einer ein Hinderniss erkennt einen Interrupt auslösen. In der Interrupt-Routine soll dann geschaut werden, welcher Sensor das Hinderniss erkannt hat und entsprechend reagiert werden. Insgesammt habe ich 12 Sensoren, wo je 2 zu einer Einheit zusammen gefasst werden und einen Pin am Controller haben.
Jetzt ist mir nur noch nicht so klar, wie ich das mit dem verkabeln machen muss: Ich führe die Vouts der jeweiligen Sensorpaaren zu einem Pin am AVR. Wie schließe ich dann den Interruptpin an (an den ja alle Sensoren dran müssen)?

Danke,
Chris

m.artmann
05.11.2005, 14:46
Wenn Du jeweils zwei der Sensoren mit einem Eingangspin des µC verbindest
könntest Du gleichzeitig von diesem Pin noch eine Diode in Durchlassrichtung an den Interupteingang legen.
Das ganze wiederholt sich dann von allen anderen Eingängen aus auch.
Somit wird bei jedem Hindernis ein Signal an den Eingang und an den Interupteingang gelegt.
Durch die Dioden beeinflussen sich die Sensoren nicht gegenseitig.
In Deiner Interuptroutine schaust Du dann als erstes nach welcher Eingang für die Interuptauslösung verantwortlich war.

Das mir den Dioden ist die einfachere Variante, die sauberere wäre ein "Oder" Baustein mit entsprechend vielen Eingängen und den Ausgang an den Interupteingang.

Gruß
m.artmann

hacker
05.11.2005, 15:29
so ein Zufall! Genau das Gleiche wollte ich soeben auch fragen...

Wenn ich nun an jeden Pin ein Sensor dranhäng, und von jedem dieser Pins eine Diode zum externen Interrupt - Pin schalte, was passiert dann an dem externen Interrupt - Pin, wenn mehrere Sensoren den Pin auf 5V legen? Nichts? oder ?

gruss vom *auf dem Schlauch stehender* hacker

m.artmann
05.11.2005, 17:45
Es ist egal ob ein oder mehrere Sensoren High Pegel haben, Hauptsache der Interrupt wird ausgelöst.
Welche Sensoren dann tatsächlich den Interrupt auslösen wird erst in der Interruptroutine abgefragt, also auch ob nun einer oder mehrere ein Hinderniss festgestellt haben.

Durch die Dioden wird nur vermieden dass ein High Signal von einem Sensor
über die Verbindung zum Interruptpin auf alle anderen Eingänge durchschlägt.

Links wären jetzt die Sensoren angeschlossen und auf der rechten Seite die Eingange des µC.
Oben rechts der Interrupt Eingang

Gruß
m.artmann

hacker
05.11.2005, 18:22
oki :) Hab vielen Dank !!!


gruss hacker

Mule
06.11.2005, 19:20
Cool, danke für die Antwort. Werde ich gleich mal morgen ausprobieren.

MFG,
Chris.

Mule
21.11.2005, 20:15
Bin leider erst jetzt dazugekommen... Ich verstehs noch nicht so ganz: Die Sensoren leigen ja immer auf High-Pegel und nur wenn ein Hinderniss erkannt wird, schalten sie auf LOW.
Das bedeuted doch, dass ich z.B. 11 Sensoren mit Highpegel und einen mit Low-Pegel an meiner Interruptleitung habe. Da ändert sich doch nichts wesentliches am Interruptpegel, oder schon?

:?

hacker
22.11.2005, 15:53
Ich hab keine Ahnung, ob das dann als fallende Flanke vom Prozessor akzeptiert wird. Ich würde das Signal vorher invertieren.