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
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.
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
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
> 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
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 ;)
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
@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
Also ich benutze grundsätzlich immer 27pF und hatte noch nie den Fall, daß einer nicht schwingen wollte.
> 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.
> 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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.