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
Die Anschlußbelegung der Gehäuseformen ist anders. Du sitzt bestimmt mit Deinen Strippen auf den falschen Pins. MfG Paul
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;)
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.
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:)
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.
Der ADC6 ist nur ein ADC-Eingang. Der ADC wird im Programm nicht aktiviert. Tippe also eher auf einen Fehler auf deiner Seite.
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;)
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?
hab schon beides versucht, intern, extern, immer das gleiche... so langsam bin ich echt am verzweifeln...
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!
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...
Probier mal die BrownOut-Detection zu aktivieren. Das high-byte wäre dann DD für 2,7V oder DE für 1,8V.
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;)
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.
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
Womit hast du denn dein Layout gemacht. Zeig mal die geänderte Schaltung und das Layout.
Mit Eagle, der Schaltplan ist aber ja quasi geblieben...
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.
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...
für jegliche andere hilfe bin ich natürlich auch dankbar;)
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.
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.
super! vielen, vielen Dank! Wird dann zwar ein verspätetes Weihnachtsgeschenk, aber immerhin wird es was;-) Frohes Fest.
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
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...
Alex schrieb: > Mit Eagle, der Schaltplan ist aber ja quasi geblieben... Am reset pin fehlt ein pullup gegen vcc. probier mal 20k.
Danke, habe aber sowohl ohne als auch mit 10k getestet. Funktioniert leider nicht. Der Atmega88 ist bestellt, ich hoffe damit wirds:)
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.