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