Rozšiřující deska pro Raspberry Pi

Návod

PWM obvod -  PCA9685


 

 

PWM obvod PCA9685 je možné využít pro spoustu různých věcí:
V jednom z minulých článků jsem dva jeho kanály použil pro řízení servomotorů.
Také je možné ho využít k ovládání jasu LED diod - nebo třeba řízení jasu podsvětu displeje.
Jednou jsem ho v práci využil jako generátor dvou fázově posunutých signálů.
Když se do vstupu přivede trochu nižší frekvence, než kterou generuje vnitřní oscilátor (25MHz), je možné na výstupech rozblikat LEDky - to může sloužit jako nějaká signalizace varování.

Katalogový list:
  http://www.adafruit.com/datasheets/PCA9685.pdf

Hlavní výhoda tohoto PWM obvodu proti použití PWM na GPIO konektoru na RasPi je stabilita.
Tímto obvodem je také možné ovládat větší zátěž.

Při použití vnitřního oscilátoru v obvodu PCA9685 je možné nastavit minimální frekvenci výstupu asi na 24Hz. 
Aby bylo možné tuto frekvenci snížit tak, aby LEDky na výstupech pomalu blikaly, musí se vnitřní oscilátor odpojit a na vstup se musí připojit nějaká nižší frekvence.
Plánoval jsem tuto nižší frekvenci získávat z obvodu HEF4060. 
Popis generátoru a děliče je zde: Generátor a dělič frekvence

Obvod PCA9685 je osazený na spodní straně desky.

Devět jeho výstupů je k dispozici na kolíkách osazených shora. Dva výstupy jsou přímo vyvedeny na konektor na boku krabičky. 

Přepínač K3 funguje následovně:
 Při použití vnitřního generátoru (25MHz) jsou spojené piny 2 a 3, čímž se vstup extCLK přizemní. 
 Pokud je požadováno propojení na dělič frekvence HEF4060, propojí se piny 1 a 2.
 Třetí možností je přivedení signálu z cizího zdroje. V tom případě se ten signál přivede přímo na pin 2 (například propojkou na boční konektor)


Jednoduché příklady ovládání PWM

1) Nastavení výstupu PWM9 na frekvenci  100Hz se střídou 20%:
   pwm-priklad1.py


2) Nastavení výstupů PWM2 a PWM3 na generování impulzů s frekvencí 30Hz s šířkou pulzů 10%. 
Oba signály jsou vůči sobě posunuté o 25%:
   pwm-priklad2.py


3) Postupné rozsvěcení a zhasínání LED na PWM0 (plynulá změna střídy signálu):
   pwm-priklad3.py



4) Pomalé blikání LED na kanálu PWM1 s využitím vnějšího generátoru (HEF4060) nastaveného na 125kHz - "režim extCLK":
   pwm-priklad4.py



Poznámka:

Zatím se mi nepodařilo přepnout obvod zpátky z režimu "extCLK" do režimu, který využívá vnitřní generátor.
Podle katalogového listu by to mělo jít nějakým softwarovým resetem. Nepřišel jsem ale na to, jak ten reset provést.
Jestli máte někdo nějaké nápady, prosím napište mi.
Jediný způsob, kterým se dá přejít z režimu extCLK do režimu s vnitřním generátorem, bylo vypnutí a zapnutí napájení.

 

 

 

 


úvodní strana webu AstroMiK.org

poslední úprava stránky 30.1.2014