Denne LED DIMMER er et Arduino Uno-baseret PWM (Pulse Width Modulation) kredsløb udviklet til at få variabel spænding over konstant spænding. Metoden til PWM forklares nedenfor. Før vi begynder at opbygge et 1 Watt LED-dæmperkredsløb, skal du først overveje et simpelt kredsløb som vist i figuren nedenfor.
Hvis kontakten i figuren nu lukkes kontinuerligt over en periode, vil pæren kontinuerligt TÆNDES i løbet af denne tid. Hvis kontakten er lukket i 8 ms og åbnet i 2 ms over en cyklus på 10 ms, vil pæren kun være TÆNDT i løbet af 8 ms. Nu er den gennemsnitlige terminal over hele en periode på 10 ms = Tænd tid / (Tænd tid + Sluk tid), dette kaldes driftscyklus og er 80% (8 / (8 + 2)), så gennemsnittet udgangsspændingen vil være 80% af batterispændingen.
I det andet tilfælde lukkes kontakten i 5 ms og åbnes i 5 ms over en periode på 10 ms, så den gennemsnitlige terminalspænding ved udgangen vil være 50% af batterispændingen. Sig, om batterispændingen er 5V, og driftscyklussen er 50%, og så vil den gennemsnitlige terminalspænding være 2,5V.
I det tredje tilfælde er driftscyklussen 20%, og den gennemsnitlige terminalspænding er 20% af batterispændingen.
Hvordan bruges denne teknik nu i denne LED-dæmper? Det forklares i det efterfølgende afsnit af denne vejledning.
Som vist i figur har en Arduino UNO 6PWM-kanaler, så vi kan få PWM (variabel spænding) ved en af disse seks ben. I dette kapitel skal vi bruge PIN3 som PWM-output.
Nødvendige komponenter
Hardware: ARDUINO UNO, strømforsyning (5v), 100uF kondensator, LED, knapper (to stykker), 10KΩ modstand (to stykker).
Software: arduino IDE
Kredsløbsdiagram og forklaring
Kredsløbet er forbundet på brødbræt ifølge kredsløbsdiagrammet. Man skal dog være opmærksom, når LED-terminalerne tilsluttes. Selvom knapperne viser hoppende effekt i dette tilfælde, forårsager det ikke betydelige fejl, så vi behøver ikke bekymre os denne gang.
PWM fra UNO er ret let. Selvom det ikke er let at opsætte en ATMEGA-controller til PWM-signal, er vi nødt til at definere mange registre og indstillinger for et nøjagtigt signal, men i ARDUINO behøver vi ikke håndtere alle disse ting.
Som standard er alle headerfiler og registre foruddefineret af ARDUINO IDE, vi skal simpelthen ringe til dem, og det er det, vi har en PWM-udgang ved passende pin.
For at få en PWM-output til en passende pin, skal vi arbejde på to ting,
|
Først skal vi vælge PWM output pin fra seks ben, derefter skal vi indstille denne pin som output.
Dernæst skal vi aktivere PWM-funktionen i UNO ved at kalde funktionen "analogWrite (pin, værdi)". Her repræsenterer 'pin' pin nummeret, hvor vi har brug for PWM output, vi sætter det som '3'. Så ved PIN3 får vi PWM-output. Værdi er turn ON-arbejdscyklus mellem 0 (altid slukket) og 255 (altid tændt). Vi vil øge og mindske dette nummer ved at trykke på knappen.
Brug af PWM-ben i Arduino Uno forklares i C-koden nedenfor.