Deze LED DIMMER is een op Arduino Uno gebaseerd PWM (Pulse Width Modulation) -circuit dat is ontwikkeld om variabele spanning over constante spanning te krijgen. De methode van PWM wordt hieronder uitgelegd. Voordat we beginnen met het bouwen van een 1 Watt LED Dimmer-circuit, moet u eerst een eenvoudig circuit overwegen zoals weergegeven in onderstaande afbeelding.
Als de schakelaar in de afbeelding nu continu gedurende een bepaalde tijd wordt gesloten, zal de lamp gedurende die tijd continu AAN blijven. Als de schakelaar gedurende 8 ms gesloten is en gedurende 2 ms gedurende een cyclus van 10 ms geopend is, zal de lamp pas na 8 ms AAN zijn. Nu is de gemiddelde terminal over een periode van 10ms = inschakeltijd / (inschakeltijd + uitschakeltijd), dit wordt de werkcyclus genoemd en is 80% (8 / (8 + 2)), dus het gemiddelde uitgangsspanning is 80% van de accuspanning.
In het tweede geval wordt de schakelaar 5 ms gesloten en gedurende 10 ms gedurende 5 ms geopend, dus de gemiddelde klemspanning aan de uitgang is 50% van de accuspanning. Stel dat de accuspanning 5V is en de inschakelduur 50% en de gemiddelde klemspanning dus 2,5V is.
In het derde geval is de duty-cycle 20% en is de gemiddelde klemspanning 20% van de accuspanning.
Hoe wordt deze techniek nu gebruikt in deze LED-dimmer? Het wordt uitgelegd in de volgende sectie van deze tutorial.
Zoals weergegeven in de afbeelding, heeft een Arduino UNO 6PWM-kanalen, dus we kunnen PWM (variabele spanning) krijgen op elk van deze zes pinnen. In dit hoofdstuk gaan we PIN3 gebruiken als PWM-uitvoer.
Vereiste componenten
Hardware: ARDUINO UNO, voeding (5v), 100uF condensator, LED, knoppen (twee stuks), 10KΩ weerstand (twee stuks).
Software: arduino IDE
Schakelschema en uitleg
Het circuit is aangesloten op een breadboard volgens het schakelschema. Men moet echter opletten bij het aansluiten van de LED-aansluitingen. Hoewel de knoppen in dit geval een stuiterend effect vertonen, veroorzaakt het geen aanzienlijke fouten, dus we hoeven ons deze keer geen zorgen te maken.
De PWM van UNO is vrij eenvoudig. Hoewel het opzetten van een ATMEGA-controller voor PWM-signaal niet eenvoudig is, moeten we veel registers en instellingen definiëren voor een nauwkeurig signaal, maar in ARDUINO hebben we niet met al die dingen te maken.
Standaard zijn alle header-bestanden en registers voorgedefinieerd door ARDUINO IDE, we hoeven ze alleen maar aan te roepen en dat is het, we hebben een PWM-output op de juiste pin.
Om een PWM-uitvoer op een geschikte pin te krijgen, moeten we aan twee dingen werken,
|
Eerst moeten we de PWM-outputpin kiezen uit zes pinnen, daarna moeten we die pin als output instellen.
Vervolgens moeten we de PWM-functie van UNO inschakelen door de functie "analogWrite (pin, value)" aan te roepen. Hier staat 'pin' voor het pincode waar we PWM-uitvoer nodig hebben, we zetten het als '3'. Dus bij PIN3 krijgen we PWM-uitvoer. Waarde is de inschakelduur, tussen 0 (altijd uit) en 255 (altijd aan). We gaan dit aantal verhogen en verlagen door op de knop te drukken.
Het gebruik van PWM-pinnen in Arduino Uno wordt uitgelegd in de onderstaande C-code.