Forum: Mikrocontroller und Digitale Elektronik AVR über einen Port mit Strom versorgen


von Avr (Gast)


Lesenswert?

Ich hab ne etwas verzwickte Schaltung vor. Dabei möchte ich einen
kompletten Mega32 VCC übe rden Port eines anderen Atmel versorgen.
Ist das möglich oder gibts da bedenken?

von Matthias Beitz (Gast)


Lesenswert?

Wenn ich das richtig verstehe willst du den Atmel über einen Pin des
anderen mit Strom versorgen? Die max belastung liegt glaube ich pro Pin
bei 10mA das dürfte also nicht ausreichen. Da brauchst du einen
Transistor welcher über einen Pin des ersten Atmel den zweiten mit
Strom versorgt. Dafür brauchst du aber wiederum die +5V und GND als
seperate leitung für den zweiten Atmel. Wenn du die Standard
schnittstelle zB vom STK500 mit den 10 Poligen Port anschluss meinst
kannst du das über die 5V und GND Leitung bedenkenlos machen. Aber für
das einschalten des zweiten Atmels brauchst du dann trotzdem den
Transistor. Oder du machst es Softwaremässig dann kannst du einen
Interupt des zweiten immer auf Flankenänderung abfragen und in den
Sleepmodus versetzen bzw. aufwachen lassen.

von komons (Gast)


Lesenswert?

keine gute idee.
1.kann kein port des atmels soviel strom liefern
2.braucht der atmel ca. 16ms zum einschwingen
3.muss die Spannung (VCC) recht genau stimmen.

Man kann aber einen atmel extern per ttl-pegel takten
oder ihn per relais einschalten, das wäre wohl die Lösung.
Für das Relais dann die entsprechende Schaltung raussuchen...
Ansonsten braucht man da eine recht ausgefeilte schaltung oder
einen steuerbaren (switched) regulator.
Der strom kann aber nicht von dem Atmel selbst kommen, er kann
nur einen Leistungstreiber fernsteuern.

- Hans

von komons (Gast)


Lesenswert?

Leistungstreiber könnte auch ein geeigneter Transistor + Beschaltung
sein. Trotzdem finde ich diese Lösung nicht besonders gut.

von Avr (Gast)


Lesenswert?

Das ist alles etwas aufwendig. Der Hintergrund ist der: Der
Versorgungsanschluss VCC kann immer auf einem anderen PIN liegen, je
nach Atmel Typ. Die Pinbelegung soll quasi erst per Software
eingestellt werden.
40 Transistoren oder Transistoren wäre etwas aufwendig.Wie machen es
denn die Programmiergeräte die mit unterschiedlichen PiN´s umgehen?

Warum sollte der Strom nicht reichen? Ein Atmel braucht doch nur ein
paar mA !

von Avr (Gast)


Lesenswert?

40 Transistoren oder Relais meinte ich, wären etwas aufwendig

von Matthias Beitz (Gast)


Lesenswert?

nein du brauchst nur ein Transistor oder Relai. Damit schaltest du den
5V eingang des 2ten Atmels ein. Dann ist der Aktiv. Du brauchst aber
trotzdem eine Stromversorgung zu dem 2ten Atmel.
                                             _______
                                            [
______          ____[ Vorwiederstand ]____[Vcc  µC2
        [        /                          [_________
µC1 Pinx[-------|zb. BC237C oder Relai
________[        \
                  |
                  |
                 GND

Ich hoffe man kann erkennen was gemeint ist...

von Norbert (Gast)


Lesenswert?

Hi,

@komons:
1.kann kein port des atmels soviel strom liefern
-> Stimmt nicht, 20mA kann ein Port liefern und bei langsamem Takt
verbrauchen die meisten AVR deutlich weniger. Würde ich aber trotzdem
nicht direkt machen.
2.braucht der atmel ca. 16ms zum einschwingen
Unfug, das komt auf die Fuses, den Typ und den Oszillator an. 16ms ist
das extremste was man einstellen kann.
3.muss die Spannung (VCC) recht genau stimmen.
Völliger Blödsinn, schau mal ins Datenblatt.

Sorry, das war ne Menge Unfug auf einem Haufen...

@Matthias:
Was'n das für ne komische Schaltung?

Das ist doch ganz einfach: Ein paar BC548, Basis über 10k an einen Pin
des 1. AVR, 100k von Basis an Ub, Emitter an Ub, Collector an Vcc des
2. AVR.
So viele verschiedene Belegungen von Vcc gibt es nun auch wieder nicht.

von komons (Gast)


Lesenswert?

Ich weiss ca. 20mA. Dann kann man den 2.Atmel aber nur eingeschränkt
nutzen.
16ms ist worst case. Ich sags nur weil man damit rechnen muss das der
2-te Atmel eventuell ne weile braucht bis er dann auch reagiert (je
nachdem was man damit machen will sollte man das wissen).
und vcc kommt ganz auf den chiptyp an 4,5V-5,5V, bei manchen ist die
Spanne besser.

Im Prinzip hab ich unfug geschrieben, wenn man es genau nimmt.
Ich wollte nur auf die Probleme die auftreten können im Vorfeld der
Betrachtung aufmerksam machen, und weil ich mir recht sicher bin das
man die atmels normalerweise nicht "hart" an und ausschalet sondern
lieber softwareseitig behandelt, aber da kann ich mich auch irren.
Vielleicht kommts ja auft den stromverbrauch an? dann gibts switched
regulators mit interner logik für genau dieses Problem (auch mit
mehreren Spannungsversorgungen auf einem Chip).

- Hans

von Avr (Gast)


Lesenswert?

@komons: "Unfug" nützt mir in dem Fall nix. Bitte lieber konkret, die
genannten Punkte möchte ich dann schon gerne selbst beurteilen.

>@Matthias: Was'n das für ne komische Schaltung?
Ansteuererung verschieder Bauteile, nicht nur AVR´s!


>Das ist doch ganz einfach: Ein paar BC548, Basis über 10k an einen Pin
des 1. AVR, 100k von Basis an Ub, Emitter an Ub, Collector an Vcc des

Da hast du dich sicher vertan, das kann nicht gehen. Du meinst sicher
Emitter am VCC!

So viele verschiedene Belegungen von Vcc gibt es nun auch wieder
nicht.
Es geht auch um ein paar andere Bauteile. Die Transistorlösung ist mir
da wenig hilfreich, es müsste zuviele sein

von Norbert (Gast)


Lesenswert?

Hi,

Hoppla, nicht BC54... sondern 556, also PNP. Dann ist das schon so
richtig wie ich schrieb.

Du solltest genauer beschreiben was Du vorhast sonst stochern wir hier
alle nur rum.
Ansonsten schaust Du in den Datenblättern, wieviel Deine Teile
verbrauchen die Du da betreiben willst und ein Pin kann eben 20mA, auch
wenn da nicht mehr ganz 5V rauskommen. Steht auch im Datenblatt.
Betreibst Du mehrere Teile mit den Pins direkt, musst Du noch den
Gesamtstrom beachten.

von Thorsten (Gast)


Lesenswert?

Jede serielle Maus enthält einen Mikrocontroller und der wird
schließlich auch von der Schnittstelle versorgt. Sind zwar etwas andere
Pegel, aber das spielt keine Rolle. Wenn die Taktfrequenz des zweiten
Prozessors nicht so hoch ist, kannst du VCC direkt aus einem Portpin
nehmen. Alternativ kannst du den zweiten mit 3.3V versorgen, und je
nach Prozessor verbruacht der dann z. B. nur 1mA@1MHz. Solltest halt
nur 20ms warten, daß er auch schon eingeschwungen ist.

Thorsten

von Avr (Gast)


Lesenswert?

Der zweite muss leider auch schon mit 5V gehen. Oder ich muss wohl nach
Treiber IC suchen.

von Norbert (Gast)


Lesenswert?

Hi,

Wie wärs, wenn Du mal genauer spezifizierst, was der Zweite machen soll
bzw. was Du da überhaupt vor hast?
Typ, Takt / Taktquelle? Soll der was machen oder nur programmiert
werden?
Ohne weitere Infos kann Dir keiner sinnvoll helfen.

Gruß,
Norbert

von Avr (Gast)


Lesenswert?

Es geht nur um das programmieren der verschiedensten Bauteile!
Hast du dazu noch eine Tip?

von Läubi (Gast)


Lesenswert?

Ne PS2 Schnittstelel die für die Stromversorgung der angeschlosseen
Perepherie ausgelegt ist mit einem µC für stuer aufgaben zu vergleichen
ist schon etwas seltsam.
Und nen Transistor + Widerstand kostet odch nicht die Welt besser als
wenn der µC abraucht....

von Thorsten (Gast)


Lesenswert?

Wer redet von PS2?

von Alexander Schmidler (Gast)


Lesenswert?

Ok, der AVR braucht keinen Strom... Aber wenn mal ein Port seinen
Zustand ändern soll? Das macht man normal mit µCs. Also z.B. eine
einzige LED einschalten und schon ist's vorbei mit der Herrlichkeit

von Ralf (Gast)


Lesenswert?

Um die Versorgung zu garantieren kannst du den µC auch mit zwei Pins
statt nur mit einem treiben. Aber klar sollte schon sein, dass auch
hier die Resourcen beschränkt sind.

von Avr (Gast)


Lesenswert?

>Und nen Transistor + Widerstand kostet odch nicht die Welt besser als
wenn der µC abraucht....

Hi Läubi, du hast es noch immer nicht so recht verstanden. Wenn ich den
genauen Port von VCC wüsste könnte ich gleich VCC direkt anschließen.
Aber da der immer woanders sein kann, muss ich ne Lösung mit wenigen
Bauteilen finden. 40 Transistoren sind mir zuviel!
Ich denke ich bleib bei der Anfangslösung, scheint mir bislang noch am
besten.

von ...HanneS... (Gast)


Lesenswert?

Wenn dein "gesteuerter" AVR keine Peripherie (LEDs, weitere Dinge...)
mit Strom zu versorgen hat, dann dürfte es funktionieren. Versuchs doch
einfach mal...

Ich denke mal, du willst ein universelles Programmiergerät bauen, bei
dem jeder Pin der IC-Testfassung fest an einen I/O des AVRs (Mega mit
vielen I/Os) angeschlossen wird. Die Pinzuordnung wird dann per
Software erschlagen (ähnlich GALEP). Dann bleiben aber die
Hochvolt-Modi außen vor, was die ganze Sache wieder etwas
uninteressanter macht...

von thkais (Gast)


Lesenswert?

Bei den Programmiergeräten werden Puffer-Chips verwendet, die den
entsprechenden Strom auch treiben können.
Eine Möglichkeit sind 74XX07, das ist ein 6-fach Treiber mit Open
Collector, somit bleibt auch der bidirektionale Charakter erhalten.
Wenn Du wirklich alle 40 Pins auch als Versorgungsspannung betreiben
willst, dann wirst Du Dich wohl nicht nur auf Atmels beschränken -
ansonsten wären das nur aus dem Bauch heraus 5-6 Varianten.

von Avr (Gast)


Lesenswert?

Gibt es irgendwo eigentlich eine zusammengefasste Pin-Belegungsübersicht
oder muss ich alles aus den Datenblättern sammeln
Welche Hochvolt Typen meinst du z.B.?
Ich will eigentlich nur für ein paar Standard-Controller und ein paar
andere Teile die mich interessieren ein kleines Programmiergerät
basteln.

von ...HanneS... (Gast)


Lesenswert?

Ich meine keine "Hochvolt-Typen" sondern den
"Hochvolt-Programmiermodus"...

von thkais (Gast)


Lesenswert?

Hm - Mist - ich habe bei den Open-Collector nicht bedacht, daß Du ja die
5V treiben willst...
Bleibt doch nur die Transistor-Lösung. Was es aber einfacher und
übersichtlicher macht, sind Transistor-Arrays in IC-Form.
Eine Übersicht aller Pinnings habe ich für die Atmels noch nicht
gesehen - wäre aber mal eine interessante Sache fürs Wiki.

von ...HanneS... (Gast)


Lesenswert?

Wegen Pinbelegungen:
http://elm-chan.org/works/avrx/avrxp_sk.png

Ist schonmal ein Anfang...

von C3PO (Gast)


Lesenswert?

Wie wäre es denn mit ~16 Transistoren (wenn du eh nur seriell
programmierst reichen auch 10 oder sogar noch weniger. Und für die
verschiedenen Chips, die du programmieren willst baust du dir
jeweils(da kann man auch einige zusammenlegen) eine Adapterplatine !!!

von Avr (Gast)


Lesenswert?

Da auf eiem PIN ja VCC oder GND sein könnte, bräuchte ich dann aber bei
vielen PIN´s zwei Transitoren. Da käme schon einiges zusammen.

Könnte ihr gute 40 - 100 mA Treiber IC empfehlen, sowohl welche nach
GND alc auch VCC schaltend?

von ...HanneS... (Gast)


Lesenswert?

Hi...

Die werden dir nix nützen, da sie nicht bidirektional sind. Denn bei
dem, was du vor hast, muss jeder Pin ja je nach Ziel-IC mal Eingang,
mal (Daten-)Ausgang und mal Power-Ausgang (GND, +5V, +12V) sein.
Wenn es einfach werden soll, kommt man um einen kundenspezifischen
Spezialschaltkreis nicht herum.
Den wirst du aber nicht in Auftrag geben können...

Lies dir mal die Produktbeschreibung zum GALEP IV im Reichelt-Katalog
durch... (Stichwort "Pintreiber-ASIC") Mit der uns zur Verfügung
stehenden Technologie muss man sich da schon ganz schön strecken um
Vergleichbares zu realisieren... Also mit 'nem AVR und 'n paar
Transistoren ist das nicht getan.

...HanneS...

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.