Forum: Mikrocontroller und Digitale Elektronik Atmega auf 3.3V - Bin ich zu blöd ?


von Sputnik (Gast)


Angehängte Dateien:

Lesenswert?

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 ?

von (prx) A. K. (prx)


Lesenswert?

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
von layout (Gast)


Lesenswert?

Der Autorouter ist ja wohl Mist.

Schon mal einen Error-Check im Schaltplan gemacht? Da fehlen 
Verbindungen.
Error-Check im Layout gemacht?

von (prx) A. K. (prx)


Lesenswert?

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
von Sputnik (Gast)


Lesenswert?

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).

von (prx) A. K. (prx)


Lesenswert?

Sputnik schrieb:
> Also rein Schaltplan-mäßig sollte alles funktionieren.

Liest du auch manchmal, was andere Leute antworten?

von Sputnik (Gast)


Angehängte Dateien:

Lesenswert?

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

von Sputnik (Gast)


Angehängte Dateien:

Lesenswert?

Der Quarz Anschluss ist ja eigtl auch egal, ein standart Atmega328P 
läuft mit internem Takt...

von (prx) A. K. (prx)


Lesenswert?

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?

von Sputnik (Gast)


Lesenswert?

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 ?

von (prx) A. K. (prx)


Lesenswert?

Hängt am Arduino der gleiche Programmer wie an diesem Board?

von M. K. (sylaina)


Lesenswert?

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.

von (prx) A. K. (prx)


Lesenswert?

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.

von Sputnik (Gast)


Lesenswert?

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.

von (prx) A. K. (prx)


Lesenswert?

Sputnik schrieb:
> Ja, hab nur den einen.

Und wird der beim Arduino mit der gleichen Programmier-Software 
angesprochen wie hier? Also mit avrdude?

von Sputnik (Gast)


Lesenswert?

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...

von Sputnik (Gast)


Lesenswert?

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...

von M. K. (sylaina)


Lesenswert?

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.

von (prx) A. K. (prx)


Lesenswert?

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.

von Sputnik (Gast)


Lesenswert?

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.

von M. K. (sylaina)


Lesenswert?

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.

von (prx) A. K. (prx)


Lesenswert?

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.

von Sputnik (Gast)


Lesenswert?

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 :(

von Petr T. (ptr)


Lesenswert?

A. K. schrieb:
> Hängt am Arduino der gleiche Programmer wie an diesem Board?

Meinst du dergeiche oder derselbe? :-)

von Petr T. (ptr)


Lesenswert?

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...

von M. K. (sylaina)


Lesenswert?

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.

von Sputnik (Gast)


Lesenswert?

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....

von Sputnik (Gast)


Lesenswert?

Ich danke ALLEN vielmals fürs Rätselraten !!!!!


Es funktioniert jetzt!! Mit 10K am Reset läuft alles wunderbar!

von lol (Gast)


Lesenswert?

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

von M. K. (sylaina)


Lesenswert?

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. ;)

von Petr T. (ptr)


Lesenswert?

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...

von Jim M. (turboj)


Lesenswert?

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.

von Peterle (Gast)


Lesenswert?

VCC an GND dürfte mal so überhaupt nicht funktionieren!

von Dietrich L. (dietrichl)


Lesenswert?

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

von Peterle (Gast)


Lesenswert?

Aber VCC und GND sind doch auf dem schaltplan verbunden, oder sehe ich 
das falsch?

von Dietrich L. (dietrichl)


Lesenswert?

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
Noch kein Account? Hier anmelden.