Zaslal: út únor 14 2012, 20:48 Předmět: PWM s PIC12F675
Zdravím,
potřeboval bych poradit jak řešit program (píšu v Mikropascalu) PWM regulátor s frekvencí 200-400Hz ,možná ideálně 255 kvůli AD převodníku.
Schéma nějak takhle: Potenciometr připojený na jeden AD převodník,jeden výstup PWM ,víc není třeba,možá jeden vstup pro tlačítko(PWM by fungovalo po celou dobu stisku tlačítka).
Založen: Jun 26, 2007 Příspěvky: 464 Bydliště: Vysočina
Zaslal: st únor 15 2012, 16:35 Předmět:
Programuji v asm ale myslím, že rámcově by to mělo být tak, že máš vytvořenou funkci PWM, která se promítá na výstup a dle potřeby akorát měníš časy té funkce. Tzn. o PWM se staráš pouze tehdy, když chceš provést nějakou změnu. Třeba se pletu, jelikož jsem toto zatím neřešil. Jinak pokud zvolíš vhodný IO, tak již může mít PWM modul jako součást svého hardwarového vybavení. _________________ Žádnej učenej z nebe nespadl ...
Chenzee> Dík za princip.O jiném PICu jsem uvažoval -např 16F88,kterej PWM má a v Mikropascalu by nebyl snad problém ho zprovoznit,ale vycházím z toho co mám(tj. 12F675).
jezevec> díky moc za tip.Tohle přesně potřebuju,ale s menší frekvencí.
Našel by se někdo ochotnej poradit jak ten zdroják upravit pro 12F675 a jak zmenšit frekvenci? (autor používá 500Hz,já bych potřeboval tak nějak nejlíp kolem 200Hz)
Zdroják je tady:http://www.belza.cz/control/pwm-soft.zip
Procesor ti dobře radí. Princip použitý v tom Belzově PWM nelze použít u 12F675. Tudíž tam inspiraci nehledej.
Mám tady prográmek pro sw PWM pro 16F676, což je stejný procesor jak 12f675, jen má víc pinu. Ale je v asembleru a mám obavy, že se v něm budeš špatně orientovat. A ještě doplním, že program je pro tři kanály a jeho tři čtvrtiny tě nejspíš nebudou zajímat. Základem je inicializace procesoru a především přerušovací rutina, ze které budeš potřebovat jen třetinu.
Díky moc za rady,tipy.Tak jsem to s tím 12F... vzdal.5eším další problém -našel jsem v krabici 18LF2550,ten PWM má,ale problém je že je potřeba pro frekvenci PWM 200Hz XTAL 1MHz -cena je kolem stovky.Měl by někdo další nápad,tip,jak to řešit ?
jankop>Díky za zdroják.Je to jak píšeš -ten assembler je na mě moc (něco vyčtu,ale ne všechno)
Založen: Oct 02, 2009 Příspěvky: 5286 Bydliště: PO
Zaslal: čt únor 16 2012, 15:54 Předmět:
A to je v čom problém, keď pri 4 MHz by to malo 244,14 Hz PWM?
Obyčajne býva opačný problém s nízkou frekvenciou a problémom filtrácie nosnej.
Keď som pred časom robil subsonic presný 10bit generátor od 5...25 Hz sinus, na dobré potlačenie nosnej som musel použiť aktívne filtre 4.rádu.
PWM som si robil pomocou sw, ale za pomoci CCP. Čiste bez HW (CCP) by to nešlo.
Inak na 200 Hz PWM treba 3,276800 MHz oscilátor a to je za facku, kde berieš 1 MHz, ten by dal 61/244/976 Hz
To platí pre 8bitové PWM, pre 10bitove sú frekvencie ešte 4x nižšie.
A to 18F2550 je škoda ta takú srandu.
procesor>Souhlasím.Jsem rozhodnutej pro PIC 16F88.V datasheetu píšou,že lze nastavit interní oscilator až na 8 frekvencí:
000 = 31.25 kHz
001 = 125 kHz
010 = 250 kHz
011 = 500 kHz
100 = 1 MHz
101 = 2 MHz
110 = 4 MHz
111 = 8 MHz
Potřeboval bych využít ten PIC využít ještě na spínání tří relátek,čtyři AD,1 IO vstup,1 PWM.Motor(24V) co s tím chci ovládat je asi dvakrát větší než motor na stěrače do žigulíka.Potřebuju aby měl dobrej tah už v 1/4 otáček.
Chtěl bych se zeptat - když je spuštěný PWM HW běží nezávisle na hlavním programu?
Založen: Oct 02, 2009 Příspěvky: 5286 Bydliště: PO
Zaslal: čt únor 16 2012, 22:08 Předmět:
Nastavíš a ide to samo.
Ak treba zmeniť striedu vložíš novú hodnotu do CCP1L.
Motoru je jedno na akej fr. bude bežať PWM. Pri 20kHz by trochu plakal pomalý budič.
Hodiny treba zvoliť najmä podľa potrebného výpočtového a riadiaceho výkonu. 4 a 8 MHz je použiteľné.
Regulovať motor sa dá rôznymi spôsobmi. Niektoré vyžadujú aj nejakú spätnú väzbu, a slušný výpočtový výkon.
Založen: May 10, 2004 Příspěvky: 4513 Bydliště: Košice
Zaslal: čt únor 16 2012, 22:48 Předmět:
No to pwm na hardvare tak nizko nepojde aspon nie pri MHz. Ale treba pozriet datasit aka delicka sa da zaradit, zasa si neviem predstavit ten motor pri 20khz... Okrem toho ze to nrprijemne piskat.. pri takych frekvenciach...
OK.Díky.Proč by to HW nešlo tak nízko (program mi to při 1MHz přeložit povolí)
Pro PWM v Mikropascalu jsou pouze čtyři jednoduchý funkce:
PWM1_Init(200); //200Hz
PWM1_Set_Duty(20);
PWM1_Start;
PWM1_Stop;
Potřeboval bych poradit s nastavením projektu,následně s innicializací hardware.
Není mi jasný jak nastavit v projektu tohle(v závorkách jsou možnosti nastavení):
Internal External Switch Over Mode (Enabled,Disabled)
CPP1 (RB0,RB3) //Pin výstupu PWM ?
Oscillator (LP,XT,HS,EXT Port as IO,INTRC-OSC2 as Clock Out,INTRC-OSC2 as RA,EXTRC-OSC2 as Clock Out,EXTRC-OSC2 asRA)
RA5/MCLR Pin Function Select (MCLR,RA5)
Založen: Oct 02, 2009 Příspěvky: 5286 Bydliště: PO
Zaslal: pá únor 17 2012, 14:55 Předmět:
Nájdi si datasheet toho PIC, tam nájdeš odpovede spojené s inicializáciou.
Napr. výstup PWM môžeš mať na RB0, alebo RB3.
Frekvencia PWM je daná frekvenciou Fosc/4 nastaviť sa dá ešte 1/4, alebo 1/16.
Potom sa to ešte podelí číslom 256 pri 8 bitovom PWM, alebo 1024 pri 10 bitovom PWM.
Nemůžete odesílat nové téma do tohoto fóra. Nemůžete odpovídat na témata v tomto fóru. Nemůžete upravovat své příspěvky v tomto fóru. Nemůžete mazat své příspěvky v tomto fóru. Nemůžete hlasovat v tomto fóru. Nemůžete připojovat soubory k příspěvkům Můžete stahovat a prohlížet přiložené soubory
Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.