Skocz do zawartości

Po co zewnętrzny kwarc zamiast wewnętrznego??


Pomocna odpowiedź

Napisano

Witam. Mógł by mi ktoś wytłumaczyć, a jeszcze lepiej podać konkretne przykłady i zalety stosowania zewnętrznego kwarcu?? Bo np. stwierdzenie, że "ma za zadanie stabilizację częstotliwości drgań" za dużo mi nie mówi, a jestem pewien że wielu początkującym się to przyda

Ale w praktyce przy budowaniu robota ma jakieś większe znaczenie, czy raczej nie zrobi dużej różnicy jak zastosuje ten wewnętrzny?

im szybszy robot tym szybciej powinien wykonywać operacje, w Atmegach wewnętrzny rezonator ma zazwyczaj 1MHz, zewnętrzny może mieć nawet do 16-20 MHz. W konstrukcjach typu LF to ma duże znaczenie, niektóre osiągają takie prędkości, że przy 1MHz odczyt ADC zajmuje tyle czasu, że może nawet nie zauważyć zakrętu.

Hudyvolt, akurat odczyt ADC zajmuje zawsze prawie tyle samo czasu, zależnie od preskalera zegara ADC. W AVRach zegar ten i tak nie może chodzić szybciej niż kilkaset kHz, a jeden odczyt trwa kilkanaście cykli. Jednakże interpretacja pomiaru może trwać chwilę i dlatego przydaje sie szybszy kwarc.

Ogólnie wewnętrzny kwarc może być taktowany zwykle do 8MHz (zależnie od układu), zewnętrzny standardowo pozwala osiągnąć maksymalne taktowanie układu.

Sama dokładność ma znaczenie przy szybkiej transmisji przez UART (ale wenętrzne nie są wcale takie całkiem niedokładne, jeśli ustawimy oba urządzenia na tą sama prędkość, to ta dokładność nei ma znaczenia, problem tylko taki, że nie będzie to żadna ze standardowych prędkości, tylko np. 9603.84Baud zamiast 9600 😉 ). Czasami naprawdę warto się zastanowić czy dawać zewnętrzny kwarc, ponieważ w niektóych ukłądach zajmuje nóżki, które można by do czegoś wykorzystać.

Ma większe znaczenie przy sterowaniu serwami - wewnętrzny moze zmieniać częstotliwość pod wpływem temperatury, poza tym moze sie minimalnie różnić między procesorami. A te minimalne zmiany mogą dać np. różnicę paru stopni kąta obrotu serwa modelarskiego.

To kiepski ten Bascom 😋 nawet przy <1MHz ruszy jeśli będzie podłączone do PWMa, lub będzie sensownie napisany kod. Poza tym mi bardziej chodziło o dokładność, aby nie musieć kalibrować przy każdej wymianie mikrokontrolera.

Kolejną kwestią są minimalne prędkości. Aczkolwiek np. atmegi48/88/168 wiem, że mogą mieć ustawiony wewnętrzny 16kHz, 128kHz, 1MHz i 8MHz. Niska częstotliwość sie przydaje gdy chcemy zminimalizować pobór prądu.

Czyli źle ustawiłeś parametry w configu. Ja przy m8 sterowałem 2ma serwami przez config servos, więcej nie miałem wtedy, więc nie wiem jak by się zachowywały. Ale odbiegamy trochę od tematu. BTW, wasze powyższe opisy są prawdziwe dla AVRów, ale np takie LPC111X mają wewnętrzny rezonator 12MHz i pętle PLL, dzięki której można taktować uC 48MHz z wewnętrznego oscylatora. Sam uC ma max 50MHz, ale jak widać nie jest to duża różnica, ale to tak abstrahując od AVR 😉

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...