Hallo, ich habe mir eine kleine Schaltung zum faden von LEDs zusammen gebastelt. Das Programm habe ich bereits und läuft auch wunderbar auf einem mega88 in der THT Bauweiße. Jetzt habe ich versucht das ganze via eines USBasp über einen ISP Anschluss auf einen mega88-20au zu bekommen aber leider bekomme ich immer wieder die Meldung daß das Board nicht antwortet. Habe ich vielleicht einen Fehler in meinem Schaltplan? Gruß
:
Bearbeitet durch Admin
Höchstwahrscheinlich nicht. Du hast ja nur die Hardware (insbesonders das board) geändert, nicht den Schaltplan. Der ist ja der gleiche wie bei der THT-Version. Deshalb beschränke Dich bei der Fehlersuche erst einmal auf das Einfachste: Stelle sicher, dass die Stromversorgung des Kontrollers und die Verbindungsleitungen des ISP-Anschlusses in Ordnung sind. Dann müsste bei der ersten Anfrage des Proggers die Signatur des Kontrollers übergeben werden. Gerade an dem blöden ISP-Anschluss kann man schnell "gespiegelt" anschließen. Wenn die Signatur des Kontrollers erstmal übergeben wird, hat man meist die Hardware-bugs wie Spiegelung, Kurzschlüsse, Unterbrechung usw. überwunden. Die Anschlüssse für die Dioden usw. kann man da erst einmal weglassen. Ich selbst arbeite bei Inbetriebnahme meiner selbstgeätztem boards immer so: Zuerst nur den ISP und die Versorgung des Kontrollers zusammenlöten. Erst wenn die Signaturgeschichte klappt, bestücke ich den Rest.
:
Bearbeitet durch User
Ich habe heute mal die Pinbelegung durchgemessen (vom USBasp über das Kabel zum yC), die passt. Die Spg.versorgung liegt auch überall an wo sie soll. Ich habe mir mal einen TQFP Sockel besorgt und das ganze über ein Steckbrett versucht und selbst da passiert nichts bzw. kommt auch die Meldung daß das Board nicht antwortet.
Dein nagelneuer Atmega läuft mit 1MHz. Läuft der andere vielleicht schneller und du hast die ISP-Frequenz vom Programmer hoch gesetzt? Probier mal einen niedrigeren ISP-Takt.
Thomas E. schrieb: > Dein nagelneuer Atmega läuft mit 1MHz. Läuft der andere vielleicht > schneller und du hast die ISP-Frequenz vom Programmer hoch gesetzt? > Probier mal einen niedrigeren ISP-Takt. WOW!!! Das war es! Zum Glück habe ich einen 2. Programmer da gehabt bei dem ich den Takt runter stellen kann. Danke :D Hab jetzt nach dem flashen (mit 8MHZ Takt) meinen anderen USBasp ausprobiert aber mit dem geht das trotz des vorher eingestellten Takt immer noch nicht. Muss ich da noch was anderes beachten?
:
Bearbeitet durch User
So, das Programm ist jetzt auf dem uC und läuft aber leider habe ich ein kleines Problem! Die LEDs an den Pins 9 und 10 faden normal aber die LEDs an den anderen PINs flackern dabei. Kann mir vielleicht jemand sagen warum manche meiner LEDs flackern beim faden? Zumal faden sie recht langsam. Ich habe die gleiche Schaltung als THT Version aufgebaut und mit ein und den selben Programm bespielt. Da flackert aber nichts und die LEDs faden auch schneller. Woran liegt das?
Die erste Vermutung ist doch, dass nach wie vor die THT-Version mit 8, SMD jedoch mit 1 MHz läuft.
Steffen P. schrieb: > Da flackert aber nichts und die LEDs faden auch schneller. Vielleicht genau einen Faktor 8 schneller? Das sollte sich feststellen lassen. Spiele zur Kontrolle och einfach mal auf beide µC-Versionen ein Programm drauf, das eine LED im 1s-Takt blinken lässt.
Wolfgang schrieb: > Steffen P. schrieb: >> Da flackert aber nichts und die LEDs faden auch schneller. > > Vielleicht genau einen Faktor 8 schneller? > > Das sollte sich feststellen lassen. Spiele zur Kontrolle och einfach mal > auf beide µC-Versionen ein Programm drauf, das eine LED im 1s-Takt > blinken lässt. Hab jetzt mal einen Sketch auf beide uC aufgespielt und siehe da, die SMD ist wesentlich langsamer als die THT Bauweiße. Den Takt des Oszillator für den uC stelle ich in der Arduino IDE unter "Werkzeuge -> Clock" ein. Dort habe ich "8 MHz internal" eingestellt. Vielleicht hätte ich die mega88-20au doch nicht in China bestellen sollen...
:
Bearbeitet durch User
Nein, damit stellst du nicht die Taktfrequenz des Oszillators ein, sondern du teilst der IDE (und dem Compiler) mit, für welche Taktfrequenz das Programm erzeugt werden soll. Davon hängen nämlich _delay_ms() ab und die Berechnungen in util/setbaud.h. Der Taktgeber im Mikrocontroller hat keine Ahnung, was du in der IDE einstellst. Der Taktgeber wird durch durch Fuses konfiguriert.
> Vielleicht hätte ich die mega88-20au doch nicht in China > bestellen sollen... Zumindest ist es für Anfänger hilfreich, vertrauenswürdige Produkte zu verwenden, wo man sicher sein kann, dass der Fehler zu 99,9% vor dem Bildschirm sitzt. Das gilt in deinem Fall für den Programmer und den µC. Hast du wenigstens eine ordentliche Stromversorgung? Da sparen die Bastler nämlich auch oft an der falschen stelle. Dabei eignen sich simple Batterien für den Anfang besser als jedes schlechte Netzteil. Erfahrene Leute wissen wie man Fehler analysiert und können schnell erkennen, ob ihnen Schrott verkauft wurde (meistens sind die Teile Ok). Doch Anfänge tun sich da schwer, vor allem, wenn die Schaltung auf Teilen besteht, die man noch nicht einzeln erprobt hat.
Hi >Den Takt des Oszillator für den uC stelle ich in der Arduino IDE unter >"Werkzeuge -> Clock" ein. Dort habe ich "8 MHz internal" eingestellt. Und der Programmer macht auch davon gebrauch? MfG Spess
> Und der Programmer macht auch davon gebrauch?
Eben nicht.
Du kannst im Quelltext das clockprescaleregister entsprechend setzen. Da steht jetzt drinn, das er clock/8 "machen" soll.Dieses Bit löschen. Aber eigentlich über die Fuses...
Als Spg.quelle nutze ich während des Programmiervorgangs den USBasp und danach nutze ich einen 9V-Block. So, habe unter Clock jetzt mal auf 1 MHz gestellt und jetzt tut die Schaltung soweit außer die LED an Pin 1 des Controllers. Die flackern noch aber der Rest ist läuft einwandfrei. Da frag ich mich jetzt aber wie ich es geschaft habe den Takt des THT uC auf 8 MHz zu ändern...?!?
> danach nutze ich einen 9V-Block. Hoffentlich mit Spannungsregler. Ansonsten wird das die Ursache für das Flackern sein. Nachtrag: Sorry, hast ja einen Spannungsregler im Schaltplan. Der 7805 ist allerdings nicht gut, weil er mindestens 7V am Eingang braucht. Deine Dioden führen zu weiteren 1,4V Verlust. Die Batterie muss also knacke-voll sein (8,4V). Da 9V Batterien ohnehin sau teuer sind, ist das ziemlich doof. Nimm lieber einen LDO Regler, zum Beispiel den LF33CV. Den Gleichrichter würde ich bei Batteriebetrieb weglassen. Als Verpolungsschutz eignet sich eher eine Diode, welche die Batterie bei falschen Anschluss einfach kurzschließt. An der geht im Normalbetrieb keine Spannung verloren, da sie nicht in Reihe zum Spannungsregler liegt. > Da frag ich mich jetzt aber wie ich es geschaft habe den Takt des > THT uC auf 8 MHz zu ändern...?!? Möglicherweise wurde er als Arduino Zubehör verkauft und enthielt daher bereits einen Bootloader und veränderte Fuses. Denn Arduinos laufen in der Regel mit 8 oder 16 Mhz.
Stefan U. schrieb: >> danach nutze ich einen 9V-Block. > > Hoffentlich mit Spannungsregler. Ansonsten wird das die Ursache für das > Flackern sein. Auf jedenfall! Die Schaltung ist für einen Güterwagon gedacht und die Gleisspg. wäre viel zu hoch für den Aufbau. >> Da frag ich mich jetzt aber wie ich es geschaft habe den Takt des >> THT uC auf 8 MHz zu ändern...?!? > > Möglicherweise wurde er als Arduino Zubehör verkauft und enthielt daher > bereits einen Bootloader und veränderte Fuses. Denn Arduinos laufen in > der Regel mit 8 oder 16 Mhz. Kann sein gut was garnicht so abwegig ist. Den habe ich bei einem Händler in der Stadt gekauft. Bezüglich deines Nachtrages: Die 9V sind nur zu Testzwecke. Die Platine kommt in einen Wagon mit einer Gleisspg. von 20V.
:
Bearbeitet durch User
Neulich hatte hier jemand berichtet, dass er von einem Online Händler "versehentlich" ATtinies mit Bootloader bekommen hatte.
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.