HowTo: ESPEasy – Verbind en bedien de PCA9685 PWM-poortuitbreiding met de ESP8266

De PCA9685 is een behoorlijk praktisch IC. Deze wordt via I2C aangesloten op de microcontroller (bijvoorbeeld ESP8266) en kan vervolgens maximaal 16 individuele PWM-kanalen aansturen.

Met slechts twee (I2C) pinnen op de microcontroller kunt u maximaal 16 LED's, servo's of, met extra schakelingen, motoren besturen.

Vooral als u servo's wilt aansturen, maakt dit IC of het breakout-board uw werk een stuk eenvoudiger.

Dankzij ESPEasy en de bijbehorende plug-in kan de PCA9685 zeer eenvoudig en uiteindelijk via WiFi worden bestuurd.

Hoe u de PCA9685 op uw microcontroller moet aansluiten en configureren, wordt beschreven in het volgende artikel.


Veiligheidsinstructies

Ik weet dat de volgende opmerkingen altijd een beetje vervelend zijn en onnodig lijken. Helaas hebben veel mensen die "beter" wisten door onvoorzichtigheid ogen, vingers of andere dingen verloren of zichzelf verwond. Gegevensverlies is in vergelijking bijna te verwaarlozen, maar zelfs dit kan erg vervelend zijn. Neem daarom vijf minuten de tijd om de veiligheidsinstructies te lezen. Omdat zelfs het coolste project geen blessure of andere problemen waard is.
https://www.nerdiy.de/sicherheitshinweise/

Affiliate links / reclame links

De hier vermelde links naar online winkels zijn zogenaamde affiliate-links. Als u op zo'n affiliate-link klikt en via deze link een aankoop doet, ontvangt Nerdiy.de een commissie van de betreffende onlineshop of aanbieder. De prijs verandert voor jou niet. Als u via deze links uw aankopen doet, steunt u Nerdiy.de om in de toekomst andere nuttige projecten aan te kunnen bieden. 🙂 


Eisen

Handige artikelen:
Aanvullende tips over ESPEasy vindt u in de volgende artikelen.

Vereist gereedschap:

Benodigd materiaal:


Sluit de PCA9685 PWM-poortexpander aan

Het PC9685 breakout-bord moet via de I2C-bus op de Wemos D1 Mini worden aangesloten. Hiervoor kunt u bijvoorbeeld het PCA9685 breakout-board op een Wemos D1 Mini aansluiten met behulp van onderstaand schakelschema.

Schakelschema PCA9685 aangesloten op een ESP8266 via I2C.

De "V+" aansluitpin bepaalt de spanning waarmee de aangesloten "verbruikers" worden aangestuurd. Als je bijvoorbeeld een servo wilt aansturen, moet je deze pin voorzien van 5-6V.


Configuratie van de PCA9685 in ESPEasy

De configuratie van de PCA9685 is snel gedaan dankzij de juiste plug-in.

Open eerst de webconfiguratieweergave van uw ESPeasy-installatie.

Informatie over het openen van deze weergave is ook te vinden in het artikel ESPEasy - Voer opdrachten en acties uit via HTTP, MQTT, UDP en rechtstreeks

Klik daar op het tabblad "Apparaten".

In het tabblad "Apparaten" moet u nu op de knop "Toevoegen" klikken in een van de lege regels.

Je wordt dan automatisch doorgestuurd naar de getoonde weergave en kunt nu selecteren welk apparaat je wilt aanmaken.

Selecteer hier het item "Extra IO - PCA9685".

U wordt dan doorgestuurd naar de configuratiepagina van de plug-in.

Hier moet je een willekeurige naam toekennen (hier "PWM"), het vakje "Enabled" aanvinken en het juiste I2C-adres instellen.

Het I2C-adres komt vaak overeen met het standaard weergegeven adres. Zo niet, dan kunt u hierover informatie vinden in het datablad van de PCA9685.

Met de instelling "MODE2" kun je het Mode 2-register van de PCA9685 configureren. Hiermee kun je het gedrag van de PWM-pinnen configureren. Informatie hierover vind je ook in de PCA9685 datasheet.

Als je de PCA9685 wilt gebruiken om servo's te besturen, moet je de "MODE2" optie op de waarde "0x6 6" zetten. Je kunt hier ook meer informatie over vinden in het artikel ESPEasy - Gebruik een PCA9685 om servo's te besturen.

Als je alle plugin-opties correct hebt ingesteld, hoef je nu alleen nog maar op "Submit" te klikken om de instellingen op te slaan.


Stuur PWM-waarde naar PCA9685

Nadat u klaar bent met het configureren van de PCA9685, kunt u deze testen.

Ga hiervoor naar het tabblad "Extra".

Daar kun je in het gedeelte "Commando" het volgende commando invoeren

PCAPWM,0,300,

invoer. Met dit commando wordt de eerste (het tellen begint bij 0) pin van de PCA9685 ingesteld op de PWM-waarde 300. De instelbare waarde varieert hier van 0 tot 4095.

Als u bijvoorbeeld de derde pin van de PCA9685 op 1337 wilt instellen, zou het commando er als volgt uitzien:

PCAPWM,2.1337,


Meer sensoren

In de categorie vindt u ook meer artikelen over het configureren van sensoren en actuatoren met ESPEasy


Veel plezier met het project

Ik hoop dat alles werkte zoals beschreven. Zo niet, of als je vragen of suggesties hebt, laat het me weten in de commentaren. Ik zal dit dan zo nodig aan het artikel toevoegen.
Ideeën voor nieuwe projecten zijn altijd welkom. 🙂

PS Veel van deze projecten - vooral de hardwareprojecten - kosten veel tijd en geld. Natuurlijk doe ik dit omdat ik het leuk vind, maar als je het cool vindt dat ik de informatie met je deel, dan zou ik blij zijn met een kleine donatie aan het koffiefonds. 🙂

Koop Me a Coffee op ko-fi.com       

7 comments

  1. Hallo, zeer interessante instructies ... Ik zou geïnteresseerd zijn in de "extra circuitinspanning" voor een motorbesturing (stappenmotor 28BYJ-48 of vergelijkbaar), bijvoorbeeld om een rolgordijn of iets dergelijks te bedienen.

    1. Hé Kruse,
      het is eigenlijk niet zo groot. Een ULN2003 aangesloten op de uitgangen van de PCA is voldoende om een 28BYJ-48 aan te sturen. Ik kan er een artikel over schrijven als ik de kans krijg. 🙂
      Hartelijke groeten
      Fabian

  2. Tot ziens,
    geweldige gids! Bedankt, wil graag de servo's besturen via mqtt de datapunten via iobroker. Alleen de status wordt weergegeven in iobroker!
    Hartelijke groeten
    Benno

  3. goedemorgen Fab,
    hartelijk dank voor uw reactie.
    sorry dat ik nu pas contact opneem. Ik kan het nu verwerken met Http, werkt prima!

    Nogmaals bedankt
    Hartelijke groeten
    Benno

Kommentar hinterlassen

Het e-mailadres wordt niet gepubliceerd. Erforderliche Felder sind mit * markiert

Deze site gebruikt Akismet om spam te verminderen. Lees hoe uw commentaargegevens worden verwerkt.