Ik zit nu met een 20 x kristal 32,768Khz.
Nu krijg ik niet nette secondes eruit met mijn code. Ik heb de poot van crystal verbogen, anders kon hij niet in de socket van STK500. Heeft dat veel invloed?
Tweede, is 32,768Khz nou 32678 Hz of 32768KHz?
#include <avr/io.h>
#include <avr/interrupt.h>
unsigned int number = 0, count = 0;
const unsigned char display1[] = {
0x03, // 0
0x9F, // 1
0x25, // 2
0x0D, // 3
0x99, // 4
0x49, // 5
0x41, // 6
0x1F, // 7
0x00, // 8
0x18 // 9
};
ISR(TIMER0_COMP_vect)
{
number++;
if( number == 9 )
{
number = 0;
}
PORTA = display1[number];
}
int main(void) {
DDRA = 0xFF; // output
TIMSK |= 1<<OCIE0;// activates timer 0 interrupt overflow
OCR0 = 127; // counts 128 prescaled clockcycles
sei();
TCCR0 |= ((1<<CS02) | (1<<WGM01)); // prescaler 256 + CTC
while(1) {
asm volatile ("nop");
}
}Edit: code gewijzigd.
klein is fijn
Moderator
Op 31 januari 2009 19:54:26 schreef UneXisted:
Nu krijg ik niet nette secondes eruit met mijn code.
Hoeveel zit je er vanaf?
Ik heb de poot van crystal verbogen, anders kon hij niet in de socket van STK500. Heeft dat veel invloed?
Amper als het goed is. Capaciteiten zijn veel belangrijker.
Tweede, is 32,768Khz nou 32678 Hz of 32768KHz?
Dat is 32768Hz.
pros
Prosper, yop la boum, c'est le roi du macadam (aldus Maurice Chevalier)
Minieme afwijkingen kunnen ook bijgeregeld worden door de X-tal condensators te vervangen door instelbare typen. Maar dan spreken we niet over afwijkingen van 5% of zo...
Als ik het crystal uit zijn socket haal, terwijl de uC gebruik ervan maakt. Zou de klok die aangestuurd wordt in dat geval nog doortellen? Want die van mij telt veel te snel. Van 1t/m9 in 1.5 seconde ofzo. Of me code klopt niet, of me instellingen van de STK500, of het crystal werkt niet naar behoren.
Maar als ik er naar kijk, klopt me code zo wel voor 32768Hz. 32768 / 256 / 128 = 1 seconde. Dus tellen van 0 t/m 127 geeft 1 seconden.
Edit: nog een korte vraag. Als ik de frequentie van het crystal op mijn scoop wil laten zien. Hoe moet ik de probes dan aansluiten? Kan het uberhaupt? 
[Bericht gewijzigd door UneXisted op (15%)]
Dus tellen van 0 t/m 127 geeft 1 seconden.
Volgens mij vergeet je de overhead van je interrupt.
Groeten, Bram
klein is fijn
Moderator
Een kristal doet het of doet het niet, een optie van 1.5x te snel of te langzaam is er gewoon niet.
Je kan hoogstens een afwijking van 500ppm verwachten als je de boel heel erg verziekt met verkeerde capaciteiten.
6x te snel is gewoon een softwareprobleem.
pros
Prosper, yop la boum, c'est le roi du macadam (aldus Maurice Chevalier)
Als ik het crystal uit zijn socket haal, terwijl de uC gebruik ervan maakt. Zou de klok die aangestuurd wordt in dat geval nog doortellen?
Voor alle duidelijkheid: doet het X-tal dienst als systeemklok, of gebruik je de 32kHz-pinnen van een ATmega32 of zo?
In het eerste geval valt de µC botweg stil, als je het X-tal verwijdert.
Op 31 januari 2009 20:36:05 schreef bprosman:
[...]Volgens mij vergeet je de overhead van je interrupt.Groeten, Bram
Huh? Kun je die uitleggen? (gemakshalve er even vanuitgaande dat de ISR klaar is voordat de volgende IRQ voorbij komt).
Maak die number eens volatile. Nu sta je een beetje in het niks te harken met dat ding.
Fossalta
Access violation at address 0x8BA82089. Read of address 0xC0FFEE in module coffee.sys. Please refill coffee bin and wait till i get back.
Vergeet de "factory default" fuse settings niet! Als je het kristal eruit trekt moet je uC stil vallen. Als deze doorgaat ben je de fuses vergeten uit te zetten.
Op 31 januari 2009 20:41:48 schreef pros:
[...]
In het eerste geval valt de µC botweg stil, als je het X-tal verwijdert.
Blijkbaar 32kHz, want als kristal eruit ligt dan gaat hij maar door. Ik stel de fuses in door de instellingen van AVR studio.
Op 31 januari 2009 20:45:00 schreef Marco69:
[...]
Maak die number eens volatile. Nu sta je een beetje in het niks te harken met dat ding.
Geprobeerd maar werkt niet.
Op 31 januari 2009 20:46:06 schreef Fossalta:
Vergeet de "factory default" fuse settings niet! Als je het kristal eruit trekt moet je uC stil vallen. Als deze doorgaat ben je de fuses vergeten uit te zetten.
Welke fuses bedoel je dan? Van CKSEL heb ik ingesteld op extern crystal/resonantor Low Freq Start-up time 16CK + 64 ms.
[Bericht gewijzigd door UneXisted op (27%)]
Jumpertje goed staan op je STK500 dat hij ook echt t externe kristal gebruikt en niet diegene die op de STK zit ?
Groeten, Bram
Afgezien van dat die software dus wat rammelt, heb je dus ook een hardware / fuses probleem. Ding kan niet blijven lopen als dat Xtal eruit is. Prik er een scoop op en kijk eens wat er nou eigenlijk op die pennen gebeurt. Verder geeft Bram die jumper al aan.
Op 31 januari 2009 22:10:38 schreef Marco69:
Afgezien van dat die software dus wat rammelt, heb je dus ook een hardware / fuses probleem. Ding kan niet blijven lopen als dat Xtal eruit is. Prik er een scoop op en kijk eens wat er nou eigenlijk op die pennen gebeurt. Verder geeft Bram die jumper al aan.
Punt is, ik weet niet hoe ik die scope erop moet prikken. De rode bek van de probe aan een pin van de xtal en de zwarte aan de ground?
De jumpers staan goed. Ik denk dat het een hardware probleem is. Morgen probeer ik het wel op een breadbord, misschien ligt het aan de STK500.
Tidak Ada
Rommelige werkplek? In de natuur is wanorde de meest stabiele toestand; de entropie is dan maximaal. Het handhaven van "orde" kost daarom altijd energie.
Op 31 januari 2009 20:39:30 schreef klein is fijn:
Een kristal doet het of doet het niet, een optie van 1.5x te snel of te langzaam is er gewoon niet.
[......].
6x te snel is gewoon een softwareprobleem.
Kristallen kunnen op boventonen gaan oscilleren!!
rew
four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Op 1 februari 2009 00:50:04 schreef rew:
als ik het goed begrepen heb, kan ie dan 5 of 7x sneller lopen, maar niet 6x.
Het was maar een gokje.
Ik heb nog eens kritisch gekeken naar mijn code, en die hoort gewoon te werken.
Hardware / fuse bit configuration fout ofzo. Morgen fouten zoeken.
klein is fijn
Moderator
Op 31 januari 2009 23:44:51 schreef Tidak Ada:
[...] Kristallen kunnen op boventonen gaan oscilleren!!
Ik heb werkelijk nog nooit iemand op CO gezien die dat probleem had. Ik zeg niet dat het niet kan, maar wel dat het hoogst onwaarschijnlijk is.
Tidak Ada
Rommelige werkplek? In de natuur is wanorde de meest stabiele toestand; de entropie is dan maximaal. Het handhaven van "orde" kost daarom altijd energie.
Veel kristallen voor hogere frekwenties worden naar mijn weten sowieso op boventonen ingesteld i.c. de gespecificeerde frekwentie IS een harmonische.
Waar die kritieke frekwentie ligt weet ik niet meer, maar dit is wat ik indertijd uit de documentatie van STABILX heb geleerd. Mogelijk ook uit 'Radio Elektronica'.
Het werd ook als argument aangegeveen voor dysfunctioneren van kristaloscillatoren. Vaak werd er door amateurs een kristal op de 3e harmonische ingesteld, om tot een hogere frekwentie te komen. Ik denk dat oudere HAM's er wel meer over weten.
[Bericht gewijzigd door Tidak Ada op (29%)]
Nu ken ik die STK500 niet maar heb ik even het schema bekeken. Die kristal oscillator is volgens mij niet geschikt voor een typisch horloge/stemvork kristal. En dat is wat je neem ik aan gebruikt omdat je moeite hebt hem er in te duwen.
Als de oscillator al werkt is dat waarschijnlijk van korte duur. Het kwetsbare kristal draait op te veel power (1uW is de norm).
Los daarvan heb je blijkbaar nog een probleem als je AVR nog werkt als er helemaal geen kristal in zit. Werk je toevallig niet op een interne R/C clock?
@Tidak Ada, kristallen "stel je niet in". Het is de oscillatorschakeling die een overtone werking kan realiseren. Dit lukt ook beter als er door de fabrikant al rekening mee is gehouden. Veel computerkristallen zijn van een matige kwaliteit en met een beetje mazzel krijg je ze nog op de 3e overtone aan de praat maar is de Q al hard afgenomen.
Met de RF kristallen zoals je in portofoons aantreft is de Q juist een stuk hoger bij de boventonen. Derde, vijfde of zelfs zevende overtone komen voor.
Ook kristallen voor referentieoscillatoren in frequentiecounters kunnen ontworpen worden om op een overtone gebruikt te worden, ook al is de frequentie laag (5 of 10MHz). Dit omdat de Q hoger is. Maar dan heb je het natuurlijk wel over een maatwerk product.
Zie: http://www.circuitsonline.net/forum/view/69817/2
[Bericht gewijzigd door Henry S. op (44%)]
Op 1 februari 2009 01:49:57 schreef klein is fijn:
[...]Ik heb werkelijk nog nooit iemand op CO gezien die dat probleem had. ...
Ha, het omgekeerde zal vaker voorgekomen zijn: het kristal kan met geen zeven paarden op zijn overtone getrokken worden, en wil alleen maar op zijn fundamental oscilleren. 
rew
four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
De overtonen kristallen zijn vrij lastig om op die overtoon te krijgen. Je moet iets doen met hard aansturen, en dan filteren dat alles onder de 2e overtoon en boven de 4e overtoon uitgefilterd wordt voordat je weer de oscilator ingaat. Dit is enigszins tricky en de oscilator fabrikanten kregen iedere keer "hij doet het niet" te horen en dan hadden de klanten het weer verkeerd gedaan. Daarom zijn ze van die doosjes gaan maken waar gewoon 5V in moet, en een frequentie signaal uitkomt.
jojo, de AVR processoren hebben een mode (stel je met de fuses in) speciaal voor de stemvork 32kHz kristallen.
Op 1 februari 2009 13:53:32 schreef rew:
jojo, de AVR processoren hebben een mode (stel je met de fuses in) speciaal voor de stemvork 32kHz kristallen.
Dat is mooi. Maar we hebben het hier toch over een STK500 bordje? Als ik het juiste schema voor me heb gehad zit daar een losse transistor kristaloscillator op die gebruikt wordt voor alle voorhanden AVR voetjes. Het kristal zit niet direct op een AVR zoals je in een uiteindelijke schakeling normaal doet.
rbeckers
Overleden
Op 1 februari 2009 13:46:18 schreef Frederick E. Terman:
[...]Ha, het omgekeerde zal vaker voorgekomen zijn: het kristal kan met geen zeven paarden op zijn overtone getrokken worden, en wil alleen maar op zijn fundamental oscilleren.
Heel erg waar! Maar 7 paarden dus 7e overtone? 
Ik heb al moeite gehd met 5e overtone kristallen
Maar dat speelt bij een 32kHz kristal niet.
Eigenlijk verdient iedere kristaloscillator een beetje aandacht. Je zou moeten vertekken met wat kennis van het kristal als Rs, Fc en motional capacitance. Dan kun je al heel wat bereiken. Vaak komen er vragen voorbij als "hoeveel pF heeft een PIC nodig?". Die micro maalt daar niet om, in fundamental mode zal het kristal wel werken. De juiste capaciteit er omheen zorgt er voor dat hij (meer) precies op de door de fabrikant bedoelde frequentie draait.
Overtone schakelingen zijn wel interessant. Ik kan me voorstellen dat je als producent van apparatuur voor kant en klare oscillatoren kiest. Ze moeten anders individueel op het kristal worden afgestemd. Naarmate de gebruikte overtoon hoger wordt is tuning al snel een must. Dat is niet leuk voor serieproductie.
Ik heb er mee zitten experimenteren met matige en goede kristallen. Een redelijk 17.7MHz kristal kon ik op zijn 7e boventoon aan de praat krijgen (~125MHz). Maar het trimmen luisterde nauw. Tussen de 5e en 7e overtone trimmen was een heel stuk leeg waar geen oscillatie optrad. Pas met een kwaliteitskristal "floeperde" de oscillator eigenlijk direct van de ene naar de andere overtone. Het "wegcompenseren" van de parallele capaciteit was daarbij al minder kritisch.
Mijn hoogste overtone (9e) was met een 200MHz kristal. Dat kristal leverde eigenlijk geen enkel probleem op. De kwaliteit speelt blijkbaar een grote rol.
Op 1 februari 2009 13:09:31 schreef jojo:
<knip>
[Bericht gewijzigd door Henry S. op 1 februari 2009 14:48:54]
Henry, was er iets mis?
Misschien gelijk even een algemene forum vraag:
Kan men een link maken direct naar een individuele post van een topic? Dus niet de topic in het algemeen, of de pagina hierin, maar de specifieke post.
