mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Attiny2313


Autor: Maik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
???

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

Autor: Maik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Maik (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
ich habe mal fix die schaltung gezeichnet,  ist das so richtig. oder 
wird das niemals gehen.

maik

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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?

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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-Tutori...

Autor: Maik (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Unwissender (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann ich nicht bei dem Schalterteil die internen Pull-Ups aktivieren und 
mir die beiden externen Widerstände sparen?

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die 74374 kann man wohl als Porterweiterung nehmen. Hier ist ein Plan 
für 8x8: 
http://flitsservice.nl/phpBB/viewtopic.php?t=17727...

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

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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.

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Unwissender (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@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?

Autor: Maik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also könnte ich dann so nach plan löten. ohne das ich dann noch was 
ändern muss.

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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_Sys...

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Maik (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Holger Krull (krulli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Maik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ 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

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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...
Beitrag "Re: PonyProg 2000"


Autor: Maik (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@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

Autor: Franz-Rainer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wo ist das " testtool.hex "?

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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).
int main(void)
{
   while(1);
}

Wenn du noch keine Programmierumgebung installiert hast, kann ich dir 
heute abend ein Hex-File dazu schicken.

Autor: Maik (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@ 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

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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.

Autor: Maik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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!

...

Autor: Maik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Holger Krull (krulli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Maik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Maik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich habe gerade ein tip bekommen, kann das vielleicht sein das der 
attiny2313 kaputt ist.


gruß maik

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.