Forum: Mikrocontroller und Digitale Elektronik Schwingquarz 16.00JR


von xy (Gast)


Lesenswert?

Hallo Leute,

Ich habe hier eine Schaltung mit dem Atmega aufgebaut, als Quarz dient 
ein ausgelöter Quarz auf dem 16.00JR draufsteht.

Das müsste doch bedeuten 16Mhz Oder?

Wenn ich im Programm einstelle
#define F_CPU 16000000L      //Takt 16MHz

und eine LED Blinken lasse
      LED_PORT ^= 1 << LED_PIN;
      _delay_ms(1000);
Blinkt diese mit einer Halben Periodendauer von 10sekunden.

Wenn man Einstellt:
#define F_CPU 1600000L      //Takt 1,6MHz

Blinkt die LED im Takt einer Sekunde.

Also müsste der Quarz 1,6Mhz haben, aber warum dann die aufschrift 16.00 
JR -> oder steht das JR für einen Teiler?

gruß xy

von xy (Gast)


Lesenswert?

Gerade mal die Zeit genaugemessen:

bei

#define F_CPU 16000000L

Leuchtet die LED 16s und bei


#define F_CPU 1600000L      //Takt 1,6MHz

Leuchtet sie 1,6s

von xy (Gast)


Lesenswert?

Denke wohl den quarz sollte ich in den Müll werfen wenn ich eine RS232 
verbindung über UART aufbaun will, 1,6Mhz wären ja genug fürn anfang, 
aber der Quarz hat anscheiend nur so 1Mhz.

von Helmut L. (helmi1)


Lesenswert?

xy schrieb:
> 1,6Mhz wären ja genug fürn anfang,
> aber der Quarz hat anscheiend nur so 1Mhz.

Du hast auch die Fuse Teile/8 rausgenommen?

von xy (Gast)


Lesenswert?

wo rausgenommen?

von xy (Gast)


Lesenswert?

1
#define F_CPU 1600000L      //Takt 1,6MHz
2
3
#include <avr/io.h>
4
#include <avr/interrupt.h>
5
#include <util/delay.h>
6
7
/* Programm Libs */
8
#include "defines.h"
9
10
11
12
13
volatile uint8_t IRFlag;
14
15
#define LED_PORT    PORTB
16
#define LED_DDR     DDRB
17
#define LED_PIN     PB1
18
19
int main(void)
20
{
21
  /* TIMER INIT */
22
//  SETBIT(TCCR0,CS00);// Prescaler von 64 16MHz/64 = 250kHz = 4us
23
//  SETBIT(TCCR0,CS01);
24
//  TCNT0  = 240;    // Reload Wert 0-255   250*4us*8 = 8ms = 125Hz
25
//  SETBIT(TIMSK,TOIE0);   // Timer IR Aktivieren
26
27
  DDRD=0xFB; //D0-D1 & D3-D7 as Output
28
  SETBIT(MCUCR,ISC01); //Fallende Flanke
29
  SETBIT(GICR,INT0); //Taster IR Aktivieren
30
31
  sei();  //Globale IRs aktivieren
32
33
  /* Lokale Variablen: */
34
35
36
  /* Ports as Outputs: */
37
  DDRA=0xFF;
38
  DDRB=0xFF; 
39
  DDRC=0xFF;
40
41
42
   LED_DDR |= 1 << LED_PIN;
43
 
44
   while (1)
45
   {
46
      LED_PORT ^= 1 << LED_PIN;
47
      _delay_ms(1000);
48
   }
49
 
50
}
51
52
53
54
55
/* TIMER 0 IR HANDLER */
56
ISR( TIMER0_OVF_vect ) 
57
{ 
58
    IRFlag = 1;
59
}
60
61
62
/* Taster 0 IR HANDLER */
63
ISR( INT0_vect ) 
64
{ 
65
66
}
67
68
69
Defines.c:
70
71
#define BIT(x) (1 << (x)) 
72
#define SETBITS(x,y) ((x) |= (y)) //Maskierung
73
#define CLEARBITS(x,y) ((x) &= (~(y))) 
74
#define SETBIT(x,y) SETBITS((x), (BIT((y))))  //Bit SET
75
#define CLEARBIT(x,y) CLEARBITS((x), (BIT((y))))  //Bit RESET

Das ist das Ganze Programm bisher

von Jim M. (turboj)


Lesenswert?

>> Du hast auch die Fuse Teile/8 rausgenommen?
> wo rausgenommen?

Siehe AVR Fuses. Die muss man richtig setzen, wenn man einen Quarz 
nutzt.

von spess53 (Gast)


Lesenswert?

Hi

>wo rausgenommen?

Ist die CKDIV8-Fuse noch gesetzt?

MfG Spess

von xy (Gast)


Angehängte Dateien:

Lesenswert?

Okay, das dürfte wohl das Problem sein, auf was muss ich es denn genau 
stellen?

von spess53 (Gast)


Lesenswert?

Hi

>Okay, das dürfte wohl das Problem sein, auf was muss ich es denn genau
>stellen?

Okay, der hat das nicht. Aber, Was meinst du denn, mit welcher Frequenz 
dein ATMega läuft?

MfG Spess

von xy (Gast)


Lesenswert?

ca. 1Mhz

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

hier nen fusebitrechner:
http://www.engbedded.com/fusecalc/

von xy (Gast)


Lesenswert?

Kann ich Ext. Crysztal/Resonator High Freq.; Start-up time: 16K CK -64ms 
nehmen?


Mir ists leider schonmal passiert dass ich danach keinen Zugriff mehr 
auf einen Prozessor hatte, deswegen frag ich lieber bevor.

von spess53 (Gast)


Lesenswert?

Hi

>ca. 1Mhz

Ja.

Welches AVR-Studio und welchen Controller hast du?

MfG Spess

von xy (Gast)


Lesenswert?

Atmega32APU1018

von xy (Gast)


Lesenswert?

AVR Studio 4

von spess53 (Gast)


Lesenswert?

Hi

Dann stellst du bei den SUT_CKSEL

Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 64 ms

ein und änderst

#define F_CPU 1600000L      //Takt 1,6MHz

in

#define F_CPU 16000000L      //Takt 16MHz

um.

MfG Spess

von xy (Gast)


Lesenswert?

Umgestellt, verbindung zum Prozessor verloren :(.

von xy (Gast)


Lesenswert?

Welche Frequenz muss man den Anlegen um es wieder zu reaktivieren?

Ich versuchs gerade mit 250Hz Funktioniert aber nicht.

von hdd (Gast)


Lesenswert?

Hast du an die beiden Kondensatoren am Quarz gedacht?
Kannst du mal ein Bild vom Aufbau machen, besonders den Teil mit Quarz 
und Anschluss am Controller?

von xy (Gast)


Angehängte Dateien:

Lesenswert?

Kondensatoren sind alle SMD und 100nF groß beim Prozessor.

von xy (Gast)


Lesenswert?

so jetzt läuft er wieder am Internen Takt, aber das hat das Problem 
nicht wirklich gelöst!

von spess53 (Gast)


Lesenswert?

Hi

>Kondensatoren sind alle SMD und 100nF groß beim Prozessor.

Am Quarz dürfen sie aber nur 12 - 22pF haben.

MfG Spess

von xy (Gast)


Lesenswert?

Also mein Elektronik lehrer sagte immer dass das ziemlich egal ist, 
100nF sollten genauso funktionieren, beim letzten Board dass ich gemacht 
habe funktionierte es auch mit 100nF! Aber wenns sein muss löt ich da pf 
kondensatoren hin...

von Helmut L. (helmi1)


Lesenswert?

xy schrieb:
> Also mein Elektronik lehrer sagte immer dass das ziemlich egal ist,

Dann sag deinem Lehrer 6 setzen.

Bei 100nf am Quarz unterdrueckst du jede Schwingneigung.
Rund 20 .. 30pF sollten da im Normalfall angeschlossen sein.

von xy (Gast)


Lesenswert?

Hmm, wenn das wirklich so ist dann müsste ich das Falsch aufgefasst 
haben...


Der Lehrer Entwirft schon ewig Elektronische Schaltungen und auch 
µ-Controller Schaltungen, der weiß einfach sogut wie alles darüber, egal 
in welchem Bereich der Elektronik!

Nagut, ich löt da mal andere Kondensatoren hin, sind eh SMD, da gehts eh 
schnell.

von xy (Gast)


Lesenswert?

Hab grad nur 10pF da, gehn die auch?

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

10pF sollt auch gehen.

dein prof meint mit 100nF glaube nich die quarzkondis.

von Helmut L. (helmi1)


Lesenswert?

xy schrieb:
> Hab grad nur 10pF da, gehn die auch?

Die tuns auch. Eventuell 2 im Huckepack drauf löten.

von xy (Gast)


Lesenswert?

Kondensatoren sind drinnen, und es funktioniert jetzt alles ;).

Vielen Dank für eure Hilfe!

von Bernhard D. (pc1401)


Lesenswert?

xy schrieb:
> Kondensatoren sind alle SMD und 100nF groß beim Prozessor.

Du hast noch die Abblockkondensatoren an VCC / AVCC vergessen. Wenn die 
Schaltung zuverlässig laufen soll, sind diese unumgänglich.

Siehe dazu die Application Note Atmel AVR042: AVR Hardware Design 
Considerations, www.atmel.com/Images/doc2521.pdf

Gruß,
Bernhard

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.