SchemaTheek
 
Home Nieuws Forum Schema's Artikelen Magazine Downloads Links Shops Zoeken
 
Controle Paneel
Gebruikersnaam
Wachtwoord
  Onthoud mij
» Wachtwoord?
» Registreren
Site info
» Het Team
» Contact
» FAQ
» Leden
» Upload Archief
Stats
Totaal online: 6
6 gasten
0 leden:
Forum > Digitaal > kristal vraag in combinatie met ic.
pascalbianca
Lid
Berichten: 1394
Gepost op dinsdag 25 Maart 2014 08:17:37 QuoteWijzig

Ik heb in mijn project een 18F4620 in gebruik.
Hier heb ik een kristal van 20 mHz op staan.

Nu gebruik in geen config in mijn code dus heb ik alleen dit staan.:

Code
Device = 18F4620 ;18F4550 ;16F877
Xtal = 20



Met bovenstaande geef ik toch al aan dat ik een externe kristal in gebruik heb?
Ik vraag dit namelijk omdat de PCF8583 die ik erop heb aangesloten iets te snel loopt waardoor ik op het einde van de dag , de tijd voor loopt.
Aan de PCF8583 print ligt het niet, want die heeft een eigen kristal van 32,768kHz (horloge kristal).

Dus ik vermoed dat die 18F4620 iets te snel loopt, maar weet niet exact of het ligt aan de config die ik weg heb gelaten.
Tevens heb ik veel problemen met die config te gebruiken aangezien, dan de MCLR niet werkt of weer iets anders niet.

Als ik dit probeer.:

Code
Config_Start
OSC = HS ; HS
FCMEN = On ; Enabled
IESO = On ; Enabled
PWRT = On ; Enabled
BOREN = OFF ; Disabled
WDT = OFF ; Disabled
MCLRE = off ; Enabled
LVP = OFF ; Disabled
Config_End


Werkt de MCLR niet meer, dus als ik die optie op de pickit aanvinkt reset hij zich niet.
En verdere opties voor snelheid in te stellen snap ik ook niet geheel.

Dus zou indien mogelijk wel wat hulp kunnen gebruiken.


 
[Bericht gewijzigd door pascalbianca op Dinsdag 25 Maart 2014 08:20:25]

http://pascalbianca.blogspot.nl/
Henk (NL)
Lid
Berichten: 263
Gepost op dinsdag 25 Maart 2014 12:29:51 QuoteWijzig

Uit een doc. file las ik dat de PCF8583 tot ca. 1 sec per dag kan afwijken.

Dus de vraag is nu of de PIC de andere tijden 'verzint' of dat je elke seconde de tijd uitleest van de PCF?

pascalbianca
Lid
Berichten: 1394
Gepost op dinsdag 25 Maart 2014 16:13:12 QuoteWijzig

Ik ga van de code uit dat hij alles uit de PCF haalt.


Code
getTime:
    HBusIn PCF8583r, $02, [secs, mins, hrs,YearDays,WeekDayMonths] ;haal tijd op vanuit de PCF8583
    HBusIn PCF8583r, $10, [ JaarDev4 , jaar3]                      ;haal jaar op (-2000 / 4) 
 
    Seconden = ((secs >> 4) * 10) + (secs & 15)                     ;zie proton help "Math Operators"
    Minuten  = ((mins  >> 4) * 10) + (mins  & 15)
    Uren     = ((hrs     >> 4) * 10) + (hrs     & 15)
    Dag      = (((YearDays >> 4 ) & 3 ) * 10) + (YearDays  & 15)
    Maand    = (((WeekDayMonths >> 4) & 1 ) * 10) + (WeekDayMonths  & 15)
    JaarVier = (YearDays     >> 6)
    Weekdag  = (WeekDayMonths  >> 5)
 
    Jaar = 2000 + JaarVier + (JaarDev4*4)
 
    If JaarVier = 3 Then                    ;Twee if statements om JaarDev4 eens in de 4 jaar te verhogen 
        jaar3 = 1                           ;Bij overgang naar schrikkeljaar
        HBusOut PCF8583w, $11, [ jaar3 ]
    End If
 
    If JaarVier = 0 And jaar3 = 1 Then      ; omslag naar jaar 0 (schrikkeljaar)
        jaar3 = 0
        JaarDev4 = JaarDev4 + 1             ; JaarDev ophogen met 1 
        HBusOut PCF8583w, $10, [ JaarDev4, jaar3 ]
    End If
 
    Select Case Weekdag
        Case 0
            Str WeekdagString = "Zo"
        Case 1
            Str WeekdagString = "Ma"                                                    
        Case 2
            Str WeekdagString = "Di"
        Case 3
            Str WeekdagString = "Wo"
        Case 4
            Str WeekdagString = "Do"
        Case 5
            Str WeekdagString = "Vr"
        Case 6
            Str WeekdagString = "Za"
         Case 7
            Str WeekdagString = "Zo"    
    End Select
 
    Select Case Maand
        Case 1
            Str MaandString = "Jan"
        Case 2
            Str MaandString = "Feb"    
        Case 3
            Str MaandString = "Mar"
        Case 4
            Str MaandString = "Apr"    
        Case 5
            Str MaandString = "Mei"
        Case 6
            Str MaandString = "Jun"    
        Case 7
            Str MaandString = "Jul"
        Case 8
            Str MaandString = "Aug"    
        Case 9
            Str MaandString = "Sep"
        Case 10
            Str MaandString = "Okt"    
        Case 11
            Str MaandString = "Nov"
        Case 12
            Str MaandString = "Dec"
    End Select
Return  



Tevens moet er een horloge kristal op dus dat is ook om die PCF op tijd te laten lopen, idem de backup batterij die erop zit.
Haal je die weg is hij alles kwijt.

De fuses heb ik ondertussen ook al nu, maar de tijd loopt helaas nog te vlug, loop reeds 18 minuten voor tegenover mijn eerste bericht.


Code
Config_Start
Debug = OFF  ' Background debugger disabled; RB6/RB7 configured as I/O
                'DEBUG = ON      ; Enabled
                'DEBUG = OFF     ; Disabled
XINST = OFF  ' Instruction set extension mode disabled  (only required for improved float support]
                'XINST = OFF     ; Disabled
                'XINST = ON      ; Enabled
STVREN = OFF  ' Reset on stack overflow/underflow disabled or enabled
                'STVREN = OFF        ; Disabled
                'STVREN = ON         ; Enabled
FCMEN = OFF   ' Fail-Safe Clock Monitor disabled  - makes no apparent difference
                'FCMEN = OFF     ; Disabled
                'FCMEN = ON      ; Enabled
OSC = HS ;HSPLL  ' PLL active to set clock to 4x Xtal freq..
                '; Oscillator Selection:
                'OSC = LP        ; LP
                'OSC = XT        ; XT
                'OSC = HS        ; HS
                'OSC = RC        ; RC
                'OSC = EC        ; EC-OSC2 AS Clock OUT
                'OSC = ECIO6         ; EC-OSC2 AS RA6
                'OSC = HSPLL         ; HS-PLL Enabled
                'OSC = RCIO6         ; RC-OSC2 AS RA6
                'OSC = INTIO67       ; INTRC-OSC2 AS RA6, OSC1 AS RA7
                'OSC = INTIO7        ; INTRC-OSC2 AS Clock OUT, OSC1 AS RA7
IESO = OFF   ' Two-Speed Start-up disabled
                '; Internal External Osc. SWITCH Over:
                'IESO = OFF      ; Disabled
                'IESO = ON       ; Enabled
WDT = OFF    ' no watchdog timer
                'WDT = OFF       ; Disabled
                'WDT = ON        ; Enabled
WDTPS = 128  ' Watchdog oscillator prescaler 1:128   , Johannes had it = 1
                '; Watchdog Postscaler:
                'WDTPS = 1       ; 1:1
                'WDTPS = 2       ; 1:2
                'WDTPS = 4       ; 1:4
                'WDTPS = 8       ; 1:8
                'WDTPS = 16      ; 1:16
                'WDTPS = 32      ; 1:32
                'WDTPS = 64      ; 1:64
                'WDTPS = 128         ; 1:128
                'WDTPS = 256         ; 1:256
                'WDTPS = 512         ; 1:512
                'WDTPS = 1024        ; 1:1024
                'WDTPS = 2048        ; 1:2048
                'WDTPS = 4096        ; 1:4096
                'WDTPS = 8192        ; 1:8192
                'WDTPS = 16384       ; 1:16384
                'WDTPS = 32768       ; 1:32768
BOREN = SBORDIS   ' was off, changed to on by gwr  ' off= Brown-out Reset disabled in hardware and software
              'Johannes had it set to ON
              '; Brown-OUT RESET:
                'BOREN = OFF         ; Disabled
                'BOREN = ON      ; SBOREN Enabled
                'BOREN = NOSLP       ; Enabled except SLEEP, SBOREN Disabled
                'BOREN = SBORDIS         ; Enabled, SBOREN Disabled
BORV = 2     ' brown out voltage
                '; Brown-OUT Voltage:
                'BORV = 0        ; Maximum setting
                'BORV = 1        ;
                'BORV = 2        ;
                'BORV = 3        ; Minimum setting
MCLRE = On   ' MCLR pin enabled, RE3 input pin disabled
                'MCLRE = OFF         ; Disabled
                'MCLRE = ON      ; Enabled
LPT1OSC = On ' Timer1 operates in standard power mode , Johannes had it ON
                '; T1 Oscillator ENABLE:
                'LPT1OSC = OFF       ; Disabled
                'LPT1OSC = ON        ; Enabled
PBADEN = OFF ' PORTB<4:0> pins are configured as digital I/O on Reset
                '; PORTB A/D ENABLE:
                'PBADEN = OFF        ; PORTB<4:0> digital ON RESET
                'PBADEN = ON         ; PORTB<4:0> analog ON RESET
CCP2MX = PORTC ' CCP2 input/output is multiplexed with RC1
                '; CCP2 MUX:
                'CCP2MX = PORTBE         ; Multiplexed WITH RB3
                'CCP2MX = PORTC      ; Multiplexed WITH RC1
LVP = OFF    ' On     ' Single-Supply ICSP enabled/disabled , Johannes had it Off
                '; Low Voltage ICSP:
                'LVP = OFF       ; Disabled
                'LVP = ON        ; Enabled
CP0 = OFF    ' Block 0 (000800-001FFFh) not code-protected
                '; CODE Protection Block 0:
                'CP0 = ON        ; Enabled
                'CP0 = OFF       ; Disabled
CP1 = OFF    ' Block 1 (002000-003FFFh) not code-protected
                'CP1 = ON        ; Enabled
                '; CODE Protection Block 2:
                'CP2 = ON        ; Enabled
CP2 = OFF       ; Disabled    
                '; CODE Protection Block 3:
                'CP3 = ON        ; Enabled
CP3 = OFF       ; Disabled            
CPB = OFF    ' Boot block (000000-0007FFh) not code-protected
                '; Boot Block CODE Protection:
                'CPB = ON        ; Enabled
                'CPB = OFF       ; Disabled
CPD = OFF    ' Data EEPROM not code-protected
                'CPD = ON        ; Enabled
                'CPD = OFF       ; Disabled
                '; WRITE Protection Block 0:
                'WRT0 = ON       ; Enabled
WRT0 = OFF      ; Disabled
                '; WRITE Protection Block 1:
                'WRT1 = ON       ; Enabled
WRT1 = OFF      ; Disabled
                '; WRITE Protection Block 2:
                'WRT2 = ON       ; Enabled
WRT2 = OFF      ; Disabled
                '; WRITE Protection Block 3:
                'WRT3 = ON       ; Enabled
WRT3 = OFF      ; Disabled
                '; Boot Block WRITE Protection:
                'WRTB = ON       ; Enabled
WRTB = OFF      ; Disabled
                '; Configuration REGISTER WRITE Protection:
                'WRTC = ON       ; Enabled
WRTC = OFF      ; Disabled
                '; DATA EEPROM Write Protection:
                'WRTD = ON       ; Enabled
WRTD = OFF      ; Disabled

                '; Table READ Protection Block 0:
                'EBTR0 = ON      ; Enabled
EBTR0 = OFF         ; Disabled
                '; Table READ Protection Block 1:
                'EBTR1 = ON      ; Enabled
EBTR1 = OFF         ; Disabled
                '; Table READ Protection Block 2:
                'EBTR2 = ON      ; Enabled
EBTR2 = OFF         ; Disabled
                '; Table READ Protection Block 3:
                'EBTR3 = ON      ; Enabled
EBTR3 = OFF         ; Disabled
                '; Boot Block Table READ Protection:
                'EBTRB = ON      ; Enabled
EBTRB = OFF         ; Disabled

PWRT = OFF   ' power up timer (66ms)
                'PWRT = ON       ; Enabled
                'PWRT = OFF      ; Disabled
Config_End



[update]
Ik heb de pdf van die RTC nog eens doorgespit.
Ze raden aan een trimmer condesator te gebruiken, dit om de max van 5 minuten afwijking op "jaarbasis" aan te kunnen passen, deze moet tussen de 5 en 25 pf zitten.
Maar niet de afwijking die bij mij voorkomt.
Loopt reeds 24 minuten nu voor.


 
[Bericht gewijzigd door pascalbianca op Dinsdag 25 Maart 2014 17:21:58]


http://pascalbianca.blogspot.nl/
Stynus
Admin
Berichten: 2773
Gepost op dinsdag 25 Maart 2014 18:50:23 QuoteWijzig


Quote
Met bovenstaande geef ik toch al aan dat ik een externe kristal in gebruik heb?


Nee, met die code geef je aan op welke snelheid de processor draait. Dat je een kristal gebruikt geef je aan in de fuses.


Quote
Ik vraag dit namelijk omdat de PCF8583 die ik erop heb aangesloten iets te snel loopt waardoor ik op het einde van de dag , de tijd voor loopt.
Aan de PCF8583 print ligt het niet, want die heeft een eigen kristal van 32,768kHz (horloge kristal).


Hoeveel ppm is dat kristal? Heb je rekening gehouden met het massavlak? Dit vormt namelijk een capaciteit waardoor het kristal op een andere frequentie gaat lopen. In de datasheet staat normaal wel een tekening van hoe de print er moet uitzien.
Je kan eventueel ook een trimmer cap bij op het kristal hangen en daarmee gaan finetunen.


Quote
Als ik dit probeer.:
....
MCLRE = off ; Enabled
...
Werkt de MCLR niet meer,...


Verwondert me niks, je zet de pin uit in de fuses. Zet daar = on en de mclr zal terug werken.

Voor het timing probleem:
Probeer eens een ander kristal. Je hebt dit toch niet in een breadboard zitten hoop ik?
 
[Bericht gewijzigd door Stynus op Dinsdag 25 Maart 2014 18:51:42]


Met vriendelijke groet, Stynus ||| www.elektronicastynus.be
Henk (NL)
Lid
Berichten: 263
Gepost op dinsdag 25 Maart 2014 19:12:43 QuoteWijzig

Vervang het kristal van de PCF eens, waarschijnlijk is die nio.

pascalbianca
Lid
Berichten: 1394
Gepost op dinsdag 25 Maart 2014 22:22:49 QuoteWijzig

@Henk, die heb ik reeds vernieuwd.
Deze heb ik in gebruik.: http://www.eoo-bv.nl/index.php?_a=viewProd&productId=515

@Stynus de print van mij is gebaseerd op die van het schema van die PCF, zie wel dat ik per abuis de 22 pf op de ground heb staan en niet als in het schema op de VDD, dus die zal ik nog aanpassen.

Die trimmer was ik inderdaad ook aan het denken om die te bestellen, kijken of dat effect gaat geven.

Nee alles zit nu op de prints en niet meer op het breadboard.


http://pascalbianca.blogspot.nl/
pascalbianca
Lid
Berichten: 1394
Gepost op donderdag 27 Maart 2014 09:06:23 QuoteWijzig

@Stynus je vroeg

Quote
Hoeveel ppm is dat kristal?

de grote horloge kristal heeft 10 ppm en de kleine 15 , welke is het beste?


http://pascalbianca.blogspot.nl/
Henk (NL)
Lid
Berichten: 263
Gepost op donderdag 27 Maart 2014 10:09:50 QuoteWijzig

Probeer dit eens;
Gewoon weer terug lezen, en kijken of dit verbetering oplevert wat ik toen al zei.

http://www.schematheek.net/index.php?p=upload/weergeven&id=2844
http://www.schematheek.net/index.php?p=forum/topic&t=909&n=2#9204
 
[Bericht gewijzigd door Henk (NL) op Donderdag 27 Maart 2014 10:12:04]

pascalbianca
Lid
Berichten: 1394
Gepost op donderdag 27 Maart 2014 16:53:01 QuoteWijzig

@Henk mag ik vragen wat dat betrekking heeft op het antwoord wat ik gaf op de vraag van @Stynus met de kristal op die PCF voor de clock/calender IC met het antwoord van mij.:

Quote
@Stynus je vroeg

Quote
Hoeveel ppm is dat kristal?

de grote horloge kristal heeft 10 ppm en de kleine 15 , welke is het beste?


http://pascalbianca.blogspot.nl/
Henk (NL)
Lid
Berichten: 263
Gepost op donderdag 27 Maart 2014 17:22:00 QuoteWijzig

Google defect?

https://nl.wikipedia.org/wiki/Parts_per_million
1 ppm is 10-6

Daaruit volgt dat hoe kleiner het getal, des te minder de afwijking.
Dus 10 is beter dan 15

Maar de afwijking is groter bij jou.
Dus er gaat iets echt mis.

pascalbianca
Lid
Berichten: 1394
Gepost op donderdag 27 Maart 2014 17:24:32 QuoteWijzig

Google is niet defect maar je verwees met de links naar mijn andere print.


http://pascalbianca.blogspot.nl/
Henk (NL)
Lid
Berichten: 263
Gepost op donderdag 27 Maart 2014 19:12:26 QuoteWijzig

Aha, dus vorig project werkt dus goed met de PCF8583.
Maar je startte een nieuwe project waarbij de PCF8583 duidelijk afwijkt in tijd.

Het eerste bericht van jou, was me dat niet geheel duidelijk.
Vergelijk beide projecten dan eens, maar dat zul je al wel gedaan hebben.

Stynus
Admin
Berichten: 2773
Gepost op donderdag 27 Maart 2014 21:58:28 QuoteWijzig

Pascal, Had je die c omgezet naar de +5V? En dit loste het probleem niet op? Is de spanning van de backup accu nog hoog genoeg?
 
[Bericht gewijzigd door Stynus op Donderdag 27 Maart 2014 21:58:51]


Met vriendelijke groet, Stynus ||| www.elektronicastynus.be
pascalbianca
Lid
Berichten: 1394
Gepost op vrijdag 4 April 2014 08:07:02 QuoteWijzig

Ter update , ik heb nu die 22pf vervangen door een trimmer 3-27pf en de kristal op de vdd en nu heb ik veel ruimte.
Door hem terug te draaien helemaal loopt hij op 1 dag meer als 5 uur achter en draai ik helemaal open dan loopt hij ruim op 1 dag 3 uur voor.
Nu nog een kwestie om hem juist in te stellen zodat hij gelijk loopt.


http://pascalbianca.blogspot.nl/

Active Topics

» Subaru Outback 2016
» Stofafzuiging
» Aanpassingen aanbouwde...
» Audi
» Show je mini projecten
» Puls schkelaar
» Draadknipper
» Intercom
» buske (Peugeot Boxer 2...
» Voeding 24V 3A Stynus

» Meer actieve topics

Advertenties

ElektronicaStynus

© 2004-2019 SchemaTheek
Laadtijd: 0.06262 sec.