Forum: Mikrocontroller und Digitale Elektronik program. span: 12v, 5v, gnd (einzeln) auf einen pin schalten


von hans dieter (Gast)


Lesenswert?

hallo,
ich plane zur Zeit ein "Mini-STK500" mit JTAG. Im Prinzip ein
Evertool, aber alles zusammen auf einem Controller und komplett target
powered. Die 12V erzeuge ich mit einer Lade-Punpe und einem
nachgeschalteten shunt regulator (wie im orig. STK500). Die Lade-Pumpe
zieht so 5mA aus der Ziel-Schaltung.

Das Problem, was ich habe, ist dass ich die 12V und die 5V  und
natürlich Masse auf die Reset-Leitung schalten muss.

Einige Schaltungen hab ich schon probiert
Die Schaltung aus dem STK500 kann ich nicht nehmen, da die Ladungspumpe
abschaltbar ist.
Auch ein einfaches Zusammenschalten der 12V und der 5V über PNPs uder
p-Kanal MOSFETS (je 12V und 5V an Source und dann die Drains zusammen)
geht nicht, da dann über die internen Dioden der Transistoren Strom von
der 12V Ladungs-Pumpe in die 5V fließt und dann die Spannung der Pumpe
einbricht. (Bei ersten Tests ist eine maximale Belastung von ca. 1mA
noch akzeptabel gewesen).

Ich hoffe nun einer (oder mehrere) da draussen haben einen Einfall, wie
man das Machen kann.

von hans dieter (Gast)


Lesenswert?

(...ups falsches fenster...)

also kurz gesagt so etwas bräuchte oder ähnlich ich:
12V -----------------------+
5V-----------------------+ |
                         | |
                       ------
(5V / 12V Auswahl) --- |    | --- Ausgang (GND, 5V oder 12V)
(V+ / GND Auswahl) --- |    |
                       ------

Danke, für eure Mühe

von TravelRec. (Gast)


Lesenswert?

Lege den Reset-Pin mit 4,7k an 5V, damit hast Du schon mal 5V am Reset
Pin. Schalte einen npn-Transistor mit dem Kollektor ebenfalls an den
Reset-Pin, Emitter an Masse. Wird dieser npn-Transistor durchgesteuert,
hast Du (fast) 0V am Reset-Pin. Nimm einen weiteren npn-Transistor und
schließe an dessen Kollektor mit einem Widerstand von 10k die Basis
eines pnp-Transistors, dessen Emitter an +12V liegt. Den Kollektor des
pnp-Transistors legst Du ebenfalls an den Reset-Pin. Wird der 2.
npn-Transistor durchgesteuert, erhältst Du somit 12V am Reset-Pin. Du
mußt nur sicherstellen, daß nie beide npn-Transistoren gleichzeitig
eingeschaltet werden können, da Du sonst einen Kurzschluß von 12V nach
Masse hast.

von hans dieter (Gast)


Lesenswert?

danke das war bis jetzt auch meine beste idee, aber das problem ist,
dass ich einen "starken" sink und source brauche.
Da bei den at89s* die reset-logik high aktiv ist. wenn nun eine
schaltung mit einem reset pull-down von 10k dran ist, dann komme ich
bei ausgabe von 5V nur noch auf 3.xV am Reset-Pin, was etwas heikel
ist.

von TravelRec. (Gast)


Lesenswert?

Dann nimm doch einen Rail-To-Rail OV als 1:1 Verstärker und erzeuge die
Spannungen über Spannungsteiler und Logik am nichtinvertierenden
Eingang. Damit sollte Dein Source/Sink-Problem gelöst sein.

von A.K. (Gast)


Lesenswert?

Bei AT89 dreht sich das halt um. Passiver Pulldown und 2 aktive Pullups,
der eine 12V der andere 5V.

Und wenn du partout AT89 und AT90 unterstützen willst, dann läuft's
auf 4 Transistoren raus.
- Ein NPN zieht auf GND (invertierend).
- Ein PNP zieht auf 5V (invertierend)
- Ein NPN/PNP-Paar zieht auf 12V (nichtinvertierend).

Irgendeine Art von Strombegrenzung scheint sinnvoll, erstens rettet sie
die Transistoren wenn man Mist baut, zweitens könnte am Reset-Pin ein
Reset-Taster/Jumper sein, der blöderweise grad kurzschliesst.

von A.K. (Gast)


Lesenswert?

OPV ist unpraktisch, weil der sich meist nicht dazu überreden lässt, die
Leitung offenzulassen (gibt's welche mit Output-Enable?). Üblicherweise
will man ja Reset nur aktiv steuern, wenn man grad programmiert, und es
in der übrigen Zeit sich selber überlassen.

von TravelRec. (Gast)


Lesenswert?

Najaa, man will doch einen definierten Status am Reset-Pin haben, oder
nicht? Output-Enable könnte man mit einem nachgeschalteten
Analogschalter nachbilden.

von A.K. (Gast)


Lesenswert?

Für einen stabilen Ruhepegel wie für den Poweron-Reset sorgt
üblicherweise das Zielsystem selber, ein Programmer- oder
JTAG-Interface hängt da doch bloss optional dran.

von hans dieter (Gast)


Lesenswert?

"- Ein NPN/PNP-Paar zieht auf 12V (nichtinvertierend)."
--> das ist halt der Punkt, der mir Kopfschmerzen macht, wenn ich einen
pnp zwischen 12v und reset und zwischen 5v und reset mache fließt, wenn
die 12v als ausgang geschaltet sind, ca. 5mA über den 12v pnp durch den
5v pnp, egal ob dieser an ist oder nicht (basis-kollektor-diode). das
hat zur folge, dass die spannung der ladungspumpe zusammenbricht.

das mit dem opv ist eine idee, dann müsste aber ich die ladungspumpe
immer laufen lassen und den OPV daraus versorgen

mit den ruhe-pegel hab ich das auch bisher so gemacht: wenn ich ein
reset brauche, dann änderte ich den pin (des programmers) zum ausgang
mit dem reset-pegel (bei den at90 halt GND, bei den at89 halt 5V))
ansonsten blieb das ein eingang (also passiv)

jetzt brauch ich aber aktiv 12v oder aktiv 5v oder aktiv 0v

von TravelRec. (Gast)


Lesenswert?

>> wenn ich einen pnp zwischen 12v und reset und zwischen 5v und reset
mache fließt, wenn die 12v als ausgang geschaltet sind, ca. 5mA über
den 12v pnp durch den 5v pnp, egal ob dieser an ist oder nicht
(basis-kollektor-diode).

Das stimmt so nicht, da sowohl 5V als auch 12V am Emitter der
pnp-Transen positiv gegenüber der Basis sind. Die pnp-Transen werden
ihrerseits von npn-Transen angesteuert, die nach Masse schalten. Da
fließt nichts ab. Nur wenn beide pnp-Transen zeitgleich angesteuert
werden.

von hans dieter (Gast)


Angehängte Dateien:

Lesenswert?

ich hoffe wir reden über die selbe schaltung...
also ich hab die schaltung wie im bild zu sehen 3 mal aufgebaut (1x LT
SwitcherCADIII, 1x CircuitMaker2000 und 1x RL)
diese zeigen alle das selbe: zwischen den kollektoren fließt strom!!!
im echten aufbau sogar mehr als in der simulation und dieser strom
lässt die spannung der ladungspumpe bis auf ca. 10V absinken (normal
bei 15v (5v + 2x 5v))

von TravelRec. (Gast)


Lesenswert?

Nein, wir reden nicht über diese Schaltung (also ich nicht!). Lege doch
mal beide pnp-Emitter an die zu schaltende Spannung, also 1x an 5V und
1x an 12V. Dann verbinde beide Kollektoren, während die Basen in der
Luft hängen. Du wirst sehen, da fließt nichts. Gut. Dann verbinde die
Basen über je einen Vorwiderstand mit je einem npn-Transistor, und zwar
dessen Kollektor. Die Emitter der npn-Transen kommen beide auf Masse.
Die Basen der npn-Transen kommen an die Schaltlogik, so daß sie
abwechselnd eingeschaltet werden können. Legt man nun an eine npn-Basis
über einen Vorwiderstand beispielsweise 5V, so wird Versorgungsspannung
1 (5V) an den beiden pnp-Kollektoren zu messen sein. Schaltet man den
einen npn Transistor aus und dafür den anderen ein, dann ist
Versorgungspannung 2 (12V) an den pnp-Kollektoren zu messen. Sind beide
npn-Transen aus, dann ist (fast) keine Spannung an den pnp-Kollektoren
und es fließen dann auch keine Ausgleichsströme.

von A.K. (Gast)


Lesenswert?

12V                VCC
                                 |                  |
                         _   |<           _   |<
                      .-|___|--|    .------|___|--|
           .          |        |\   |             |\
                      |          |  |               |
                      |          |  |               |
                      |          |  |               |
                      |          '--)---------------o------o Reset
                      |             |               |
                      |             |               |
                      |             |               |
              _   |/              |       _   |/
         .---|___|--|               |    .-|___|--|
         |          |>              |    |        |>
         |            |             |    |          |
         |           GND            |    |         GND
         |                          |    |
         |                          |    |
         A                          B    C


                                          A    B    C

                                   offen: 0    1    0
                                   GND    0    1    1
                                   5V     0    0    0
                                   12V    1    1    0

Es gibt da natürlich ein paar Kombinationen, die du besser vermeiden
solltest.

von hans dieter (Gast)


Lesenswert?

ok, der vorschlag von travelrec geht, der von a.k. nicht (da fließt der
strom durch den kollektor und den basis-widerstand in den port-pin.
danke für eure hilfe

von A.K. (Gast)


Lesenswert?

In der Zeichnung ist 12V/VCC verrutscht. Wenn der Controller mit 5V
laüft, fliesst bei B nur dann Strom in den Controller, wenn der Ausgang
auf 0V steht, nicht aber wenn er auch 5V steht. Und das ist völlig
normal.

von hans dieter (Gast)


Lesenswert?

falsch. von B auf 5v liegt und A auf 5V dann liegt, durch die
Basis-Kollektor-Diode des 5V pnps an dessen Basis 11.xV an. an der
anderen seite des Basiswiderstandes liegen 5V an und somit fließt
strom, der durch den basis-widerstand begrenzt wird. durch den
stromfluß wird der 5v pnp leitend und die 5v und die 12v quelle
arbeiten gegeneinander.
wenn du es mit nicht glaubst, dann probier es selbst aus.
ich nehm' jetzt jedenfalls den vorschlag von travelrec. die
"angst"-widerstände von emitter zu basis kann ich da auch rein
machen. bei dem 5v pnp muss halt noch eine diode rein, dann geht es so
wie ich es wollte.

von A.K. (Gast)


Lesenswert?

Yep, stimmt.

von schlumpf (Gast)


Lesenswert?

hmm, je nach Stromaufnahme... wäre das nicht eventeull ein Einsatzgebiet
für nen Analogmultiplexer oder eine elektronisches Relais?

von Jörg Plitz (Gast)


Lesenswert?

Die Schaltung von A.K. ist grundsätzlich schon in Ordnung. Um das
angesprochene Problem mit der "Rückwirkung" zu vermeiden, kann
zwischen dem geschalteten Pin und dem Kolletor des 5-V-PNP-Transistors
eine Diode (Anode an Kollektor, vorzugsweise Schottky) geschalten
werden. Diese Schaltungsart findet man in vielen Bauanleitungen für
EPROM-Brenner, da dort genau das gleich Problem auftritt (GND, 5V, 12V
an einem Pin).

Jörg

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.