Forum: Projekte & Code
Hier könnt ihr eure Projekte, Schaltungen oder Codeschnipsel vorstellen
und diskutieren. Bitte hier keine Fragen posten!
Ich verschiebe das mal nach "µC und Eelktronik".
Moin,
wie schließt du denn dein Board an den PC an. Der AVR gibt nur UART aus
und dein PC spricht RS232. Das sind unterschiedliche Pegel. Du brauchst
einen passenden Konverter.
meinst du den Uno für das flashen des Bootloader oder den FTDI232 zum
aufspielen des Sketchs?
Den Uno schließe ich per USB an. daran dann die entsprechenden Pins
10,11,12,13, VCC und GND vom UNO an die entsprechenden Pins vom
Atmega328.
10 an Reset (PIN 29)
11 an MOSI(PIN 15)
12 an MISO (PIN 16)
13 an SCK (PIN 17)
VCC an VCC
GND an GND
Beim FTDI232. diesen habe ich auch per USB an den Rechner angeschlossen.
Dann die 6 Pins an meine 6-fach Pin Leiste, wie auf dem Schaltplan zu
sehen. Das funktioniert auch beim original Arduino Pro Mini
Hi
>Was mache ich bei meinem Board falsch? Bin ich ratlos... und hoffe auf>Hilfe.
Elementarer Fehler: Blockkondensatoren an allen VCC und Gnds fehlen.
MfG spess
Aber auch wenn ich nicht VCC / GND der Pins nutze sondern Spannung
mittels USB gebe (Spannung ist da, habe ich getestet) funktioniert es
nicht. Hatte meine Schaltung hier eigentlich eingestellt. Wurde nichts
bzgl. den fehlenden Blockkondensatoren bemängelt...
Hi
>Wurde nichts Wurde nichts bzgl. den fehlenden Blockkondensatoren >bemängelt...
Es kommt nich darauf das irgend welche Kondensatoren da sind sondern wo
sie angeordnet sind. Beim ATMega328 liegen VCC-GND direkt neben
einander. Und da müssen die Kondensatoren so nah wie möglich hin. Aus
deiner Schaltung ist das keineswegs ersichtlich.
MfG spess
Teste mal deinen FTDI Adapter, indem du seinen Tx Ausgang mit seinem Rx
Eingang verbindest. Alles was du in einem Terminal Programm sendest,
müsste dann als Echo zurück kommen.
Probiere 115200 Baud. Der "neue" Bootloader kommuniziert schneller als
wir gewohnt sind.
Stefan ⛄ F. schrieb:> Teste mal deinen FTDI Adapter, indem du seinen Tx Ausgang mit> seinem Rx> Eingang verbindest. Alles was du in einem Terminal Programm sendest,> müsste dann als Echo zurück kommen.>> Probiere 115200 Baud. Der "neue" Bootloader kommuniziert schneller als> wir gewohnt sind.
Aber mit einem original Arduino Pro Mini funktioniert ja der FTDI
Adapter.
Ich habe auch auf der Konsole versucht beim avrdude mit -b115200. Gab
den gleichen Fehler...
Das Flashen des Bootloaders geht nur über ISP.
Wenn das bei deinem Board nicht geht, kannst du auch keinen Bootloader
flashen.
Löte dir die Anschlüsse zum ISP direkt auf das Board und flashe darüber.
Brain 2.0 schrieb:> Das Flashen des Bootloaders geht nur über ISP.> Wenn das bei deinem Board nicht geht, kannst du auch keinen Bootloader> flashen.>> Löte dir die Anschlüsse zum ISP direkt auf das Board und flashe darüber.
Das verstehe ich nicht so ganz.
Habe doch oben geschrieben, dass ich mir adern direkt an die Pins
gelötet habe und darüber geflachst habe. Der Log dazu ist oben zu
finden. Der sieht meiner Meinung nach gut aus (bin aber kein Profi).
Somit "dachte" ich dass der Bootloader drauf ist. Aber nun kann ich
mittels FTDI kein Sketch hochladen.
Brain 2.0 schrieb:> Das Flashen des Bootloaders geht nur über ISP.
Das hat der TO ja auch gemacht.
Jetzt will den nächsten Schritt versuchen: Das Blink.ino.hex über den
seriellen Port flashen.
Stefan ⛄ F. schrieb:> Jut schrieb:>> Aber mit einem original Arduino Pro Mini funktioniert ja der FTDI>> Adapter.>> Jetzt vielleicht nicht mehr.
Wieso? Was meinst du damit? Habe es eben gerade versucht. Das
funktioniert.
Brain 2.0 schrieb:> Hast du an deinem Uno einen Elko 10μF von Reset gegen GND ?> Der muss da noch ran.
Nein das habe ich nicht. Brauche ich den? Dürfte das dann nicht
eigentlich gar nicht funktionieren? Ich meine laut Log sieht ja alles
gut aus (ohne den Elko)
Brain 2.0 schrieb:> Hast du an deinem Uno einen Elko 10μF von Reset gegen GND ?> Der muss da noch ran.
Welcher Uno? Er benutzt sein eigenes Board mit einem USB-UART Adapter.
Und da würde ein Elko am Reset Pin den Auto-Reset durch C5 verhindern.
Stefan ⛄ F. schrieb:> Probiere mal, den Reset Taster zu halten und in dem Moment los zu> lassen, wo avrdude seine ersten Meldungen ausgibt.
Leider kein Erfolg....
Stefan ⛄ F. schrieb:> Brain 2.0 schrieb:>>> Das Flashen des Bootloaders geht nur über ISP.>> Das hat der TO ja auch gemacht.> Jetzt will den nächsten Schritt versuchen: Das Blink.ino.hex über den> seriellen Port flashen.
Ok, sorry, hatte das Log falsch interpretiert.
Hier nochmal Bilder vom Anschluss.
Gibt es eine Möglichkeit zu überprüfen das mein Bootloader richtig drauf
ist. Muss ich an den Fuses etwas anderes einstellen?
Nutze einen 16Mhz Quarz
Jut schrieb:> Hier nochmal Bilder vom Anschluss.> Gibt es eine Möglichkeit zu überprüfen das mein Bootloader richtig drauf> ist. Muss ich an den Fuses etwas anderes einstellen?> Nutze einen 16Mhz Quarz
Hast du beim Flashen den 10μ Elko dran ?
Jut schrieb:> Brain 2.0 schrieb:>>> Hast du an deinem Uno einen Elko 10μF von Reset gegen GND ?>> Der muss da noch ran.>> Nein das habe ich nicht. Brauche ich den? Dürfte das dann nicht> eigentlich gar nicht funktionieren? Ich meine laut Log sieht ja alles> gut aus (ohne den Elko)
Ja, das muss, damit nicht der Uno geflasht wird, sondern dein Board.
So steht es auch auf den Seiten von Arduino.cc
Ok, sorry. Bin grad selbst verwirrt :) :)
Mein Reset von meinem Board geht ja an Pin 10 vom Uno. Somit ist der
Reset vom Uno ja "frei" für den Elko.
Aber trotzdem die Frage wieso das in den Anleitungen nie steht.
Jut schrieb:> oh, ok. das heißt es kann sein, dass mein Uno nun geflachst wurde> und nicht mein angeschlossenes Board.> Ist es egal zwischen welchen GND und 5V Pin ich den Elko anschließe?> oder genau an den wo ich dann auch mit GND und 5V an mein Board gehe?> Also einfach den Elko in die Leitung vom Uno zu meinem Board?> Wieso steht das in den Anleitungen nirgends?> https://wolles-elektronikkiste.de/arduino-pro-mini-programmieren> https://www.instructables.com/Burn-a-New-Bootloader-Arduino-Pro-Mini/
Nicht zwischen Plus und GND, sondern an Reset und GND.
Und viele Tutorials sind leider fehlerhaft, da funktioniert es durch
Zufall eben mal.
Ok, kann ich auch einen 100uF nutzen. So einen habe ich noch hier
liegen...
Ist es eigentlich von Bedeutung ob ich beim UNO (Programmer) die ISP
Steckkontakte nutze oder direkt die Pins?
Jut schrieb:> Ist es eigentlich von Bedeutung ob ich beim UNO (Programmer) die ISP> Steckkontakte nutze oder direkt die Pins?
Lies doch mal die offizielle Doku zu der ich gerade den Link gepostet
habe. Dort ist deine Frage beantwortet:
11 or ICSP-4
12 or ICSP-1
13 or ICSP-3
> Wenn ich einen Bootloader von einem Pro Mini neu Flashe ist> dann das zuvor drauf gewesene Sketch weg oder weiterhin da?
Ja, weil dabei der Flash Speicher gelöscht werden muss.
Jut schrieb:> Muss ich an den Fuses etwas anderes einstellen?
Bei den Fuses musst du dem µC schon sagen, dass er nicht den 1:8
Vorteiler mit internem Takt benutzen soll. Im Auslieferungszustand läuft
der nur mit 1MHz
Wolfgang schrieb:>> Muss ich an den Fuses etwas anderes einstellen?> Bei den Fuses musst du dem µC schon sagen, dass er nicht den 1:8> Vorteiler mit internem Takt benutzen soll.
Darum kümmert sich allerdings die Arduino IDE, wenn sie den Bootloader
installiert.
Jut schrieb:> Hier der Log dazu:> ...
Was für Sourcecode gilt, trifft auf für Logs zu: "Längeren Sourcecode
nicht im Text einfügen, sondern als Dateianhang"
Soviel Transferleistung muss drin sein ;-)
Stefan ⛄ F. schrieb:> Darum kümmert sich allerdings die Arduino IDE, wenn sie den Bootloader> installiert.
Yes!
Kann man auch klar und deutlich im Log sehen.
Ist also auch keine Frage/Irritation wert.
Hmmm, also auch mit einem 10uf Elko klappt es nicht. Ich habe auch das
Gefühl dass ich immer den UNO (programmer) flashe und nicht den
entschlossenen Arduino Pro Mini.
Also ich teste es aktuell erstmal einfach mit einem Pro Mini und nicht
mit einem Board um eine Fehlerquelle auzuschließen...
Wenn ich einen Sketch offen habe und sage in der IDE Bootloader brennen,
schreibt er auch anschließend automatisch das Sketch drauf? Denn nach
dem Flashen ist das Blink Sketch weiterhin auf den Pro Mini und
zusätzlich blinkt dann im genau gleichen Intervall auch der Uno...
Ich bin echt irritiert...
Gruss zum Abend
Zitat heise Make 4.2015 S.96 :
... im Menue "Tools" die Option "Bootloader installieren" anklicken.
Dabei muss man vor dem Klick auf "Upload"
die Shift-Taste drücken und halten.
So erkennt die Arduino IDE, dass der Arduino
als Programmer genutzt werden soll.
Zitat Ende
Ps. der Text hat einen Textfolge Fehler, aber erst
im späteren. So direkt gibt es den Artikel
"Arduino im Eigenbau" vom heise-Verlag im Internet nicht. Aber so
einiges zum Thema.
Dirk St
Gibt es hier jemanden in der Nähe von Frankfurt / Wiesbaden der sich mit
der Thematik auskennt. Ich bin echt lost :(
Oder kann ich jemandem mein Uno und eines von meinen Boards zuschicken
und er kann mich dabei unterstützen?
Ich weiß nicht mehr weiter.... :(
Jut schrieb:> Hmmm, also auch mit einem 10uf Elko klappt es nicht. Ich habe auch> das> Gefühl dass ich immer den UNO (programmer) flashe und nicht den> entschlossenen Arduino Pro Mini.>> Also ich teste es aktuell erstmal einfach mit einem Pro Mini und nicht> mit einem Board um eine Fehlerquelle auzuschließen...>> Wenn ich einen Sketch offen habe und sage in der IDE Bootloader brennen,> schreibt er auch anschließend automatisch das Sketch drauf? Denn nach> dem Flashen ist das Blink Sketch weiterhin auf den Pro Mini und> zusätzlich blinkt dann im genau gleichen Intervall auch der Uno...>> Ich bin echt irritiert...
Je nach dem welchen Bootloader du flashst, ist da ein Blinken mit drin.
Flash doch einfach mal einen "Blink-Sketch" per ISP, der eine schnellere
Blinkfrequenz hat.
Brain 2.0 schrieb:> Flash doch einfach mal einen "Blink-Sketch" per ISP, der eine schnellere> Blinkfrequenz hat.
Ja, das ist eine gute Idee. Bei jedem Neuprogrammieren die Blinkfrequenz
deutlich abändern.
Ansonsten fällt mir auf, daß du auf deinem eigenen Board einen CTS
Ausgang fix auf GND gelegt hast, der laut deinen Bildern auch mit dem
FTDI Adapter verbunden ist. Diese Signalleitung gibt es beim Arduino Pro
Mini nicht, und das könnte den Unterschied ausmachen.
Wenn es dir gelungen ist den Bootloader auf dein Board zu bringen, und
das Programmieren über das Serielle Inteface immer noch nicht
funktioniert, dann würde ich CTS Leitung zum FTDI mal versuchsweise
unterbrechen.
Gruss in die Runde
Ich schreib noch folgendes dazu:
Das mit dem C 10µF, hatte ich schon mal im Forum angemerkt, der ist in
Internet Beiträgen zum Arduino ISP nicht überall referiert.
Zum Thema Arduino UNO als IS
Programmer gibt es noch die Artikel:
https://m.heise.de/make/artikel/Microcontroller-flashen-Arduino-Uno-als-In-System-Programmer-2769246.html
, das war mal in der Make 1.2014 S.138ff.
Mit Darstellung der Fuses und des weiteren
mit Programmierung von PICs
und ist im Internet frei verfügbar.
Von Heise gibt es noch:
Arduino im Eigenbau, im Internet allg. ein Thema, war auch in der Make
4.2015 S.94ff.
Der Artikel in der Make hat aber einen Fehler in der Textabfolge (S.96).
Ein Textabschnitt sollte vorher positioniert sein.
Besonders ist hier die Erwähnung der gedrückten Shift Taste während des
Uploads mit der Arduino IDE, wenn ein Bootloader auf einen Atmega
mittels Arduino ISP soll.
Bei/In der Make sind
die alten Forenbeiträge eventuell nicht mehr erreichbar. Dafür sind aber
die Themen im Internet reichlich vertreten.
"avrdude flash lesen" ( resp. Variation, s. Internet)
gehört u.a. zu den Grundlagen im Umgang
mit avrdude und das sollte man sich
anfänglich erarbeiten. Das geht auch in eine Datei.
Wenn das selten gebraucht wird oder ein Projekt abgeschlossen ist, das
Erarbeitete auch
dokumentieren.
Eventuell, im Zusammenhang, noch zu erwähnen "wäre" "atmega Bootloader
mit 8MHz"
( intern, extern geht auch in Variation). (usw.)
Eine gute Nacht wünsche ich Euch.
Dirk St
Hallo Jut,
Hat es einen bestimmten Grund, warum am Schaltplan bei JP1 die Pin
Reihenfolge GND-GND-VCC-TX-RX-DTR ist, aber auf deiner Platine
GND-GND-VCC-RX-TX-DTR beschriftet ist? Kann es sein, dass du einfach RX
und TX vertauscht hast? Würde auch zur Fehlermeldung "Programmer ist not
responding" passen.
Gute Nacht
Christoph
Jut schrieb:> Ich habe auch das> Gefühl dass ich immer den UNO (programmer) flashe und nicht den> entschlossenen Arduino Pro Mini.
Das lässt sich ganz leicht mit ein paar LED's an den ISP-Leitungen
kontrollieren. Wenn sie flackern, wird dein Target programmiert.
Jut schrieb:> Wenn ich einen Sketch offen habe und sage in der IDE Bootloader brennen,> schreibt er auch anschließend automatisch das Sketch drauf?
Nein
> Denn nach dem Flashen ist das Blink Sketch weiterhin auf den Pro Mini> und zusätzlich blinkt dann im genau gleichen Intervall
Weil der Bootloader ein Blink-Programm enthält.
dirk schrieb:> Besonders ist hier die Erwähnung der gedrückten Shift Taste während des> Uploads mit der Arduino IDE, wenn ein Bootloader auf einen Atmega> mittels Arduino ISP soll.
Also....
Das ist doch Unfug, oder?
Da hilft es auch nicht das zwei mal in diesem Thread zu widerholen
dirk schrieb:> Dabei muss man vor dem Klick auf "Upload"> die Shift-Taste drücken und halten.> So erkennt die Arduino IDE, dass der Arduino> als Programmer genutzt werden soll.> Zitat Ende
Das ist Unsinn!
Die Arduino IDE Erkennt den Programmer daran, dass man ihn im Werkzeug
Menü einstellt.
Das wars dann schon.
ES GEHT!!!! Danke euch.
Habe nochmals alles neu gemacht inkl. dem 10uF Elko.
Wichtigster Hinweis war, dass ich tatsächlich in meinem Layout RX und TX
vertauscht habe :(
Nun klappt alles. Bootloader ist drauf und Sketch kann ich auch mittels
FTDI aufspielen. Merci vielmals!