Letztens hat mich ein Freund gebeten ihm eine Platine zu machen, drauf sollen ein HC-06 und ein Atmega328P und ein wenig Kleinzeug. Wegen des HC-06 hab ich die Spannung auf 3.3V geplant, und den Atmega328P auch auf 3.3V und 8MHz mit externem Quarz. Die 3.3V kommen von einem AMS1117-3.3 Soweit so gut, Platine ist da, Teile drauf, ISP Programmer dran (tinyISP), Pegelwandler dazwischen, ein TXB0104. AVR dude gibt Fehlermeldung 'initialization failed rc=-1'. Atmega328P raus, auf ein Arduino Uno DIP Board drauf, ISP dran, wird erkannt. Ins Internet, TXB0104 ist wohl nicht der geeignetste. Auf ehajo.de den ISP Levelshifter Bausatz bestellt, nur um sicher zu gehen. Gleiches Ergebnis. Habe 5 Atmega328P probiert, sogar 2 Samples direkt von Atmel, die noch nie ausgepackt worden sind. Alle gehen im Arduino sofort. Theorie 1: HC-06 nimmt zu viel Strom (Atmega wird durch 2x100nF gestützt) Theorie 2: Levelshifter sind kaputt Board(Autorouter) häng ich mal an als PNG, Schematic auch Kann da jemand mal drüber sehen ?
Im Schaltplan fallen mir etliche Verbindungspunkte auf, denen der Punkt fehlt. So sieht auch die Platine aus, beispielsweise scheinen dem µC und den Osz-Kerkos die Masseanschlüsse zu fehlen. Der 9V-Anschluss hängt auch nur mit einem Pin dran. Usw.
:
Bearbeitet durch User
Der Autorouter ist ja wohl Mist. Schon mal einen Error-Check im Schaltplan gemacht? Da fehlen Verbindungen. Error-Check im Layout gemacht?
layout schrieb: > Der Autorouter ist ja wohl Mist. Nee, da kann der Router nix für. Der Plan ist defekt, Schrott rein Schrott raus. Bloss weil ein paar Leitungen im Plan optisch aufeinander stossen sind sie bei Eagle noch lange nicht verbunden. Wenn der beim malen automatisch platzierte Punkt/Knubbel fehlt, dann fehlt die Verbindung. Verbindung löschen und nochmal machen.
:
Bearbeitet durch User
Also rein Schaltplan-mäßig sollte alles funktionieren. Spannungen kommen da an wo sie ankommen sollen, am Atmega, am ISP Anschluss etc... Der HC-06 an sich alleine funktioniert, wenn ich es mit meinem Handy verbinde und per SerialBluetooth App Daten reinschicke kann ich sie mit einem Serial to USB Adpater auch wieder lesen(an dem RX/TX Anschlüssen vom HC-06).
Sputnik schrieb: > Also rein Schaltplan-mäßig sollte alles funktionieren. Liest du auch manchmal, was andere Leute antworten?
A. K. schrieb: > Im Schaltplan fallen mir etliche Verbindungspunkte auf, denen der > Punkt > fehlt. So sieht auch die Platine aus, beispielsweise scheinen dem µC und > den Osz-Kerkos die Masseanschlüsse zu fehlen. Der 9V-Anschluss hängt > auch nur mit einem Pin dran. Usw. Beachte Masse Fläche, die aktuell nur als gepunktetes blaues 4eck dargestellt wird. layout schrieb: > Der Autorouter ist ja wohl Mist. > > Schon mal einen Error-Check im Schaltplan gemacht? Da fehlen > Verbindungen. > Error-Check im Layout gemacht? Es gibt keine offenen Verbindungen A. K. schrieb: > Nee, da kann der Router nix für. Der Plan ist defekt, Schrott rein > Schrott raus. Bloss weil ein paar Leitungen im Plan optisch aufeinander > stossen sind sie bei Eagle noch lange nicht verbunden. Wenn der beim > malen automatisch platzierte Punkt/Knubbel fehlt, dann fehlt die > Verbindung. Verbindung löschen und nochmal machen. Im Anhang mit gerenderter Masse Fläche
Der Quarz Anschluss ist ja eigtl auch egal, ein standart Atmega328P läuft mit internem Takt...
Sputnik schrieb: > ein standart Atmega328P läuft mit internem Takt... Also 1MHz, soweit ich mit erinnere. Und ISP/avrdude arbeitet mit maximal 1/4 davon?
A. K. schrieb: > Sputnik schrieb: >> ein standart Atmega328P läuft mit internem Takt... > > Also 1MHz, soweit ich mit erinnere. > Und ISP/avrdude arbeitet mit maximal 1/4 davon? Wenn ich den Atmega in einen Arduino Uno Board setze geht der Zugriff via ISP ja... Da sitzt zwar ein 16Mhz Quarz, aber der sollte dem Atmega ja egal sein oder ?
Hängt am Arduino der gleiche Programmer wie an diesem Board?
Sputnik schrieb: > Der Quarz Anschluss ist ja eigtl auch egal, ein standart Atmega328P > läuft mit internem Takt... A. K. schrieb: > Also 1MHz, soweit ich mit erinnere. Das wäre die Werkseinstellung. Er kann mit bis zu 8 MHz mit dem internen RC-Oszilator laufen. Vielleicht will aber der TE, dass der Atmega328P mit z.B. 12 MHz laufen soll.
Michael K. schrieb: > Das wäre die Werkseinstellung. Er kann mit bis zu 8 MHz mit dem internen > RC-Oszilator laufen. Vielleicht will aber der TE, dass der Atmega328P > mit z.B. 12 MHz laufen soll. Sicher. Aber versuch mal, die für ebendiesen Takt zuständigen Fuses eines frisch gelieferten Controllers mit ISP=1MHz zu programmieren.
A. K. schrieb: > Hängt am Arduino der gleiche Programmer wie an diesem Board? Ja, hab nur den einen. Michael K. schrieb: > Das wäre die Werkseinstellung. Er kann mit bis zu 8 MHz mit dem internen > RC-Oszilator laufen. Vielleicht will aber der TE, dass der Atmega328P > mit z.B. 12 MHz laufen soll. Ich würde ihn ja gerne umstellen(auf 8Mhz extern), aber er wird mir unter AVR dude gar nicht erst angezeigt.... Ich versuche ihn mir ja nur anzeigen zu lassen mit : ->>>>>> avrdude -c usbtiny -p m328P <<<<<<- Ergebnis ist in meinem Board init failed, im Arduino wird er wunderbar erkannt. A. K. schrieb: > Sicher. Aber versuch mal, die für ebendiesen Takt zuständigen Fuses > eines frisch gelieferten Controllers mit ISP=1MHz zu programmieren. Solange er nicht erkannt wird, werden wir nie erfahren das dies nicht geht.
Sputnik schrieb: > Ja, hab nur den einen. Und wird der beim Arduino mit der gleichen Programmier-Software angesprochen wie hier? Also mit avrdude?
A. K. schrieb: > Sputnik schrieb: >> Ja, hab nur den einen. > > Und wird der beim Arduino mit der gleichen Programmier-Software > angesprochen wie hier? Also mit avrdude? Ja, hab nochnichtmal das CMD Fenster geschlossen, nur umgesteckt von meinem Board auf Arduino Board ISP Header...
Hab mir mal einen 'externen ISP Anschluss' bestellt, ein Board mit Nullkraftsockel und Quarzfassung, damit ich den programmiert bekomme und setz ihn halt danach aufs Board...
Sputnik schrieb: > Ergebnis ist in meinem Board init failed, im Arduino wird er wunderbar > erkannt. Ist der ISP-Header auf deinem Board auch richtig? Hast du ihn auch mit Spannung versorgt? Wie lautet die Meldung denn genau? A. K. schrieb: > Michael K. schrieb: >> Das wäre die Werkseinstellung. Er kann mit bis zu 8 MHz mit dem internen >> RC-Oszilator laufen. Vielleicht will aber der TE, dass der Atmega328P >> mit z.B. 12 MHz laufen soll. > > Sicher. Aber versuch mal, die für ebendiesen Takt zuständigen Fuses > eines frisch gelieferten Controllers mit ISP=1MHz zu programmieren. Wo soll denn da das Problem liegen? Mach ich praktisch immer so: Erstmal Fuses setzen, dann Programm übertragen.
Michael K. schrieb: > Wo soll denn da das Problem liegen? Mach ich praktisch immer so: Erstmal > Fuses setzen, dann Programm übertragen. Fuses setzt man per ISP, nicht mit der Brennschere. Bei µC-Takt von 1MHz und ISP-Takt von 1MHz funktioniert das aber nicht, weil ISP <= 1/4 µC gefordert ist.
Michael K. schrieb: > Ist der ISP-Header auf deinem Board auch richtig? Hast du ihn auch mit > Spannung versorgt? Wie lautet die Meldung denn genau? Ja, wegen des ISP Level Shifters muss das Board dem Levelshifter die Spannung geben, an VCC sind 3.3V ,auch am Levelshifter. Die genaue Fehlermeldung ist die gleiche als wäre kein IC dran, wenn ich diese mit -F ignoriere kommt als Device ID 0x00000000, erwartet wurde 'Atmega328P ID' , ich tippe immernoch auf die Levelshifter. Ich versuche es jetzt mal ohne Levelshifter, dann geht halt das HC-06 kaputt, davon hab ich aber noch eins.
A. K. schrieb: > Michael K. schrieb: >> Wo soll denn da das Problem liegen? Mach ich praktisch immer so: Erstmal >> Fuses setzen, dann Programm übertragen. > > Fuses setzt man per ISP, nicht mit der Brennschere. Bei µC-Takt von 1MHz > und ISP-Takt von 1MHz funktioniert das aber nicht, weil ISP <= 1/4 µC > gefordert ist. Ach das meinst du. Und ich hab wohl oben überlesen dass der ISP-Takt des TEs ebenfalls 1 MHz ist.
Michael K. schrieb: > Ach das meinst du. Und ich hab wohl oben überlesen dass der ISP-Takt des > TEs ebenfalls 1 MHz ist. Ich weiss es auch nicht, aber das ist ein typisches Problem. Aber mach ruhig mal du weiter bei der Suche nach dem Problem. Ich hab nämlich keines.
Michael K. schrieb: > A. K. schrieb: >> Michael K. schrieb: >>> Wo soll denn da das Problem liegen? Mach ich praktisch immer so: Erstmal >>> Fuses setzen, dann Programm übertragen. >> >> Fuses setzt man per ISP, nicht mit der Brennschere. Bei µC-Takt von 1MHz >> und ISP-Takt von 1MHz funktioniert das aber nicht, weil ISP <= 1/4 µC >> gefordert ist. > > Ach das meinst du. Und ich hab wohl oben überlesen dass der ISP-Takt des > TEs ebenfalls 1 MHz ist. Hab nie gesagt mit wie hoch der ISP Takt ist. Gut, ohne Levelshifter geht es auch nicht :(
A. K. schrieb: > Hängt am Arduino der gleiche Programmer wie an diesem Board? Meinst du dergeiche oder derselbe? :-)
Sputnik schrieb: > layout schrieb: >> Der Autorouter ist ja wohl Mist. >> >> Schon mal einen Error-Check im Schaltplan gemacht? Da fehlen >> Verbindungen. >> Error-Check im Layout gemacht? > > Es gibt keine offenen Verbindungen > Warum gibt es dann denn keine Verbindung zwischen VCC und AtMega Pin 7 + Pin 21? Der Spannungsregler hat seinen GND mit dem der Stromversorgung auch nicht verbunden...
Sputnik schrieb: > Gut, ohne Levelshifter geht es auch nicht :( Wie gesagt, miss mal die Verbindungen nach ob auch jeder Pin stimmt. Nicht dass du z.B. MOSI und MISO miteinander vertauscht hast.
Tja Leute, da sucht man und sucht man, wie gesagt, das Layout ist NICHT das PRoblem, überall kommt die richtige Spannung an, habs 5 mal nachgemessen. Allerdings habe ich gerade gemerkt das mein Reset ganze 22 Ohm als Widerstand besitzt, den hab ich wohl aus dem Kästchen für die Vorwiderstände der LEDs... Daran wirds hoffentlich liegen, ähm ja, es trifft wohl Teil 2 meiner Überschrift zu....
Ich danke ALLEN vielmals fürs Rätselraten !!!!! Es funktioniert jetzt!! Mit 10K am Reset läuft alles wunderbar!
Hahaha, ja kann passieren :P Mich wundert ehrlich, das auf den 2. Teil deiner Frage nicht 10465 doofe Kommentare kamen :P Dachte mir schon in der Übersicht "uuh, da drin wirds zugehn" aber liest sich ja ganz gesittet. mfg
Sputnik schrieb: > Tja Leute, da sucht man und sucht man, wie gesagt, das Layout ist NICHT > das PRoblem, überall kommt die richtige Spannung an, habs 5 mal > nachgemessen. Tja, anscheinend nicht wenn Sputnik schrieb: > Allerdings habe ich gerade gemerkt das mein Reset ganze 22 Ohm als > Widerstand besitzt vor lag. Dann brach wohl die Spannung zusammen als der Programmer versuchte den Resetpin auf 0V runter zu ziehen ;) Aber schön, dass du das Problem gefunden hast. ;)
Sputnik schrieb: > Tja Leute, da sucht man und sucht man, wie gesagt, das Layout ist NICHT > das PRoblem, überall kommt die richtige Spannung an, habs 5 mal > nachgemessen. > Der Schaltplan ist aber falsch - d.h. entspricht nicht dem Layout...
Sputnik schrieb: > Es funktioniert jetzt!! Mit 10K am Reset läuft alles wunderbar! Kann ich mir bei diesem Layout nicht recht vorstellen, dass da Bluetooth akzeptabel laufen soll. Die Antenne des Moduls wird von der Groundplane darunter praktisch kurzgeschlossen, das ergibt Reichweiten im 10 cm Bereich.
Peterle schrieb: > VCC an GND dürfte mal so überhaupt nicht funktionieren! Das stimmt so nicht. Ohne die Punkte ist der Schaltplan zwar für den Betrachter nicht lesbar, aber eine elektrische Verbindung kann durchaus bestehen. Denn bei Eagle ist es so: Wenn man die Verbindung mit "Net" macht, werden die Punkt automatisch gesetzt. Wenn man aber "Wire" benutzt, passiert das nicht. Eine Verbindung kann aber schon existieren. Schön ist das natürlich nicht, aber funktionieren kann es schon. Gruß Dietrich
Aber VCC und GND sind doch auf dem schaltplan verbunden, oder sehe ich das falsch?
Peterle schrieb: > Aber VCC und GND sind doch auf dem schaltplan verbunden, oder sehe ich > das falsch? Das kommt darauf an, an welchen Stellen jetzt wirklich elektrische Verbindungen sind (und keine Punkte da sind, die dies dem Leser kundtun würden) und an welchen sich die Leitungen "nur" kreuzen (ohne elektrische Verbindung). Eagle weiß das, wir sehen es aber nicht :-( Gruß Dietrich
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.