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
> 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?
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/ISPhttp://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
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
@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
intmain(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