Отговори на тема  [ 22 мнения ]  Отиди на страница 1, 2  Следваща
PIC18F6622 как да излъжа ECCP модул 
Автор Съобщение
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Вто Яну 20, 2015 11:26 pm
Мнения: 23
Местоположение: Габрово/Любимец
Мнение PIC18F6622 как да излъжа ECCP модул
Здревейте.
Имам следната задача но не мога да и намеря решение ще съм ви много благодарен да ми помогнете.
имам един стъпков двигател и свъпков драйвер на който му се подават само стъпки и посока. И целта е да се клати съответния изход на микроконтролера с зададена честота от мен в границите от няколко херца до 100kHz но това да се случва хардуерно без софтуерни ресурси. Опитах с таймер който при препълване да клати пина но това е софтуерно и не мога да достигна високи честоти и също така с прекъсванията става мазало. Опитах през ECCP модула с настройка за смяна на състоянието на изхода при съвпадение. Но и при него виждам проблем когато трябва да променям честотата на таймера пак се получава същото като предното състояние. Другото което пробвах е да го пусна през PWM модула. Когато задам на ECCP да се включи в началото и според периода си определям честотата, а тук проблема е че при тактов генератор от 20MHz не мога да падна под 20kHz. Отделно че и модула за PWM няма вход за външен тактов генератор от основния. На кратко това са проблемите който срещнах ако имате по добри предложения ще се радвам да ги чуя.
Поздрави Деян. :)


Чет Яну 21, 2016 11:28 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Фев 04, 2005 9:59 pm
Мнения: 6019
Местоположение: София
Мнение Re: PIC18F6622 как да излъжа ECCP модул
За какво друго се използва пика, освен да клати стъпковия драйвер?

_________________
Warriors of the Night, ASSEMBLER!!!


Чет Яну 21, 2016 12:36 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Вто Яну 20, 2015 11:26 pm
Мнения: 23
Местоположение: Габрово/Любимец
Мнение Re: PIC18F6622 как да излъжа ECCP модул
За доста неща. LCD, serial comunication и обратна връзка от двигателя.


Чет Яну 21, 2016 1:52 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Вто Яну 24, 2006 6:34 pm
Мнения: 1753
Местоположение: Варна
Мнение Re: PIC18F6622 как да излъжа ECCP модул
Клатил съм стъпков драйвер (3 парчета с 1 мцу на Silab) . С 16 бит таймер , има 1 прекъсване , променям състоянието на пина и това е.

_________________
За пари сичко праим,даже и работим...


Чет Яну 21, 2016 2:37 pm
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Вто Яну 20, 2015 11:26 pm
Мнения: 23
Местоположение: Габрово/Любимец
Мнение Re: PIC18F6622 как да излъжа ECCP модул
mitko_el написа:
Клатил съм стъпков драйвер (3 парчета с 1 мцу на Silab) . С 16 бит таймер , има 1 прекъсване , променям състоянието на пина и това е.

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


Чет Яну 21, 2016 2:42 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Сря Фев 04, 2015 8:11 pm
Мнения: 610
Мнение Re: PIC18F6622 как да излъжа ECCP модул
PIC18F8722 FAMILY DS39646C-page 182 © 2008 Microchip Technology Inc.

17.3 Compare Mode
17.3.4 SPECIAL EVENT TRIGGER
FIGURE 13-1: TIMER1 BLOCK DIAGRAM


Чет Яну 21, 2016 4:42 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Вто Яну 20, 2015 11:26 pm
Мнения: 23
Местоположение: Габрово/Любимец
Мнение Re: PIC18F6622 как да излъжа ECCP модул
4040 написа:
PIC18F8722 FAMILY DS39646C-page 182 © 2008 Microchip Technology Inc.

17.3 Compare Mode
17.3.4 SPECIAL EVENT TRIGGER
FIGURE 13-1: TIMER1 BLOCK DIAGRAM


Много ти благодаря. Точно това ми трябва но нещо не мога да го пусна. Настроил съм таймер 3 да работи с ЕCCP3 но на изхода RG0/ECCP3 няма никой настроен е като изход.... В блок диаграмата е даден пример с CCP4 да не би само на него да работи този с SPECIAL EVENT TRIGGER макар че пише че всички CCP-та го поддържат?

П.С. 1011 = Compare mode: trigger special event (ECCP resets TMR1 or TMR3, sets CCPxIF bit; ECCP2 trigger starts A/D conversion if A/D module is enabled) това означава ли че ще ми генерира прекъсване и пак софтуерно да променям състоянието на изхода?


Чет Яну 21, 2016 6:02 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Сря Фев 04, 2015 8:11 pm
Мнения: 610
Мнение Re: PIC18F6622 как да излъжа ECCP модул
Мда , с тригера няма да стане защото отменя бутането на изхода. Остава с това:
Цитат:
0010 = Compare mode: toggle output on match

Като в прекъсване да си ъпдейтваш таймера със сумиране, а не със стойност. Може да се направи в рамките на периода, а не веднага - сиреч ще имаш време.
ТМР2 има и прескалер 1/16 така ,че може да смъкнеш PWM-а до 1кхц. А може за ниските честоти (редки прекъсвания) да ползваш режим Compare, а за високите да преминаваш на PWM. Ако и това не те устройва , има малки контролерчета, които могат да се ползват само за драйвера на двигателя.


Чет Яну 21, 2016 8:15 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Вто Яну 20, 2015 11:26 pm
Мнения: 23
Местоположение: Габрово/Любимец
Мнение Re: PIC18F6622 как да излъжа ECCP модул
4040 написа:
Мда , с тригера няма да стане защото отменя бутането на изхода. Остава с това:
Цитат:
0010 = Compare mode: toggle output on match

Като в прекъсване да си ъпдейтваш таймера със сумиране, а не със стойност. Може да се направи в рамките на периода, а не веднага - сиреч ще имаш време.
ТМР2 има и прескалер 1/16 така ,че може да смъкнеш PWM-а до 1кхц. А може за ниските честоти (редки прекъсвания) да ползваш режим Compare, а за високите да преминаваш на PWM. Ако и това не те устройва , има малки контролерчета, които могат да се ползват само за драйвера на двигателя.

Аха значи с Compare mode: trigger special event не става а със другите 2 начина който казваш вече ги пробвах но там проблема е че не искам при всяко прекъсване да пиша в таймера. а втория по ниска честота от 20кхц не успях да сляза по надолу. Какви са контролерчетата за драйвовете?


Чет Яну 21, 2016 8:37 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Сря Фев 04, 2015 8:11 pm
Мнения: 610
Мнение Re: PIC18F6622 как да излъжа ECCP модул
Прегледай например PIC16F1503, 12F1571, 10F320... Имат NCO , PSMC , PWM , а и няма да се конкурират с други задачи. Макар ,че не виждам какво толкова те притесняват прекъсванията. Този двигател как ще се върти - подаваш му една честота и като вентилатор ?


Чет Яну 21, 2016 9:31 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Вто Яну 20, 2015 11:26 pm
Мнения: 23
Местоположение: Габрово/Любимец
Мнение Re: PIC18F6622 как да излъжа ECCP модул
Благодаря за предложените контролери. :)
Ами не няма да е с една честота ще се сменя. Малко по нагоре казах че има обратна връзка с енкодер на двигателя и ще го позиционирам. И ще трябва да има и рампи на ускорение.
А гледам документацията и гледам че ECCP модула при SPECIAL EVENT TRIGGER е обвързан с trigger starts A/D conversion if A/D module is enabled това за какво?


Чет Яну 21, 2016 10:21 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Сря Фев 04, 2015 8:11 pm
Мнения: 610
Мнение Re: PIC18F6622 как да излъжа ECCP модул
dgeorgiev92 написа:
... trigger starts A/D conversion if A/D module is enabled това за какво?

АЦП-то като го разрешиш, то сАмо си седи. За да вземеш отчет, трябва софтуерно да го стартираш за всеки отчет. Та този тригер го стартира хардуерно, синхронно със CCP модула. Но резултата пак трябва да си го вземеш софтуерно, преди да постъпи следващия тригер, иначе ще замести резултата с новия.


Пет Яну 22, 2016 12:53 am
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Вто Яну 20, 2015 11:26 pm
Мнения: 23
Местоположение: Габрово/Любимец
Мнение Re: PIC18F6622 как да излъжа ECCP модул
аха ясно благодаря. :)


Пет Яну 22, 2016 1:23 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 20, 2005 12:02 pm
Мнения: 9119
Местоположение: Разград
Мнение Re: PIC18F6622 как да излъжа ECCP модул
Много смело желание за това ядро. Може и да се получи всичко което искаш но с голяма софтуерна акробатика и да пуснеш пика на 80-100 мегахерца. Прилични рампи и към 15 кхц. съм постигал с 46к22 на 64мхц клок.


Нед Яну 24, 2016 4:52 pm
Профил ICQ
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Вто Яну 20, 2015 11:26 pm
Мнения: 23
Местоположение: Габрово/Любимец
Мнение Re: PIC18F6622 как да излъжа ECCP модул
А да попитам за управлението на постояннотоков двигател с Half-Bridge mode дали може да се управлява посоката. Като цяло не го разбирам много много може ли да ми обясните как работи ECCP half-bridge mode.


Пон Яну 25, 2016 11:58 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 22 мнения ]  Отиди на страница 1, 2  Следваща

Кой е на линия

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


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

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