|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 11:35 pm
PIC10,12,16,18 с PWM с изходи push-pull
| Автор |
Съобщение |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
 PIC10,12,16,18 с PWM с изходи push-pull
Трябва ми някое процесорче от PIC10/PIC12/PIC16/PIC18 серията, до 18 краков корпус, което да има хардуерен ШИМ с поне два изхода в режим push-pull. Прегледах доста модели, но намирам само такива с изходи за half bridge, което не ми върши работа ( при push-pull PWM извежда на двата изхода алтернативно един и същ коефициент на запълване, при half bridge ако примерно на 1-вия изход е 25%, на втория извежда 100% - 25% - Мъртвото време ). Предполагам, че тези с CWG или PSMC ще ми свършат работа, но засега търся такива с класическата PWM периферия.
_________________ Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....
|
| Сря Ное 06, 2013 5:17 am |
|
 |
|
Desert Leo
Ранг: Форумен бог
Регистриран на: Чет Фев 10, 2005 3:25 pm Мнения: 5677 Местоположение: София
|
 Re: PIC10,12,16,18 с PWM с изходи push-pull
HW PWM при 10-та и 12-та серии е рядкост, но виж 10F320/322 - 2 ССР модула и нито дума за half-bridge. Честотата на двата изхода е еднаква, защото използват общ таймер, но коефициента на запълване може да е различен. При 16F88X също са два модула, като ECCP допуска единичен изход, който следва да е push-pull. В момента не използвам тези серии и не следя развитието им, но не би трябвало да нямат търсената от тебе възможност.
|
| Сря Ное 06, 2013 8:59 am |
|
 |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
 Re: PIC10,12,16,18 с PWM с изходи push-pull
Достатъчен ми е един CCP модул, но да може алтернативно да изважда един и същ коефициент на запълване на два различни изхода със съответното мъртво време. Честота на PWM от 200kHz до към 500kHz, разделителна способност не е особено важна - и 5 бита ме устройва. Например, за един период на PWM ми изважда 25% на Изход1, за втория период на PWM ми изважда същите 25% на Изход2. PIC16F88x не поддържат такъв режим на работа. Те поддържат half-bridge, което е различно, виж прикачените картинки. Подходящ за моите нужди е PIC16F1782 с PSMC модула, но ми се струва твърде нов. И CWG модулите също би трябвало да ми свършат работа, но все още си мисля, че ще се намери класически PIC за тази цел.
_________________ Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....
|
| Сря Ное 06, 2013 10:16 am |
|
 |
|
Desert Leo
Ранг: Форумен бог
Регистриран на: Чет Фев 10, 2005 3:25 pm Мнения: 5677 Местоположение: София
|
 Re: PIC10,12,16,18 с PWM с изходи push-pull
Ако разбирам правилно, искаш да превключваш ШИМ-а алтернативно на два изхода при еднакъв коеф. на запълване, като един период излиза на единия изход, а следващия на втория и после пак на първия... Ако използваш двата ССР модула и активираш прекъсване от Таймер 2 (обикнорено той задава периода на ШИМ-а), би могло в прекъсването да задаваш коеф на запълване 0 на единия и желаната стойност на другия. Това само като идея - не знам дали при теб е допустимо.
|
| Сря Ное 06, 2013 12:26 pm |
|
 |
|
Бай Ставри
Ранг: Новодошъл
Регистриран на: Пет Май 27, 2011 8:25 am Мнения: 134 Местоположение: Силистра
|
 Re: PIC10,12,16,18 с PWM с изходи push-pull
_________________
|
| Чет Ное 07, 2013 7:38 am |
|
 |
|
didofen
Ранг: Популярен
Регистриран на: Вто Юни 27, 2006 11:13 am Мнения: 381 Местоположение: Варна
|
 Re: PIC10,12,16,18 с PWM с изходи push-pull
и аз това щях да кажа: слагаш някакъв инвертор и получаваш 2 изхода
|
| Чет Ное 07, 2013 9:42 am |
|
 |
|
Цецо
Ранг: Форумен бог
Регистриран на: Пон Сеп 27, 2004 9:22 am Мнения: 15501 Местоположение: София
|
 Re: PIC10,12,16,18 с PWM с изходи push-pull
Преди много време търсих същото и никой от "долните" серии пикове нямаше тая възможност. Вече не следя модата в тая фирма, ама по-горните серии 24+ би трябвало да имат. Другия избор е някой куртекс, те по традиция са нацвъкани с какво ли не.
_________________ "Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.
|
| Чет Ное 07, 2013 10:09 am |
|
 |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
 Re: PIC10,12,16,18 с PWM с изходи push-pull
Мислех си да добавя външни елементи, както Бай Ставри е предложил, но това решение има недостатък, че при коефициент на запълване около 45% ще липсва мъртво време, което може да се окаже фатално. После видях в документацията на PIC16F1782 че има всичко което ми трябва за DC/DC push-pull конвертор: 2 x OA ( 3.4 MHz GBWP ), 3 x Comparators, 6 x Push-Pull изхода, та се спрях на него. Цялата глупост е, че ми трябват 4 изолирани 15V/50mA захранвания за захранване на изолирани гейт драйвери, входно или +5V, или +15V, изолация 500V. В сегашния вариант 2 x 15V ги изработва централния процесор dsPIC30F5015, но за 2 още не ми достигат ШИМ-ове ( от налични 8 ШИМ изхода съм заптисал 6, а в останалите 2 има бъгове, или не мога да ги подкарам ) и АЦП-та. Другите 2 ги изработвах от допълнителна намотка на индуктивността на step down с TL2575HV, на тестовите платки показаха отлични резултати, на фабричните платки няма повтаряемост, а при по-ниски входни на TL2575 изходите се сриват до около 9V. Имам 4 варианта: 1. С LT3575 и VHP2 flyback трансформатор с регулиране в първичната намотка, 4 x 15V/50mA, цена около $15; 2. Push-Pull с SN6501/MAX253 и трансформатори WE 7603900xx / Murata 78253xxx, без регулиране, цена около $10; 3. TL494, VHP2 трансформатор, оптрони, за 2 x 15V/50mA, останалите 2 от dsPIC30F, цена около $10; 4. 1 x PIC16F1782 за 2 или 3 броя 5V към 15V/50mA push-pull конвертора, останалите 1 ил 2 от dsPIC30F, цена около $8. PIC16F1782 ще мери и 3 температури и ще ги праща по I2C на dsPIC30F5015. Така ще ми се освободят крачета на АЦП-то на dsPIC30F5015 за бъдещи разширения. Най-изчистено e решението с LT3575 и VHP2. Направих обаче платка и с 4-те решения, да видим кое ще е най-удачно като цена/производителност. Вече като чуя за захранвания за гейт драйвери и ми се повръща 
_________________ Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....
|
| Чет Ное 07, 2013 1:54 pm |
|
 |
|
Wise
Ранг: Форумен бог
Регистриран на: Нед Дек 19, 2004 6:26 pm Мнения: 1628 Местоположение: Сливен
|
 Re: PIC10,12,16,18 с PWM с изходи push-pull
нещо такова http://store.comet.bg/Catalogue/Product/9195/не става ли? //може и да не съм разбрал проблема....
|
| Чет Ное 07, 2013 3:44 pm |
|
 |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
 Re: PIC10,12,16,18 с PWM с изходи push-pull
Става разбира се, само че е -40 ~ +85 °C а ми трябва решение до +125°C, освен това имам лош опит с тези канадски конвертори, на празен ход може да ти вдигне и 25V, при пълно натоварване загряват в повече, отколкото е по спецификация. На такива черни кутийки вярвам само ако на тях пише Murata или Traco.
_________________ Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....
|
| Чет Ное 07, 2013 4:42 pm |
|
 |
|
stoyanoff
Ранг: Форумен бог
Регистриран на: Чет Юни 25, 2009 1:01 pm Мнения: 2251
|
 Re: PIC10,12,16,18 с PWM с изходи push-pull
Ако съм разбрал правилно това, което се опитваш да направиш е напълно постижимо с контролера, който си избрал! dsPIC30F5015(както и другите с хардуерни PWM модули) може да контролира по отделно 2-та канала на half-bridge-a! Можеш да спреш единия и импулсите да излизат само на другия и обратно, както и всякакви комбинации! Поздрави!
_________________www.elkran.com
|
| Чет Ное 07, 2013 11:42 pm |
|
 |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
 Re: PIC10,12,16,18 с PWM с изходи push-pull
Не е толкова лесно, колкото изглежда. Решението, което предлагаш изисква непрекъсната софтуерна намеса, а точно това не желая. На всеки цикъл на PWM ( примерно 2us, при 500kHz ) ще трябва да спирам, да пускам, което не е сериозно като решение ( ще изяжда към 25% от процесорното време на 10MHz CPU clock ). Отделно така има опасност да наситя ферита, защото при push-pull SMPS трябва двете времена да са максимално еднакви. Единственото свястно решение, което намерих с dsPIC30F5015, е да използвам два PWM канала, например PMW1H го заплювам като първи изход ( Push ) , а PWM2L го заплювам като втори изход ( Pull ). Задавам еднакъв DeadTime на двата канала. В PDC1 зареждам примерно 25% DC и на PWM1H ще имам 25%, в PDC2 зареждам 75% и на PWM2L ще имам 100%-75%, т.е. пак 25%. Това определено ще работи като пушка, но за сметка на 4-рите PWM изхода от възможните 8 ( PWM1L и PWM2H са неизползваеми като PWM изходи, но мога да си клатя примерно светодиоди на тях  ). Единствено когато сменям DC трябва на PWM1H да зареждам DC, който съм сметнал, а на PWM2L да зареждам 100% - DC, като зареждането трябва да е синхронизирано с PWM цикъла, което е сравнително лесно постижимо. Всякакви други комбинации са невъзможни. PWM модула е с 8 изхода, но не мога да го спирам и пускам, защото два от каналите контролират други товари и не мога да спирам целия модул. Просто dsPIC30F5015 е предвиден за Motor Control приложения, а не за Push-Pull DC/DC конвертори.
_________________ Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....
|
| Пет Ное 08, 2013 12:43 am |
|
 |
|
Desert Leo
Ранг: Форумен бог
Регистриран на: Чет Фев 10, 2005 3:25 pm Мнения: 5677 Местоположение: София
|
 Re: PIC10,12,16,18 с PWM с изходи push-pull
Щом като ШИМ-а е за управление на захранване, въобще не мисля, че трябва да се добавя втори контролер и да се разделят каналите между двата. Направи си и 4-те захранвания с LT-то, а контролера само да следи има ли ги 4-те напрежения или не, но да не участва в регулирането. Сигналите от температурните датчици могат да се мултиплексират към един вход на АЦП-то. Едва ли температерата се изменя бързо.
|
| Пет Ное 08, 2013 8:06 am |
|
 |
|
stoyanoff
Ранг: Форумен бог
Регистриран на: Чет Юни 25, 2009 1:01 pm Мнения: 2251
|
 Re: PIC10,12,16,18 с PWM с изходи push-pull
Не е нужно да конфиш модула всеки път! Задаваш в началото на програмата каналите да са независими! После само ги сменяш. Самата смяна е много бърза. В твоя случай ще трябва да използваш и прекъсване в края на активната фаза. Иначе ще пускаш по 2 импулса. Поздрави!
_________________www.elkran.com
|
| Пет Ное 08, 2013 9:40 am |
|
 |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
 Re: PIC10,12,16,18 с PWM с изходи push-pull
"Самата смяна е много бърза" - колко бърза ? 1 секунда ? 1 ms ? Все пак сме хора на техниката  Една инструкция ми е 100ns, за 2us при 500kHz PWM сметни колко ще ми отидат да влезна в прекъсване - 6 цикъла x 100ns = 0.6us, колко да излезна - мисля са 2 или 3 цикъла -> 0.3us, дотук станаха 0.9us, като изпълня и 5-6 инструкции в самото прекъсване и процесора на 75% ще е натоварен да генерира допълнителни захранвания. А имам още няколко прекъсвания.... Виж ако имаше push-pull SMPS PWM работата е съвсем друга, тогава PWM си се клочи сам на 500kHz, и control loop на няколко kHz си смята новия DC по PID закон в главната програма за 3us и толкоз. Не става така както го предлагаш, ако можеше да стане безболезнено нямаше да правя нови платки, щях да го реализирам на съществуващата вече платка. Освен това искам да си запазя ШИМ каналите за по-отговорни неща, а не да генерирам допълнителните захранвания. Затова и потърсих евтин PICxxxx, знам че мога да го направя всичко с един dsPIC33EP512MU810 обаче ще трябва да преправям 7 страници схеми, за да премина от 5V на 3.3V. Сега за сега разчитам на LT3575 да заработи добре.
_________________ Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....
|
| Пет Ное 08, 2013 3:34 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 14 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|