| Автор |
Съобщение |
|
dgeorgiev92
Ранг: Минаващ
Регистриран на: Вто Яну 20, 2015 11:26 pm Мнения: 23 Местоположение: Габрово/Любимец
|
 PIC18F6622 как да излъжа ECCP модул
Здревейте. Имам следната задача но не мога да и намеря решение ще съм ви много благодарен да ми помогнете. имам един стъпков двигател и свъпков драйвер на който му се подават само стъпки и посока. И целта е да се клати съответния изход на микроконтролера с зададена честота от мен в границите от няколко херца до 100kHz но това да се случва хардуерно без софтуерни ресурси. Опитах с таймер който при препълване да клати пина но това е софтуерно и не мога да достигна високи честоти и също така с прекъсванията става мазало. Опитах през ECCP модула с настройка за смяна на състоянието на изхода при съвпадение. Но и при него виждам проблем когато трябва да променям честотата на таймера пак се получава същото като предното състояние. Другото което пробвах е да го пусна през PWM модула. Когато задам на ECCP да се включи в началото и според периода си определям честотата, а тук проблема е че при тактов генератор от 20MHz не мога да падна под 20kHz. Отделно че и модула за PWM няма вход за външен тактов генератор от основния. На кратко това са проблемите който срещнах ако имате по добри предложения ще се радвам да ги чуя. Поздрави Деян. 
|
| Чет Яну 21, 2016 11:28 am |
|
 |
|
ike
Ранг: Форумен бог
Регистриран на: Пет Фев 04, 2005 9:59 pm Мнения: 6019 Местоположение: София
|
 Re: PIC18F6622 как да излъжа ECCP модул
За какво друго се използва пика, освен да клати стъпковия драйвер?
_________________ Warriors of the Night, ASSEMBLER!!!
|
| Чет Яну 21, 2016 12:36 pm |
|
 |
|
dgeorgiev92
Ранг: Минаващ
Регистриран на: Вто Яну 20, 2015 11:26 pm Мнения: 23 Местоположение: Габрово/Любимец
|
 Re: PIC18F6622 как да излъжа ECCP модул
За доста неща. LCD, serial comunication и обратна връзка от двигателя.
|
| Чет Яну 21, 2016 1:52 pm |
|
 |
|
mitko_el
Ранг: Форумен бог
Регистриран на: Вто Яну 24, 2006 6:34 pm Мнения: 1753 Местоположение: Варна
|
 Re: PIC18F6622 как да излъжа ECCP модул
Клатил съм стъпков драйвер (3 парчета с 1 мцу на Silab) . С 16 бит таймер , има 1 прекъсване , променям състоянието на пина и това е.
_________________ За пари сичко праим,даже и работим...
|
| Чет Яну 21, 2016 2:37 pm |
|
 |
|
dgeorgiev92
Ранг: Минаващ
Регистриран на: Вто Яну 20, 2015 11:26 pm Мнения: 23 Местоположение: Габрово/Любимец
|
 Re: PIC18F6622 как да излъжа ECCP модул
Да пробвах го това нещо но не искам постоянно да влизам в прекъсването и да сменям състоянието на пина. Трябва автоматично да си сменя състоянието.
|
| Чет Яну 21, 2016 2:42 pm |
|
 |
|
4040
Ранг: Почетен член
Регистриран на: Сря Фев 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 |
|
 |
|
dgeorgiev92
Ранг: Минаващ
Регистриран на: Вто Яну 20, 2015 11:26 pm Мнения: 23 Местоположение: Габрово/Любимец
|
 Re: PIC18F6622 как да излъжа ECCP модул
Много ти благодаря. Точно това ми трябва но нещо не мога да го пусна. Настроил съм таймер 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 |
|
 |
|
4040
Ранг: Почетен член
Регистриран на: Сря Фев 04, 2015 8:11 pm Мнения: 610
|
 Re: PIC18F6622 как да излъжа ECCP модул
Мда , с тригера няма да стане защото отменя бутането на изхода. Остава с това: Като в прекъсване да си ъпдейтваш таймера със сумиране, а не със стойност. Може да се направи в рамките на периода, а не веднага - сиреч ще имаш време. ТМР2 има и прескалер 1/16 така ,че може да смъкнеш PWM-а до 1кхц. А може за ниските честоти (редки прекъсвания) да ползваш режим Compare, а за високите да преминаваш на PWM. Ако и това не те устройва , има малки контролерчета, които могат да се ползват само за драйвера на двигателя.
|
| Чет Яну 21, 2016 8:15 pm |
|
 |
|
dgeorgiev92
Ранг: Минаващ
Регистриран на: Вто Яну 20, 2015 11:26 pm Мнения: 23 Местоположение: Габрово/Любимец
|
 Re: PIC18F6622 как да излъжа ECCP модул
Аха значи с Compare mode: trigger special event не става а със другите 2 начина който казваш вече ги пробвах но там проблема е че не искам при всяко прекъсване да пиша в таймера. а втория по ниска честота от 20кхц не успях да сляза по надолу. Какви са контролерчетата за драйвовете?
|
| Чет Яну 21, 2016 8:37 pm |
|
 |
|
4040
Ранг: Почетен член
Регистриран на: Сря Фев 04, 2015 8:11 pm Мнения: 610
|
 Re: PIC18F6622 как да излъжа ECCP модул
Прегледай например PIC16F1503, 12F1571, 10F320... Имат NCO , PSMC , PWM , а и няма да се конкурират с други задачи. Макар ,че не виждам какво толкова те притесняват прекъсванията. Този двигател как ще се върти - подаваш му една честота и като вентилатор ?
|
| Чет Яну 21, 2016 9:31 pm |
|
 |
|
dgeorgiev92
Ранг: Минаващ
Регистриран на: Вто Яну 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 |
|
 |
|
4040
Ранг: Почетен член
Регистриран на: Сря Фев 04, 2015 8:11 pm Мнения: 610
|
 Re: PIC18F6622 как да излъжа ECCP модул
АЦП-то като го разрешиш, то сАмо си седи. За да вземеш отчет, трябва софтуерно да го стартираш за всеки отчет. Та този тригер го стартира хардуерно, синхронно със CCP модула. Но резултата пак трябва да си го вземеш софтуерно, преди да постъпи следващия тригер, иначе ще замести резултата с новия.
|
| Пет Яну 22, 2016 12:53 am |
|
 |
|
dgeorgiev92
Ранг: Минаващ
Регистриран на: Вто Яну 20, 2015 11:26 pm Мнения: 23 Местоположение: Габрово/Любимец
|
 Re: PIC18F6622 как да излъжа ECCP модул
аха ясно благодаря. 
|
| Пет Яну 22, 2016 1:23 am |
|
 |
|
Cekins
Ранг: Форумен бог
Регистриран на: Сря Апр 20, 2005 12:02 pm Мнения: 9119 Местоположение: Разград
|
 Re: PIC18F6622 как да излъжа ECCP модул
Много смело желание за това ядро. Може и да се получи всичко което искаш но с голяма софтуерна акробатика и да пуснеш пика на 80-100 мегахерца. Прилични рампи и към 15 кхц. съм постигал с 46к22 на 64мхц клок.
|
| Нед Яну 24, 2016 4:52 pm |
|
 |
|
dgeorgiev92
Ранг: Минаващ
Регистриран на: Вто Яну 20, 2015 11:26 pm Мнения: 23 Местоположение: Габрово/Любимец
|
 Re: PIC18F6622 как да излъжа ECCP модул
А да попитам за управлението на постояннотоков двигател с Half-Bridge mode дали може да се управлява посоката. Като цяло не го разбирам много много може ли да ми обясните как работи ECCP half-bridge mode.
|
| Пон Яну 25, 2016 11:58 am |
|
|