Hallo Leute, ich habe mal ne frage, ich bin zur zeit an einem projekt auf meine Lehre beschäftigt. und jetzt wollt ich den schaltplan umzeichen und zwar soll der PIC16F84 gegen einen ATTiny2313 ausgetauscht werden aber weil ich überhaupt keine ahnung von mikrocontrollern habe brauch ich da ein bisschen hilfe. man hat zu mir gesagt das ich die Matrix lieber mit 16x16 Led´s machen soll, weil die sich dann besser programmieren lässt.und es sollen noch 2 schalter rein damit ich dann zwischen 4 programmen schalten kann. zum programmieren hab ich mir das Atmel Evaluations-Board von pollin geholt. könnte mir einer vielleicht den plan zeichnen und vielleicht ein test programmschreiben, und wie programmiere ich den controller, ich bin todal der Neuling in sachen mikrocontrollern. Im Vorraus Vielen Dank Maik
??? Ich bin mir sicher, hier zeichnet und proggt niemand was. Aber beschreib doch erstmal, was Du machen willst, ohne vorauszusetzen, daß andere in Deinen Kopf schauen können. Die verständliche Beschreibung eines Projekts ist schonmal die halbe Miete. Und dann kriegt man auch bestimmt Hilfe. Peter
hallo ich wollte nur verschiedene symbole wie sterne und so weiter leuchten lassen und dann wahlweiße mit schaltern in ein anderes programm wechseln, dass dann andere symbole zeigt. gruß maik
ich habe mal fix die schaltung gezeichnet, ist das so richtig. oder wird das niemals gehen. maik
> soll der PIC16F84 gegen einen ATTiny2313 ausgetauscht werden Das könnte rein theoretisch sogar gehen. Der PIC16F84 hat 13 IO-Pins und der ATTiny2313 hat max. 18 IO-Pins. Vom Takt her lassen sich beide mit 20 MHz betreiben und Timer haben beide. ROM und RAM mässig ist der AVR "fetter", d.h. ein PIC Programm sollte nach Umschreiben auch in den AVR passen. > 16x16 Led´s plus 2 Schalter Ist schon heftig viel für die paar µC Pins. Wieviele LEDs (oder was sonst) sind derzeit angeschlossen? Allein für die LED-Matrix bräuchtest du ja 16+16=32 Pins bei normalem Multiplexing bzw. 17 bei Charlieplexing. Abgesehen davon, dass der µC beim Stromfressen begrenzt ist und es bei vielen gleichzeitig leuchtenden LEDs (16*16=256! * 10 mA = 2,56A!!) kritisch wird. Oder sind da noch Porterweiterungen (=> mehr IO-Pins) und Treiber-ICs (=> weniger Strom am µC) im Schaltbild?
> oder wird das niemals gehen. Ja. Schon bei dem Schalterteil hast du einen fetten Kurzschluss drin! Mehr zum Anschluss der Schalter: http://www.mikrocontroller.net/articles/AVR-Tutorial:_IO-Grundlagen
das mit den lasten hab ich mir auch schon überlegt, und da wollt ich dann transistoren reinbauen, ich hab mal schnell schalter geändert. im anhang
Kann ich nicht bei dem Schalterteil die internen Pull-Ups aktivieren und mir die beiden externen Widerstände sparen?
Die 74374 kann man wohl als Porterweiterung nehmen. Hier ist ein Plan für 8x8: http://flitsservice.nl/phpBB/viewtopic.php?t=17727&view=previous Du musst im Datenblatt schauen, wieviel Strom der 74374 pro Pin und insgesamt liefern ("Row-74374") oder versenken ("Column-74374") kann. Ich befürchte mit der 16x16 Matrix bist du über dem Limit. Du hast ja mit 16x16 den vierfachen Stromhaushalt wie mit 8x8, aber du hast nur die doppelte Anzahl 74374 (4 statt 2).
> Kann ich nicht bei dem Schalterteil die internen Pull-Ups aktivieren und > mir die beiden externen Widerstände sparen? Nein. Du hast dann immer noch eine direkte Vcc-GND Verbindung egal wie die Schalter stehen.
Stopp! Habe mich verkuckt und die Beschriftung oberhalb der 74374 falsch gelesen!!! Dein Bild ist für meine Augen zu klein ;-) Die Schalter müssten funktionieren, auch im ersten Plan, wenn interne Pullups benutzt werden.
@Stefan Hmm, verstehe ich nicht, wenn ich die Ports auf Eingang schalte, die Pull-Ups aktiviere (sind dann das Pendant zu den 10kR extern) und die Schalter gegen Masse laufen lasse, hab ich doch keinen direkten Kurzschluss, oder irre ich mich?
Ich würde noch ein paar Meinungen abwarten und Datenblätter wälzen oder mal vorsichtig auf einem Steckbrett loslegen und messen. Ich bin nicht so für's direkt löten ;-) Und du musst dir noch Gedanken machen über Netzteil/Stromversorgung, Taktquelle (intern<->extern), Resetbeschaltung, 100nF Abblockkondensatoren bei Vcc an ICs sowie wie und mit was du den Attiny2313 programmieren willst. Es gibt bei AVRs günstigerweise die ISP Methode (In System Programming) http://www.mikrocontroller.net/articles/ISP http://www.mikrocontroller.net/articles/AVR_In_System_Programmer
Ich würd die Matrix statt 16x16 als (elektrisch) 8x32 aufbauen, die physikalische LED-Anordnung natürlich bei 16x16 lassen. Bei nem 1:16 Multiplex wirds schon recht schwer, ne vernünftige Helligkeit herzukriegen, bei 1:8 ist da einfacher. Einfach mal das Datenblatt der LEDs zu Rate ziehen, denen kann man zwar im gepulsten Betrieb nen höheren Strom zumuten, aber 16-Facher Strom ist dann meistens doch nicht erlaubt. Und du brauchst dann nur 8 Mosfets/Transistoren für die Zeilen, spart nochmal ein paar cent. Noch ein Tipp: Du kannst in eagle die GND+VCC symbole mehrfach im Schaltplan verwenden, die werden automatisch verbunden. Einfach mit dem Kopier-Werkzeug auf das GND Klicken. Spart die langen unübersichtlichen Versorgungsleitungen im Plan. /Ernst
Das mit den Programmieren weiß ich noch nicht wie es geht, ich hab mir von pollin den Atmel Evaluationboard gekauft, ich hoffe mal damit geht es dann, ich weiß bloß noch nicht wie man so ein mikrocontroller programmiert und flashen tut. gruß maik
Wie Du das Programm in den Flash bekommts ist ja in der pdf auf der pollin Seite beschrieben. Nur das Programm wirst du selber erarbeiten müssen.
Den Vorschlag von Ernst, statt 1:16 1:8 zu verwenden, finde ich klasse. Hast du (Maik) schon überlegt, wie die Schaltung dann aussehen würde? Ich denke, es sind ein 74HC374 mehr und ein IO-Pin mehr für dessen CLK-Signal erforderlich.
@ stefan ich weiß schon wie das dann ungefähr aussehen würde. aber ich hab jetzt ein anderes problem, und zwar mit meinen board es geht irgendwie nicht an meinen pc ich hab mit ponyprog2000 ein test gemacht und der zeigt immer testfehler und ich weiß nicht warum. gruß maik
Das kann einige Ursachen haben; mit den Stichworten Pollin und Ponyprog zusammen findet man ja einige Treffer bei Google. Hast du eine echte serielle Schnittstelle an deinem PC (gut) oder musst du den Umweg über einen USB-To-Seriell-Adapter gehen (schlecht)? Ansonsten... Beitrag "Problem mit Pollin AVR Board und PonyProg" http://f3.webmart.de/f.cfm?id=1663923&r=threadview&a=1&t=2737001 Beitrag "Re: PonyProg 2000"
@stefan Ich habe direkt ein com-anschluss am PC, muss man den noch irgendwie einstellen, ich hab leider davon noch zu wenig erfahrung. bei ponyprog hab ich auch alles probiert, aber der bringt mir immer wieder testfehler, aber anscheinend kann er die daten aus dem attiny2313 lesen(wie im anhang) ist das überhaupt richtig was er da liest, oder sind das nur irgendwelche angaben von ponyprog. kann einer von euch mir testtool.hex von dem board umschreiben das der auf einen attiny2313 funktioniert, soweit wie ich das weiß ist das programm für einen atmega16 geschrieben wurden. Gruß maik
> ist das überhaupt richtig was er da liest, oder sind das nur > irgendwelche angaben von ponyprog. Ich kann es dir nicht mit Gewissheit sagen. Die FF sind für ein "leeres", unprogrammiertes ATtiny2313 richtig. Ich weiss aber nicht was Ponyprog anzeigen würde, wenn ein Lesefehler auftritt. Hoffentlich nicht auch FF. Du kannst ja mal die "testfehler" Meldungen zeigen. Vielleicht kann man mit Hilfe der Ponyprog Dokumentation den Fehlermeldungen auf de Schliche kommen. http://www.lancos.com/e2p/ponyprog2000.html Hast du schon eine Programmierumgebung installiert? Wenn ja kannst du ja mal ein Minimalstprogramm (s.u.) kompilieren und in den ATtiny2313 reinschreiben und dann wieder auslesen (Verify).
1 | int main(void) |
2 | {
|
3 | while(1); |
4 | }
|
Wenn du noch keine Programmierumgebung installiert hast, kann ich dir heute abend ein Hex-File dazu schicken.
@ Franz-Rainer das testtool.hex ist im anhang. @ stefan was meinst du mit programmierumgebung, kann das winavr oder avr studio 4 oder so etwas sein, wenn ja, hab ich damit noch nie gearbeitet und nicht wirklich die erfahrung damit. gruß maik
> was meinst du mit programmierumgebung, kann das winavr oder avr studio 4 > oder so etwas sein, wenn ja, hab ich damit noch nie gearbeitet und nicht > wirklich die erfahrung damit. Exakt sowas. Wenn du programmieren willst/musst, brauchst du sowas. Fremde Hexfiles umpfriemeln geht in den seltensten Fällen. Das ist wie Marmorkuchen aus Zitronenkuchen machen. Vorne bei den Zutaten (Quellcode) anfangen und die Verarbeitungsvorschrift (Kompilieren, Brennen) einhalten, dann klappt es.
ich weiß bloß nicht wie ich was machen muss, mit was ich am besten anfange und so. so von programmieren hab ich überhaupt keine ahnung, ich bin zwar schon dabei mir einiges durchzulesen, aber das dauert alles seine zeit, und dann kommt ja auch noch die berufsschule dazu und das alles unter einen hut zu bekommen das dauert halt ein bisschen mehr zeit. gruß maik
Maik wrote: > ich weiß bloß nicht wie ich was machen muss, mit was ich am besten > anfange und so. Dann lies das Tutorial auf dieser Seite hier, da wird alles Schritt für Schritt erklärt. > so von programmieren hab ich überhaupt keine ahnung, ich > bin zwar schon dabei mir einiges durchzulesen, aber das dauert alles > seine zeit, und dann kommt ja auch noch die berufsschule dazu und das > alles unter einen hut zu bekommen das dauert halt ein bisschen mehr > zeit. Ja,es dauert alles seine Zeit, da musst Du durch. Es ist noch kein Meister vom Himmel gefallen. Wissen muss man sich erarbeiten. Und das ist gut so! ...
also, ich habe jetzt mal probiert, den attiny2313 einzulesen, da kommt eine meldung mit "device missing or unknown device (-24) dann hab ich auf ignore geklickt, da hat er was gelesen und danach kam die meldung "read successful device size: 2176 Byte". dann hab ich das gleich nochmal ohne board gemacht und es kamm genau das gleiche raus. an was liegt das, ich weiß langsam nicht mehr weiter. gruß maik
testtool.hex funktioniert auch mit dem 2313. Nur der Piepser wird nicht funktionieren, da Pollin zu taub war, den mit einen Portpin des 2313 zu verschalten. Der wird nur am Mega16 / Mega8 klingeln. Da haben se wieder was halbes gemacht und nichts ganzes
danke für deine mühe das rauszufinden, aber das bringt mir jetzt erstmal nichts, denn mein board will irgendwie nicht an meinen pc funktionieren, keine ahnung warum. gruß maik
ich habe gerade ein tip bekommen, kann das vielleicht sein das der attiny2313 kaputt ist. gruß maik
Beitrag #5158044 wurde von einem Moderator gelöscht.
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.