Forum: Mikrocontroller und Digitale Elektronik AVR 90S2313-10


von Ralf Horstmann (Gast)


Lesenswert?

Hallo zusammen,
ich bin neu hier und wollte mal kurz eine Frage los werden. Ich bin
gerade dabei meine erste Microcontroller Schaltung (Positionslichter
und Sonderfunktionen für Modellhubschrauber) aufzubauen. Um das Ganze
nachher möglichst vielen Leuten zugänglich zu machen, wollte ich die
Programmierung wollte ich bewusst die ISP Möglichkeiten des AVR
ausnutzen. Leider habe ich jetzt folgendes Problem:
Schaltung ist fertig (Lochraster) .. elektrisch auch soweit ok. Die
externe Beschaltung beschränkt sich auf ein Minimum:
In den Datenleitungen zum Parallelport sind 150 Ohm Widerstände,
4,7KOhm PullUp an Reset. 100nF zwischen Plus und Masse. Zur Ansteuerung
der LED's habe ich nochmal jeweils 150 Ohm Widerstände benutzt, die ISP
Leitungen habe ich am 2313 dafür reserviert und nicht doppelt belegt um
möglichst keine Probleme zu bekommen, hab ja genügend Ein und Ausgänge.
Die beiden Interrupt Leitungen sind auf der Signalleitung des
Empfängers. Ich habe einen Low-Profile 8MHz Quarz eingesetzt und
zweimal 27pF gegen Masse. Das war's auch schon.
Ein Oszilloskop habe ich leider nicht zur Verfügung, habe eigentlich
vor einigen Jahren mit Elektronikentwicklung aufgehört.

Ich will BASCOM oder AVR Studio verwenden und das Ganze über den
Parallelport programmieren. Und genau hier liegt das Problem. Der Chip
wird von der Programmierroutine nicht erkannt. Habt Ihr einen Tipp
woran es liegen kann ? Die Pinbelegung bei BASCOM habe ich geprüft, die
Pins lassen sich ja einzeln auf High/Low schalten. Stimmt soweit alles,
nur funktionieren tut nix. Wär nett, wenn mir jemand weiterhelfen
könnte.
Danke, Ralf

von Malte _. (malte) Benutzerseite


Lesenswert?

Probleme die ich mit dem LPT Programmer hatte (vielleicht hilfts ja):
1: Falsche Einstellung des LPT Ports Bios/Windows Einstellungen
überprüfen ob diese mit Bascom übereinstimmen.
2: An einem LPT eines neuen Motherboards: ein Pin sendet Daten zurück
zum PC, ein Schutzwiderstand in dieser Leitung störte nur
(Spannungsabfall).
3: Betriebsspannung auch rund 5V? Bei leeren Accus läuft der AVR meist
noch, jedoch erkennt der LPT Port irgendwann auch die Pegel nicht mehr.

von Ralf Horstmann (Gast)


Lesenswert?

So .. ERFOLG !!!
1: War alles ok .. LPT3 hatte ich schon eingestellt
2: Schutzwiderstände 150 Ohm sind kein Problem, BASCOM hat auch
   brav alle PINs gesetzt wie ich das wollte
3: Betriebsspannung aus einem Empfängerakku 4,8 V, frisch geladen

Ursache:
Es war der Quarz. Ich hatte einen Low-Profile 8MHz Quarz verwendet.
Den habe ich gerade gegen einen normalen 4MHz Quarz getauscht und der
Chip reagiert und lässt sich ansprechen. Jetzt frag ich mich
natürlich,
ob es an meinem Lochrasteraufbau liegt, an den 22pF (hab nochmal
nachgeguckt) am Quarz gegen Masse (müssen die vielleicht noch kleiner
werden bei 8 MHz ?) oder am Low-Profile Quarz selbst.
Natürlich würde ich den Chip lieber mit einem höheren Takt betreiben,
um so genauer kann er auswerten. Aber erstmal bin ich froh, daß mein
erster Microcontroller jetzt läuft ! Aber trotzdem danke für die Tipps
! Hat mich animiert nochmal alles durchzuprobieren :-)
Gruß, Ralf

von Andi K. (Gast)


Lesenswert?

Wenn ich mich nicht irre, steht in den Datenblättern 12 - 22pF, um so
schneller der Quarz, desto kleiner.
Kannst auch erst mal zur Probe ohne Kondensatoren probieren, ging bei
mir bis 20MHz problemlos, ist batürlich keine Dauerlösung.

MfG
Andi

von René K. (king)


Lesenswert?

> Wenn ich mich nicht irre, steht in den Datenblättern 12 - 22pF

In den Datenblättern steht gar nichts.

> um so schneller der Quarz, desto kleiner.

Natürlich nicht. Wie es geht, hat aber glücklicherweise mal jemand
niedergeschrieben: http://www.dvanhorn.org/Micros/All/Crystals.php

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Und bevor du mit so hohme Takt unbedingt arbeitetn willst, rechne dcoh
mal aus wieviel Zeit dein uC eigetlich sagen wir mal gelangweilt im
Kreis läuft ;)

von Peter D. (peda)


Lesenswert?

Der AT90S2313 ist abgekündigt.

Wenn Du also willst, daß viele es nachbauen können, nimm lieber gleich
den aktuellen ATTiny2313.

Vorteil: der läuft auch ganz ohne Quarz bei etwa 8MHz.


Peter

von Andi K. (Gast)


Lesenswert?

@René König: Bin eigentlich von den Datenblättern der aktuellen AVRs
ausgegangen, z. B. Tiny2313:
http://www.atmel.com/dyn/resources/prod_documents/doc2543.pdf
Schau mal auf Seite 23 Tabelle 4.
In so gut wie allen Datenblättern steht das so drin.

MfG
Andi

von Jens (Gast)


Lesenswert?

Also ich benutze grundsätzlich immer 27pF und hatte noch nie den Fall,
daß einer nicht schwingen wollte.

von René K. (king)


Lesenswert?

> Schau mal auf Seite 23 Tabelle 4.

Gut, habe ich gesehen. Ich bin halt nicht davon ausgegangen, daß Du im
Datenblatt eines völlig anderen Controllers nachschaust (der OP sprach
vom 90S2313). Mehr oder weniger direkt über der Tabelle steht übrigens:
"The optimal value of the capacitors depends on the crystal or
resonator in use, ..."

Vielleicht sollte man doch mal über seine Schaltung nachdenken und
nicht einfach stumpf irgendetwas machen.

von René K. (king)


Lesenswert?

> Also ich benutze grundsätzlich immer 27pF und hatte noch nie den
> Fall, daß einer nicht schwingen wollte.

Ich bin damit gerade auf die Nase gefallen. Baustein, Quarz 17.734 MHz,
27pF und nichts passiert. Dann mal die Datenblätter aufgeschlagen, die
Kondensatoren auf 56pF geändert und schon ging's.

von Ralf Horstmann (Gast)


Lesenswert?

Also die Kondensatoren sind in der Regel für einen Schwingkreis schon
notwendig, jedenfalls bei >1 MHz. Hab früher viel im Videobereich
gemacht und den Amiga syncronisiert .. da gings um 3,xxx MHz und die
Schaltung war ähnlich. Ich nehme an, daß ich entweder einen
Oberwellenquarz erwischt habe oder die Kapazitäten auf meinem
Lochrasteraufbau einen Einfluß hatten. Mit 4 MHz läuft es perfekt.
Zum probieren habe ich mir heute noch TTL Quarzoszillatoren in 8 MHz
und 10 MHz besorgt, die sollten zuverlässig anlaufen.
Eigentlich will ich zukünftig auf den ATTiny2313 gehen und den Quarz
ganz sparen, aber den habe ich in Aachen auf die Schnelle nicht
bekommen  und für die ersten Schritte reicht mit der 90S2313 auch.
Das der Prozessor die meiste Zeit idle ist stimmt schon, aber darauf
kommt's gar nicht an. Je schneller der ist, desto präziser kann ich
PWM Signale auswerten und erzeugen und umso schneller sind die
Umschaltschritte zwischen verschiedenen R/C Kanälen vollzogen.
Ich will von meiner Fernsteuerung 2 Kanäle mit 6 Schaltpositionen
auswerten, 8 LEDs ansteuern und 4 Servos in bestimmter Reihenfolge in
Ihre Positionen fahren. Das dürfte den Controller genug beschäftigen.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Naja das würde ich so nicht sagen, der läuft nicht schneller/genauer,
sondern arbeitet nur mehr Befehle ab.
Gut bei Frequenzmessung z.B. sollte natürlich die Taktfrequenz höher
als die zu messende sein, aber bei 4mhz kannst du 4.000.000 Befehle/Sek
maximal ausführen (jezt mal optimistisch geschäzt), die LED lass ich
jezt mal aus, das fordert den Controller nun wirklich nicht, auswerten
der Schaltpostionen mußt du eh mit Timer entprellen, also wirst du auch
nicht alle paar ns den Taster auslesen, und das Fahren der Servos,
dürfte bedingt durch ihre endliche "Fahrgeschwindikeit" den
Controller auch nicht nennenswert überlasten :)

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
Noch kein Account? Hier anmelden.