Hallo Leute, ich habe einem neuen Atmega 328p (im QFP32 Gehäuse) ein Programm mittels Elnec Programmer (T51prog2) eingespielt. Es wurde ein entsprechender Programmieradapter dafür benutzt. Das Programm ist mit der Arduino IDE entwickelt worden und läuft auch auf dem Nano (mit dem gleichen µc) stabil und einwandfrei. Ich habe es als Hex- Datei exportiert und problemlos brennen können. Mit eben diesem Adapter habe ich in einem Steckbord einen entsprechenden Testaufbau gemacht. Der Atmega tut, was er soll, aber um das 16fache langsamer (Quarz 16MHz und seine Block- Kondis sind angeschlossen). Inzwischen habe ich erfahren, dass diese Atmegas ab Werk auf internen Oszi und Teilung :8 eingestellt sind, so dass das mit 1MHz wohl in etwa hinkommt. Ich muss also beim Brennen mit dem Elnec auch entsprechende Lockbits bzw. Fuse- Bits setzen. Nur welche? Bin bisher trotz etlicher Versuche nicht weiter gekommen. Vielleicht kennt hier jemand dieses Problem und weiß, was zu tun ist. Ich habe mal einen Screen Shoot von den Einstellmöglichkeiten in der Brennersoftware des Elnec beigefügt. Hintergrund ist der, dass ich eine eigene Schaltung ohne Arduino Bord machen möchte. Mit einem 328 im Dil Gehäuse wäre dies kein Problem, könnte man ganz einfach im Uno brennen, aber im TQFP Gehäuse des Nano ein "bisschen umständlich"
Holger M. schrieb: > Ich habe mal einen Screen Shoot von den Einstellmöglichkeiten in der > Brennersoftware des Elnec beigefügt. Du hast schon die richtige Ecke da unten aufgeklappt, du musst aber noch weiter runterscrollen. Full Swing Crystal, 258CK +65ms Startup ist normalerweise der richtige Modus für den externen Quarz. CKOUT braucht man im Normalfall übrigens nicht. Holger M. schrieb: > und seine Block- > Kondis Das sind keine Blockkondis, sondern die kapazitive Last, damit das Dings richtig anspringt.
:
Bearbeitet durch User
Matthias S. schrieb: > Du hast schon die richtige Ecke da unten aufgeklappt, du musst aber noch > weiter runterscrollen. Full Swing Crystal, 258CK +65ms Startup ist > normalerweise der richtige Modus für den externen Quarz. > CKOUT braucht man im Normalfall übrigens nicht. Bingo! Jetzt läuft er mit 16MHz. Konnte ich mit Oszi am Pin PB0 (CKOUT) sehen. Aber: jetzt läuft das Programm nicht mehr. Das werde ich heute aber nicht weiter verfolgen, morgen ist auch noch ein Tag! Danke Matthias für deinen TIPP. Das war der Punkt! Ich werde berichten...
Holger M. schrieb: > Das Programm ist mit der Arduino IDE > entwickelt worden und läuft auch auf dem Nano (mit dem gleichen µc) > stabil und einwandfrei. Ich habe es als Hex- Datei exportiert und > problemlos brennen können. Mit eben diesem Adapter habe ich in einem > Steckbord einen entsprechenden Testaufbau gemacht. Der Atmega tut, was > er soll, aber um das 16fache langsamer (Quarz 16MHz und seine Block- > Kondis sind angeschlossen). Inzwischen habe ich erfahren, dass diese > Atmegas ab Werk auf internen Oszi und Teilung :8 eingestellt sind, so > dass das mit 1MHz wohl in etwa hinkommt. Ich muss also beim Brennen mit > dem Elnec auch entsprechende Lockbits bzw. Fuse- Bits setzen. Nur > welche? Bin bisher trotz etlicher Versuche nicht weiter gekommen. Dann lies doch die Fuses des funktionierenden Nanos aus und programmiere deinen uC entsprechend.
Herbert schrieb: > Dann lies doch die Fuses des funktionierenden Nanos aus und programmiere > deinen uC entsprechend. Die Arduino IDE kennt den Nano! Einfach "Bootloader brennen" drücken. Das setzt auch die Fuses.
Holger M. schrieb: > Bingo! Jetzt läuft er mit 16MHz. Konnte ich mit Oszi am Pin PB0 (CKOUT) > sehen. > Aber: jetzt läuft das Programm nicht mehr. Das werde ich heute aber > nicht weiter verfolgen, morgen ist auch noch ein Tag! > Danke Matthias für deinen TIPP. Das war der Punkt! > Ich werde berichten... Wenn's vorher lief mit 1Mhz intern, aber zu langsam (weil auf 16Mhz extern programmiert ) und jetzt nach dem Einstellen der FuseBit es nicht mehr läuft , obwohl ein 16Mhz Quarz dran hängt .... sind die FuseBits definitiv falsch und noch immer nicht passend :-) ... weiter üben ... :-)
Wie gestern Abend bereits berichtet, arbeitet jetzt zwar der Oszillator mit 16MHz, aber das Programm wird nicht mehr ausgeführt. Auf dem Screen Shot ist die jetzige Einstellung der Programmer Software zu sehen, mit welcher der Atmega programmiert wurde. Oszi- Bild zeigt den Pin PB0, welcher den Takt mit ausgibt (CKOUT gesetzt) Ooops, da ist einmal zuviel Screeshot, sorry
:
Bearbeitet durch User
Holger M. schrieb: > Ooops Ja, oooops. Meine Unterstützung endet HIER, obwohl sie woanders begonnen hat. Denn: Crossposter lieben mich nicht.
Was für eine grauenvolle Eindeutschung eines Programmes. Da musste ja dreimal hingucken, ehe du kapiert, was gemeint ist. Du kannst jetzt den Haken bei Fuse und Lock wegnehmen, sie sind ja nun gebrannt. Konzentrier dich mal lieber auf 'Einsetzungstest' (vermute, die meinen, ob ein Chip vorhanden ist) und Test auf die richtige ID. Dann Leertest und Verifizierung. Als Programm tut es erstmal auch was einfaches, um deinen exotischen Porgrammer zu prüfen.
Wie vermutet , an Hand der Bilder falsche Fusebit ! Du hast nen Quarzoszillator anstatt Quarzresonator mit Kondensator eingestellt. Dann besorg dir man jetzt nen Oszillatorquarz :-)
Nun habe ich mich gestern ganztägig dieser Problematik gewidmet. Letztendlich habe ich einen Uno (der mit dem 328 im DIL28 Gehäuse auf IC- Fassung) mit meinem Programm gebrannt, diesen dann mit dem Elnec ausgelesen und so die Fuse- Einstellungen sehen können, wie sie die Arduino- IDE mit einstellt. Mit dieser ausgelesenen Datei konnte ich nun auch den Atmega 328P im TQFP- Gehäuse (im Adapter >>auf DIL28) brennen. Also hier auch die gleichen Fuse- Bits gesetzt (habe ich anschließend kontrolliert!). Im Testaufbau des Steckbords funktionierte der 328 aus dem Uno auf Anhieb, Quarzfrequenz ziemlich genau 16MHz. Bild davon oben. Anders der 328 im Adapter TQFP32. Läuft nicht und die Frequenz (mittels CKOUT auf Pin PB0 ausgegeben) zeigt seltsame Verhaltensweisen. Siehe Bild. Ich kann das eigentlich nur deuten, dass hier die Zusammenarbeit Quarz- interne Oszillatorschaltung nur fehlerhaft funktioniert. Vermutlich stellen die Leitungen des Adapters eine zu hohe kapazitive Last dar, der Oszillator schwingt nicht richtig. Habe auch schon die 22p Kondis gegen 10P getauscht>> das gleiche Ergebnis. Fazit für mich: Programmieren geht, die richtigen Fuse Bits habe ich auch gefunden, Schaltung mit diesem Adapter funktioniert auf diese Weise leider nicht. Ich werde demnächst eine Probeplatine fertigen und den TQFP direkt aufsetzen. Achso, die Fusebits: siehe letztes Bild, Extended Byte 0xFD, High Fuse Byte 0xDE, Low Fuse Byte 0xBF (ohne CKOUT) Liebe Trolls (wer auch immer sich angesprochen fühlt), bitte spart euch eure Kommentare und unqualifizierten Ratschläge. Ich bin zwar relativ neu mit den AVR's habe bislang aber weit mehr als 15 Jahre 51er bearbeitet, mit Assembler. Deshalb bin ich über "was einfaches" eigentlich auch schon hinaus. Und Elnec ist eine etablierte Firma, welche exzellente Programmiergeräte herstellt, einfach mal Google bemühen. Da spielt es keine Rolle, wo sie ihren Firmensitz hat. Gruß Holger PS: Den Elnec habe ich auch schon etwa 10 Jahre! Nie ein Problem damit gehabt!
:
Bearbeitet durch User
Diese Steckbretter haben recht hohe Kapazitäten zwischen den Kontaktleisten. Einige Leute haben hier berichtet, dass ihr Quarz darauf nur ganz ohne zusätzliche Kondensatoren stabil lief. In deinem Bild ist der linke Kondensator nicht mit dem richtigen GND verbunden. Beide Kondensatoren gehören zusammen an den selben GND Pin des Mikrocontrollers, und zwar über den kürzest-möglichen Weg.
Naja, der im DIL Gehäuse lief aber ohne Probs. Daher würde ich das Steckbrett erst einmal ausschließen
Holger M. schrieb: > Naja, der im DIL Gehäuse lief aber ohne Probs. Dann hattest du halt Glück und jetzt nicht mehr. Wenn man außerhalb der Spezifikation hantiert muss man damit Rechnen. Wie gesagt, das Steckbrett hat hier schon einigen Leuten genau an dieser Stelle Schwierigkeiten bereitet. Da wird dein Steckbrett keine goldene Ausnahme sein.
Stefan ⛄ F. schrieb: > In deinem Bild ist der linke Kondensator nicht mit dem richtigen GND > verbunden. Beide Kondensatoren gehören zusammen an den selben GND Pin > des Mikrocontrollers, und zwar über den kürzest-möglichen Weg. Die sind über die untere Leiste mit GND verbunden. Meinst du, dass sie im gleichen Loch gesteckt werden müssen? Mit 51ern habe ich bis 24MHz noch nie solche Probleme gehabt. Da ist der Aufbau identisch. Wie sind diese periodischen Störungen (Oszillografenbild) zu erklären?
Holger M. schrieb: > Naja, der im DIL Gehäuse lief aber ohne Probs. Daher würde ich das > Steckbrett erst einmal ausschließen Wenn ich deinen Steckbrett-Aufbau sehe schliesse ich erst mal gar überhaupt nichts aus. Da braucht man eigentlich nicht weiter diskutieren.
Stefan ⛄ F. schrieb: > Kurze Leitungen sehen so aus Auch in diesem Aufbau ist das nicht optimal gestaltet. Die Masse der Lastkapazitäten gehört möglichst direkt an den Massepin des Controllers angeschlossen und nicht an die allgemeine Masseschiene.
Holger M. schrieb: > im Adapter TQFP32. Läuft nicht Adapter hin oder her - sowohl der Quarz, als auch Bürde- und Abblockkapazitäten gehören dicht an den Chip und nicht über Drahtverhau nach ein paar cm Länge halbherzig verkabelt. Der Sinn von TQFP ist ja nicht nur Geldsparen, sondern auch kürzeste Wege. Ausserdem hat das TQFP Gehäuse mehr Anschlüsse für VCC und GND, die nicht ignoriert werden dürfen - alle müssen angeschlossen werden.
OMG schrieb: > Auch in diesem Aufbau ist das nicht optimal gestaltet. Die Masse > der Lastkapazitäten gehört möglichst direkt an den Massepin des > Controllers angeschlossen und nicht an die allgemeine Masseschiene. Ja, das wäre besser. Doch Selbst das wäre nicht optimal, wegen der Kapazität der Steckkontakte. Eigentlich müsste man die beiden Pins hoch biegen und am Steckbrett vorbei verlöten.
Sorry, wenn es nicht so exakt gesteckt ist, aber der Adapter nimmt fast die gesamte Breite des nutzbaren Steckplatzes ein. OK, werde versuchen, das nochmal etwas günstiger zu stecken. Eventuell könnte ich die Steckleisten des Adapters verlängern, so dass unten mehr Bauteilefreiheit entsteht.
Holger M. schrieb: > und so die Fuse- Einstellungen sehen können, wie sie die > Arduino- IDE mit einstellt. Für die Zukunft: Die Fuses sind in der betreffenden boards.txt aufzufinden. Ist vielleicht kürzer, der Weg.
EAF schrieb: > Für die Zukunft: > Die Fuses sind in der betreffenden boards.txt aufzufinden. > Ist vielleicht kürzer, der Weg. Danke, das wusste ich noch nicht
Holger M. schrieb: > der Adapter nimmt fast > die gesamte Breite des nutzbaren Steckplatzes ein. Da hängen viel zu lange Leitungen an den relevanten Pins
Stefan ⛄ F. schrieb: > Da hängen viel zu lange Leitungen an den relevanten Pins Ja, grausam, und aus der Sicht des Elektronikers völlig grobschlächtig und unangepasst. Immerhin gibt es ja von Atmel Empfehlungen wie man die Controller korrekt in der Minimalbeschaltung betreibt.
Holger M. schrieb: > Sorry, wenn es nicht so exakt gesteckt ist, aber der Adapter nimmt fast > die gesamte Breite des nutzbaren Steckplatzes ein. Warum steckst du das ganz Ding nicht eine Reihe weiter (nach rechts oben) auf dein Steckbrett? Dann passt es viel besser, weil dann die 5er Steckbuchsen mehr Abstand zueinander haben.
Holger M. schrieb: > Ich bin zwar relativ neu mit den AVR's habe bislang aber weit mehr als > 15 Jahre 51er bearbeitet, mit Assembler. Deshalb bin ich über "was > einfaches" eigentlich auch schon hinaus. Dann hast ja in den 15 Jahren noch nicht viel dazugelernt. Holger M. schrieb: > Und Elnec ist eine etablierte Firma, welche exzellente Programmiergeräte > herstellt, einfach mal Google bemühen. Da spielt es keine Rolle, wo sie > ihren Firmensitz hat. Wenn eine Firma in einem ihrer Programme so eine hundsmiserable Übersetzung der technischen Ausdrücke liefert dann habe ich grosse Zweifel. Bisher habe ich von dieser "etablierte Firma" noch nichts gehört.
OMG schrieb: > Wenn eine Firma in einem ihrer Programme so eine hundsmiserable > Übersetzung der technischen Ausdrücke liefert dann habe ich > grosse Zweifel. Bisher habe ich von dieser "etablierte Firma" > noch nichts gehört. https://www.batronix.com/versand/programmiergeraete/beeprog/beeprog2.html oder https://www.dobbertin-elektronik.de/programm/smartprog/smartprog2.htm oder https://en.wikipedia.org/wiki/Elnec Stichwort Horizont. Man kann alles im Übrigen auch in anderen Sprachen einstellen (z.B. Englisch). Für mich war das kein Kriterium.
Um das ganze jetzt abzuschließen. Ich habe die Tipps soweit möglich umgesetzt, die Verbindungen gekürzt, Kondensatoren direkter gesteckt. Gleichzeitig habe ich die Anschlüsse des Programmers verlängert, so dass er unterhalb einige Bautelefreiheit gewähren kann. Damit hat es nun funktioniert. Es zeigt, dass es wirklich in Bezug zum Quarzoszillator hier auf diese Maßnahmen ankommt. Eine Platine muss dementsprechend auch layoutet werden. Aber das ist ein anderes Thema. Ich möchte mich bei allen Tippgebern bedanken! Was mir sauer aufgestoßen ist: Dies hier ist ein Forum, wo man sich gegenseitig hilft und nicht runtermacht! Ich weiß nicht was manchen qualifiziert, hier über andere, die er gar nicht kennt, zu urteilen und zu beleidigen. Vielleicht regt es den einen oder anderen zum Nachdenken an. Gruß Holger
Beitrag #7187265 wurde von einem Moderator gelöscht.
Holger M. schrieb: > Was mir sauer aufgestoßen ist: Dies hier ist ein Forum, wo man sich > gegenseitig hilft und nicht runtermacht! Böse Welt, gehe zurück in die Waldorf-Schule. > Ich möchte mich bei allen Tippgebern bedanken! Ah ja, Dir wurde also geholfen. Mit welchen Recht pöbelst Du über das Forum?
Alles Weicheier. Stoßen sich die Tee-Nager nicht mehr ihre Hörner in der Schule ab?
Deine Frage ist total fehl am Platz. Lass das bitte!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.