Forum: Mikrocontroller und Digitale Elektronik ATMega48 DIP statt SMD - nichts passiert


von Alex (Gast)


Lesenswert?

Moin zusammen,
ich habe ein kleines Projekt geklaut, die bauen ihre Schaltung mit einem 
ATMega 48 im SMD Gehäuse auf, da ist ein Pin ADC6, der wird an Reset 
geschaltet. Ich habe das Projekt 1:1 nachgebaut, nur halt den Pin 
weggelassen, weil ich ein DIP Gehäuse genommen habe. Wenn ich das 
Programm jetzt flashe passiert gar nichts, bzw irgendetwas zufälliges. 
Hat jemand eine Idee?!
Es geht um dieses Projekt: http://das-labor.org/wiki/Stimmmopped

Danke schonmal:)

Alex

von Paul Baumann (Gast)


Lesenswert?

Die Anschlußbelegung der Gehäuseformen ist anders. Du sitzt bestimmt mit
Deinen Strippen auf den falschen Pins.

MfG Paul

von Alex (Gast)


Lesenswert?

So genau 1:1 hab ichs dann auch nicht nachgebaut, ich hab die Platine 
vorher angepasst. Er zeigt ja auch was an, nur halt immer was zufälliges 
und immer was anderes;)

von Thomas E. (thomase)


Lesenswert?

Alex schrieb:
> ATMega 48 im SMD Gehäuse auf, da ist ein Pin ADC6
Das TQFP/MLF-Gehäuse hat 32 Pins. Um die nicht alle auf Masse zu legen, 
hat Atmel dem 2 zusätzliche ADC-Eingäge spendiert.
Die Macher von deinem Projekt haben einen dieser Pins wohl dazu benutzt, 
um sich davor zu schützen:
Alex schrieb:
> ich habe ein kleines Projekt geklaut

mfg.

von Alex (Gast)


Lesenswert?

Welche Funktion können die denn haben? Das Projekt ist aber ja auch zum 
nachbauen gedacht;-) Kann es nun also sein, dass es bei mir genau 
deshalb nicht funktioniert?
Danke schonmal:)

von (prx) A. K. (prx)


Lesenswert?

Alex schrieb:

> Welche Funktion können die denn haben?

Kopierschutz für Dummies? Der muss keine besondere Funktion haben, wenn 
Pin nicht verdrahtet zu anderem Ergebnis führt als auf der 
Originalplatine.

von Hubert G. (hubertg)


Lesenswert?

Der ADC6 ist nur ein ADC-Eingang. Der ADC wird im Programm nicht 
aktiviert.
Tippe also eher auf einen Fehler auf deiner Seite.

von Alex (Gast)


Lesenswert?

Hubert G. schrieb:
> Der ADC6 ist nur ein ADC-Eingang. Der ADC wird im Programm nicht
> aktiviert.
> Tippe also eher auf einen Fehler auf deiner Seite.

Danke, dann weiß ich immerhin schonmal, welche Fehlerquellen es nicht 
sind;)

von Einhart P. (einhart)


Lesenswert?

Jau, das mit dem ADC ist nur wegen des einseitgen Layouts gemacht. Den 
Trick wende ich auch öfter an.

Schau 'mal nach den Fuses - ist der externe Quarz aktiviert?

von Alex (Gast)


Lesenswert?

hab schon beides versucht, intern, extern, immer das gleiche... so 
langsam bin ich echt am verzweifeln...

von Alex (Gast)


Lesenswert?

Ich habe jetzt diverse andere Programme getestet - zwar nichts großes - 
aber da gab es keinerlei probleme. wenn noch jemand eine idee hat wäre 
ich wirklich sehr dankbar!

von Alex (Gast)


Lesenswert?

wie kann es denn angehen, dass das programm, sobald ich die batterie 
einlege irgendeinen status annimmt, diesen beibehält und beim nächsten 
batterie einlegen wieder was anderes macht? wenn ich nur den reset 
mache, bleibt der status erhalten...

von Hubert G. (hubertg)


Lesenswert?

Probier mal die BrownOut-Detection zu aktivieren.
Das high-byte wäre dann DD für 2,7V oder DE für 1,8V.

von Alex (Gast)


Lesenswert?

Danke für den Tip, geholfen hat es leider nur mittelmäßig. bei DE 
passiert genau das gleiche, bei dd gar nichts mehr. ich verstehe es 
nicht. ich sitz da jetzt schon 5 stunden dran und noch immer kommt kein 
geistesblitz.
bin für alle ideen offen;)

von Hubert G. (hubertg)


Lesenswert?

Wenn bei DD nichts mehr geht, dann kontrolliere mal die Batterie ob sie 
nicht schon zu stark einknickt.
Sonst einen Rat geben ist schwierig, da müsste man die selbe Schaltung 
haben.
Es könnte ja genau so gut ein Layoutfehler sein.

von Alex (Gast)


Lesenswert?

ich habs jetzt mal an mein netzgerät angeschlossen, gleiche 
erscheinungen. der layoutfehler könnte sicher sein, aber müsste dann 
nicht wenigstens irgendwas passieren, wenn ich einen der taster 
betätige?
danke schonmal

von Hubert G. (hubertg)


Lesenswert?

Womit hast du denn dein Layout gemacht. Zeig mal die geänderte Schaltung 
und das Layout.

von Alex (Gast)


Angehängte Dateien:

Lesenswert?

Mit Eagle, der Schaltplan ist aber ja quasi geblieben...

von Hubert G. (hubertg)


Lesenswert?

Hast du im Eagle einen DRC gemacht?
Vielleicht habe ich morgen Nachmittag Zeit. Dann stecke in das mal auf 
mein Dashboard, ist ja nicht viel dran. Da sieht man dann ob die 
Software läuft.

von Alex (Gast)


Lesenswert?

Da wäre ich dir extrem dankbar, soll nämlich eigentlich ein 
Weihnachtsgeschenk werden;)  der drc sagt nur, dass ein paar 
leiterbahnen zu nah am rand der platine sind, also nichts wildes...

von Alex (Gast)


Lesenswert?

für jegliche andere hilfe bin ich natürlich auch dankbar;)

von Alex (Gast)


Lesenswert?

Vielleicht hat ja heute noch einer eine idee?

von Hubert G. (hubertg)


Lesenswert?

Also ich habe das mal auf meinem Brett zusammengesteckt.
Es sieht so aus als würde es funktionieren, mangels Saiteninstrument 
kann ich es nicht testen.
Man kann aber die Instrumente auswählen und dann auch die Saiten 
wechseln, wie in der Anleitung beschrieben.
Verwendet habe ich einen Mega88.
Also doch HW-Fehler.
Schick mit mal die beiden Eagle Dateien, da kann ich das besser prüfen.

von Hubert G. (hubertg)


Lesenswert?

Ich denke mal das ich den Fehler gefunden habe. Liegt doch nicht in der 
HW.
Beim kompilieren für den Mega48 ist mir aufgefallen: Data 100,4%
Das kann beim besten Willen nicht funktionieren.
Ich habe das mal geladen, der Kontroller resetet sich dauernd.
Die vorhandene stimmoppedm48.hex macht zwar kein Reset, tut dafür aber 
sonst auch nichts.
Also einen Mega88 nehmen und das ganze wird funktionieren.

von Alex (Gast)


Lesenswert?

super! vielen, vielen Dank! Wird dann zwar ein verspätetes 
Weihnachtsgeschenk, aber immerhin wird es was;-)

Frohes Fest.

von bastler (Gast)


Lesenswert?

Hallo zusammen,

ich habe gerade den Thread gelesen und bin über diese beiden posts 
gestolpert.

Thomas Eckmann schrieb:
> Das TQFP/MLF-Gehäuse hat 32 Pins. Um die nicht alle auf Masse zu legen,
> hat Atmel dem 2 zusätzliche ADC-Eingäge spendiert.

Einhart Pape schrieb:
> Jau, das mit dem ADC ist nur wegen des einseitgen Layouts gemacht. Den
> Trick wende ich auch öfter an.


darauf kann ich mir gar keinen Reim machen.
Warum sollte man alle 32 Pins auf Masse legen wollen? und wenn - welche 
Rolle spielen dann die beiden zusätzlichen ADC-Eingänge?

Und warum gibts Unterschiede, ob das Layout einseitig ist oder nicht?


verwirrte Grüße
ein bastler

von Alex (Gast)


Lesenswert?

Ich glaube, dass nicht gemeint war das alle Ports auf Masse gelegt 
werden sollen, sondern, wenn man nicht die beiden ADC's hätte, nicht nur 
2 sondern 4 Ports "übrig" wären, die man dann auf Masse legen müsste.
Das war so meine Interpretation des ganzen...

von marcus6100 (Gast)


Lesenswert?

Alex schrieb:
> Mit Eagle, der Schaltplan ist aber ja quasi geblieben...

Am reset pin fehlt ein pullup gegen vcc. probier mal 20k.

von Alex (Gast)


Lesenswert?

Danke, habe aber sowohl ohne als auch mit 10k getestet. Funktioniert 
leider nicht. Der Atmega88 ist bestellt, ich hoffe damit wirds:)

von Hubert G. (hubertg)


Lesenswert?

Das Programm ist nicht gerade RAM-Sparend geschrieben. Da sind die 
512Byte des Mega48 etwas zu wenig. Beim Mega88 mit den 1k RAM ist es 
kein Problem.
Mit einem Mega8 sollte es auch funktionieren, man müsste es nur 
entsprechend kompilieren.

von Alex (Gast)


Lesenswert?

Dafür kenne ich mich mit so Sachen wie Interrupts nicht gut genug aus, 
und sowas wie z.b. EIMSK kennt der Atmega8 gar nicht. Versucht hab ich 
das zwar auch, musste aber recht schnell aufgeben.

von PuraVida (Gast)


Lesenswert?

Alex schrieb:
> Dafür kenne ich mich mit so Sachen wie Interrupts nicht gut genug aus,
> und sowas wie z.b. EIMSK kennt der Atmega8 gar nicht. Versucht hab ich
> das zwar auch, musste aber recht schnell aufgeben.

Beim ATmega8 heißt das TIMSK statt EIMSK. Schau ins Datenblatt vom 
ATmega8, der Timer funktioniert gleich nur die Bezeichnungen sind ein 
wenig anders.

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.