|
Виж темите без отговор | Виж активните теми
Дата и час: Нед Окт 04, 2026 5:31 am
| Автор |
Съобщение |
|
milenjs
Ранг: Форумен бог
Регистриран на: Сря Мар 08, 2006 2:12 pm Мнения: 2017 Местоположение: Котел
|
Ще му трябва обаче доста сериозен уред като точност 
|
| Пет Авг 20, 2010 9:19 am |
|
 |
|
ji4ka
Ранг: Форумен бог
Регистриран на: Чет Фев 01, 2007 4:04 am Мнения: 1539
|
Ако грешката е постоянна, може още с второто сверяване да я компенсираш софтуерно с една-две корекции в епрома.
|
| Пет Авг 20, 2010 11:22 am |
|
 |
|
zaphod
Ранг: Форумен бог
Регистриран на: Нед Юли 24, 2005 10:28 am Мнения: 2720
|
сериозен? говорим за 20 секунди на ден, това си е грешка в четвъртия знак, с малко изпипване RC генератор има повече точност.
|
| Пет Авг 20, 2010 4:18 pm |
|
 |
|
tgi
Ранг: Форумен бог
Регистриран на: Нед Юни 10, 2007 2:22 pm Мнения: 6492 Местоположение: София
|
Аре бе, тия кварцове струват стотинки и то добрите. Ако иска човек да е сигурен
може да счупи един часовник от 5 лева, дето работи горе-долу точно (много обичам тоя
израз, "горе-долу точно"  ) и да пробва с него.
А това, че в пикоборството имало и вариант пикоборецът да не знае дали таймерът е таймер
направо е и отвъд моите подозрения за това докъде е отишло онеграмотяването... 
_________________------------------- www.tgi-sci.com------------------- http://www.flickr.com/photos/didi_tgi/
|
| Пет Авг 20, 2010 4:25 pm |
|
 |
|
sigkill
Ранг: Популярен
Регистриран на: Чет Ное 29, 2007 2:22 pm Мнения: 309 Местоположение: Vratsa
|
Даласците някога имаха едни кафяви книжки дето търговците ги раздаваха , та там бяха много подробно описали за часовниците и кварцовете - кога избързват кога изостават , товарни капацитети имало 12пф и 6 пф ... причина за избързване беше влизане на смущение , бяха дали и примери за опроводяване около кварца , заграждане на кварца и пиновете с пистичка свързана към гнд ...
|
| Пет Авг 20, 2010 4:48 pm |
|
 |
|
npelov
Ранг: Почетен член
Регистриран на: Пет Яну 22, 2010 5:46 pm Мнения: 680
|
12pF са кондензаторите.
Сглобката не е от най-добрите - експериментална платка, но кварца е на 1 пин от ПИК-а и кондензаторите са много близо. обаче кондензаторите на са много точни май. Важно ли е да са точно 12 пФ. Ако единия е 10 а другия 13 ще има ли проблем?
ето и малко код (Част от кода е взет от книгата на млад конструктор):
 |  |  |  | Код: ISR_HI
btfss PIR1, TMR1IF ; Прекъсване от Таймер 1? bra end_rtc_int ; Не, изход bcf PIR1, TMR1IF ; Нулиране на флага за прекъсване
movlw H'80' ; Зареждане на стойност 80h в старшия регистър addwf TMR1H ; байт на Таймер 1
incf ts0 bnz endIncTs incf ts1 bnz endIncTs incf ts2 bnz endIncTs incf ts3 endIncTs incf sec movlw .59 cpfsgt sec bra endRtcIncrement
bsf flags, T1_INT
clrf sec incf min
notMinute movlw .59 cpfsgt min bra endRtcIncrement clrf min incf hour
notHour movlw .23 cpfsgt hour bra endRtcIncrement clrf hour incf day notDay
endRtcIncrement
end_rtc_int
..............................
initPeripherals clrf PIR1 clrf PIR2 clrf IPR1 clrf IPR2
; timer1 clrf T1CON ; 8 bit read/write ;bsf T1CON, RD16 bsf T1CON, T1OSCEN bsf T1CON, T1SYNC bsf T1CON, TMR1CS bsf PIR1, TMR1IF bsf IPR1, TMR1IP movlw H'80' ; Зареждане на стойност 80h в старшия регистър movwf TMR1H ; байт на Таймер 1 clrf TMR1L
; Т1 го пускам накрая, след като привърши инициализацията ;bsf T1CON, TMR1ON
;ADC clrf ADCON0 bsf ADCON0, ADCS0 bsf ADCON0, ADCS1 bsf ADCON0, ADON
;bsf ADCON0, CHS0 ;bsf ADCON0, CHS1 ;bsf ADCON0, CHS2
clrf ADCON1 bsf ADCON1, ADCS2
bsf ADCON1, PCFG0 ;bsf ADCON1, PCFG1 bsf ADCON1, PCFG2 ;bsf ADCON1, PCFG3 setf TRISA bcf TRISC, 6 bsf TRISC, 7 ;init RS232 serial port movlw SPBRG_VAL ;set baud rate movwf SPBRG movlw 0xc0 ;set tris bits for TX and RX iorwf TRISC,F movlw TXSTA_INIT movwf TXSTA movlw RCSTA_INIT movwf RCSTA ;clrf RCSTA
bsf RCSTA, SPEN bsf RCSTA, TXEN clrf buffLen clrf buffStart return 0
initInterrupts clrf INTCON clrf INTCON2 clrf INTCON3
;bsf RCON, IPEN bcf RCON, IPEN ; Използване на приоритетни прекъсвания ;bsf INTCON, PEIE bsf PIE1, TMR1IE bsf PIE1, ADIE bsf IPR1, TMR1IP
bcf PIR1, TMR1IF ; Нулиране на флага за прекъсване
bsf INTCON, PEIE ; low priority interrupts
bsf INTCON, GIE return 0
|  |  |  |  |
|
| Нед Авг 22, 2010 11:59 am |
|
 |
|
sigkill
Ранг: Популярен
Регистриран на: Чет Ное 29, 2007 2:22 pm Мнения: 309 Местоположение: Vratsa
|
срава дума за капацитета м/у пиновете на кварца (не тези към маса) има кварцове сметнати за различни тов. капациети , да няма някой съседен пин който се клати с висока честота ? Аз бих пробвал с отделен цмос осцилатор със сигурни 32768Хз за да разбера дали е софтуерен проблем или кварца си вмъква допълнителни цикли.
|
| Нед Авг 22, 2010 1:34 pm |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9136 Местоположение: Разград
|
Ама те тия 12пф не са ли им малко? В манюала пише 33 
|
| Нед Авг 22, 2010 9:21 pm |
|
 |
|
npelov
Ранг: Почетен член
Регистриран на: Пет Яну 22, 2010 5:46 pm Мнения: 680
|
не. виж пак. 6 до 12.5 pF, но това се отнася за цялата серия кварцове 30 до 350 kHz. Мисля че ги гледах на доста места с около 12 pF.
|
| Пон Авг 23, 2010 1:09 am |
|
 |
|
kasparov
Ранг: Почетен член
Регистриран на: Сря Апр 05, 2006 9:52 pm Мнения: 877 Местоположение: Разград
|
Има и формула за изчисляване на товарния капацитет
C= (C1*C2)/(C1+C2) + C монтажен
За твоя кварц се препоръчва товарен капацитет 6 - 12 pF, ако
имаш по малък товарен капацитет, кварца ще избързва, ако е по голям
ще забавя, това го казват от Dallas за DS1307, така че и с RTC пак може да не е точно
времето.
|
| Пон Авг 23, 2010 1:09 am |
|
 |
|
tgi
Ранг: Форумен бог
Регистриран на: Нед Юни 10, 2007 2:22 pm Мнения: 6492 Местоположение: София
|
Бе коментарите в сорса са повече от оскъдни а и без да съм пикоборец може да
греша, ама май на всяко прекъсване пише в таймера $8000 - та какви капацитети
какви точности.
Инак като стигне до капацитети ако кварцът е свестен с едно тримеркондензаторче
може да се нагласи доста точно (за дадена температура....  ).
Но май първо има да разбира човекът как работят таймерите и да програмира,
после кондензаторите.
_________________------------------- www.tgi-sci.com------------------- http://www.flickr.com/photos/didi_tgi/
|
| Пон Авг 23, 2010 2:39 am |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9136 Местоположение: Разград
|
@tgi, "на всяко прекъсване" означава 1/32768 част от секундата при минимум 1 мипс на ядрото при 2(3) инструкции за влизане в прекъсването, при 2 инструкции за проверка дали е това прекъсване (вектора на 16-ките е един, 18-ките 2, 24-ки и нагоре за всяко прекъсване си има отделен вектор), та 2 инструкции ако е първо в списъка, което не е проблем, и 2 инструкция за записване на $80 в горния байт на таймера (долния няма смисъл да се пипа щото той си е все още $00) и при положение че таймера работи в асинхронен режим. Пък в крайна сметка може да и да не се пише в таймера - тогава ще си цъка на две секунди.
Тук въпроса е чисто хардуерен - трябва да си много тъп за да объркаш боравенето с таймера. Какво като имаш да пишеш нещо някъде си. Тия дръвца работят много праволинейно - затова НЕ са подходящи за сложни работи. Ама пък за сметка на това за прости задачи са си добре.
Мога да добавя само едно относно таймера - желателно е да се настрои за писане поотделно в двата регистъра. Така ввендага след MOVWF TMR1H ше се запише само той (ама то това май само за 18-ките беше)
|
| Пон Авг 23, 2010 9:30 am |
|
 |
|
tgi
Ранг: Форумен бог
Регистриран на: Нед Юни 10, 2007 2:22 pm Мнения: 6492 Местоположение: София
|
Аха, не бях схванал, че пише само горния байт - мислех, че просто не виждам нулата, дето
я пише в долния, нали не съм пикоборец и асемблерът им не ми е очевиден.
Е значи едно тримерче му трябва, то аз тук и такива кварциве и май и няколко тримера имам
всъщност. Тия кварцове без никакви кондензатори с един часовников чип май 2-3 секунди
на денонощие грешат, имаше един май секунда на няколко дни беше (ама той замина
с устройство а и беше изключение).
_________________------------------- www.tgi-sci.com------------------- http://www.flickr.com/photos/didi_tgi/
|
| Пон Авг 23, 2010 10:54 am |
|
 |
|
npelov
Ранг: Почетен член
Регистриран на: Пет Яну 22, 2010 5:46 pm Мнения: 680
|
 |  |  |  | tgi написа: Бе коментарите в сорса са повече от оскъдни а и без да съм пикоборец може да греша, ама май на всяко прекъсване пише в таймера $8000 - та какви капацитети какви точности. Инак като стигне до капацитети ако кварцът е свестен с едно тримеркондензаторче може да се нагласи доста точно (за дадена температура....  ). Но май първо има да разбира човекът как работят таймерите и да програмира, после кондензаторите. |  |  |  |  |
не пише $8000, а добавя $80 в старшата част. Ако брои от 0х0000 до 0хFFFF това са 65536 такта. при 32.768кХз прави 2 сек. аз го карам да брои само 32768 такта. Пипам само старшата част а младшата през това време брои - идеята е от книгата на млад конструктор и работи. иначе има какво да се иска от коментарите  кода е писан за тест, не за реалния проект ... е можело е да го поокрася Нищо подобно. Не е нужно да си тъп за да объркаш нещо на асемблер.
направено е:
Иначе не знаех че кондензаторите влияят чак толкова на честотата. мислех че се слагат за стабилност. Все пак каспаров казва че ще изостава при по-голям капацитет а моя е с горната граница и избързва доста.
|
| Пон Авг 23, 2010 4:15 pm |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9136 Местоположение: Разград
|
Ами аз ги слагам 33пФ и работят що годе точно. Или поне не съм забелязал толкова големи разлики. Ама вече няколко пъти беше казано - като искаш точно напиши в комета в търсачката TCXO. Закачаш го на един DS1307, подпираш ги с една батерийка и си готов с точността. После от изхода му си вади каквито искаш честоти.
|
| Пон Авг 23, 2010 6:15 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 9 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|