Zwei nanos, einen als Programmer

Hey, bin eigentlich nicht der Typ, der sich in einem Forum anmeldet und direkt mit Fragen um sich schmeißt. Jedoch werde ich wohl wenig mit Arduinos zu tun haben und deswegen frag ich einfach mal.

Ich habe auf einer Website gesehen, dass man den nano nutzen kann um die Originalelektronik von meinem PC Lenkrad zu emulieren. Nun habe ich mir soweit alles nötige zugelegt und wollte anfangen ...

Nun meine frage: kann ich einen Nano mit dem anderen Nano als ISP überhaupt programmieren ? Ich muss halt den Bootloader vom target weg bekommen, da sonst der spaß nicht vom lenkrad erkannt wird

Das geht völlig problemlos. Hier z.B. sogar auf Deutsch.

arakon:
Das geht völlig problemlos. Hier z.B. sogar auf Deutsch.

Einen Fehler hat dieser Artikel.
Da fehlt der Elko 10μF am Reset des Programmers gegen GND.
Der ist nötig, damit dieser nicht beim Flashen des Bootloaders selbst resettet und neu startet.

HotSystems:
Einen Fehler hat dieser Artikel.

Dachte ich auch, aber dann fand ich:

Update 14.04.2020

Anscheinend muss an manchen Arduino Nano Boards ein 10µF Kondensator zwischen RST und GND des Programmiergerätes angebracht werden.

Allerdings sollte es viel besser plaziert sein!

agmue:
Dachte ich auch, aber dann fand ich:
Allerdings sollte es viel besser plaziert sein!

Ah....ok.
Allerdings bin ich bei der Wärme zu bequem, den kompletten Text durchzulesen.
Sowas gehört auch in die Zeichnung.
Und schaden kann es nicht, wenn der zum Programmieren immer dran hängt.

Ok, ja den Artikel hab ich auch schon gelesen. Jedoch verstehe ich nicht so ganz wie es funktionieren soll ?
Ich habe alles so gemacht wie es in dem Artikel steht, trotzdem bekomme ich die meldung

expected signature for atmega328p is 1e 95 0f
Check all connections or use -F to overwrite

Nun, alle Verbindungen geprüft aber alles war ok. Als nächstes habe ich versucht mal Optiboot zu flashen, aber vergeblich. Ich bekomme einfach nichts auf den zweiten nano (target) drauf. Sie haben halt beide noch den alten bootloader da ich sie von einem kollegen abgekauft habe.
Er hat sich die irgendwann mal zugelegt aber nie genutzt.

Das mit dem ELKO hab ich auch gemacht. Dadurch erkennt er wenigstens dass irgendwas dran ist zum flashen und winkt nicht gleich ab.

Poste doch mal ein deutliches Foto deines Aufbaus.
Evtl. können wir ja was erkennen.

[Old Bootloader]
In der Datei c:\Program Files (x86)\arduino-1.8.13\hardware\arduino\avr\boards.txt kannst Du die Reihenfolge der Einträge ändern, damit "Old Bootloader" zum Standard wird.

Nach einer Idee von combie.
[\Old Bootloader]

disnect:
Ich muss halt den Bootloader vom target weg bekommen, ...

disnect:
Ich habe alles so gemacht wie es in dem Artikel steht, ...

Das ist ein Widerspruch, denn der Nano hat ja einen Bootloader, den Du aber nicht willst. Du benötigst daher eine Variante mit einem leeren Bootloader.

Ich habe eine Erweiterung Mini Core, wo ich den Bootloader abwählen kann:

ATmega328P_ohne_Bootloader.png

Da mir bislang die Notwendigkeit fehlte, habe ich das aber noch nicht probiert.

Dein derzeitiges Problem dürfte aber ein anderes sein, denn wenn es mit Bottloader nicht geht, funktioniert es auch nicht ohne.

ATmega328P_ohne_Bootloader.png

Steinigt mich bitte nicht für den unprofessionellen Aufbau, danke.

In dem aufbau habe ich die zwei ICSP ports miteinander verbunden, also GND auf GND, MISO auf MISO und so weiter.

Ich habe es auch schon mit anderen Verbindungsmöglichkeiten wie z.b mit der Möglichkeit im oben genannten Artikel.

Also:
ISP - Target

GND - GND
5V - VIN
D10 - RST
D11 - D11
D12 - D12
D13 - D13

Funzt alles nicht. Hat es vielleicht etwas damit zu tun, dass beide Boards identisch sind und die Arduino IDE die Boards nicht auseinander halten kann ?

Hi

Nein

Der Rechner 'sieht' nur den Arduino, Der am USB hängt.
Der Andere ist Ihm völlig unbekannt - Der ängt ja auch nur an ISP des Arduino!!
Hast Du am RST des USB-Arduino einen Kondensator?
Also, daß Der den Reset-Impuls der IDE 'überlebt'?

MfG

Den 10uF ELKO hab ich am Programmer zwischen GND und RST.

Um die ArduinoISP auf den Programmer zu laden habe ich AVRISP mkII ausgewählt und einfach nur Hochladen geklickt. Dann habe ich das Target über jegliche Anschlussmöglichkeit an den ISP Arduino angeschlossen und über den Arduino as ISP Programmer versucht mein Sketch, das ich von der Seite ganz oben habe, über den punkt "hochladen mit Programmer" zu flashen. Dabei kam die oben genannte Fehlermeldung.

das mit dem 5V zu 5V hab ich auch schon versucht... Kein anderes Ergebnis.

auch habe ich schon versucht die Zeile // #define USE_OLD_STYLE_WIRING im ArduinoISP Sketch zu entfernen und dann mit de Bearbeitet Sketch den Ablauf gemacht.

Den Bootloader muss ich runter bekommen, damit der Arduino direkt mit dem arbeiten anfängt und nicht erst 2 Sekunden nachdem er Strom hat. Ansonsten erkennt die Original Lenkradelektronik den Arduino nicht richtig und somit wird das Lenkrad im Treiber nicht richtig erkannt.

Schade das man auf deinem Foto nix richtig erkennen kann.

Warum baust du sowas nicht erst mal auf einem Steckbrett auf und verwendest unterschiedliche Farben für die Kabel.
Dann könnte man sicher etwas erkennen. So jedenfalls nicht.

Da können wir nur weiter raten.

du darfst nicht RST mit RST am ICSP verbinden, sondern Quelle D10 mit Target RST

ardubu:
du darfst nicht RSR mit RST am ICSP verbinden, sondern Quelle D10 mit Target RST

Und das hast du auf den Bildern erkannt ?
Lt. seiner Beschreibung hat er es richtig gemacht.

Hi Leute,

Also bei mir hat jetzt alles funktioniert, danke für eure Hilfe. Zwar habe ich nichts anders gemacht als bei meinen anderen Versuchen auch, aber das war sicherlich der Vorführeffekt weil ich nun alles für euch dokumentiert habe. UNTEN SIND ALLE QUELLEN VERLINKT

Erstmal habe ich den ersten Arduino angeschlossen und das ArduinoISP Sketch aufgespielt.

In Bild 1 sieht man die von mir gewählten Einstellungen in der Arduino IDE.

Nun habe ich den ISP Programmer (ersten Arduino) mit dem zweiten (Target) verbunden, und zwar wie folgt.

(Programmer - Target)

GND - GND
+5V - +5V
D10 - RST
D11 - D11
D12 - D12
D13 - D13

und auf dem Programmer Arduino habe ich einen 10uF ELKO zwischen GND und RST gesteckt (kürzerer Draht zu GND).

Dies ist zu sehen in Bild 2,3 und 4.

Nun habe ich mein t150_wheel_emu_15buttons-1.03 Sketch geöffnet den Programmer Arduino wieder an den PC angeschlossen und meine Einstellungen geändert.

zu sehen in Bild 5

zu guter letzt habe ich das Sketch via Hochladen mit Programmer hochladen können ohne Probleme.

zu sehen in Bild 6

Was der Grund für mein anfängliches scheitern war, kann ich nicht sagen. Vielleicht kann es mir irgendjemand aus dem Forum erklären. Meines Wissens nach habe ich nichts anders gemacht als bei meinen ersten Versuchen.

Quellen:

ArduinoIDE: https://www.arduino.cc/en/main/software#

Lenkrad Anleitung(thrustmaster T150/TMX): My techy life | Various tech notes to remember. Hiya!

Meine Arduino Klone: https://bit.ly/2ZhOd4L

disnect:
Also bei mir hat jetzt alles funktioniert, danke für eure Hilfe. Zwar habe ich nichts anders gemacht als bei meinen anderen

Doch, du hattest zuvor die Kabel falsch angeschlossen.
ardubu hatte es dir geschrieben und das ist tatsächlich so.

Was der Grund für mein anfängliches scheitern war, kann ich nicht sagen. Vielleicht kann es mir irgendjemand aus dem Forum erklären.

Wie zuvor schon geschrieben.
Wenn du gleich unterschiedliche Farben genommen hättest, wäre dir das sicher auch aufgefallen.

disnect:
Also bei mir hat jetzt alles funktioniert, danke für eure Hilfe.

Glückwunsch!

Danke für Deine Dokumentation, ich verleihe Dir feierlich ein Fleißkärtchen!

Allerdings bezweifle ich, daß Dein Nano nun keinen Bootloader drauf hat, was ja Zweck der Übung sein soll.

Nein, das hat nichts mit den Farbigen Kabeln zu tun. Ich hatte ihn davor auch schon mit farbigen Kabeln genau so angeschlossen wie auf den Bildern zu sehen ist. Nur für die Verbindung mit den ISCP port habe ich mir nochmal 6 gleich lange stücke zurecht geschnitten.

Also soweit ich weiß, löscht sich doch der Bootloader wenn man überhaupt einen ISP flasht ? Oder bin ich da auf dem Holzweg.

Naja, und wenn schon ich habe das ganze nun so gemacht wie es in der Anleitung dazu gestanden ist und hoffe es funktioniert jz auch so wie es soll. Das wird sich dann die nächsten Tage zeigen.

Mag ja sein, dass die Farbe da nix mit zu tun hat, aber die gelben Kabel waren falsch verdrahtet, zumindest eins davon.

Und ja, wenn du per ISP den Sketch flashst, wird der Bootloader gelöscht.

HotSystems:
Und ja, wenn du per ISP den Sketch flashst, wird der Bootloader gelöscht.

Bist Du sicher? In der boards.txt steht:
nano.menu.cpu.atmega328old.bootloader.file=atmega/ATmegaBOOT_168_atmega328.hex
Ohne müßte es beispielsweise so aussehen:
328.menu.bootloader.false.bootloader.file=empty/empty.hex
Also wird doch ein Bootloader übertragen, oder?