Автор Тема: ШИМ и PIC16F684  (Прочетена 31534 пъти)

Ap0c0lyp53

  • Робо-Новак
  • *****
  • Публикации: 11
    • Профил
    • http://apocolypserylz.blogspot.com/
ШИМ и PIC16F684
« -: Ноември 25, 2007, 04:06:52 am »
Здравейте, искам да управлявам правотоков четков мотор с PIC16F684 чрез ШИМ. За пръв път се занимавам с мотори и ШИМ и не сам сигурен как точно да процедирам. Ето това са следните въпроси относно темата:
1. Разбрах, че този микроконтролер има вграден ШИМ генератор за управление на мотора и напред и назад, но как как точно става това?
2. Кои транзистори са най-удачни: биполярните или MOSFET-овете?
3. Основни характеристики като честота на микроконтролера, честота на ШИМ-а, напрежения, драйвери, т.н.
Ако може да ми покажете код на "С" или асемблер, ще сам много благодарен!

Извън темата, радвам се, че се се рег-нах в този страхотен форум!  :clap:

sv_shady

  • Administrator
  • *****
  • Публикации: 636
    • Профил
ШИМ и PIC16F684
« Отговор #1 -: Ноември 25, 2007, 03:36:06 pm »
Здравей :)
Управлението на мотори е доста обширна тема. Двете основни неща, които може да контролираш на един мотор са посоката на въртене и скоростта. Посоката се управлява чрез така наречения Н-мост (H-bridge на английски за да знаеш какво да търсиш в гоогле :) ) Ето какво представлява -
 
4 превключващи елемента (било то релата, биполярни транзистори или MOSFET транзистори), които определят посоката на тока и респективно на въртене на мотора. Когато Q1 и Q3 се отпушат тока ще протича от горно ляво рамо към долно дясно, ако запушим Q1 и Q3 и отпушим Q2 и Q4 токът ще протича от горно дясно към долно ляво рамо и така ще обърнем посоката на мотора. Диодите са много важни тъй като мотра е индуктивен товар и при спиране на тока електромагнитно поле индуцира ток обратен по посока и често пъти с високо напрежение, което може да изгори транзисторите. Препоръчвам ти да направиш първо един мост с биполярни транзистори да го тестваш и да разбереш как работи, след това мини на MOSFET.
Управлението на скоростта на въртене може да се реализира и с шим както ти си избрал. Долния транзистор го отпушваш, а горния го отпушваш с честотата на шим-а, като контролираш широчината на запълване на импулса. Има много схеми в гоогле, избери си една по проста и я реализирай, пък след това и сам ще можеш да ги измисляш :)
Imagination is the only limit.......

Светлин Пенков
София / Рединг, Великобритания

Ap0c0lyp53

  • Робо-Новак
  • *****
  • Публикации: 11
    • Профил
    • http://apocolypserylz.blogspot.com/
ШИМ и PIC16F684
« Отговор #2 -: Ноември 25, 2007, 06:58:02 pm »
Това всичко е прекрасно, но все още не разбирам как да си наглася самия PIC. А между другото, IRF730 и IRF9630 стават ли за H-моста?

spp

  • Global Moderator
  • *****
  • Публикации: 414
    • Профил
    • http://robotics.cnc-bg.net/
ШИМ и PIC16F684
« Отговор #3 -: Ноември 25, 2007, 09:26:14 pm »
Мисля,че преди да направиш каквото и да било,първо трябва малко да попрочетеш.Има доста неща,които трябва да изясниш за себе си.
Въпроса който задаваш и по начина по които го задаваш изисква не само обяснения но и знания.Попрочети първо малко специализирана литература.Пробвай по-лесни неща и тогава ще знаеш какво да направиш.
Слави Петков
София 49г

Ap0c0lyp53

  • Робо-Новак
  • *****
  • Публикации: 11
    • Профил
    • http://apocolypserylz.blogspot.com/
ШИМ и PIC16F684
« Отговор #4 -: Ноември 25, 2007, 09:49:38 pm »
Прочел сам я тази литература и то в големи количества и съм реализирал схема с ШИМ използвайки 16F628A и др, но 16F684 е различно устроен и искам преди да направя някоя простотия да се уверя, че всичко е точно. Затова питам тук евентуално ако има усобености около тази работа да ми отговорите. За първи път ми е да управлявам мотор както казах и за първи път ми е да работя с този чип.

spp

  • Global Moderator
  • *****
  • Публикации: 414
    • Профил
    • http://robotics.cnc-bg.net/
ШИМ и PIC16F684
« Отговор #5 -: Ноември 26, 2007, 09:04:44 am »
Цитат на: "Ap0c0lyp53"
Прочел сам я тази литература и то в големи количества и съм реализирал схема с ШИМ използвайки 16F628A и др, но 16F684 е различно устроен и искам преди да направя някоя простотия да се уверя, че всичко е точно. Затова питам тук евентуално ако има усобености около тази работа да ми отговорите. За първи път ми е да управлявам мотор както казах и за първи път ми е да работя с този чип.

 :shock:  :shock:  :shock:  :zubi:
Слави Петков
София 49г

spp

  • Global Moderator
  • *****
  • Публикации: 414
    • Профил
    • http://robotics.cnc-bg.net/
Re: ШИМ и PIC16F684
« Отговор #6 -: Ноември 26, 2007, 09:07:25 am »
Цитат на: "Ap0c0lyp53"
Здравейте, искам да управлявам правотоков четков мотор с PIC16F684 чрез ШИМ. За пръв път се занимавам с мотори и ШИМ и не сам сигурен как точно да процедирам.
 :shock:  :shock:  :shock:  :С това изречение започваш темата
Мисля ,че ти самия си противоречиш и не знаеш точно какво ти трябва.Изчисти въпросите си и ги задай пак. : : :zubi:
Слави Петков
София 49г

yasko

  • Administrator
  • *****
  • Публикации: 484
    • Профил
ШИМ и PIC16F684
« Отговор #7 -: Ноември 26, 2007, 10:44:45 am »
@Ap0c0lyp53 след като си правил управление с 16F628A, предополагам че няма сериозен проблем да го подкараш и на другия PIC, не съм специалист по тези контролери, но не вярвам да има толкова разлика между PWM модулите. Относно схемното решение във форума имаше 1-2 теми по въпроса, лично аз съм качил 1 схема, която е работеща.  Може да ползваш IRF730 и IRF9630 за моста но ще ти трябват така наречените MOSFET драйвери, защото тези транзистори за да се отпушат добре искат напрежения >5V.Пример за такава схема е TC4468. И накра за да може да получиш добри отговори, изясни си въпросите по които имаш неясноти и ги формулирай добре.
Ясен Паунски,  гр.София, 39 г.

Ap0c0lyp53

  • Робо-Новак
  • *****
  • Публикации: 11
    • Профил
    • http://apocolypserylz.blogspot.com/
ШИМ и PIC16F684
« Отговор #8 -: Ноември 26, 2007, 08:05:26 pm »
Цитат
С това изречение започваш темата
Мисля ,че ти самия си противоречиш и не знаеш точно какво ти трябва.Изчисти въпросите си и ги задай пак.

С това изречение започнах и с това изречение ще продължа  :lol:  :lol:  :lol: Това което исках да кажа е именно, че незнам точно как да управлявам мотор с ШИМ и PIC16f684, който ми го препоръчаха защото имал вграден H-мост ШИМ модул и именно аз предположих, че тука вие сте запознати с този контролер и ще се досетите веднага за какво говоря.
Цитат
1. Разбрах, че този микроконтролер има вграден ШИМ генератор за управление на мотора и напред и назад, но как как точно става това?
2. Кои транзистори са най-удачни: биполярните или MOSFET-овете?
3. Основни характеристики като честота на микроконтролера, честота на ШИМ-а, напрежения, драйвери, т.н.
Ако може да ми покажете код на "С" или асемблер, ще сам много благодарен!
Ето ти ги въпрoсите, а ако го искате формулирано правилно: Трябва ми код за PIC16F684,  с подбрани честоти на ШИМ-а и подбрано време на действие (Duty Cycle), като знам, че вие сте наясно с тези неща. Тоест sv_shady ми отговори на 2, а 1 и 3 са вече "формулирания" въпрос. Благодаря предварително.  :clap:

spp

  • Global Moderator
  • *****
  • Публикации: 414
    • Профил
    • http://robotics.cnc-bg.net/
ШИМ и PIC16F684
« Отговор #9 -: Ноември 26, 2007, 09:18:33 pm »
Виж,никой не се заяжда с теб,но това,което продължаваш да пишеш е нелепо.После ,можеш да намериш (специално пък за 16F84 има и на български характеристиките му )и да ги прочетеш.Тогава ще разбереш че:
1. ВГРАДЕН МОСТ НЯМА ,НЯМА ДА ИМА И НЯМА В НИКОЙ КОНТРОЛЕР.
2.Ако си правил с други контролери ,то тогава няма какво да питаш.Всичко трябва да ти е ясно.
3.Ако наистина си прочел достатъчно литература нямаше да задаваш тези въпроси-щеше да знаеш отговорите. :clap:
Мисля,че този спор е излишен.Твоя работа е дали си любознателен и четеш или не.Мен не ме касае.Аз,когато нещо не разбирам първо сядам и изчитам всичко което намеря.После тествам на практика това,което съм разбрал.Ако нещо не ми работи,както трябва питам конкретно и точно.
Идеята на този форум е имено това.Да си помагаме ,но да си помагаме там,където наистина има нужда.Никой не може да ти налее знания и опит.А мисля,че ти точно това искаш.
Шим означава Широчино импулсна модулация.Ако познаваш микроконтролерите и поне един от езиците за програмиране няма смисъл повече да поставяш такива неясни въпроси.Светльо ясно ти е казал,какво трябва да направиш.Как да изкараш необходимите ти импулси на  изходите на контролера.Как да съгласуваш тези изходи с моста и да сметнеш мощността е МНОГО МНОГО ГОЛЯМА ТЕМА-И НИКОЙ НЕ МОЖЕ ДА ТИ Я ОБЯСНИ С ДВА РЕДА
Повече няма да пиша тук.Мисля ,че стана прекалено голям въпрос ,за нещо елементарно-а то е малко повече труд и упорство от твоя страна.
Слави Петков
София 49г

Ap0c0lyp53

  • Робо-Новак
  • *****
  • Публикации: 11
    • Профил
    • http://apocolypserylz.blogspot.com/
ШИМ и PIC16F684
« Отговор #10 -: Ноември 26, 2007, 10:12:22 pm »
Добре, отговориха ми на въпросите и без това, и то само с едно изречение. Незнам какво толкова беше някои да ми прати линк като този http://ww1.microchip.com/downloads/en/AppNotes/00893a.pdf Благодаря за информацията от страна на yasko и sv_shady.  :D

yasko

  • Administrator
  • *****
  • Публикации: 484
    • Профил
ШИМ и PIC16F684
« Отговор #11 -: Ноември 26, 2007, 10:46:00 pm »
Ap0c0lyp53 линка е интересен, реално този контролер има вградено управление на H-MOST, т.е на всичките четири транзистора. Това спестява известен брой външни елементи.  Аз лично ти препоръчвам да направиш моста с MOSFET транзистори в комбинация със TC4468 като драйвер може да направиш мост който да работи до 15V захранващо напрежение. Аз скоро се каня да направя подобно схема за управление мотора на една количка-играчка. Тъй като в процесорите, които ползвам се налага да ползвам външни елементи за да формирам необходимите сигнали за управление на 4 транзитора. Относно честота в пдф има отговор на въпроса ти >4kHz иначе мотора почва да "свири". Относно duty cycle, няма готов отговр, от него зависи каква мощност ще подадеш към двигателя.
Ясен Паунски,  гр.София, 39 г.

Ap0c0lyp53

  • Робо-Новак
  • *****
  • Публикации: 11
    • Профил
    • http://apocolypserylz.blogspot.com/
ШИМ и PIC16F684
« Отговор #12 -: Ноември 26, 2007, 11:12:18 pm »
TC4468 значи, хехе по някаква случайност го има в Комет. Само да попитам, понеже този драйвер, който са използвали в пдф-а е "complementary", което си го превеждам като "инвертиращ и не-инвертиращ", има ли някакво влияние върху управлението на транзисторите?

yasko

  • Administrator
  • *****
  • Публикации: 484
    • Профил
ШИМ и PIC16F684
« Отговор #13 -: Ноември 26, 2007, 11:47:47 pm »
TC4468 затова го споменавам, обаче сега като гледам те наистина ползват инвертиращ и неинвертиращ, но видях че в комет има и TC4428, който е точно това което ти трябва :) Мисля и че с TC4468 може да стане ама трябва да огледам схемата.
Ясен Паунски,  гр.София, 39 г.

Ap0c0lyp53

  • Робо-Новак
  • *****
  • Публикации: 11
    • Профил
    • http://apocolypserylz.blogspot.com/
ШИМ и PIC16F684
« Отговор #14 -: Ноември 27, 2007, 01:38:39 pm »
Аааа, идеално. Много мерси за помоща  :D Ще те информирам като направя самата схема и напиша кода, ако тръгнат  :)