PWM na ESP8266

David Obdrzalek David.Obdrzalek na mff.cuni.cz
Čtvrtek Březen 29 12:01:22 CEST 2018


Já jsem tím nemyslel, že _Vy_ jste mimo, ale to, že když to nefunguje, tak je ta 
požadovaná kombinace frekvence a střídy asi mimo možnosti Arduina na ESP8266 a že 
nezbyde, než prozkoumat zdrojáky. 
Vidím to tak, že pokud chcete využít tenhle hardware a zároveň chcete, aby to 
fungovalo, musíte si to buď udělat sám, anebo si musíte zjistit, za jakých okolností 
to vůbec s Arduinem v principu může fungovat, a pak nesmíte v aplikaci z těchto 
okolností vybočit.

Pokud vím, tak ESP8266 hardwarové PWM nemá (resp. nikdo v anglicky mluvícím svěště 
neví o tom, že by to bylo zdokumentované a to pak vyjde nastejno). Proto se řeší 
softwarově. V případě Arduina to je řešené obecněji, než by bylo pro potřeby 
nějakého konkrétního použití nutné, ale to je v souladu s Arduinovskými postupy a je 
to daň za univerzálnost (a ostatní vlastnosti Arduino světa). 

D.O.



On 29 Mar 2018 at 8:17, Petr Zapadlo wrote:
> Dle datasheetu jsem chápal, že esp8266 má 4 hw pwm a na zbytku pinů lze 
> realizovat SW PWM. A větu že rozsah je od 1000us do 10000us jsem chápal 
> vztaženou k SW implementaci.
> 
> Nicméně DS je v tomto ohledu poměrně dost informačně skoupý, alespoň mám ten
> pocit.
> 
> V Arduino Core je zřejmě využívána jen SW implementace. Je to tak?
> 
> Z odkazovaného souboru bohužel nejsem schopen pochopit proč jsem mimo  - 
> nějak je to mimo mé chápání.
> 
> 
> Pro mé potřeby, nepotřebuji vysoké rozlišení na PWM, spíše tu větší 
> rychlost. Nejvíc mi vadí, že když se střídou přelezu rozumné hranice, 
> tak je pin v dost nedefinovaném stavu - občas v nule, občas v jedničce, 
> což otevírá pwm tranzistor, přes který pak teče zbytečně proud.
> 
> 
> Díky
> 
> Petr
> 
> 
> 
> 
> 
> Dne 29. 03. 18 v 7:38 David Obdrzalek napsal(a):
> > On 28 Mar 2018 at 22:35, Petr Zapadlo wrote:
> >> void setup() {
> >> void loop() {
> > aha ...
> >   
> >> Netuší někdo jak z toho ven?
> > Obecná rada když je problém s něčím na Arduinu: Buď nepoužít mašinérii
> > Arduino (já vím, to slyšet nechcete...), anebo se podívejte, jak to je
> > naimplementované a zjistěte si z toho skutečné možnosti.
> >
> > https://github.com/esp8266/Arduino/blob/master/cores/esp8266/core_esp8266_wiring_pw
> > m. c z toho by možnosti, maximální frekvence vůbec i maximální rozlišení
> > při dané frekvenci měly vyplynout (střída 7.8% při 30kHz je zdá se mimo).
> >
> > D.O.




Další informace o konferenci Hw-list