-
Also ich hab mir das so vorgestellt:
Bild hier
Die Pfeile gehen zur üblichen Hardware. Wenn switch, dann kann programmiert werden.
Über 3 Schalter wird der jeweilige AVR ausgewählt.
Die Schalter sollten 2xEIN , also jeweils 2 getrennte Schalter sein.
(Insgesamt 4 Kontakte):
Bild hier
(Punktlinie stellt die mögliche getrennte Verbindung dar, wenn Schalter gekippt..)
Wenn der Schalter gekippt wird, bekommt ein AVR Strom und das Relais wird geschalten, was die Pins von der Hardware trennt und mit dem Programmierport verbindet.
Warum 2 getrennte Schalter in einem verwenden?
Damit, wenn nicht programmiert wird, die AVR Betriebsspannung nicht die Relais schaltet ;)
(Sry die Bilder sind verschwunden, kA warum...)
-
Hallo SchadowPhoenix!
Das obere ist richtig, wenn Du die Betriebspanung von AVR beim Programmieren nicht abschalten musst. Wegen der unteren Lösung, muß ich Dich fragen, weil ich Deine Erklärung (glaube ich) nicht ganz oder falsch verstehe. Ist jeder von den 3 MVR´s auf anderer Enwicklungsplatine oder was?
Und so wird mein ICSP mit Relais sein:
MfG
P.S. Inzwischen habe ich meine Enwicklungsplatine schon umgebaut und ausprobiert. Es funktioniert.
Code:
v o m P r o g r a m m e r
GND PGC PGD VPP VCC
V V V V V
| | | | |
| | | | |
.-----------|---|-------|-------|-------|------.
| +----+---|---|-------|-------|-------|---+ |
Programm | | | | | | | | | |
A | _|_ _|_ | o o o o | |
| ||_/_||_/_| | __--o __--o __--o __--o |
| | | | | o | o | o | o | |
V | | | | | | | | | | | | |
Betrieb | +----+---+ | | | | | | | | |
| ICSP | | | | | | | | | |
| Platine | | | | | | | | | |
'-----------|---|---|---|---|---|---|---|---|--'
VCC .-----------V---V---V---V---V---V---V---V---V--.
+ | V V V V V V V V V |
| _/ | 1| 2| 3| 4| 5| 6| 7| 8| 9| |
+-o/ o--------------|---|---|---|---|---|---|---|---+ |
| | | | | | | | | | |
+--------------------+ | | | | | | | | |
| | | | | | | | | | | |
=== | M&H H M H M H M H M |
GND | GND PGC PGD VPP VCC VCC |
| |
Netzteil | Entwicklungsplatine oder fertige Schaltung |
'----------------------------------------------'
+---+ +---+ +---+ +---+
ICSP Brücke | | | | | | | | |
V V V V V V V V V
1 2 3 4 5 6 7 8 9
-
Der AVR braucht doch eine Versorgungsspannung, wenn programmiert wird?!
Die Versorgungsspannung für den Programmiervorgang wird entweder von einem Akku oder Ext. IN genommen.
Du hast es nicht ganz verstanden? Ich versuche, es nochmals zu erklären:
(In meinem Falle)
Das ganze System arbeitet mit 3 AVR's. Die Versorgungsspannung kommt von einem Akku oder Ext. IN.
Weiters gibt es einen Schalter zum einschalten der Programmierplatine. Auf dieser sitzen dann insgesamt 9 Relais, pro AVR 3 Leitungen.
Wenn man nun Schalter1 kippt, schalten 3 Relais für die Programmierleitungen von AVR1 um. Gleichzeitig bekommt dieser eine AVR eine Versorgungsspannung von der Programmierplatine.
(Man kann die Programmierplatine einschalten, ohne dass das gesamte System läuft)
-
Achja, ich habe einen Denkfehler entdeckt.
Das Programmieren funktioniert auch, wenn das komplette System eingeschaltet ist, also alle AVR's Versorgung haben.
Dann werden einfach per Schalter 3 Pins umgeschaltet, mit Laptop verbunden und programmiert. Dann einfach wieder umschalten, und die Pins sind wieder mit der üblichen Hardware verbunden.
-
Na ja jetzt verstehe ich Dein Problem. Mein ist schlimmer. Ich möchte auf einer Entwicklungsplatine mind. 3 Typen (PIC) eigesteckt haben und diese nicht nur an Programmer, aber auch nach gleiche Software die an die Platine angeschlossen ist, umschalten. Muss ich aber probieren, ob wenn ich jetzt zwei einstecke und nur einer mit Spannung versorge, der dann läuft oder wird von dem anderen gestört.
MfG
-
Hallo!
Ich möchte nur noch sagen (bitte, nicht als Selbstlob nehmen), dass ich mit der o.g. Lösung in der Praxis sehr zufrieden bin. Während der Entwicklung brauche ich jetzt bloß das Netzteil ausschalten, PIC programmieren und wieder das Netzteil einschalten. Dann läuft schon mein geändertes Programm (wenn ich kein Fehler programmiert habe). :)
Inzwischen hat sich auch gezeigt, dass die Umschaltung von Vcc (+5V) ermöglichst auch problemloses "Brennen" von PICs die z.B. mit nur 2V Versorgungsspannung arbeiten.
Zuletzt habe ich den Stecker mit der Buchse getauscht um übliche Jumper auf der Platine mit fertiger Schaltung verwenden zu können.
MFG