Arduino als ISP: IC-Swapping

Normalerweise verwende ich mein Arduino als ISP-Programmierer.

Nehmen wir an, ich möchte den Blink-LED-Code für meinen ATmega328 mit dem bereits enthaltenen Bootloader programmieren.

Kann ich es einfach klassisch programmieren und den Chip aus dem Arduino ziehen? Gibt es ein Problem, so etwas zu tun? Klingt einfacher und schneller.

(Ich spreche nur von ATmega328 mit dem bereits enthaltenen Bootloader, nicht von ATtiny oder anderen ATmega-Chips.)

Antworten (4)

Kurze Antwort: Ja, das können Sie.

Längere Antwort, die hauptsächlich das Offensichtliche für diejenigen angibt, die sie möglicherweise benötigen:

  • Offensichtlich würde man einen Arduino mit DIP-Sockel und DIP-ATmega-Mikrocontrollern benötigen - während das klassische Uno und einige andere Arduino-Boards dies haben, sind einige der neueren nur SMD-Boards.
  • Dies funktioniert nicht mit einer frischen ATmega-MCU, dh einer ohne Bootloader - dies wird natürlich bereits in der Frage angesprochen
  • Die Mikrocontroller-ICs können empfindlich sein – sowohl auf unsachgemäße Handhabung beim Herausziehen des ICs (Stifte brechen) als auch auf mögliche ESD-Schäden, wenn die Stifte nicht sorgfältig behandelt werden. Die ATmega-Familie ist jedoch ziemlich robust, sodass ESD kein so großes Risiko darstellt
  • Wenn diese Programmiermethode für eine Reihe von MCUs durchgeführt werden soll, wäre es besser, ein Steckbrett oder einen ZIF-Sockel anstelle des Sockels auf dem Arduino zu verwenden

Kann ich es einfach klassisch programmieren und den Chip aus dem Arduino ziehen?

Sicher, Sie können den Chip (der bereits einen Bootloader hat) auf das Arduino-Board legen, programmieren und dann können Sie ihn herausziehen und auf ein Steckbrett legen (Verbinden der Vorräte und des Kristalls) und es wird gut funktionieren.

Anders ausgedrückt: Sie können jeden leeren Chip wie Mega88/168 nehmen, ihn auf ein Steckbrett legen, ihn einmal mit dem Arduino-Bootloader programmieren (unter Verwendung eines seriellen ISP-Programmierers) und danach die bootloaded-Funktionalität verwenden, um den Chip zu programmieren auf dem Steckbrett.

Das ist nicht genau das Problem (oder ich verstehe Ihre Antwort nicht). Ich spreche nicht davon, den IC auf einem Steckbrett zu programmieren, sondern den IC, den ich programmieren möchte, "auf" das Arduino zu legen.
@EmmanuelIstace Das wird nicht funktionieren, der Bootloader befindet sich im eigentlichen Chip. Wenn Sie also einen leeren verwenden, gibt es keinen Bootloader
Ich habe in der Frage erwähnt, dass der von mir verwendete Chip tatsächlich mit dem Bootloader vorprogrammiert ist.
@EmmanuelIstace Dann gilt meine ursprüngliche Antwort. Sie können den Chip auf dem Arduino-Board programmieren und dann herausziehen, auf ein Steckbrett legen und damit den Code ausführen.
Ah ja, tut mir leid, ich habe es noch einmal gelesen und verstehe deine Antwort nicht beim ersten Mal. (Englisch ist nicht meine Muttersprache) Ich dachte, Sie sprachen davon, es vom Steckbrett aus zu programmieren und es dann auf das Arduino zu legen. Danke für die Antwort !
@alexan_e - Entschuldigung für den Ärger wegen der Stromversorgungsfrage. Nochmals Entschuldigung, wenn ich anscheinend "in Ihrem Fall" war. aber dies ist ein gefährliches Gebiet, das viele Anfänger nicht ernst genug zu nehmen scheinen. Günstig, einfach, wenig Teile – was kann man nicht mögen? :-) :-(. Ich habe mir gerade die App-Notiz angesehen. Abb. 1 hat den Vout immer auf Live-/Phasenpotential - braucht nicht einmal einen Komponentenausfall oder Murphy bei der Arbeit. Trotz ihrer Warnungen ist Microchip dabei am nachlässigsten Nochmals - Entschuldigung/Danke RM.
@RussellMcMahon Du hast mich überrascht und ich dachte, dass mit dieser Antwort auch etwas nicht stimmt (!), aber dann wurde mir klar, dass dies nur eine Art der Kommunikation war (ich vermisse PMs anderer Plattformen). Auf jeden Fall denke ich, dass ich es vermeiden werde, nicht isoliertes Liefermaterial in zukünftige Antworten aufzunehmen. Und keine Sorge, Ihre Kommentare wurden gerne angenommen, sie hatten eine sehr positive Grundstimmung.

Abgesehen von der Abnutzung des Sockels gibt es kein "Problem" mit dieser Taktik.

Tatsächlich gibt es mehrere "Roll-Your-Own"-Arduino-Projekte, die andere ATMega-Chips als die üblicherweise in handelsüblichen Arduino-Boards verwendeten verwenden.

Bauen Sie Ihr eigenes Arduino-kompatibles Board

So rollen Sie Ihr eigenes programmierbares Arduino/AVR-Board

Aufbau eines Arduino auf einem Steckbrett

Sie können auch ein FTDI-Kabel oder ein FTDI-Breakout-Board (2 Beispiele verlinkt) verwenden, damit Sie Ihren Chip direkt auf dem Steckbrett oder im Schaltkreis programmieren können. Mit vier weiteren Header-Pins (für Vcc, Gnd, RxD, TxD) auf Ihrer Platine lässt sich das FTDI-Kabel schnell anschließen.