Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

PWM s PIC12F675

 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
SDZ



Založen: Mar 11, 2011
Příspěvky: 420

PříspěvekZaslal: út únor 14 2012, 20:48    Předmět: PWM s PIC12F675 Citovat

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).

Díky za každou radu,tip informaci k tématu.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
SDZ



Založen: Mar 11, 2011
Příspěvky: 420

PříspěvekZaslal: st únor 15 2012, 16:19    Předmět: Citovat

Nikdo nic? Poradil by někdo princip ?
Řešit to timerem a přerušením ? Kdy načítat AD?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Chenzee



Založen: Jun 26, 2007
Příspěvky: 464
Bydliště: Vysočina

PříspěvekZaslal: st únor 15 2012, 16:35    Předmět: Citovat

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 ...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
jezevec
Hlavní moderátor


Založen: Jun 13, 2004
Příspěvky: 5714
Bydliště: Břeclavsko

PříspěvekZaslal: st únor 15 2012, 16:36    Předmět: Citovat

Tady se můžeš inspirovat.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovy WWW stránky
procesor



Založen: Oct 02, 2009
Příspěvky: 5286
Bydliště: PO

PříspěvekZaslal: st únor 15 2012, 20:57    Předmět: Citovat

S PIC16F675 sa PWM nedá (iba ak softom s ISR aj 200 Hz by bol problém) lebo na to nemá HW.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
SDZ



Založen: Mar 11, 2011
Příspěvky: 420

PříspěvekZaslal: st únor 15 2012, 21:09    Předmět: Citovat

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
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
jankop



Založen: Apr 04, 2007
Příspěvky: 679

PříspěvekZaslal: st únor 15 2012, 21:52    Předmět: Citovat

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.



DIMMER01.asm
 Komentář:

Stáhnout
 Soubor:  DIMMER01.asm
 Velikost:  10.7 kB
 Staženo:  112 krát

Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovy WWW stránky
SDZ



Založen: Mar 11, 2011
Příspěvky: 420

PříspěvekZaslal: čt únor 16 2012, 15:26    Předmět: Citovat

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)
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
procesor



Založen: Oct 02, 2009
Příspěvky: 5286
Bydliště: PO

PříspěvekZaslal: čt únor 16 2012, 15:54    Předmět: Citovat

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.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
SDZ



Založen: Mar 11, 2011
Příspěvky: 420

PříspěvekZaslal: čt únor 16 2012, 19:34    Předmět: Citovat

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?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
procesor



Založen: Oct 02, 2009
Příspěvky: 5286
Bydliště: PO

PříspěvekZaslal: čt únor 16 2012, 22:08    Předmět: Citovat

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.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Atlan



Založen: May 10, 2004
Příspěvky: 4513
Bydliště: Košice

PříspěvekZaslal: čt únor 16 2012, 22:48    Předmět: Citovat

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...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
SDZ



Založen: Mar 11, 2011
Příspěvky: 420

PříspěvekZaslal: pá únor 17 2012, 0:33    Předmět: Citovat

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)
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
procesor



Založen: Oct 02, 2009
Příspěvky: 5286
Bydliště: PO

PříspěvekZaslal: pá únor 17 2012, 14:55    Předmět: Citovat

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.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
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

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

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.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.17 sekund