Отговори на тема  [ 54 мнения ]  Отиди на страница Предишна  1, 2, 3, 4  Следваща
PIC18F452+32.768 - Часовников Проблем :-) 
Автор Съобщение
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Пет Авг 25, 2006 11:31 pm
Мнения: 168
Местоположение: Русе
Мнение 
Хм, с прекъсването, което ми описа по-горе ли работи програмата?

От вчера съм с кварца от часовник Q&Q. Сега върнах китайския (той и оня е китайски ама това е друга тема).
Вече не спирам таймера и не пиша в TMR1L, а само смъквам флага:
BCF PIR1,TMR1IF ;Смъква флага от препълване на TMR1
MOVLW 0x80
MOVWF TMR1H


Нед Юли 12, 2009 12:05 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 20, 2005 12:02 pm
Мнения: 9119
Местоположение: Разград
Мнение 
Ахам, е програмат не е писана на асемблер, щото бая щях да се поизпотя докато я напишя. До тук 25 минути и няма все още разлика. Засега седи разликата от натискането на двата бутона (около 0,2 - 0,3 сек.) щото немога абсолютно едновременно да ги пусна :)


Нед Юли 12, 2009 12:10 pm
Профил ICQ
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Пет Авг 25, 2006 11:31 pm
Мнения: 168
Местоположение: Русе
Мнение 
Ясно, както се и очакваше значи проблема е софтуерен. Тъкмо пуснах и почвам да следя
Цитат:
Засега седи разликата от натискането на двата бутона (около 0,2 - 0,3 сек.) щото немога абсолютно едновременно да ги пусна


Тука вече станах спец :-)

п.с Моя почна пак да избързва :-(.
Остана варианата с прекъсванията, но факта че избързва ме притеснява !!!!


Нед Юли 12, 2009 12:13 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 20, 2005 12:02 pm
Мнения: 9119
Местоположение: Разград
Мнение 
час и 15 минути - от 0,3 нарастна до 0,5 - за това време твоя вече бягаше със секунди. Не казвам, че е свръх точен но 0,2 сек. на час не е кой знае колко много за непретенциозно приложение.

едит за да не спамя повече : 2:05 - още няма секунда - около 0,7 - 0,8. Спирам го щото няма смисъл от повече.


Последна промяна Cekins на Нед Юли 12, 2009 1:49 pm, променена общо 1 път



Нед Юли 12, 2009 12:59 pm
Профил ICQ
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Пет Авг 25, 2006 11:31 pm
Мнения: 168
Местоположение: Русе
Мнение 
При мен за 20-на минути избяга с 1 сек. Довечера ще пробвам с прекъсването.


Нед Юли 12, 2009 1:05 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Яну 20, 2009 11:54 pm
Мнения: 11338
Местоположение: "Занзибар"
Мнение 
Ама това дето е за кварца само за красота са го нарисували като инвертор. И е нормално на изхода му да има синусоида макар и крива. Включването на "груб" уред към изхода също смущава а към входа си е катастрофа :)

В подобни случаи е по-добре да сравняваш 2-е честоти (следената с някаква еталонна) отколкото директно да мериш. Навремето бях срещал проста и хитроумна схема за честотен дискриминатор (май в няк'ва книга за TTL-ки) който пускаше кратки импулси към реверсивен брояч само ако те са вповече. Мисля, че трябва да имате такова нещо под ръка. Не мога да отделя повече време затова ще я опиша - току виж някой се сетил:
- входните честоти се подават на формирователи на кратки отрицателни импулси от NAND и 3-и инвертора,
- импулсите се подават на фазов компарарор с D-тригер/и (?) - като този в '4046,
- фазовият компаратор управлява 2-а ключа изпълнени с NAND,
- на другия крак на NAND-ключовете се подават съответните къси импулси ама минати през закъснителна линия от 6 инвертора.
Резултатът е, че се пуска импулс само ако той е 2-ри от същата входна поредица, т.е. на другия вход не е имало.

Обаче Мечо не си поигра със захранването - ако честотата зависи от него и при другия кварц: или си направил толкова тъпа грешка в платката че чак не можеш да я видиш или си опукал пика :)


Нед Юли 12, 2009 3:17 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 20, 2005 12:02 pm
Мнения: 9119
Местоположение: Разград
Мнение 
Е добре де, що при мене без никакви особенни хардуерни чалъми работи със задоволителна точност. 0,2 сек на час при положение че не съм правил нищо за да го прецизирам - 33pF към маса и това е. Само че моето не е часовник ами си е нещо като хронометър - за двата часа които максимум ще мери (понякога), тая половин секунда никой няма да я види.
Вече многократно беше казано - ако ще е за часовник има си специализирани RTС-та - досега по сведения от клиенти дават разлика максимум от около минута на месец - това вече си зависи и от кварца.


Нед Юли 12, 2009 4:27 pm
Профил ICQ
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Пет Авг 25, 2006 11:31 pm
Мнения: 168
Местоположение: Русе
Мнение 
Това със захранването в момента съм го оставил настрана. Сложих само филтриращ кондензатор 4700u на главното захранване, но не съм правил опити (мисля обаче да направя).
Тъкмо се прибрах и боднах така, само от любопитство на portc, 5 един светодиод. Светвам го точно когато зареждам таймер 1 и го гася точно преди софтуера да зацикли със следенето флага на таймера. Оказва се че едвам го виждам да присветва. Така на око светва за около 0.1 сек.
Изключено е да се обърква нещо поради забавене с надписи или изпълнение на каквито и да е инструкции.

Преди време си направих генератор с AD9833. Ще го пусна на 32.768 khz и мисля да го вържа на RA4/T0CKI. (т.е като такт на Таймер 0). Интересно ми е тогава какво ще се получи. Само че имам един 18F452, а сорса на генератора и часовника са писани за него.
Опитах да пусна PIC18F4420 (които имам в наличност), но нещо не става работата с конфигурационните битове.
Порових из нета и ненамерих нищо от примерна програма на асемблер, но намерих нещо, което според мен е много полезно за начинаещи като мен , а и не само -> ww1.microchip.com/.../en/.../C18_Config_Settings_51537e.pdf Повечето от Вас сигурно редовно го ползват..... вече и аз :-) .
Въпреки това обаче все още не сработва 18F4420-ката. Някой може ли да помогне? Ето какво съм написал водейки се от pdf-a

CONFIG OSC = HS
CONFIG FCMEN = OFF
CONFIG IESO = ON
CONFIG PWRT = OFF
CONFIG BOREN = SBORDIS
CONFIG BORV = 1
CONFIG WDT = OFF
CONFIG WDTPS = 128
CONFIG MCLRE = ON
CONFIG LPT1OSC = ON
CONFIG PBADEN = OFF
CONFIG CCP2MX = PORTBE
CONFIG STVREN = ON
CONFIG LVP = OFF
CONFIG XINST = OFF
CONFIG DEBUG = OFF
CONFIG CP0 = OFF
CONFIG CP1 = OFF
CONFIG CPB = OFF
CONFIG CPD = OFF
CONFIG WRT1 = OFF
CONFIG WRTB = OFF
CONFIG WRTC = OFF
CONFIG WRTD = OFF
CONFIG EBTR0 = OFF
CONFIG EBTR1 = OFF
CONFIG EBTRB = OFF

То не е тук точно мястото да питам за това, но ако трябва ще пусна тема в съответния раздел.


Нед Юли 12, 2009 10:06 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Яну 20, 2009 11:54 pm
Мнения: 11338
Местоположение: "Занзибар"
Мнение 
Да ама ако честотата се влияе от захранването е все едно, че се опитваш да вземеш изпит за шьофьор със спукана гума :)


Нед Юли 12, 2009 10:24 pm
Профил
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Пет Авг 25, 2006 11:31 pm
Мнения: 168
Местоположение: Русе
Мнение 
Прав си ! Само да подкарам 4420-ката и TMR0 ще го пусна на батериии.


Пон Юли 13, 2009 8:19 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Окт 10, 2004 9:55 am
Мнения: 1718
Мнение 
me40 написа:
Прав си ! Само да подкарам 4420-ката и TMR0 ще го пусна на батериии.

Толкова ли ти е трудно да си намериш кварц с по голяма честота кратен на 2, във футурел има 4.194304Мхз :
http://www.futurel.bg/index.php?pg_id=2&g_id=10329&sg_id=53219&sid=410ce591d36319e5ccff345f774b1142&qty=0&lang=bg
Обяснявам пак:
1. Превключваш TMR1 към вътрешния генератор като там честотата е 1/4 от основната.
2. Включваш 1/8 предварителния делител и след 16-те бита на таймера имаш прекъсване точно на 0.5сек.
3. Като влезе в прекъсване имаш точно да отбройш 2 пъти до 1сек и останалото е кратно на 60.
Виж тук има 2 примера за часовници :)
http://www.radiokot.ru/circuit/digital/home/11/
http://narod.kmv.ru/kornilov/clock.html

_________________
Избийте баламите и тарикатите сами ще умрат!
Няма невъзможни работи - има много трудни работи!
----------------------------------------------------------------------------------
"Я в Москве с киркой уран найду, при такой повышенной зарплате" !


Пон Юли 13, 2009 11:51 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 20, 2005 12:02 pm
Мнения: 9119
Местоположение: Разград
Мнение 
Това не е 100% решение, а си е чисто заобикаляне. Аз например в повечето случаи ползвам едни буутлоудери дета са за 20 или 4 мхз, и затова не го правя този трик. Иначе става - няма проблеми, ама човека иска да подкара малкия осцилатор. Значи ако с промяна на кондензаторите няма никакъв ефект, тогава ще да е нещо я хардуерно по чипа, я софтуерно. Аз ползвам 33pF с кометските кварцове и вече писах каква грешка засякох. При Ме40 става въпрос за къде по-сериозна грешка.


Пон Юли 13, 2009 4:54 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Окт 10, 2004 9:55 am
Мнения: 1718
Мнение 
Cekins написа:
Това не е 100% решение, а си е чисто заобикаляне. Аз например в повечето случаи ползвам едни буутлоудери дета са за 20 или 4 мхз, и затова не го правя този трик. Иначе става - няма проблеми, ама човека иска да подкара малкия осцилатор. Значи ако с промяна на кондензаторите няма никакъв ефект, тогава ще да е нещо я хардуерно по чипа, я софтуерно. Аз ползвам 33pF с кометските кварцове и вече писах каква грешка засякох. При Ме40 става въпрос за къде по-сериозна грешка.

Дори е по добро решение това заобикаляне.
1. Имаш пълно синхронизиране в честотата защото се ползва един източник.
2. Колкото по висока е честотата толкова точноста е по голяма.
3. Дори като схема и външни елементи е по опростено, няма нужда да подкарваш 2 кварца при положение че може и с един да мине.

_________________
Избийте баламите и тарикатите сами ще умрат!
Няма невъзможни работи - има много трудни работи!
----------------------------------------------------------------------------------
"Я в Москве с киркой уран найду, при такой повышенной зарплате" !


Пон Юли 13, 2009 5:53 pm
Профил
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Пет Авг 25, 2006 11:31 pm
Мнения: 168
Местоположение: Русе
Мнение 
Цитат:
Толкова ли ти е трудно да си намериш кварц с по голяма честота кратен на 2, във футурел има 4.194304Мхз :

Никак даже не е трудно да си намеря такъв кварц, стига да се сетя за тази идея, която наистина ми харесва и смятам и нея да пробвам. Иначе наистина се позаиграх с 32768 (не поглеждах настрани) и ми беше интересно, къде е проблема. За мен лично Таймер 1 не работи точно с външен осцилатор. Ще пробвам задължително с Таймер 0, RA4 и AD9833 (там поне в доста по голяма степен ще съм сигурен за честотата) . Ще пиша за резултата. Иначе, че при мен се получава по-голяма грешка няма спор. В крайна сметка със софтуерна корекция вече 3 часа и половина цепя секундата. Благодаря на всички включили се, научих още някой нови неща и идеи. Сега се заемам PIC18F4420 и неговата конфигурация. .......Какво да правиш, нали трябва да си човъркаме там все нещо :-)


Пон Юли 13, 2009 9:40 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Яну 20, 2009 11:54 pm
Мнения: 11338
Местоположение: "Занзибар"
Мнение 
А ако трябва да приспи пика?
Човъркай Мечо, да си сигурен че ще ти потрябва!
И пак не си пробва софтуерната корекция на понижено захранване... :)

Щото аз имах таймер за нощна енергия с тъпа RC група който не грешеше повече от час на година.

Edit за точността на кварцовете (ike след мен вече се заяде): поради особености на технологията най-точни са 5МХц-вите. Ама има кварцове и схеми... Всъщност е тъпо да се спори за точност когато става дума за тактов генератор на пик. Обаче честотата трябва да е стабилна макар и неточна.


Последна промяна bongo_x2 на Пон Юли 13, 2009 10:47 pm, променена общо 2 пъти



Пон Юли 13, 2009 10:22 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 54 мнения ]  Отиди на страница Предишна  1, 2, 3, 4  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни