Forum: Mikrocontroller und Digitale Elektronik DIAMEX USB ISP-Programmer für Atmel AVR


von Mirko (mirkomikro)



Lesenswert?

Hallo,

ich versuche gerade meinen DIAMEX USB ISP-Programmer für Atmel AVR zum 
Laufen zu bringen. leider scheitert es beim "Device Signature - Read", 
"Device Information - Read", "Fuses" und "Lock bits" im Microchip Studio 
7 unter Windows 10.


Folgender Aufbau:

Windows 10 64Bit
- COM Port 11 (DIAMEX)
  Baud Rate 115200 Bits/s

- COM Port 5 (Arduino Klon)


DIAMEX zu Arduino
- Grüne LED leuchtet konstant
  Alle DIP Schalter auf OFF (da ich über USB eine externe Versorgung 
habe)

  PIN1 (MOSI) - MOSI PIN11;
  PIN5 (RESET) - RESET;
  PIN7 (SCK) - SCK PIN13;
  PIN9 (MISO) - MISO PIN12;


Arduino
- Betriebs LED leuchtet konstant


Microchip Studio 7
- Tools > Add Target > STK500 COM11 > Apply
  Tools > Device Programming


Kann mir jemand erklären, was ich falsch mache?

von Harald K. (kirnbichler)


Lesenswert?

Hast Du mal AvrDude ausprobiert? Das gibt möglicherweise 
aufschlussreichere Fehlermeldungen aus als Microchip Studio.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Harald K. schrieb:
> Das gibt möglicherweise aufschlussreichere Fehlermeldungen aus als
> Microchip Studio.

In diesem Falle auch nicht viel: wenn der Programmer 0xC0 meldet 
(RSP_FAILED), dann kann auch AVRDUDE nicht viel mehr erzählen.

Man müsste jetzt analysieren:

* funktioniert die Hardware (kann man ISP mit einem anderen Programmer 
machen)
* könnte es an der Firmware des Diamex liegen
* stimmt doch noch irgendeine Einstellung nicht (auf den ersten Blick 
sehen sie schlüssig aus)
* ach, und: hat der Target-AVR Versorgungsspannung?

von Wastl (hartundweichware)


Lesenswert?

Mirko schrieb:
> PIN1 (MOSI) - MOSI PIN11;
>   PIN5 (RESET) - RESET;
>   PIN7 (SCK) - SCK PIN13;
>   PIN9 (MISO) - MISO PIN12;

Masse nicht angeschlossen bzw. verbunden?

Zu einer vollständigen Anschluss-Liste gehört auch ein
Masseanschluss. Übliche Programmieradapter möchten auch
eine Verbindung Vtg (V Target) abgesättigt haben.

von Mirko (mirkomikro)


Angehängte Dateien:

Lesenswert?

Harald K. schrieb:
> Hast Du mal AvrDude ausprobiert? Das gibt möglicherweise
> aufschlussreichere Fehlermeldungen aus als Microchip Studio.


Wenn ich etwas über AVRDUDESS auslesen möchte kommt folgende 
Fehlermeldung:
>>>: avrdude
>>>: avrdude -c stk500v2 -P COM11 -b 115200 -p m8
WARNING: Unable to detect MCU

avrdude.exe: ser_open(): can't open device "\\.\COM11": Zugriff 
verweigert


avrdude.exe: opening programmer "stk500v2" on port "COM11" failed

avrdude.exe done.  Thank you.


***


Jörg W. schrieb:
> Harald K. schrieb:
> * funktioniert die Hardware (kann man ISP mit einem anderen Programmer
> machen)
> * könnte es an der Firmware des Diamex liegen
> * stimmt doch noch irgendeine Einstellung nicht (auf den ersten Blick
> sehen sie schlüssig aus)

Wie soll ich das überprüfen?


> * ach, und: hat der Target-AVR Versorgungsspannung?

Der Arduin Klon ist über USB am PC verbunden über COM5 und die Betriebs 
LED leuchtet konstant, also nehm ich an, ja!


***


Wastl schrieb:
> Mirko schrieb:
>> PIN1 (MOSI) - MOSI PIN11;
>>   PIN5 (RESET) - RESET;
>>   PIN7 (SCK) - SCK PIN13;
>>   PIN9 (MISO) - MISO PIN12;
>
> Masse nicht angeschlossen bzw. verbunden?
>
> Zu einer vollständigen Anschluss-Liste gehört auch ein
> Masseanschluss. Übliche Programmieradapter möchten auch
> eine Verbindung Vtg (V Target) abgesättigt haben.

Masse habe ich testweise angeschlossen, es erscheinen die gleichen 
Fehlermeldungen. Außerdem wird im Microchip Studio 7 unter "Taget 
Voltage" 0V angezeigt. Ohne die Masse-Verbindung werden die korrekten 5V 
angezeigt.

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

Mirko schrieb:
> Masse habe ich testweise angeschlossen,

Was heißt denn testweise? Die muss IMMER angeschlossen sein! Alle 4 
IPS-Signale + Masse + VCC müssen angeschlossen sein. Und der IC braucht 
eine Stromversorgung, wenn der Programmieradapter keine liefert 
(Standard).

https://www.mikrocontroller.net/articles/AVR_In_System_Programmer#ISP

Miss die Spannung zwischen GND und VCC an deinem IC, dort müssen 3,3-5V 
anliegen.

> Fehlermeldungen. Außerdem wird im Microchip Studio 7 unter "Taget
> Voltage" 0V angezeigt. Ohne die Masse-Verbindung werden die korrekten 5V
> angezeigt.

Unsinn. Bist du ein Troll?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Mirko schrieb:
> Masse habe ich testweise angeschlossen, es erscheinen die gleichen
> Fehlermeldungen. Außerdem wird im Microchip Studio 7 unter "Taget
> Voltage" 0V angezeigt. Ohne die Masse-Verbindung werden die korrekten 5V
> angezeigt.

Masse "testweise"?

Klingt wie ein Aprilscherz, sorry. Masse ist das erste, was man 
anschließt.

Wenn dann "Target voltage 0" rauskommt, weißt du mit an Sicherheit 
grenzender Wahrscheinlichkeit, dass irgendwas mit der Verdrahtung foul 
ist. Was genau, das musst du nun ermitteln. Kontrolliere nochmal alle 
Anschlüsse.

Ggf. poste hier Fotos, aus denen die Verbindung von Diamex zu Arduino 
erkennbar ist.

von Wastl (hartundweichware)


Lesenswert?

Mirko schrieb:
> Masse habe ich testweise angeschlossen, es erscheinen die gleichen
> Fehlermeldungen. Außerdem wird im Microchip Studio 7 unter "Taget
> Voltage" 0V angezeigt. Ohne die Masse-Verbindung werden die korrekten 5V
> angezeigt.

Da stimmt ganz grob was nicht. Zeige ein hochauflösendes Foto
von deinem Aufbau (Controller mit Diamex angeschlossen).

von Mirko (mirkomikro)


Angehängte Dateien:

Lesenswert?

Falk B. schrieb:
> Mirko schrieb:
>> Masse habe ich testweise angeschlossen,
>
> Was heißt denn testweise? Die muss IMMER angeschlossen sein! Alle 4
> IPS-Signale + Masse + VCC müssen angeschlossen sein. Und der IC braucht
> eine Stromversorgung, wenn der Programmieradapter keine liefert
> (Standard).
>
> https://www.mikrocontroller.net/articles/AVR_In_System_Programmer#ISP
>
> Miss die Spannung zwischen GND und VCC an deinem IC, dort müssen 3,3-5V
> anliegen.
>
>> Fehlermeldungen. Außerdem wird im Microchip Studio 7 unter "Taget
>> Voltage" 0V angezeigt. Ohne die Masse-Verbindung werden die korrekten 5V
>> angezeigt.
>
> Unsinn. Bist du ein Troll?


In Der Anleitung stand unter "AVR Controller Verbinden" nichts von VCC 
oder GND. Ich nahm an, dass durch eine externe Spannungsversorgung , in 
meinem Fall der normale USB Anschluss diese Verbindung überflüssig 
macht.

Die Fehlermeldungen kann ich anhängen, das hat nix mit Troll zu tun. 
Aber ich bin ja hier um Hilfe zu suchen, deswegen bin ich ja gerne offen 
für alles!

***

Jörg W. schrieb:
> Mirko schrieb:
>> Masse habe ich testweise angeschlossen, es erscheinen die gleichen
>> Fehlermeldungen. Außerdem wird im Microchip Studio 7 unter "Taget
>> Voltage" 0V angezeigt. Ohne die Masse-Verbindung werden die korrekten 5V
>> angezeigt.
>
> Masse "testweise"?
>
> Klingt wie ein Aprilscherz, sorry. Masse ist das erste, was man
> anschließt.
>
> Wenn dann "Target voltage 0" rauskommt, weißt du mit an Sicherheit
> grenzender Wahrscheinlichkeit, dass irgendwas mit der Verdrahtung foul
> ist. Was genau, das musst du nun ermitteln. Kontrolliere nochmal alle
> Anschlüsse.
>
> Ggf. poste hier Fotos, aus denen die Verbindung von Diamex zu Arduino
> erkennbar ist.

Foto hab ich angehängt... hoffe das ist gut genug.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Mirko schrieb:
> In Der Anleitung stand unter "AVR Controller Verbinden" nichts von VCC
> oder GND. Ich nahm an, dass durch eine externe Spannungsversorgung , in
> meinem Fall der normale USB Anschluss diese Verbindung überflüssig
> macht.

Ist natürlich dahingehend erstmal passend, dass auf diese Weise 
tatsächlich eine (allerdings störanfällige) GND-Verbindung entsteht.

Eine Verbindung von Vtarget (Versorgungsspannung deines Controllers) zum 
Programmer entsteht aber damit nicht. Je nach Programmer kann dies nun 
ein Problem sein oder nicht. Gerade die Atmel-eigenen Programmer 
erwarten an Pin 2 die tatsächlich am Target benutzte Spannung, weil sie 
davon die Pegelwandler betreiben für die Signale zwischen Programmer und 
Target. Wie der Diamex das handhabt, weiß ich gerade nicht, aber die "0 
V" klingen danach, als würde er das ebenfalls erwarten.

(Pin 2 bezieht sich dabei auf den von Atmel genormten 6-Pin-Verbinder. 
Welcher Pin das beim von dir benutzten 10-Pin-Verbinder ist, müsstest du 
selbst recherchieren.)

von Falk B. (falk)


Lesenswert?

Mirko schrieb:
> Foto hab ich angehängt... hoffe das ist gut genug.

Hmmm. Warum hast du so ein Ding mit 10pol Kabel gekauft? Mit 6 pol wäre 
es deutlich einfacher, denn das passt direkt auf den Stecker ISCP! Augen 
auf beim Programmieradapterkauf! Dort ist doch auch ein 6pol Anschluß 
drauf! Der ist vermutlich der Richtige! Besorg dir ein passendes 6pol 
Kabel.

Das scheint dein Programmieradapter zu sein.

https://www.diamex.de/dxshop/USB-ISP-Programmer-fuer-Atmel-AVR

Und siehe da, der hat auf dem 6pol Anschluß die Standardbelegung! Plug & 
Play!

Warum willst du den Arduino mit einem externen Programmieradapter 
programmieren? Das kann man machen, braucht man aber nicht, wenn man die 
Arduino-IDE nutzt. Oder hast du den Bootloader gelöscht? Oder willt du 
nur den Programmieradapter testen?

von Christian (christiankpunkt)


Lesenswert?

Deine Jump-Wire an der Pfosten-Buchse sind Spiegel-Verkehrt

So ist der Gelbe an 5V und geht an GND auf dem Board.
Grün ist an MOSI, Orange ist an einem NC und so weiter

von Rainer W. (rawi)


Lesenswert?

Mirko schrieb:
> Foto hab ich angehängt... hoffe das ist gut genug.

Schaltplan?
Oder soll sich jetzt jeder selbst die Steckerbelegungen zusammensuchen, 
um zu gucken, was du dort zusammengesteckt hast?

von Georg M. (g_m)


Angehängte Dateien:

Lesenswert?

Verify connections

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Falk B. schrieb:
> Dort ist doch auch ein 6pol Anschluß
> drauf! Der ist vermutlich der Richtige! Besorg dir ein passendes 6pol
> Kabel.

Ich denke, dass das bei Diamex sogar dabei ist.

Warum sich der olle 10polige schon 20 Jahre lang derart hartnäckig (in 
manchen Köpfen) hält, wird mir ein ewiges Rätsel bleiben.

> Warum willst du den Arduino mit einem externen Programmieradapter
> programmieren?

Das hatte ich mich auch gefragt.

von Falk B. (falk)


Lesenswert?


von Stefan F. (Gast)


Lesenswert?

Mirko schrieb:
> avrdude.exe: ser_open(): can't open device "\\.\COM11": Zugriff
> verweigert

Also ist COM11 offenbar falsch oder durch ein anderes Programm belegt. 
Im Gerätemanager von Windows siehst du die richtige Port Nummer, wenn 
du das Gerät absteckst und wieder einsteckst, und dabei beobachtest, 
welches Gerät darauf reagiert.

Die Einstellung der Baudrate (und der anderen Parameter) in Windows ist 
irrelevant, weil dein Steuerprogramm sich selbst darum kümmert.

Dort sind ein paar relevante Infos: 
http://stefanfrings.de/isp_programmieradapter/index.html

von Christoph db1uq K. (christoph_kessler)


Angehängte Dateien:

Lesenswert?

Hier die Anschlussbelegung aus dem Diamex-Manual
https://www.diamex.de/dxshop/mediafiles//Sonstiges/diamex-avr-stick-2022.pdf
und dem Arduino-Plan
https://content.arduino.cc/assets/UNO-TH_Rev3e_sch.pdf

Also die richtigen Pins sind angeschlossen, ob alle Verbindungen stimmen 
müsste man noch prüfen. +5V ist jedenfalls nicht verbunden.
es gibt auch keine zwischengeschalteten Widerstände, wie bei der 
seriellen Schnittstelle, das hätte noch ein Problem sein können.

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Christoph db1uq K. schrieb:
> Also die richtigen Pins sind angeschlossen

Nein. Das Bild zeigt folgende Verbindungen:
1
Pin   Farbe   Signal Signal
2
10pol         ICP    Arduino
3
----- -----   -----  -------
4
1     grün    MOSI   MISO
5
3     orange  OSC*   SCK
6
5     rot     Reset  Reset   
7
9     weiss   MISO   MOSI    
8
2     gelb    VCC    GND

Mirko schrieb:
> 20230324_230011.jpg

s.a.
Christian schrieb:
> Deine Jump-Wire an der Pfosten-Buchse sind Spiegel-Verkehrt

von Harald K. (kirnbichler)


Lesenswert?

Stefan F. schrieb:
> Mirko schrieb:
>> avrdude.exe: ser_open(): can't open device "\\.\COM11": Zugriff
>> verweigert
>
> Also ist COM11 offenbar falsch oder durch ein anderes Programm belegt.
> Im Gerätemanager von Windows siehst du die richtige Port Nummer, wenn
> du das Gerät absteckst und wieder einsteckst, und dabei beobachtest,
> welches Gerät darauf reagiert.

Es kann durchaus sein, daß die Schnittstellennummer sogar korrekt ist, 
aber Reste alter Treiber und Schnittstellenzuweisungen Windows hier 
gründlich durcheinanderbringen.

Das kann man glücklicherweise entmisten, mit dem "COM Name Arbiter" von 
Uwe Sieber ist leicht ein sauberer Ausgangszustand wiederhergestellt.

https://www.uwe-sieber.de/misc_tools.html#arbiter

Erstaunlich, daß gut 12 Stunden dauerte, bis jemandem der 
Zugriff-verweigert-Fehler auffiel, aber offenbar hat der Threadstarter 
noch viele andere lustige Fehler gesammelt ...

von Rainer W. (rawi)


Lesenswert?

Harald K. schrieb:
> Das kann man glücklicherweise entmisten, mit dem "COM Name Arbiter" von
> Uwe Sieber ist leicht ein sauberer Ausgangszustand wiederhergestellt.

Ab Windows 10 Version 1903 sollte das nicht mehr nötig sein.

von Wastl (hartundweichware)


Lesenswert?

Jörg W. schrieb:
> Das hatte ich mich auch gefragt.

Durch die Vorgeschichte seines Arduinos kann ja der Bootloader
nicht (mehr) vorhanden sein, dann muss er mit ISP anfangen.

Oder er will gar nicht mit Arduino IDE und/oder Bootloader
arbeiten, dann wäre es um so verständlicher .....

von Mirko (mirkomikro)


Angehängte Dateien:

Lesenswert?

Jörg W. schrieb:
> Eine Verbindung von Vtarget (Versorgungsspannung deines Controllers) zum
> Programmer entsteht aber damit nicht. Je nach Programmer kann dies nun
> ein Problem sein oder nicht. Gerade die Atmel-eigenen Programmer
> erwarten an Pin 2 die tatsächlich am Target benutzte Spannung, weil sie
> davon die Pegelwandler betreiben für die Signale zwischen Programmer und
> Target. Wie der Diamex das handhabt, weiß ich gerade nicht, aber die "0
> V" klingen danach, als würde er das ebenfalls erwarten.
>
> (Pin 2 bezieht sich dabei auf den von Atmel genormten 6-Pin-Verbinder.
> Welcher Pin das beim von dir benutzten 10-Pin-Verbinder ist, müsstest du
> selbst recherchieren.)

Ich hab jetzt kein 6-poliges Kabel da, aber ich werde einfach 
weiblich-weiblich Steckbrücken hernehmen, solltle ja im Prinzip das 
gleiche Ergebnis bringen

***

Falk B. schrieb:
> Das scheint dein Programmieradapter zu sein.
>
> https://www.diamex.de/dxshop/USB-ISP-Programmer-fuer-Atmel-AVR
>
> Und siehe da, der hat auf dem 6pol Anschluß die Standardbelegung! Plug &
> Play!
>
> Warum willst du den Arduino mit einem externen Programmieradapter
> programmieren? Das kann man machen, braucht man aber nicht, wenn man die
> Arduino-IDE nutzt. Oder hast du den Bootloader gelöscht? Oder willt du
> nur den Programmieradapter testen?

Korrekt, ich hab noch die Bedienungsanleitung angehängt. Warst leider 
etwas  schneller.

Ich habe leider über eBay gekauft und da gab es nicht das 6 polige Kabel 
dazu wie im DIAMEX Shop. habe ich übersehen, dachte es wäre dabei... :(

Ich möchte im nächsten Schritt die Atmega328P Chips programmieren, 
weswegen ich es jetzt erstmal mit einem UNO testen möchte. Wenn das 
klappt würde ich mich ein Paar Chips bestellen.

***

Stefan F. schrieb:
> Also ist COM11 offenbar falsch oder durch ein anderes Programm belegt.
> Im Gerätemanager von Windows siehst du die richtige Port Nummer, wenn
> du das Gerät absteckst und wieder einsteckst, und dabei beobachtest,
> welches Gerät darauf reagiert.
>
> Die Einstellung der Baudrate (und der anderen Parameter) in Windows ist
> irrelevant, weil dein Steuerprogramm sich selbst darum kümmert.
>
> Dort sind ein paar relevante Infos:
> http://stefanfrings.de/isp_programmieradapter/index.html

Nööp in der Geräteverwaltung ist es COM11, siehe ersten Post, da habe 
ich den Ausschnitt aus derGeräteverwaltung beigefügt.

von Falk B. (falk)


Lesenswert?

Mirko schrieb:
> Ich hab jetzt kein 6-poliges Kabel da, aber ich werde einfach
> weiblich-weiblich Steckbrücken hernehmen, solltle ja im Prinzip das
> gleiche Ergebnis bringen
>
> ***

Sicher. Und funktioniert es jetzt? Hier im Dokument sieht man die Pins 
uns Signale.

https://content.arduino.cc/assets/A000066-full-pinout.pdf

P S Sehr geil! Arduino ist nun auch woke! Das wurde aber höchste Zeit!

"CIPO/COPI have previously been referred to as MISO/MOSI"

https://hackaday.com/tag/cipo/

Dafür saß Nelson Mandela 33 Jahre im Knast! Mit Erfolg!

https://de.wikipedia.org/wiki/Nelson_Mandela

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Mirko schrieb:
> Nööp in der Geräteverwaltung ist es COM11

Solange der Port nicht geöffnet werden kann, kannst du dir jede Fummelei 
an den Kabeln zum AVR und den Avrdude Parametern sparen. Dieses Problem 
muss zuerst gelöst werden.

von Falk B. (falk)


Lesenswert?

Stefan F. schrieb:
> Solange der Port nicht geöffnet werden kann, kannst du dir jede Fummelei
> an den Kabeln und den Avrdude Parametern sparen. Dieses Problem muss
> zuerst gelöst werden.

Microchip Studio erkennt das Ding doch! Das Gefrickel mit avrdude 
braucht man nicht.

von Mirko (mirkomikro)


Angehängte Dateien:

Lesenswert?

Georg M. schrieb:
> Verify connections

Also nach der Anleitung zu folge ist die Belegung anders. Siehe 
beigefügten Ausschnitt.

von Stefan F. (Gast)


Lesenswert?

Falk B. schrieb:
> Microchip Studio erkennt das Ding doch! Das Gefrickel mit avrdude
> braucht man nicht.

Dennoch funktioniert es auch mit dem Microchip Studio nicht. Ich bin es 
leider gewohnt, von grafischen Windows Anwendungen irreführende 
Fehlermeldungen zu erhalten.

Deswegen würde ich erst mal versuchen, den Port mit einem anderen 
Programm zu öffnen. Wenn ich avrdude nicht vertrauen würde (was nicht 
zutrifft), dann würde ich zur Probe ein Terminalprogramm versuchen.

von Falk B. (falk)


Lesenswert?

https://www.heise.de/select/make/2020/4/2014805250724798204

"Es hilft, behutsam und ohne viel Aufhebens neutrale Begrifflichkeiten 
einzuführen – „Controller“ und „Peripherie“ sind schon mal ein 
brauchbarer Ansatz, weil sie keinen Bezug auf Menschen und unrühmliche 
Ereignisse nehmen. Allzu lautes Säbelrasseln jedoch wird nur wieder jene 
Kleingeister auf den Plan rufen, die bei Facebook „Teile diesen 
Negerkuss, um linksgrünversiffte Gutmenschen zu ärgern!“ posten. "

In der Tat! Ich wär dabei (als alter, weißer, CIS-Mann) ;-)

von Wastl (hartundweichware)


Lesenswert?

Mirko schrieb:
> Also nach der Anleitung zu folge ist die Belegung anders. Siehe
> beigefügten Ausschnitt.

Du scheinst noch nicht verstanden zu haben dass man auf
Steckverbinder von oben oder von unten draufschauen kann und
dadurch je nach Sichtweise ein ganz anderes Bild der Pin-
zuordnung entstehen kann.

Übliche Steckverbinder werden in Dokumentationen "von oben"
dargestellt, heisst eine Stiftleiste betrachtet man wie sie
von obem auf der Platine zu sehen ist. Das Gegenstück der
Stiftleiste (der Buchsenkörper) weist naturgemäss eine
"andere" Pinzuordnung auf.

von Rainer W. (rawi)


Lesenswert?

Mirko schrieb:
> Also nach der Anleitung zu folge ist die Belegung anders.

Anders als was?
Die Pinbelegung vom ISP-Anschluss kannst du auch hier nachlesen:
https://www.mikrocontroller.net/articles/AVR_In_System_Programmer#ISP

Deine Verschaltung erzeugt einen Kurzschluss zwischen VCC-Pin vom Diamex 
und dem Gnd vom Arduino, überkreuzt MOSI und MISO und versorgt den 
Arduino nicht mit dem SPI-Clock vom Diamex. Das solltest du erstmal 
beheben und dabei hoffen, dass sowohl der Programmer als auch der 
Arduino das alles überlebt haben.

Was hast du aktuell als Bootloader auf dem Arduino Board?

von Rainer W. (rawi)


Angehängte Dateien:

Lesenswert?

Wastl schrieb:
> Du scheinst noch nicht verstanden zu haben dass man auf
> Steckverbinder von oben oder von unten draufschauen kann und
> dadurch je nach Sichtweise ein ganz anderes Bild der Pin-
> zuordnung entstehen kann.

Der Pin 1 am Stecker vom 10-pol Kabel ist normalerweise nun wirklich 
eindeutig und unverwechselbar mit dem Dreieck gekennzeichnet. Da gibt es 
wenig Spielraum für Diskussionen?

von Mirko (mirkomikro)


Lesenswert?

Falk B. schrieb:
> Mirko schrieb:
>> Ich hab jetzt kein 6-poliges Kabel da, aber ich werde einfach
>> weiblich-weiblich Steckbrücken hernehmen, solltle ja im Prinzip das
>> gleiche Ergebnis bringen
>>
>> ***
>
> Sicher. Und funktioniert es jetzt? Hier im Dokument sieht man die Pins
> uns Signale.

Super funktioniert!!!! Vielen Dank an Alle!!! Der Spruch "Augen auf beim 
Programmer Kauf" hat sich wohl wieder bewahrheitet!

Mit dem 6poligen Anschluss kann ich nun auf den China Klon zugreifen.

Witzigerweise wird der billige China Klon (wahrscheinlich ein LGT8F328P) 
als Atmega328P erkannt, aber ein Funduino (Arduino kompatibel) mit einem 
richtigen ATMEGA328P U Chip drauf als ATmega16U2 erkannt. Was soll man 
davon halten??

von Falk B. (falk)


Lesenswert?

Mirko schrieb:
> Witzigerweise wird der billige China Klon (wahrscheinlich ein LGT8F328P)
> als Atmega328P erkannt, aber ein Funduino (Arduino kompatibel) mit einem
> richtigen ATMEGA328P U Chip drauf als ATmega16U2 erkannt. Was soll man
> davon halten??

Daß du beim 2. den falschen ISP-Stecker erwischt hast. Denn dort sind 2 
drauf, einer für den "richtigen" AVR, der als Arduino arbeitet und einer 
für den "unsichtbaren" AVR, der nur als USB-UART Wandler arbeitet.

von Christoph db1uq K. (christoph_kessler)


Angehängte Dateien:

Lesenswert?

Ich korrigiere meine Aussage, am Arduino sind die richtigen Pins 
verdrahtet, aber am Diamex-Stecker spiegelverkehrt.
Zusätzlich sind MOSI/MISO gekreuzt, daher muss auch noch weiß mit grün 
gekreuzt werden.

Diese Bezeichnungen sind immer etwas verwirrend.

Wenn man am SPI "Rx/Tx" oder "Data-in/Data-out" schreibt, müssen die 
über Kreuz verbunden werden, auf beiden Seiten  Data-out raus und 
Data-in rein.

Die Bezeichnungen MOSI und MISO sind nicht eindeutig, es kommt darauf 
an, ob der Arduino und der Programmer als Master oder Slave geschaltet 
sind. Diamex hat sie so bezeichnet, dass identische Namen verbunden 
werden, oder wie ein Kollege gern sagte "Pin auf Pin - das haut hin".

von Stefan F. (Gast)


Lesenswert?

Christoph db1uq K. schrieb:
> Die Bezeichnungen MOSI und MISO sind nicht eindeutig, es kommt darauf
> an, ob der Arduino und der Programmer als Master oder Slave geschaltet
> sind.

Für mich klar, dass der Programmieradapter der Master ist, und dass 
diese Pins immer 1:1 miteinander verbunden werden müssen (egal wer jetzt 
der Master ist).

> Diamex hat sie so bezeichnet, dass identische Namen
> verbunden werden

So ist es richtig. Verwechsele das bitte nicht UART Schnittstellen, die 
über Kreuz verbunden werden.

von Mirko (mirkomikro)


Lesenswert?

Falk B. schrieb:
> Mirko schrieb:
>> Witzigerweise wird der billige China Klon (wahrscheinlich ein LGT8F328P)
>> als Atmega328P erkannt, aber ein Funduino (Arduino kompatibel) mit einem
>> richtigen ATMEGA328P U Chip drauf als ATmega16U2 erkannt. Was soll man
>> davon halten??
>
> Daß du beim 2. den falschen ISP-Stecker erwischt hast. Denn dort sind 2
> drauf, einer für den "richtigen" AVR, der als Arduino arbeitet und einer
> für den "unsichtbaren" AVR, der nur als USB-UART Wandler arbeitet.

Stimmt, da ist noch ein kleinerer ATMEGA16U2 auf dem Board... deswegen 
hat er auch zwei ICSP Anschlüsse, hab mich schon gewundert.

von Rainer W. (rawi)


Lesenswert?

Christoph db1uq K. schrieb:
> Diese Bezeichnungen sind immer etwas verwirrend.

Was ist daran verwirrend?
Master/Controller ist bei SPI derjenige, der den Takt ausgibt. Damit ist 
klar, wer auf COPI und CIPO der Sender ist.

Besser als "RX" und "TX", wo nie klar ist, ob das aus der Sicht des 
Datenverbindung oder aus Sicht des Gerätes bezeichnet ist. Und ganz 
spaßig wird es mit TX/RX bei bidirektionalen Signalen (z.B.RS485 Bus)

von Stefan F. (Gast)


Lesenswert?

Mirko schrieb:
> Stimmt, da ist noch ein kleinerer ATMEGA16U2 auf dem Board... deswegen
> hat er auch zwei ICSP Anschlüsse, hab mich schon gewundert.

Wenn du den jetzt umprogrammiert hast, ist dein USB-UART Adapter auf dem 
Board, weil das nämlich die Aufgabe dieses Chips ist. Die Firmware 
müsste irgendwo im Arduino Verzeichnis liegen, falls du sie mit deinem 
ISP Adapter wieder herstellen willst.

von Mirko (mirkomikro)


Angehängte Dateien:

Lesenswert?

Stefan F. schrieb:
> Mirko schrieb:
>> Stimmt, da ist noch ein kleinerer ATMEGA16U2 auf dem Board... deswegen
>> hat er auch zwei ICSP Anschlüsse, hab mich schon gewundert.
>
> Wenn du den jetzt umprogrammiert hast, ist dein USB-UART Adapter auf dem
> Board, weil das nämlich die Aufgabe dieses Chips ist. Die Firmware
> müsste irgendwo im Arduino Verzeichnis liegen, falls du sie mit deinem
> ISP Adapter wieder herstellen willst.

Ich hab nichts programmiert, nur immer "READ" gewählt.

***

Irgendwie krieg ich's nicht gebacken.
der ATMEGA328P vom China-Klon ist lesbar, aber beim Funduino (Arduino 
Kompatibel) kann ich den ATMEGA16U2 auslesen, aber beim Atmega328P 
kommen wieder Fehlermeldungen. Obwohl ich gleiche PIN-Belegung 
übernommen habe.

Kann da ein Defekt vorliegen, oder ein Schreibschutz drauf sein?

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Mirko schrieb:
> Ich hab nichts programmiert, nur immer "READ" gewählt.

Glück gehabt. Muss auch mal sein :-)

von Stefan F. (Gast)


Lesenswert?

Mirko schrieb:
> Kann da ein Defekt vorliegen, oder ein Schreibschutz drauf sein?

Unwahrscheinlich. Das Board aber schon eine externe Stromversorgung 
(bzw. via USB), oder etwa nicht?

Wobei... wegen deinem vorherigen Kurzschluss ist genau der Teil jetzt 
vielleicht kaputt. Messe mal am ISP Stecker nach, hat der AVR noch 5V? 
Kontrolliere auch die Reset Leitung, die sollte im Ruhezustand ebenfalls 
5V haben.

von Mirko (mirkomikro)


Lesenswert?

Stefan F. schrieb:
> Mirko schrieb:
>> Kann da ein Defekt vorliegen, oder ein Schreibschutz drauf sein?
>
> Unwahrscheinlich. Das Board aber schon eine externe Stromversorgung
> (bzw. via USB), oder etwa nicht?

Korrekt!

> Wobei... wegen deinem vorherigen Kurzschluss ist genau der Teil jetzt
> vielleicht kaputt. Messe mal am ISP Stecker nach, hat der AVR noch 5V?
> Kontrolliere auch die Reset Leitung, die sollte im Ruhezustand ebenfalls
> 5V haben.

Kann nicht sein, ersens hab ich keinen Kurzschluss verursacht, da ich 
die PINS gar nicht genutzt habe noch falsch gesteckt habe. Außerdem habe 
ich die ersten Versuche mit dem China-Klon gemacht, dass ja 
funktioniert. Das Arduino Kompatible Board habe ich jetzt zum Schluss 
angesteckt.

Nichtsdestotrotz messe ich mal nach, ob ich einen Kurzschluss verursacht 
habe. Wäre ja nicht das erste mal ;)

***

Nachtrag:

Der Fehler ist gefunden, ich hab den IC das letzte mal falsch rum 
eingesetzt. Jaja, ich kann euer Lachen hören... Man muss halt immer vom 
DAU ausgehen und das habe ich in meinem Fall auch gemacht, selbst wenn 
man es selbst ist, ne?

Super! Ich bin zufrieden! Ziel für dieses WE erreicht. Danke für die 
zahlreiche Hilfe. Bin ich sehr begeistert von, vorallem kein 
Unterbuttern sondern konstruktiv.

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Mirko schrieb:
> Kann nicht sein, ersens hab ich keinen Kurzschluss verursacht

Warum sollte die Spannung sonst zusammengebrochen sein?
Dein Foto zeigt eine Verbindung von VCC des Diamex mit Gnd des Arduino.
Je nach Schalterstellung kann das wahrscheinlich durchaus zu einem 
Kurzschluss führen.

Mirko schrieb:
> Masse habe ich testweise angeschlossen, es erscheinen die gleichen
> Fehlermeldungen. Außerdem wird im Microchip Studio 7 unter "Taget
> Voltage" 0V angezeigt.

Falk B. schrieb:
> Das scheint dein Programmieradapter zu sein.
> https://www.diamex.de/dxshop/USB-ISP-Programmer-fuer-Atmel-AVR

Eher nicht, der Programmer von Mirko hat zumindest einen 4-fach 
Dip-Schalter drauf, keinen 2-fach.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

„Controller“ und „Peripherie“
Die Bezeichnungen helfen auch nicht weiter wie Master/Slave, 
Datenendeinrichtung/Datenübertragungseinrichtung (RS232) oder 
Host/Device (USB).

Bei RS232 war die Bezeichnung für ein Telefonmodem am Computer noch 
klar. Wenn man aber eine Drucker seriell anschloss war der plötzlich das 
Endgerät, in dem die Daten verschwanden.
Dafür hat die Adapterindustrie das Nullmodem erfunden, und um 
sicherzugehen noch den Zwischenstecker mit mehreren LED zur Kontrolle.

Dann ersetzte IBM irgendwann den DSub25 durch DSub9, wieder ein 
Geldsegen für die Adapter/Kabelhersteller. Von den 
Variationsmöglichkeiten der verbliebenen fünf Handshakeleitungen nicht 
zu reden, RTS CTS DSR DTR RI.

Den parallelen Druckerport hatte man ebenfalls mit DSub25 "genormt". Um 
Verwechslungen zu vermeiden eine Buchse im PC statt Stiften.
Was einen Kollegen nicht hinderte, einen Dongle auf den falschen Port zu 
stecken. Der Softwarelieferant ließ sich wenigstens überzeugen, nur 
einen neuen Dongle zu berechnen, statt die ganze Software.

Beim USB-Bus versuchte man durch unterschiedliche Stecker Typ A/B die 
Verwirrung zu verhindern.
Und so hat heute ein Oszilloskop eben zwei USB-Anschlüsse 
unterschiedlichen Typs, zum Drucker und zum PC hin.

von Harald K. (kirnbichler)


Lesenswert?

Christoph db1uq K. schrieb:
> Und so hat heute ein Oszilloskop eben zwei USB-Anschlüsse
> unterschiedlichen Typs, zum Drucker und zum PC hin.

Es dürfte nicht mehrl allzulange dauern, bis das nicht mehr der Fall 
ist, und USB-C auch in Oszilloskopen auftaucht. Die werden dann aber 
selbst rausfinden können, was angeschlossen ist, ein USB-Host oder ein 
USB-Device.

Das schaffen andere Geräte mit USB-C auch schon, ja, das ging sogar 
schon zu Zeiten der lausigen Micro-USB-Stecker, aus der Zeit nämlich 
stammt USB OTG.

Ich sehe das in mehrfacher Hinsicht als großen Fortschritt gegenüber den 
vielen Interpretationen von RS-232 an, die oft auch auf schierem 
Nichtwissen seitens der Anwender, aber auch der Gerätehersteller selbst 
ruhten.

Denn leider haben es auch viele Hersteller nicht hinbekommen, Stecker 
und Buchsen auf die richtige Art und Weise (DCE und DTE) zu verwenden, 
sondern haben nur zu oft ihre eigenen wirren "Werksstandards" 
entwickelt, für die man dann entweder einen "Gender-Changer" (darf man 
das heute eigentlich noch sagen?) oder gar ein individuell angefertigtes 
Adapterkabel brauchte. Das hübscheste, dem ich mal begegnete, war eine 
an sich korrekt belegter DTE-Buchse, aber mit vertauschtem Rx/Tx.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Das sollte auch nur Mirkos Verdrahtungsfehler relativieren, das passiert 
schon seit vielen Jahren immer wieder.

>Steckverbinder von oben oder von unten draufschauen
Einen Flachkabelstecker kann man in vier Richtungen auf ein 
(farbmarkiertes) Flachkabel aufcrimpen, nur eine stimmt. Zwei sind 
spiegelverkehrt und einer hat den Kabelabgang nach der falschen Seite.
Wenn dann noch der Steckerhersteller die Nase weggelassen hat, kann man 
den beliebig oft wieder falsch aufstecken. Das Dreieck für Pin1 fehlt 
auch gerne mal aus Rationalisierungsgründen. shit happens!

>USB OTG
ja der Fortschritt wurde damals gepriesen. Endlich kann der Fotoapparat 
direkt auf den Drucker drucken, ohne PC dazwischen.

von C-hater (c-hater)


Lesenswert?

Christoph db1uq K. schrieb:

>>USB OTG
> ja der Fortschritt wurde damals gepriesen. Endlich kann der Fotoapparat
> direkt auf den Drucker drucken, ohne PC dazwischen.

Ja toll...

Ich habe noch so einen Drucker (weil: letzte Generation mit nicht 
verdongelten Tintenpatronen), konkret Canon i560x.

Die PC-lose Funktionalität konnte man aber wirklich voll in der Pfeife 
rauchen.

Zum einen kam nach Einstöpseln des Mediums erstmal zwingend ein (oder 
mehrere bis viele) Blätter mit Thumbs raus. Die einzelnen Thumbs 
natürlich viel zu klein, um bei mehrfach aufgenommenen Motiven zu 
entscheiden, welches man davon tatsächlich drucken will. Also völlig 
nutzlos, aber: schonmal ordentlich Tinte verbraucht...

Und dann der eigentliche Bilddruck: keinerlei Eingriffsmöglichkeiten. 
Bedruckt wird immer eine möglichst große Fläche des Papiers. Es wird 
immer das Bild-Ratio gewählt, was dieses Primärziel sicher stellt. Wenn 
also das Ziel das (unveränderlich standardmäßig gesetzte) A4-Papier ist 
und das Bild im 16:9-Querformat aufgenommen ist, wird das Bild um 90° 
gedreht. EXIF-Information zur Aufnahmelage? Völlig unwichtig, 
Hauptsache: ordentlich Tinte verbraucht...

Nun, man braucht sich wohl nicht zu wundern, dass diese Scheiße sich 
nicht so richtig durchsetzen konnte...

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.