Hallo Forum, ich bin in Sachen Mikrocontroller relativer Anfänger. Jetzt möchte ich aber eine Platine machen, die mich nicht nur in Sachen uC vorwärts bringt, es sollte auch nicht allzu schwer werden, dieses Stück danach zu fertigen, denn wie der Zufall so spielt steht in der Firma eines Bekannten eine CNC-Fräsmaschine, und der Chef (auch ein Bekannter) hätte auch nix dagegen. Ich würde die Platine dann also später auch gerne fräsen. Ich hab mir das so gedacht, 8 7Segmentanzeigen, ein Display, ein Encoder, RS232-Schnittstelle und (wenns noch drin ist) zwei oder drei LEDs. Das alles zusammen hätte ich gerne mit einem ATmega8 gemacht und (wie im Tutorial) mit dem avr-gcc programmiert. Flashen würde ich das dann über die ISP-Pins des Controllers. So weit so gut, zum Anfang habe ich jetzt mal gleich 2 Fragen: 1) ist das überhaupt möglich? Die 7Segmentanz. könnte ich doch über einen MAX7219 ansteuern. Aber brauche ich dazu nicht unbedingt das SPI-Interface des uCs? Gehen dadurch nicht die für ISP nötigen Pins verloren? Oder kann man das einfach dazuhängen? Oder kann ich den MAX7219 auch an irgendwelche anderen Pins hängen? 2) Welchen ISP-Stecker soll ich nehmen? Den 6poligen oder den 10poligen? Am Anfang kann ich es mir ja noch aussuchen oder? Mich interessiert das Thema sehr vorweg Dank Thomas
1) SPI für ISP und für die Anwendung beißt sich nicht, es passiert ja nie beides gleichzeitig. Allerdings sollte das CS des MAX7219 einen Pullup kriegen, sonst flackerts beim Porgrammieren. Du kannst aber auch Software-SPI nehmen, geht dann mit jedem Pin. 2) Ich nehme den 10-pol. Peter
Dankeschön, na dann mache ich mal meinen ersten Schaltplan. ;-)
Du kannst auf die 10-Polige auch gleich die Rs232 noch mit draufhängen einige Programmer (z.b. meiner ;)) unterstützen das als Debuginterface
Anderer Ansatz: Vielleicht solltest Du Dir zuerst einmal ein fertiges Board kaufen (ich hatte mit dem AVR-Butterfly angefangen, gab es damals bei ebay für ca. 16 Euro, funktionierende Hardware und Software inklusive, wichtig: "unverbastelt". Es gibt auch noch viele andere, günstige und teure). Damit kannst Du Deine ersten Erfahrungen sammeln, ein bisschen "rumprogrammieren" und kannst Dir sicher sein, dass die Fehler schon mal nciht in der Hardware liegen. Gerade wenn Du neu bist, stehst Du erst einmal vor einem Haufen Asche, nichts geht und Du weißt nicht, warum. Also lieber vorsichtig rantasten. Deine eigene Microcontrollerplatine kannst Du dann immer noch machen. Ciao und Viel Spaß Willi Wacker
Butterfly ist für den Anfänger eigentlich meiner Meinung nach zu kompliziert. Sicherlich ist Anfänger nicht gleich Anfänger, und was der eine unübersichtlich findet, stört den anderen vielleicht gar nicht. Trotzdem: Der mega169 auf dem Butterfly Board ist schon ein ganz schöner Brocken von AVR, und die korrekte Bedienung des integrierten LCD-Treibers ist etwas aufwendiger als ein paar LEDs blinken zu lassen.
Hallo, ich bins wieder (logisch). Jetzt habe ich mich mal eingelesen (datasheets etc.) und ich hoffe ich habe das alles soweit mal ok gemacht. Meinungen aller Art erbeten, solangs zum Thema passt. Zum Schaltplan: R1 habe ich entsprechend dem Datenblatt des display-drivers 7219 so gewählt, dass genug durch die Segmentanzeigen durchgeht. MOSI des mega8 gehen auf DIN SCK auf CLK des ICs. Für den LOAD/CS pin habe ich den MISO genommen, da ich so glaube habe ich das verstanden, eh nix kaskadieren will. Falls das so passt, wäre nur mehr eine Frage offen: Wie groß sollte den der pullup R2 sein? So wie Peter gemeint hat, habe ich mich für den 10pol. ISP Stecker entschieden. MAX232 war auch nicht so einfach zu kapieren am Anfang, aber ich glaube soweit sollte die Beschaltung auch passen. Warum hat der den DS1233 drin??? Ganz einfach, lag so rum... mfg Thomas
Hallo, die Idee, den CS/LOAD des 7219 ausgerechnet auf eins der SPI-Pins zu legen, ist nicht zu empfehlen. Diese Leitungen ändern schließlich ihre Pegel beim Programmieren und der 7219 liest irgendwelchen Müll ein. Das macht ihn zwar nicht kaputt, aber wenn er so z.B. zufällig auf 1 Anzeigestelle mit maximaler Helligkeit gesetzt wird, freut es weder Dich noch die Anzeige lange. Lege CS/LOAD auf einen anderen Pin, z.B. SS. Zum DS1233 nur soviel: ich habe hier noch so einiges an ICs rumliegen, willst Du die auch noch einbauen? Gruß aus Berlin Michael
> Lege CS/LOAD auf einen anderen Pin, z.B. SS. Tja, genau das hatte ich mir schon gedacht, die Spuren am SS Pin des mega8 zeugen von meiner Unentschlossenheit. ;-) Also verschenke ich dummerweise dadurch einen Pin, eine Tatsache, die mich nicht so glücklich macht. Naja, es geht darum zu lernen. > Zum DS1233 nur soviel: ich habe hier noch so einiges an ICs rumliegen, > willst Du die auch noch einbauen? Naja, es geht ja darum es auszuprobieren. Da nehme ich halt das was mir zur Verfügung steht. Der DS1233 reset generator hörte sich einfach gut an in dem Moment wo ich ihn sah, und ich mich dafür interessierte was das überhaupt für einer sei... Danke für gute Kritik, Thomas
Hallo mal wieder, Jetzt habe ich wieder ein bisserl weitergemacht, und wollte wieder Meinungen hören. Also der LOAD/CS Pin des 7219 habe ich jetzt an SS von meinem mega8. Ich hoffe mal, dass das jetzt so passt. Den Pullup, den Peter Danegger angesprochen hat brauche ich jetzt nicht mehr. Ausserdem habe ich die Steuerleitungen für das lcd display gemacht. Ich bin schon gespannt wie das dann später mal auf dem pcb ausschaut. Und ein Encoder-Symbol habe ich gemacht, weil ich vergleichbares in Kicad nicht gefunden habe. Ist ein Encoder eigentlich ein IC? Ich meine, rein theoretisch wäre dann die Bezeichnung U? auch richtig, andererseits...? Kicad gefällt mir immer besser, habe auch schon ein wenig mit dem Layoutprogramm herumgespielt. Bekomme auch schon die Gerber Files ins richtige Koordinatensystem (muss angepasst werden) für das CAM Programm der CNC Fräse. mfg Thomas
Christian U. wrote: > Du kannst auf die 10-Polige auch gleich die Rs232 noch mit draufhängen > einige Programmer (z.b. meiner ;)) unterstützen das als Debuginterface Das hört sich toll an, nur ist das wahrscheinlich für mich als Anfänger ungeeignet. Ich bin froh wenn das Ding mal so läuft. Da gibts doch noch soviel, JTAG, ICE und Konsorten, nicht zu vergessen größere Controller mit noch mehr Peripherie. Aber da trau ich mich ehrlich gesagt noch nicht drüber, noch nicht.
So, endlich wieder Zeit. Hab mir letztens ein paar Application Notes angeguckt. Interessant fand ich vor Allem no. 910 (In System Programming). Interessanterweise sind da jetzt erstmal Widerstände zwischen den SPI Ports des mC und dem SPI-Slave (siehe Bild). Ein paar Postings vorher meinte doch wer, dass man eigentlich nur einen pull-up braucht. Was ist denn jetzt richtig? sorry falls ich nerv, mfg Thomas
Ich kenne mich mit dem Problem nicht aus, aber die Widerstände sind wohl Pullups, die verhindern, dass die Programmierspannung über den anderen IC abfließt. Sollte meiner Meinung nach so gehen. Dussel
Thomas Wursch wrote: > Interessanterweise sind da jetzt erstmal Widerstände zwischen den SPI > Ports des mC und dem SPI-Slave (siehe Bild). Ein paar Postings vorher > meinte doch wer, dass man eigentlich nur einen pull-up braucht. Was ist > denn jetzt richtig? Das sind Schutzwiderstände, die verhindern sollen, dass, falls das SPI-Device während der Programmierung versucht, der Programmierschnittstelle "gegenzusteuern", Kurzschlüsse verursacht, was zu einer Beschädigung aller drei Komponenten führen könnte. Durch die Widerstände wird der Strom, der in einem solchen Fall fließen könnte, auf ein für alle Komponenten erträgliches Maß begrenzt.
Hmm, okay. Ich versuche das mal in meinen ersten Schaltplan einzuarbeiten. Mehr dazu bald. Danke soweit.
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.