www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik wie Schwingquarz an dsPIC30F4013


Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich arbeite noch immer mit einem dsPIC30F4013. Ich habe irgendwo 
gelesen, dass mein dsPIC nen internen Quarz hat, der aber recht ungenau 
ist und deshalb beim Daten übertragen Fehler verursacht.
Zum Entwickeln arbeite ich auf deinem Entwicklungsboard, dass einen 
Schwinguarz mit 7.3728MHZ hat.
Also habe ich mir so einen organisiert. Leider kann ich nirgendwo entwas 
darüber finden wie ich den Schwingquarz mit meinem dsPIC verbinde.
Im Datenblatt stehen nur die Maße drin.

Kann mir jemand einen Tipp geben, wie ich vorgehen muss, um den Quarz 
und meinen Mikrocontroller zu vereinen?

Gruß Thomas

Autor: Anja (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Steht alles bei Microchip auf der Web-Seite.
Lies mal das "DSPIC30 Handbook" (auf der Pic30F4013-Seite).

Gruß Anja

Autor: Bernd Rüter (Firma: Promaxx.net) (bigwumpus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wer erzählt immer noch den Mist, daß die internen Oszillatoren so sehr 
ungenau sind ?
Bei Microchip gibt es auch Abhandlungen darüber, daß man 
CAN-Kommunikation mit denen machen kann ohne einen signifikanten Fehler 
zu erzeugen, und die lahme UART-Kommunikation schafft der immer !

Warum also immer diese mistigen Quarze anschließen und auch noch über 
die benötigten Kondensatoren so viele Threads aufmachen ?

Der interne Oszillator ist im Werk abgeglichen und reicht i.d.R. für 
alles normale. Für hohe Genauigkeit (Quarzuhr) ist ein Quarz besser 
geeignet.

Autor: Ohforf Sake (ohforf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bernd Rüter schrieb:
> Wer erzählt immer noch den Mist, daß die internen Oszillatoren so sehr
> ungenau sind ?
> Bei Microchip gibt es auch Abhandlungen darüber, daß man
> CAN-Kommunikation mit denen machen kann ohne einen signifikanten Fehler
> zu erzeugen, und die lahme UART-Kommunikation schafft der immer !
>
> Warum also immer diese mistigen Quarze anschließen und auch noch über
> die benötigten Kondensatoren so viele Threads aufmachen ?
>
> Der interne Oszillator ist im Werk abgeglichen und reicht i.d.R. für
> alles normale. Für hohe Genauigkeit (Quarzuhr) ist ein Quarz besser
> geeignet.

Ich hab gerade im dsPic Datenblatt nachgelesen, der FRC macht im ganzen 
Temperaturbereich nur +-2%...  du hast recht, der ist wirklich genau.

Bei einem PIC16 geht das nicht, da sinds +-25% - total unbrauchbar sogar 
für RS232.

Autor: Bernd Rüter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ohforf Sake schrieb:
> Ich hab gerade im dsPic Datenblatt nachgelesen, der FRC macht im ganzen
> Temperaturbereich nur +-2%...  du hast recht, der ist wirklich genau.
>
> Bei einem PIC16 geht das nicht, da sinds +-25% - total unbrauchbar sogar
> für RS232.

Hää ?

PIC16F688  +/- 2% VDD zwischen 2,5 und 5,5V und Temperatur von 0 bis 
85°C.
Wo sind da jetzt die 25% ?

Autor: stepp64 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich denke mal, das ist vom Entwicklungsalter der 16F abhängig. Die 
neueren (z.Bsp. 16F88x) haben einen internen Präzissionsoszillator mit 
1% Abweichung. Da braucht man dann keinen Quarz mehr (zumindest nicht, 
wenn man mit 8MHz hin kommt) und hat zwei weitere Pins gewonnen.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, hab das jetzt mal mit dem internen getestet.
Wenn ich das Programm auf dem Entwicklungsboard laufen lasse, dann geht 
das problemlos.
sobald ich den dsPIC auf mein board stecke. läuft das Programm viel zu 
schnell ab :(
jemand ne Idee?

Gruß

Autor: Bernd Rüter (Firma: Promaxx.net) (bigwumpus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nö..
den internen Oszillator kannst Du nicht beeinflussen, evtl. ist an 
Deinem Platine etwas falsch ?
Entkopplung mit den richtigen Kondensatoren ?
Internen Oszi richtig konfiguriert ?

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Anja: ich hab jetzt zweimal das Datenblatt gewälzt. Ich zweifele 
langsam an mir. Hab zwar auf Seite 176 gefunden, dass man den Quarz an 
OSC1 anstöpselt, aber ne Beispielschaltung kann ich nicht finden.

@Bernd: Am Board hab ich bis jetzt nur die Ausgänge RB0 bis RB7 belegt 
(logisch 1/0 Ausgang) und Vdd bzw Vss.
An der Verkabelung konnte ich keine Fehler feststellen.
Entkoppeln mit Kondensatoren? Ich dachte, dass muss man nur machen, wenn 
man nen externen Quarz nutzt.
hier
http://www.google.de/url?sa=t&source=web&ct=res&cd...
hab ich auf Seite 14 gefunden, wie OSC1 und OSC2 beschaltet werden, aber 
wie bestimme ich die Widerstände und die Kapazitäten?

Interner Oszi sollte richtig konfiguriert sein. Ich werd den Code später 
noch posten.

Danke an alle die Helfe!
GRuß

Autor: sss_t (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Entkoppeln mit Kondensatoren? Ich dachte, dass muss man nur machen, wenn
> man nen externen Quarz nutzt.

Wenn Du den internen Oszillator 7.37 MHz benutzt, brauchst Du keinen 
Quarz und auch keine Kondensatoren an OSC1 und OSC2. Einen Kondensator 
100nF zwischen VDD und VSS brauchst Du natürlich trotzdem (bei fast 
jedem Chip), das hat nichts mit dem Oszillator zu tun.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hier der code für den internen oszillator
#include <p30f4013.h>

/* Configuration Bits */

_FOSC(CSW_FSCM_OFF & FRC_PLL8);  /*internal 7,37MHz*/
_FWDT(WDT_OFF);                 /*Watch dog Timer OFF*/
_FBORPOR(PBOR_OFF & MCLR_EN);   /*Brown Out OFF, MCLR Enabled*/
_FGS(CODE_PROT_OFF);            /*Code Protect OFF*/

//[...]

müsste so passen oder? auf dem demoboard läufts einwandfrei

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
tut jetzt.
lag wohl daran, dass ich die Kondesatoren vergessen hatte

Jetzt habe ich nur noch ein Problem. Der Mikrocontroller bekommt seine 
5V.
sobald ich ihn an den Strom hänge läuft das Programm an.
Allerdings geht das nicht immer.
Manchmal passiert einfach garnix. Wenn ich dann meine Hand über den 
Mikrocontroller bewege (KEINE BERÜHRUNG) läuft das Programm an.
Das ganze scheint willkührlich zu sein. Manchmal gehts, manchmal nicht. 
Das Programm läuft auch nicht immer ganz durch.

Ich habe die ganze Verkabelung gecheckt. Alles fest und richtig 
verkabelt.

Wie kann sowas denn sein? Wenn ichs nicht selber gesehen hätte würde 
ichs für Zauberrei halten :)


hier mail n Video von dem Verhalten.
http://www.zshare.net/download/76845194a52eaab6/

Muss vielleicht irgendwo was entkoppelt werden oder so?

Die LEDs sind nur zum anzeigen, welche EIngänge der Mikrocontroller 
gerad ansteuert. wenn sie wenig leuchten is der Controller AUS. wenn sie 
Hell sind liegen 5 V an. Wenn sie Aus sind 0V. Wenn sie heftig flackern 
(ist auch im Lautsprecher zu hören) weiß ich nicht was los is.

im kleinen Video mal das Normalverhalten des System.

Gruß

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Problem mit nem Kondensator an Reset gelöst :)

Danke an  Björn Wieck aus einer Antwort in einem andere Fred.

Gruß

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.