PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Erkennung eines Verbrauchers mittels Shunt-Widerstand



Tyrald
25.08.2010, 10:42
Hi!

Was analog-elektornik angeht bin ich leider noch Hellgrün hinter den Ohren...
Was ich machen will, ist sicher nicht schwer, aber ich weiß nicht, welche Schlüsselwörter ich Suchen könnte:

Soweit bin ich:
Wenn man den Schalter umlegt, fließt Strom durch den Verbaucher UND durch den 1 Ohm Widerstand. Deshalb liegt dann auch eine Spannung von wenigen mV zwischen A und VCC an.

Wie gelingt es mir, einen logischen Unterschied aus Schalter An/Aus zu generieren den ich mit einem AVR I/O auslesen kann? Dazu sei gesagt, das der Schalter eigentlich ein Stecker ist und ich will wissen, wann das Gerät ( ein Display) angesteckt wird um es dann auch im laufenden Betrieb erneut zu initialisieren! Deshalb kann ich nicht einfach hinterm Schalter die Spannung abgreifen. Dafür müsste ich ja dann beim Stecker nen Pin verwursten, und ich hab bereits alle belegt!

Ahoi,
Tom

Hab einiges mit Transistoren probiert, leider erfolglos....

Kampi
25.08.2010, 11:03
Wie groß ist den Vcc? Wenn das 5V ist kannst du A doch direkt an einen ADC hängen und sobald ein bestimmter Wert überschritten wird (was passiert wenn man den Schalter schaltet) initialisierst du das Display.

Tyrald
25.08.2010, 11:42
sind 5V!

Aber ich wollte nicht unbedingt nen ADC verwenden... dann muß ich den andauern auslesen-.- find ich n bissl unedel.

Da gibts doch sicher nen netten move mit nem Transistor!

MichaF
25.08.2010, 11:57
Einen I/O Pin muss du auch andauernd auslesen um festzustellen ob jetzt ein Display gesteckt ist oder nicht ;)

Erlaubt ist, was funktioniert. Ich finde Kampis Lösung sehr vernünftig.

Edit: Sofern vorhanden wäre der Analog Comparator noch eine Möglichkeit, der kann dir einen Interrupt auslösen und braucht ansonsten keine weitere Aufmerksamkeit.

Kampi
25.08.2010, 12:03
Alternativ kannst du auch nach High und Low abfragen. Du musst nur dafür Sorgen das wenn der Stecker raus ist, ein sicherer Low-Pegel vorhanden ist. 8-[

Richard
25.08.2010, 12:50
Das mit dem Komparator braucht allerdings 2 ADC Pins, sollte dann
aber gut klappen. Ein ADC vor und ein ADC hinter dem Widerstand.
Dann wird nur der Spannungsabfall "über" dem Widerstand gemessen
und dort fällt nur dann eine Spannung ab wenn der "Schalter" geschlossen
ist. Außerdem kann im Komparator Betrieb noch eine Verstärkung gewählt werden.

Gruß Richard

PICture
25.08.2010, 13:59
Hallo!

Eine Spannung gleich VCC kann man doch einfach, wie Kampi schon geschrieben hat, mit einem pull-down am Verbraucher hinter dem Schalter am digitalen Eingang eines µC's als "1" festellen. Ich glaube, dass AVR's auch "on change interrupt" Pins haben, oder ?

Sorry, aber ich leider einfache Sachen nicht kompliziert sehen kann... :(

Übrigens, wenn alle Pins schon belegt sind kann man das Problem nicht mehr mit dem µC lösen und braucht man grösseren ...

MfG

MichaF
25.08.2010, 14:19
@Kampi & PICture: Ich glaube diese Möglichkeit besteht nicht. Tyrald sagte ja, das er keine Pins von der Display Seite mehr frei hat. Das heißt er kann nicht einfach einen Pin vom Display mit VCC belegen und diesen im controller abfragen. Die einzige Chance bestünde, wenn das Display einen Pin hätte, der vom Display auf einem definierten Zustand gehalten wird. Diesen könnte man abrfagen. Das ist aber bei einem Display nur seltenst der Fall. Die Display Eingänge sind normalerweise sehr hochohmig, ohne definiertes Potential, und damit nicht abfragbar. Ganz so einfach ist es also doch nicht ;)

PICture
25.08.2010, 14:31
Ich würde im schlimsten Fall einen zusätzlichen Schalter anwenden (z.B. ein Microtaster der beim Eistecken des Displays geschlossen/geöffnet wird). Das wäre, falls aus Platzgründen möglich, für mich die einfachste Lösung ...

MfG

Richard
25.08.2010, 14:39
@Kampi & PICture: Ich glaube diese Möglichkeit besteht nicht. Tyrald sagte ja, das er keine Pins von der Display Seite mehr frei hat.


Gernau so ist es. Aber wie in der Zeichnung geht es auch nicht, der
Wiederstand wirkt ohne Display einfach als Pull UP = immer VCC.

Unter Last wir dann die VCC (für das Display) ein klein wenig niedriger
ausfallen, zu viel geht aber auch nicht dann arbeitet das Display nicht
ordentlich. Bleibt eigentlich nur noch der Komparator + Verstärkung
übrig. Eimal ganz abgesehen davon das man so ein Display gewöhnlich
nicht im Betrieb an/ab klemmt.....

Gruß Richard

Tyrald
26.08.2010, 08:27
Ja genau Richard!
Spannung fällt um 1/50 von VCC an Punkt A ab wenn man den Display einsteckt. (Bei den Widerstandswerten in der zeichnung)...
Das müsste man jetzt irgendwie Verstärken (wenn ich nur wüsste wie das mitm OPV funktioniert).. damit dann am Ende aus 5 V ein High wird, und aus 5V - 1/50 * 5V ein Low!

Da währe dann der AVR-Comperator gar nicht so schlecht! Hab mir das gerad im Datenblatt durchgelesen...

Nur nochmla zum verständniss: natürlich kann ich auch einfach einen Schalter an die Buchse machen, oder den Stecker gegen einen austauschen, der noch nen Pin mehr hat den Das Display dann auf High zieht wenns angesteckt ist.
Mir gings aber vor allem darum, was zu lernen und somit nutzte ich dieses kleine Problem, um ein großes draus zu machen und ein wenig tiefer in die Analogtechnik einzusteigen!

Ich werd mal vorerst die Lösung mit dem A/D-Wandler umsetzen... ist sicher das einfachste. Und später mal meine ersten Versuch mit dem Comperator machen, der dann ein Interrupt auslößt.

@Micha:
Einen I/O Pin muss du auch andauernd auslesen um festzustellen ob jetzt ein Display gesteckt ist oder nicht.

I/O pin lesen geht wesentlich schneller als AD auslesen und man kann auch ein externes Interrupt dafür nutzen :-D.

Vielen Dank an alle für die tollen Vorschläge! Ich bin bestens bedient und hab wieder einiges zu basteln!

PICture
26.08.2010, 08:42
Hallo!

Ich weiß leider nicht, wie alt du bist, aber das was du geplant hast, scheint sehr gefährlich zu sein, dass du irgendwann Elektroniker werden müsstest, weil ab bestimmten Wissen man nicht mehr aufhören kann zu basteln und muss Entwickler werden ...

Also pass auf ! :)

MfG

Richard
26.08.2010, 09:10
Hallo!

Ich weiß leider nicht, wie alt du bist, aber das was du geplant hast, scheint sehr gefährlich zu sein, dass du irgendwann Elektroniker werden müsstest, weil ab bestimmten Wissen man nicht mehr aufhören kann zu basteln und muss Entwickler werden ...

Also pass auf ! :)

MfG

Oder die Dunkle Macht des Transistors zerstört Dich! :-)

Neutro
26.08.2010, 10:23
Falls du dich noch in die Thematik mit dem OP Verstärker einarbeiten willst (später?), so kann man das mit einem Komparator machen. Als IC gibt es für Komparatoren extra Typen wie den LM393, der kommt ohne neg. Betriebsspannung aus. Ein Blockschaltbild dazu findest du hier:
http://www.mydarc.de/dl7iab/projekte/OP%20&%20Co.html

Viel Spaß noch

Tyrald
14.09.2010, 10:53
Ok.. ich fürchte für die Warnungen ist es längst zu spät "PICture"... die Transistoren haben mich längst mit Ihren Collectorpins an den Schreibtisch getackert... zum Glück hab ich mich vorher lange mit Maschinenbau beschäftigt und daher immer ne Kneifzange griffbereit um moch zu befreien!

Hab jetzt nen Widerstand in den Stecker gebaut. Somit kann man mit dem A/D-Wandler auch erkennen, welches Display dranhängt indem man überall einen anderen Widerstand einsetzt!

Greatz,
Tom

Besserwessi
14.09.2010, 17:06
Wenn man auf der Dispalyseite noch was anlöten kann, könnte man dort an einer Datenleitung einen Pulldown Widerstand anlöten (z.B. 10 K Ohm). Der µC könnte dann über den internen Pullup Widerstand testen ob der Pulldown Widerstand vorhanden ist. Das ist zwar etwas komplizierter als einen einfachen IO Pin abzufragen, aber immer noch schneller als mit dem AD-wandler. Als Vorteil bräuchte man keinen extra PIN vom µC.

Osser
15.09.2010, 15:58
Hi,


Entweder Du prüfst auf einen der Pins, wie Besserwessi schon vorgeschlagen hat. Das geht auch evtl. ohne PullUp/Down wenn du innerhalb einer Schleife auf gleiche Werte checkst. Das ist bei OpenDrain ja eher nie der Fall...

Oder versuch mal sowas:



Ri(Display)
+---######----+
| |
| |
o o

- - - - - - - - - - Steckerverbindung

o o
| |
| |
Vcc |
|
|
+-------+ R10k
| +--######-->> Vcc
| |
| |
| +-------o <PORT PIN>
| |
| | / C
| 1N4148 R2 B |/
+---|>|--+--######----| NPN Transistor: BC547A
| | |\
| | | \ E
# | |
# R1 | |
# | 1N4148 |
# +--|<|--+------+
| |
+-----------------------+
|
---
GND


Das sollte bei richtig dimensioniertem R1 functionieren, R2 ist wohl eher nicht nötig.
R1 sollte 1/7 von Ri sein.


Gruss,

O.

Tyrald
21.09.2010, 19:20
Cool!

Werd ich testen :-D