Forum: Mikrocontroller und Digitale Elektronik Kurzschluss ohne Schaden?!


von Christian Buntrock (Gast)


Lesenswert?

Hallo @all.

Ich habe vor kurzem ausversehen GND an 5V angeschlossen. Zur
Überprüfung der Spannungsversorgung habe ich eine LED noch angebracht.
Diese LED ist ausgegangen beim kurzen. Als ich aber wieder abgemacht
habe, ging sie wieder an und das Board (scheint!) immer noch zu laufen.
Habe hier den AT90S8535. Ist das normal, dass das noch läuft??


gruß
christian

von Tobi T. (tubbu-)


Lesenswert?

Dem uC passiert das gleiche wie der Led - er bekommt keinen Strom mehr
ab.
Wenn du einen Kurzschluss erzeugst leidet vielmehr die
Spannungsversorgung darunter, ob diese dann kaputtgeht hängt davon ab,
ob sie eine Strombegrenzeung, usw. hat.

von Christian Buntrock (Gast)


Lesenswert?

hmm. meinst du damit den adapter in der steckdose? das ist so ein
normaler regelbarer bei dem man spannung und polarität einstellen kann.
oder meinst du etwas auf dem board?

von Hannes L. (hannes)


Lesenswert?

Das kommt auf die Details an...

Hat dein Board denn einen Spannungsregler? - Wenn ja, dann ist dieser
gemeint. Die üblicherweise verwendeten 7805 / 78L05 überstehen einen
Kurzschluss meist ohne Schaden.

...

von Christian Buntrock (Gast)


Lesenswert?

heißt das die überstehen den im ausnahmefall? mein problem ist, dass so
ein kurzschluss recht häufig passieren kann. mein problem ist, ich baue
grade einen melder fürs fechten. und um zu verhindern das der melder
piepst wenn sich die degen berühren, ist am degen ein kabel das an
masse muss damit halt der strom kurz geshclossen wird und nicht zum avr
chip geht (sonst gilt es ja als treffer wenn man den degen trifft ;)).
nun ist meine überlegung ob ich mir ne ander lösung dafür einfallen
lasse. ist es denn ok wenn ich das ding öfter mal kurzschließe? oder
sollte ich das nicht allzu oft machen....? :)


gruß
christian

von Hannes L. (hannes)


Lesenswert?

Im Allgemeinen sind die 7805 und 78L05 kurzschlussfest. Dies ist aber
nur eine Schutzfunktion, die man nicht betriebsmäßig benutzen sollte.
Der 7805 begrenzt den Kurzschlussstrom dann (je nach Wärmeabfuhr) auf
etwa 1,6A, der 78L05 auf 100mA.
Bei Beiden bricht aber im Kurzschlussfall die Versorgungsspannung des
AVRs zusammen, was einem Reset (Programmstart) entspricht. Ich denke
nicht, dass du das willst, oder?

...

von Christian Buntrock (Gast)


Lesenswert?

hmmm. naja kommt drauf an. wenn ich nur überprüfe wo getroffen wurde ist
das schon ok. nur wenn ich dann die treffer mitzählen lasse wirds
problematisch...
möchte mal wissen wie das bei den meldern gemacht wird die man kaufen
kann. weil dort leuchtet eine weisse lampe wenn man den degen
trifft...
mir fällt nur nichts anderes ein ausser kurzschluss. weil es darf ja in
einem solchen fall auf einen fall an den avr-chip geleitet werden. um
also zu verhindern das der pin spannung kriegt, habe ich
kurzgeschlossen. so funktioniert es auch nur es führt halt dann zu nem
reset :(

argh!^^

von Rolf Magnus (Gast)


Lesenswert?

Warum leitest du das Signal, wenn die Degen sich berühren, nicht einfach
an einen anderen Pin des Controllers? Dann kannst du das in der Software
auswerten.

von Christian Buntrock (Gast)


Lesenswert?

hmm. das ist eine gute idee. wie könnte man das machen. ich nahm masse,
weil ich ja so verhindern wollte das die eigene Leitung, die den
treffer-pin setzt nicht versorgt wird (wird sie ja nicht bei nem
kurzen, denn da ist alles off in dem moment...^^ also kann er schonmal
nix anzeigen von wegen treffer usw.).  Wenn ich jetzt nen weiteren Pin
nehme wird es ja so sein, wenn man den Degen berührt, das zum einen die
eigene Leitung berührt wird, und die andere, die Signalisiert das der
Degen berührt wurde. Jetzt müsste ich das irgendwie so hinkriegen, dass
ich ihm sage (wenn das überhaupt geht...), das er wenn der PINB.2
(treffer-pin links) gesetzt wurde, er noch überprüft, ob der andere Pin
den du noch meintest auch gesetzt wurde... Denke ich da positiv? :)

gruß
christian

von Hannes L. (hannes)


Lesenswert?

Kannst du die Degenpotentiale nicht vom MC aus multiplexen? Damit kann
man sehr gut unterscheiden ob es der eigene Degen oder der des Gegners
war. Eine Art Entprellung muss ja sowiso eingebaut werden, denn
aufgrund der Antennenwirkung der relativ großen Sensorflächen dürften
es sonst Fehlauslösungen hageln.
Und die Schutzwiderstände nicht vergessen, die die AVR-Pins vor
Fremdpotentialen schützen.

...

von Christian Buntrock (Gast)


Lesenswert?

Also das mit den Fehlerauslösungen ist richtig! =)
Hab eben es damit if((!PINB.0) && PINB.1) versucht und es klappte nur
wenn ich vorher den Pin mit ner Krokoklemme an Ground schon anschließe.
Wenn ich alle drei so zusammenmache (also GND,PB1,PB0) geht es
eigentlich fast immer an. Das war doch das was du meintest oder?

Hmm, was meinst du mit Potentiale und multiplexen?? :)
(sorry, bin noch totaler anfänger. das ist hier auch im grund so ein
kleines projekt um in die Geschichte einzusteigen... =))


danke!!!
Gruß
Christian

von Hannes L. (hannes)


Lesenswert?

Ich würde die Degen abwechselnd auf Low legen, also immer einer auf low,
der andere hochohmig. Dann würde ich die Sensor-Eingänge nach Peter
Danneggers Entprellroutine entprellen und dabei die Flags nutzen, die
erneuten Kontakt melden.

Die Entprell-Routine wird hier erklärt:
http://www.mikrocontroller.net/articles/Entprellung

Da ich kein Fechtfan bin und nicht weiß, wieviele Sensoren jeder
Fechter bekommen soll, kann ich nicht weiter ins Detail gehen. Aber das
Prinzip wäre so (Assembler):

In der Initialisierung:
- Stack initialisieren
- Ports initialisieren
- Timer initialisieren
- Treffer-Zähler initialisieren
- evtl. LCD initialisieren

Im Timer-Interrupt:
- Degen 1 aktivieren
- Sensoren Fechter 2 abfragen und entprellen
- Degen 1 deaktivieren
- Degen 2 aktivieren
- Sensoren Fechter 1 abfragen und entprellen
- Degen 2 deaktivieren

Im Hauptprogramm:
- Treffer-Flags abfragen, auswerten und löschen
- Schlafen gehen...

...

von Christian Buntrock (Gast)


Lesenswert?

jetzt weiß ich was du meinst. ich probier das gerade aus, doch ist
dieses entprellen in asm :( ich kann leider nur c.
wenn ich das richtig verstanden habe, ist das entprellen eigentlich
nichts anderes als ein delay oder?

von Thomas Burkhardt (Gast)


Lesenswert?

Hi,

http://www.mikrocontroller.net/articles/Entprellung

Dort gibt es Links zu Codebeispielen auch in C. Das ganze ist kein
Delay im eigentlichen Sinne, da ein Timer zum Auslesen verwendet wird.

von Hannes L. (hannes)


Lesenswert?

Es ist kein einfaches Delay.
Es ist ein zyklisches Abfragen des Zustandes am Eingang und ein Zählen
der "Abfragerunden" bei Pegeländerung. Eine Pegeländerung wird erst
übernommen, wenn sie 4 Abfragetakte lang stabil war. Zusätzlich wird
von der im Int laufenden Entprellroutine ein Flag (eigentlich 8 Flags
für 8 Eingänge) gesetzt, welches mitteilt, dass der Kontakt erneut
geschlossen war (auch wenn er schon wieder offen ist!). Diese Flags
würde ich zur Auswertung nutzen.

"doch ist dieses entprellen in asm :( ich kann leider nur c."

Hmmm... Nix gegen C, aber beim AVR, wo man nicht unter einem OS
programmiert, sondern direkt an der Hardware (also ohne Treiber usw.),
wirst du um ASM nicht herumkommen. Sicher geht das auch in C, aber auch
damit sind ASM-Kenntnisse sehr hilfreich. In ASM ist die Hardware
(Ports, Timer, ADC usw.) nunmal einfacher (und verständlicher)
anzusprechen.

...

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.