Search the Community
Showing results for tags 'arduino'.
Found 2 results
-
Onlangs kreeg ik de vraag een Meanwell LED Driver te dimmen via een Arduino. Zelf ben ik overgestapt Wemossen en Node MCU's omdat die zoals een Arduino gebruikt kunnen worden en WiFi aan board hebben waardoor ze gebruikt kunnen worden voor Domotica. Daar ga ik verder niet op in maar als je googled op HassIO dan heb je een aardig startpunt. De vraag wordt dus een Meanwell LED driver dimmen via een NodeMCU. Ja dat kan heel erg simpel zelfs en wel zo: Mijn testopstelling zag er zo uit: Let wel op dat je Meanwell 10V PWM heeft als dim methode! Voorbeeld Sketch voor Arduino / NodeMCU uint8_t pwm_pin = D2; /* Pin 4 on Arduino */ uint32 stepDelay = 5; void setup() { pinMode(pwm_pin, OUTPUT); } void loop() { for(int i=0; i<1024; i++) { analogWrite(pwm_pin, i); delay(stepDelay); } for(int i=1024; i>0; i--) { analogWrite(pwm_pin, i); delay(stepDelay); } } Met bovenstaande sketch dimmen de LEDs van 100% naar +/- 6% en weer terug. Je kunt dus niet zo ver terug dimmen totdat de LEDs doven. Cabis.
-
De Variac, wie kent hem niet. Hij ziet er zo uit: Ik gebruik ze voor de in- en outlet omdat ik nog geen dimmer ben tegengekomen die én betaalbaar is en die niet of nauwelijks voor een brom zorgt bij lage toeren. Nadeel van zo'n Variac is dat je hem met de hand moet bedienen en er verder geen sturing aanwezig is. Meestal draai ik ze dan ook naar een vaste stand terwijl dat natuurlijk niet praktisch is. Een ander nadeel is dat ik de inlet altijd op de outlet moet afstemmen. Ik kweek in een tent en als de inlet harder blaast dan de outlet kan afvoeren gaat de tent bol staan. Blaast de inlet te weinig in dan gaat de tent strak staan, niet echt bevorderlijk voor de naden. Hoog tijd om daar eens verandering in te gaan brengen, mede ook omdat het al geruime tijd op mijn lijstje van DIY projecten staat. In principe is het natuurlijk niet al te ingewikkeld, het automatiseren van een draaiknop. Zet er een stappen motor op en klaar. Als eerste heb ik een lager toegevoegd zodat het asje wat soepeler draait: Omdat een variac een begin- en eindpunt heeft, je kunt hem dus niet rond blijven draaien, is het van belang dat je weet waar die eindpunten liggen. Dit is de voorbereiding voor de aansturing van de limit switches, een simpele schakelaar. Verderop lees je hier meer over: In dat gleufje past een stukje plactic (uit een Gamma schroevendoosje deksel). Heeft een T vorm dus past er mooi in: Vastplakken zou niet handig zijn want dan kan de kap er lastig vanaf (of ik zou een insparing moeten maken), nu klemt de motor koppeling het plactic vast en zie je meteen wat de functie van dat stukje plastic is: Ik heb er voor gekozen om de switches buiten de behuizing te plaatsen. Ik wil 5v en 230V niet te dicht bij elkaar in de buurt hebben. Na montage ziet het er dan zo uit: Stappen motor monteren en in principe zijn we klaar met de upgrade. Een korte test om de home positie en limit switch te testen: Voor de aansturing van de stappen motoren gebruik ik een Arduino CNC V3 Shield. Die past op een standaard arduino Uno en heeft o.a. aansluitingen voor 4 stappen motoren en limit switches. Eigenlijk is het shield bedoeld als CNC controller, maar hij lag hier toch maar te liggen. Op de andere aansluitingen heb ik een DHT22 aangesloten om de temperatuur en luchtvochtigheid te meten en aan de hand van die waarden de stappen motor aan te sturen. De limit switches geven aan de software op de Arduino door wanneer de schakelaar wordt ingedrukt en wanneer de Variac dus niet meer in die bepaalde richting kan en mag draaien. Standaard loopt er een 5V spanning door de schakelaars en als er één wordt ingedrukt dan wordt de stroom onderbroken. Dit onderbreken van de stroom ziet de software en zal de stappen motor niet meer een bepaalde richting opdraaien. Het is natuurlijk ook mogelijk om pas spanning door te laten als de schakelaar wordt ingedrukt. Als er echter door onvoorziene omstandigheden een draadbreuk optreed zal de schakelaar geen enkel effect meer hebben. Staat er daarentegen constant spanning op de schakelaar en er treed een draadbreuk op, dan heeft dat hetzelfde effect als het indrukken van de limit switch. De motor stopt. Vandaar dat ik eigenlijk altijd kies voor het onderbreken van een spanning ipv het maken van een spanning. In het filmpje zie je dat zodra de schakelaar wordt ingedrukt door het plastic palletje de Variac weer een stukje terug gaat. Dat is niet echt nodig, maar wel veiliger. Als de schakelaar is ingedrukt mogen we niet verder die richting op. De schakelaars onderbreken dus niet direct de spanning van de motor en theoretisch kan het dus voorkomen dat de limit switches door bijvoorbeeld een software probleem niet meer hun werk doen. In zo'n geval zal de motor proberen door te gaan, maar dat lukt niet. Het is wel van belang hier rekening mee te houden. Ik gebruik in het CNC shield pololu drv8825 motor drivers waar voldoende beveiligingen opzitten zonder meteen de motor of driver de vernieling in te helpen. De software voor de Arduino is nog in bewerking maar gaat uiteindelijk de volgende functies krijgen: Motor sturing Outlet a.d.h.v. Temperatuur Luchtvochtigheid Geluid (dB's) voor bepaalde tijdsvlakken Mochten de temperatuur en Luchtvochtigheid een tegenstrijdigheid veroorzaken (Rlv zegt FAN sneller, Temp zegt FAN langzamer) dan bepaald een vooraf ingestelde voorkeur (Temp of RLv) wat het gaat worden. Motor sturing Inlet a.d.h.v. Tent dreigt te hol of te bol te gaan staan (ultrasoon sensor voor afstand)Dit is relatief simpel want er wordt maar naar één sensor gekeken. Ik probeer hiermee te bereiken dat de tent niet te bol danwel te bol staat en de luchtstroom in de tent wat normaler is. Ik heb het niet gemeten, maar ik kan me goed voorstellen dat als de tent vacuum zuigt de luchtroom in de tent verre van optimaal zal zijn. Cabis.