Forum: Mikrocontroller und Digitale Elektronik positiven puls löschen. wie?


von marko (Gast)


Angehängte Dateien:

Lesenswert?

hi,

hat jemand einen tipp zur vervollständigung der schaltung.

beim schliessen des schalters habe ich am ausgang eine impulsbreite
nullpotential. (puls soll einen interrupt auslösen)

ich möchte den positiven puls beim öffnen des schalters wegbekommen, da
ich denke, dass er dem µC schaden kann.

gruß marko

von Peter D. (peda)


Lesenswert?

Hübsch, welcher Unsinn beim Simulieren rauskommt.

In der Praxis steigt nämlich aus dem 7414 eine Rauchwolke, sobald Du
12V anlegst.


Peter

P.S.:
1. Die meisten MCs können bereits Interrupts auf Flanke.
2. Die meisten Tasten benötigen eine Entprellung und das klappt besser
mit dem Timerinterrupt, besonders bei mehreren Tasten).

von marko (Gast)


Lesenswert?

hi,

es reicht also, eine z-diode(z.b.4v7 oder 5v1) mit widerstand vor den
eingang zu schalten. oder?

von Michael (Gast)


Lesenswert?

@marko:

Vor welchen Eingang willst Du wie eine Z-Diode einbauen???

Was hast Du überhaupt vor? Was willst Du überhaupt machen?

von Rahul (Gast)


Lesenswert?

Was für ein besch*... Dateiformat, um ein Bild zu übermitteln.
Einfach eine Diode in Sperrrichtung vor den Eingang des µC (EIngang A
deines Oszilloskops).
Allerdings hast du dann noch einen Spannungsabfall von ca. 0,7V am
µC-Pin.
Ausserdem würde es besser gehen, wenn du das RC in Form eines
Tiefpasses schalten würdest. Dann könntest du dir auch den
Schmitt-Trigger sparen.
... und Peter hat wirklich Recht: Taster direkt an µC-Pin (gegen
Masse), internen Pull-Up einschalten (vielleicht noch einen etwas
niederohmigen dazu parallel.
Bei Interrupt entweder eine Warteschleife oder einen Timer starten (und
den ext-Interrupt sperren wegen Mehrfachauslösung).
Nach der Schleife bzw. nach Ablauf des Timers nachgucken, ob Pin noch
in dem gewünschten Zustand ist, sonst war es nur eine Leitungsstörung.
Warteschleifen übrigens nie in Interrupt-Routinen!
Timer-Lösung ist eleganter.
Prellzeiten liegen im Bereich 10 bis 100ms (absolut Worstcase, nur vom
Hörensagen bekannt).

Gruß Rahul

von marko (Gast)


Lesenswert?

@ michael:
ich habe vor, den ausgang eine zentralverriegelung zu nutzen um die
blinker anzusteuern und ein einfach entworfenes alarmsysten zu
aktivieren/deaktivieren.

@ peter: lies michael
der ausgang hat doch +5v(dauerhaft) und 0v und nicht 12v
da die +5v dauerhaft anliegen, wollte ich dies eben mit einem puls
umgehen ( weiß nur nich ob das ein vor-oder nachteil ist ????)

@ rahul ode alle
warum in der isr nie ein schleife ausführen?
den ext-Interrupt gleich beim sprung in die isr sperren?
wie schalte

gruß marko

von Rahul (Gast)


Lesenswert?

@Marko:
1. Weil ISR grundsätzlich möglichst kurz sein sollen!
2. ja, genau
3. ???

von marko (Gast)


Lesenswert?

@ Rahul:

zu 3. vieleicht noch'ma zu "wie schalte..." ich den internen
Pull-Up?
      sicher ist gemeint, den pin auf eingang zu schalten. oder?

marko

von Kai M. Tegtmeier (Gast)


Lesenswert?

@Marko

Dann will ich Rahul mal etwas entlasten ;-)

Natürlich muß der Pin über das DDRx-Register auch auf Eingang
geschaltet sein, sonst macht das Ganze keinen Sinn. Aber zusätzlich
dazu mußt Du den internen Pull-up-Widerstand einschalten, d.h. das
PORTx-Register muß für diesen Pin auf 1 liegen. Sonst liegt an dem
Eingang immer 0V an, egal, ob der Taster gedrückt ist oder nicht.

Gruß
KMT

von Rahul (Gast)


Lesenswert?

@KMT:
Das mit 0V ist nicht ganz richtig:
Der Eingang ist hochohmig.
Mit der 1 im Port-Register schaltet man nur eine Pull-Up dazu, den man
sonst extern bräuchte oder ein Schalter zwischen 0 und Vcc ohne
"Lücke"umschaltet, also immer einen Zustand hat. Da sowas schwierig
zu realisieren ist, und Umschalter teuerer sind als einfache Schalter,
schaltet man gegen Masse und benutzt einen Pull-Up.
[Kritik]
Ein paar elektrotechnische Grundlagen sollte man schon haben, wenn man
mit Elektrizität rumspielt.Wenn dann auch noch Fahrzeuge und die
Sicherheit anderer auf dem Spiel stehen, dann sogar etwas mehr...
[/Kritik]

Gruß Rahul

von Andi (Gast)


Lesenswert?

Eine Lösung wäre auch Spannungsteiler, z. B. von Zünd-Plus 10K in Reihe
und danach parallel zu GND 4,7K oder Z-Diode 4,7V.
Zum Entprellen kann man nach dem Spannungsteiler einen Kondensator zu
GND schalten oder per Software Entprellen.

Gruß
Andi

von Kai M. Tegtmeier (Gast)


Lesenswert?

@Rahul

Na selbstverständlich! War wohl schon etwas zu spät oder ein
Bierchen zuviel ;-) Wie Du schon geschrieben hattest, ist das mit
den internen Pullups so ne Sache. Ich habe jetzt nicht den genauen
Wert aus dem Datenblatt im Kopf, auf jeden Fall ist der ziemlich
hochohmig. Für nen "einfachen" Taster mag das noch gut gehen; will
man damit einen I2C-Bus ansteuern, siehts schon wieder ganz anders aus.
Also auf jeden Fall sicherer ist ein externer Pullup.

Ich bin mehr ein Fan von Hardware-Entprellung: was nicht in den
Prozessor rein geht, belastet ihn auch nicht unnötig (zeitlich)...

Gruß
KMT

von marko (Gast)


Lesenswert?

@ rahul:
mach dir mal keine sorgen um die kfz-elektrik, da habe ich einige
erfahrungen sammeln können.

mir gings eben nur um den positiven puls, welcher evtl. den eingang des
µc zerstören könnte.

danke marko

von Michael (ein anderer) (Gast)


Lesenswert?

@Kai M. Tegtmeier:

Ein Mikrocontroller darf man getrost nahezu 100% auslasten. Wozu
unnötig Geld für Hardware ausgeben, wenn's die Software nebenher noch
macht?

Entprellung in Hardware ist für Mikrocontroller absolut für die Katz'.
Das bischen kann der Controller noch nebenher machen. Z.b. ganz
primitiv: 10 mal pro Sekunde die Eingänge pollen, keine weitere
Berechnungen. Und um Spikes zu verhindern, machst Du externe Pull-Ups
mit z.b. 1 Kilo, so dass bei 5 Volt 5mA fliessen müssen, um ein Low zu
erzeugen. Ganz einfach und billig und primitiv und funktioniert
wunderbar und benötigt kaum Rechenzeit.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.