arduino ac dimmer aansturen pwm?

Arduino specifieke Software
Berichten: 27
Geregistreerd: 23 Feb 2013, 12:07

Re: arduino ac dimmer aansturen pwm?

Berichtdoor walker » 01 Mrt 2013, 21:52

pwmVal = 0 dient om de variabele te initialiseren, dus van een begin waarde te voorzien. Voor de 2de dimmer moet je een 2de "PWM" bediening inbouwen.

Je kunt de 2de interrupt ingang voor de 2de dimmer gebruiken alleen moet dan de uitgang van de eerste dimmer digitale pin 3 op een andere digitale pin zetten.
Verder moet je een 2de dimming variabele bij maken

Code: Alles selecteren
int dimming2 = 128; // Dimming level (0-128) 0 = ON, 128 = OFF

int AC_LOAD = 5; // Op vrije digitale pin zetten
int AC_LOAD2 = 6; // Op vrije digitale pin zetten


in de setup functie deze regel toevoegen:
attachInterrupt(1, zero_crosss_int2, RISING);

De 2de interrupt service routine toevoegen:
Code: Alles selecteren
void zero_crosss_int2() // function to be fired at the zero crossing to dim the light
{ // Firing angle calculation :: 50Hz-> 10ms (1/2 Cycle)
   int dimtime = (75*dimming2); // (10000us - 10us) / 128 = 75 (Approx)
   delayMicroseconds(dimtime); // Off cycle
   digitalWrite(AC_LOAD2, HIGH); // triac firing
   delayMicroseconds(10); // triac On propogation delay
   digitalWrite(AC_LOAD2, LOW); // triac Off
}

en je moet voor de dimming2 waarde te wijzigen nog een 2de "PWM" mogelijkheid toevoegen en een 2de set up en down toetsen om dimming2 te veranderen. Met de toetsen zou je kunnen beginnen en als dat werkt kun je de 2de "PWM" toevoegen. Of om de 2de dimmer te testen eerst de "PWM" van de eerste dimmer gebruiken, door:
Code: Alles selecteren
dimming = (pwmVal>>1); // dimming = pwm / 2;

tijdelijk aan te passen naar:
Code: Alles selecteren
dimming2 = (pwmVal>>1); // dimming = pwm / 2;

Advertisement

Gebruikers-avatar
Berichten: 229
Geregistreerd: 20 Jan 2013, 12:01

Re: arduino ac dimmer aansturen pwm?

Berichtdoor astrofrostbyte » 02 Mrt 2013, 01:41

I denk toch dat je beter 1 zerocrossing interrupt routine kan maken, omdat twee losse interrupt routines toch practisch tegelijkertijd aangeroepen zullen worden, en aangezien ze 'dedicated' zijn (delays) zal er maar 1 goed afgehandeld worden.

Het volgende zou kunnen werken, maar moet beter kunnen denk ik.
Code: Alles selecteren
void zero_cross_int()
{
   // knip
   if ( dimtime1 > dimtime2)
   { delayMicroseconds(dimtime2);
     digitalWrite(AC_LOAD2, HIGH);
     delayMicroseconds(10);
     digitalWrite(AC_LOAD2, LOW);

     delayMicroseconds( dimtime1 - dimtime2);
     digitalWrite(AC_LOAD1, HIGH);
     delayMicroseconds(10);
     digitalWrite(AC_LOAD1, LOW);
    }
    else
    {
      // zelfde maar dan andersom eerst 1 en dan 2
    }
}

we kijken dus eerst welke triac het eerst afgevuurt moet worden en doen die als eerste en daarna de twee,

ik denk dat het stukje delaymicrosec();digitalWrite(AC_LOAD2).... wel aan het eind gezet mogen worden, enig verschil is dat de triac langer afgevuurt wordt en dat is geen probleem dacht ik.
Zou je krijgen:
Code: Alles selecteren
 if ( dimtime1 > dimtime2)
   { delayMicroseconds(dimtime2);
     digitalWrite(AC_LOAD2, HIGH);
     delayMicroseconds( dimtime1 - dimtime2);
     digitalWrite(AC_LOAD1, HIGH);
     delayMicroseconds(10);
     digitalWrite(AC_LOAD2, LOW);
     digitalWrite(AC_LOAD1, LOW);
    }
Gear: Arduino- Uno,Due,Ethernet,Mega2560 , OLS LogicAnalyser, TDS1002, Rigol DG1022, J-Link EDU, BusPirate

Berichten: 17
Geregistreerd: 23 Feb 2013, 14:51

Re: arduino ac dimmer aansturen pwm?

Berichtdoor ddarduino » 10 Mei 2013, 22:54

hoi mensen,

terug van weggeweest, na de geboorte van een mooie dochter nu weer wat tijd voor de hobby.
uiteraard weer aardig wat tijd besteed aan me dimmer.
inmiddels 2 dimmer functie op me arduino, maar heb nu alleen nog wat problemen met dat de lampen.
Ze lijken ng iets te flikkeren, bij 1 dimmer op de arduino is het goed, bij 2 flikkerd hij iets... kan de arduino het niet aan?
is mijn programmering te zwaar?
zou er misschien iemand eroverheen kunnen kijken?
groet danny

#include <SPI.h> // voor Arduino versie 0018 en hoger
#include <EthernetUdp.h>
#include <Ethernet.h>
////////// NETWORK INFO ////////////////
byte mac[] = { 0x90, 0xa2, 0xda, 0x00, 0xf9, 0x64 }; // mac adres van de ethernet shield
byte ip[] = { 192, 168, 1, 72 }; // het ip adres dat je aan je arduio wilt geven
unsigned int localPort = 7777; // de poort die je wilt gebruiken
IPAddress iPhoneIP(192, 168, 1, 71); //ip adres van je iphone/ipad/ipod
unsigned int iPhonePort = 7777; // poort van de iphone/ipad/ipod (zelfde als localport)
///////////////// UDP Variables //////////////////
char packBuff[UDP_TX_PACKET_MAX_SIZE]; //buffer to hold incoming packet,
///////// Pin verklaring /////////////////
int LED_Pin = 6; // maakt LED_Pin van Pin 6
int dim_up = 22; // dim up
int dim_down = 23; //dim down
int AC_LOAD = 14; // Output to Opto Triac pin
int AC_LOAD2 = 15; // Output to Opto Triac pin
///////// Variabelle //
int dimming = 128; // Dimming level (0-128) 0 = ON, 128 = OFF
int dimming2 = 128; // Dimming level (0-128) 0 = ON, 128 = OFF
int pwmVal = 2; // Integer that will hold our PWM values for later use
int pwmVal2 = 3; // Integer that will hold our PWM values for later use
int buttonState = 0;
int teller=0;
EthernetUDP Udp;
//-------------------------------------------------------------------------
void setup() {
Ethernet.begin(mac,ip);
Udp.begin(localPort);
Serial.begin(9600);
pinMode(LED_Pin, OUTPUT);
pinMode(AC_LOAD, OUTPUT);
pinMode(AC_LOAD2, OUTPUT);
pinMode(dim_up, INPUT);
pinMode(dim_down, INPUT);
//attachInterrupt(0, zero_crosss_int, RISING);
//attachInterrupt(1, zero_crosss_int2, RISING);
attachInterrupt(1, test, RISING);
}

void test()
{
if (teller == 0)
{
zero_crosss_int();
teller=1;
}
else
{
zero_crosss_int2();
teller=0;
}

}
void test2()
{

zero_crosss_int();
zero_crosss_int2();

}

//-------------------------------------------------------------------------

void zero_crosss_int()
{

//Serial.println("1");
int dimtime = (75*dimming); // (10000us - 10us) / 128 = 75 (Approx)
delayMicroseconds(dimtime); // Off cycle
digitalWrite(AC_LOAD, HIGH); // triac firing
delayMicroseconds(10); // triac On propogation delay
digitalWrite(AC_LOAD, LOW); // triac Off
//delayMicroseconds(10); // triac On propogation delay
}

void zero_crosss_int2()
{
int dimtime2 = (75*dimming2); // (10000us - 10us) / 128 = 75 (Approx)
delayMicroseconds(dimtime2); // Off cycle
digitalWrite(AC_LOAD2, HIGH); // triac firing
delayMicroseconds(10); // triac On propogation delay
digitalWrite(AC_LOAD2, LOW); // triac Off
//delayMicroseconds(10); // triac On propogation delay
}


//-------------------------------------------------------------------------
void loop()
{
// read the state of the pushbutton value:
buttonState = digitalRead(dim_up);
// check if the pushbutton is pressed.
// if it is, the buttonState is HIGH:
if (buttonState == HIGH) {
Serial.println("button higher");
dimming -= 2;
if (dimming < 20) dimming = 20;
}
{
// read the state of the pushbutton value:
buttonState = digitalRead(dim_down);
if (buttonState == HIGH) {
Serial.println("button lower");
// turn higher on:
dimming += 2;
if (dimming > 112) dimming = 125;
}
int packetSize = Udp.parsePacket();
if(packetSize)
{ packetSize = packetSize - 8; // subtract 8 byte header
Udp.read(packBuff,UDP_TX_PACKET_MAX_SIZE);
//Serial.println("buffer: "); Serial.println(packBuff);
if (packBuff[0] = 'M' && packBuff[1]=='P' && packBuff[2]=='W') // Wait for "PWMXXX", use XXX as PWM value
{
pwmVal = (packBuff[3] - '0')*100 + (packBuff[4] - '0')*10 + (packBuff[5] - '0');
if (pwmVal > 250) pwmVal= 250; // limit
if (pwmVal < 15) pwmVal= 15; // limit
dimming = (pwmVal>>1); // dimming = pwm / 2;
//Serial.println("Dimming Waarde 1 is: "); Serial.println(dimming); // Write notification

}

if (packBuff[0] = 'A' && packBuff[1]=='B' && packBuff[2]=='C') // Wait for "PWMXXX", use XXX as PWM value
{
pwmVal2 = (packBuff[3] - '0')*100 + (packBuff[4] - '0')*10 + (packBuff[5] - '0');
if (pwmVal2 > 250) pwmVal2= 250; // limit
if (pwmVal2 < 15) pwmVal2= 15; // limit
dimming2 = (pwmVal2>>1); // dimming = pwm / 2;
//Serial.println("Dimming Waarde 2 is: "); Serial.println(dimming2); // Write notification
}
/*
else if (packBuff[0] = 'P' && packBuff[1]=='6' && packBuff[2]=='H') // If message "P6H", set LED_Pin (6) HIGH
{
digitalWrite(LED_Pin,HIGH); // Turn on LED_Pin
Serial.println("LED ON"); // Write notification
Udp.beginPacket(iPhoneIP,iPhonePort);
Udp.write("LED 6 is ON"); // Send Message back to iPhone
Udp.endPacket();
}
else if (packBuff[0] = 'P' && packBuff[1]=='6' && packBuff[2]=='L') // If message "P6L", set LED_Pin (6) LOW
{
digitalWrite(LED_Pin,LOW); // Turn off LED_Pin
Serial.println("LED OFF"); // Write notification
Udp.beginPacket(iPhoneIP, iPhonePort);
Udp.write("LED 6 is OFF"); // Send Message back to iPhone
Udp.endPacket();
}*/


delay(20);


}}}

Gebruikers-avatar
Berichten: 229
Geregistreerd: 20 Jan 2013, 12:01

Re: arduino ac dimmer aansturen pwm?

Berichtdoor astrofrostbyte » 11 Mei 2013, 00:20

Gefeliciteerd met je Dochter. en welkom terug.
Afbeelding
Deze arduino kan je gelijk boven de wieg monteren, kan ze er al toepassingen voor dromen :)


Hoe werkt dat met die test(){ ? het lijkt erop dat je de interrupt voor ch1 en ch2 om-en-om aanroept , dan zou een lamp op 25hz aangestuurd worden, mischien is dat al te zien.
Heb je het stukje code uit m'n vorige bericht nog kunnen proberen waarbij beide lampen vanuit 1 interupt aangestuurd worden?. dan zouden de lampen wel met 50hz aangestuurd worden.
Gear: Arduino- Uno,Due,Ethernet,Mega2560 , OLS LogicAnalyser, TDS1002, Rigol DG1022, J-Link EDU, BusPirate

Berichten: 17
Geregistreerd: 23 Feb 2013, 14:51

Re: arduino ac dimmer aansturen pwm?

Berichtdoor ddarduino » 11 Mei 2013, 11:24

hoi,
wel even geprobeerd die erin te verwerken maar kreeg het niet werkend, leek net of die erop vast liep.
Hij begon te knipperen zodra het geladen was.
Maar zal toch op een of andere manier moeten kunnen lijkt me....

Kan ook helemaal nergens op het net iets vinden van iemand die ook zoiets heeft gemaakt of geprobeerd te maken... hi
wel een enkele dimmer maarja om nou voor elke dimmer een eigen arduino te nemen, loopt het ook zo hard op in de kosten.

Dus als iemand nog een iemand idee heeft of weet hoe ik de code erin krijg dat ze beide vanuit 1 interupt aangestuurd worden.

Groeten Danny

Gebruikers-avatar
Berichten: 229
Geregistreerd: 20 Jan 2013, 12:01

Re: arduino ac dimmer aansturen pwm?

Berichtdoor astrofrostbyte » 11 Mei 2013, 11:39

humz, ik zie niet direct waarom het niet zou werken. als je de code logisch doorloopt doet hettoch wat we willen ?.


Code: Alles selecteren
void zero_cross_int()
{
   int dimtime1 = (75 * dimming);  // (10000us - 10us) / 128 = 75 (Approx)
   int dimtime2 = (75 * dimming2); // (10000us - 10us) / 128 = 75 (Approx)

   if ( dimtime1 > dimtime2)
   { delayMicroseconds(dimtime2);
     digitalWrite(AC_LOAD2, HIGH);
     delayMicroseconds(10);
     digitalWrite(AC_LOAD2, LOW);

     delayMicroseconds( dimtime1 - dimtime2);
     digitalWrite(AC_LOAD1, HIGH);
     delayMicroseconds(10);
     digitalWrite(AC_LOAD1, LOW);
    }
    else
    { delayMicroseconds(dimtime1);
      digitalWrite(AC_LOAD1, HIGH);
      delayMicroseconds(10);
      digitalWrite(AC_LOAD1, LOW);

      delayMicroseconds( dimtime2 - dimtime1);
      digitalWrite(AC_LOAD2, HIGH);
      delayMicroseconds(10);
      digitalWrite(AC_LOAD2, LOW);
    }
}

Heb je iets van een oscilloscoop om de afvuur pulsen/nuldoorgang te bekijken ?.

Mischien is het ook wat beter om dimtime1, dimtime2 buiten de interrupt al te berekenen, want twee multiply instructies duurt mischien toch wel aardig wat tijd.
Gear: Arduino- Uno,Due,Ethernet,Mega2560 , OLS LogicAnalyser, TDS1002, Rigol DG1022, J-Link EDU, BusPirate

Berichten: 17
Geregistreerd: 23 Feb 2013, 14:51

Re: arduino ac dimmer aansturen pwm?

Berichtdoor ddarduino » 11 Mei 2013, 23:37

Hoi,

Nee heb geen oscilloscoop.

k heb nu je stukje in mijn code zitten maar dan blijf hij dus knipperen...
weet niet waar ik het zoeken moet.

Code: Alles selecteren
#include <SPI.h>         // voor Arduino versie 0018 en hoger
#include <EthernetUdp.h>
#include <Ethernet.h>
////////// NETWORK INFO ////////////////
byte mac[] = { 0x90, 0xa2, 0xda, 0x00, 0xf9, 0x64 }; // mac adres van de ethernet shield
byte ip[]  = { 192, 168, 1, 72 }; // het ip adres dat je aan je arduio wilt geven
unsigned int localPort = 7777; // de poort die je wilt gebruiken
IPAddress iPhoneIP(192, 168, 1, 71); //ip adres van je iphone/ipad/ipod
unsigned int iPhonePort = 7777; // poort van de iphone/ipad/ipod (zelfde als localport)
///////////////// UDP Variables //////////////////
char packBuff[UDP_TX_PACKET_MAX_SIZE]; //buffer to hold incoming packet,
///////// Pin verklaring /////////////////
int LED_Pin = 6;   // maakt LED_Pin van Pin 6
int dim_up = 22; // dim up
int dim_down = 23; //dim down
int AC_LOAD = 14;   // Output to Opto Triac pin
int AC_LOAD2 = 15;   // Output to Opto Triac pin
///////// Variabelle   //
int dimming = 128; // Dimming level (0-128) 0 = ON, 128 = OFF
int dimming2 = 128; // Dimming level (0-128) 0 = ON, 128 = OFF
int pwmVal = 2;    // Integer that will hold our PWM values for later use
int pwmVal2 = 3;    // Integer that will hold our PWM values for later use
int buttonState = 0;
int teller=0;
EthernetUDP Udp;
//-------------------------------------------------------------------------
void setup() {
  Ethernet.begin(mac,ip);     
  Udp.begin(localPort);       
  Serial.begin(9600);         
  pinMode(LED_Pin, OUTPUT);   
  pinMode(AC_LOAD, OUTPUT); 
 pinMode(AC_LOAD2, OUTPUT); 
  pinMode(dim_up, INPUT);
  pinMode(dim_down, INPUT);
 attachInterrupt(0, zero_crosss_int, RISING);
 
}

void zero_crosss_int()
{
   int dimtime1 = (75 * dimming);  // (10000us - 10us) / 128 = 75 (Approx)
   int dimtime2 = (75 * dimming2); // (10000us - 10us) / 128 = 75 (Approx)

   if ( dimtime1 > dimtime2)
   { delayMicroseconds(dimtime2);
     digitalWrite(AC_LOAD2, HIGH);
     delayMicroseconds(10);
     digitalWrite(AC_LOAD2, LOW);

     delayMicroseconds( dimtime1 - dimtime2);
     digitalWrite(AC_LOAD, HIGH);
     delayMicroseconds(10);
     digitalWrite(AC_LOAD, LOW);
    }
    else
    { delayMicroseconds(dimtime1);
      digitalWrite(AC_LOAD, HIGH);
      delayMicroseconds(10);
      digitalWrite(AC_LOAD, LOW);

      delayMicroseconds( dimtime2 - dimtime1);
      digitalWrite(AC_LOAD2, HIGH);
      delayMicroseconds(10);
      digitalWrite(AC_LOAD2, LOW);
    }
}

//-------------------------------------------------------------------------
void loop()
{
 // read the state of the pushbutton value:
  buttonState = digitalRead(dim_up);
  // check if the pushbutton is pressed.
  // if it is, the buttonState is HIGH:
  if (buttonState == HIGH) {
    Serial.println("button higher");
    dimming -= 2;
if (dimming < 20) dimming = 20;
   }
  {
   // read the state of the pushbutton value:
  buttonState = digitalRead(dim_down);
  if (buttonState == HIGH) {
Serial.println("button lower");   
    // turn higher on: 
  dimming += 2;
if (dimming > 112) dimming = 125;
     }
  int packetSize = Udp.parsePacket();     
  if(packetSize)
  { packetSize = packetSize - 8;           // subtract 8 byte header
     Udp.read(packBuff,UDP_TX_PACKET_MAX_SIZE);
     //Serial.println("buffer: "); Serial.println(packBuff);
     if (packBuff[0] = 'M' && packBuff[1]=='P' && packBuff[2]=='W') // Wait for "PWMXXX", use XXX as PWM value
    {   
      pwmVal = (packBuff[3] - '0')*100 + (packBuff[4] - '0')*10 + (packBuff[5] - '0');
       if (pwmVal > 250) pwmVal= 250;        // limit
      if (pwmVal < 15) pwmVal= 15;        // limit
      dimming = (pwmVal>>1);           // dimming = pwm / 2;
        //Serial.println("Dimming Waarde 1 is: "); Serial.println(dimming); // Write notification
   
    }
 
     if (packBuff[0] = 'A' && packBuff[1]=='B' && packBuff[2]=='C') // Wait for "PWMXXX", use XXX as PWM value
    {   
      pwmVal2 = (packBuff[3] - '0')*100 + (packBuff[4] - '0')*10 + (packBuff[5] - '0');
       if (pwmVal2 > 250) pwmVal2= 250;        // limit
      if (pwmVal2 < 15) pwmVal2= 15;        // limit
      dimming2 = (pwmVal2>>1);           // dimming = pwm / 2;
        //Serial.println("Dimming Waarde 2 is: "); Serial.println(dimming2); // Write notification
    }
   /*
    else if (packBuff[0] = 'P' && packBuff[1]=='6' && packBuff[2]=='H') // If message "P6H", set LED_Pin (6) HIGH
    {   
     digitalWrite(LED_Pin,HIGH);      // Turn on LED_Pin
      Serial.println("LED ON");        // Write notification
      Udp.beginPacket(iPhoneIP,iPhonePort);
      Udp.write("LED 6 is ON");        // Send Message back to iPhone
      Udp.endPacket();
    }
    else if (packBuff[0] = 'P' && packBuff[1]=='6' && packBuff[2]=='L') // If message "P6L", set LED_Pin (6) LOW
    {   
      digitalWrite(LED_Pin,LOW);       // Turn off LED_Pin
      Serial.println("LED OFF");       // Write notification
      Udp.beginPacket(iPhoneIP, iPhonePort);
      Udp.write("LED 6 is OFF");       // Send Message back to iPhone
      Udp.endPacket();
   }*/
   
 
  delay(20);
 

   }}}

Berichten: 17
Geregistreerd: 23 Feb 2013, 14:51

Re: arduino ac dimmer aansturen pwm?

Berichtdoor ddarduino » 12 Mei 2013, 14:15

zodra ik 1 van de 2 los haal op de interrupt pinnen werkt degene die er dan nog op zit... goed, ze zitten elkaar dus duidelijk in de weg...

Gebruikers-avatar
Berichten: 229
Geregistreerd: 20 Jan 2013, 12:01

Re: arduino ac dimmer aansturen pwm?

Berichtdoor astrofrostbyte » 12 Mei 2013, 19:29

Dat is raar want er wordt maar 1 interupt 'geattached' die andere doet helemaal niets.
Ander puntje is dat er alleen op rising flank wordt geinterrupt, moet dat niet beide zijn 'change' zodat de positieven EN negatieve 'bult' van de sinus aangesneden worden?.

ik zal eens kijken of ik van de week nog ff tijd vindt, zal ik ff testen mbv functiegenerator op 50hz.
Zal iets van de volgende gestripte code gebruiken:
Code: Alles selecteren
int LED_Pin  =   6;   // maakt LED_Pin van Pin 6
int AC_LOAD1 =  14;   // Output to Opto Triac pin
int AC_LOAD2 =  15;   // Output to Opto Triac pin
int dimming1 = 128;   // Dimming level (0-128) 0 = ON, 128 = OFF
int dimming2 = 128;   // Dimming level (0-128) 0 = ON, 128 = OFF

//-------------------------------------------------------------------------
void setup()
{
  Serial.begin(9600);         
  pinMode(LED_Pin, OUTPUT);   
  pinMode(AC_LOAD1, OUTPUT);
  pinMode(AC_LOAD2, OUTPUT);
  attachInterrupt(0, zero_crosss_int, RISING);
}
//-------------------------------------------------------------------------
void zero_crosss_int()
{  digitalWrite(LED_Pin, HIGH);
   int dimtime1 = (75 * dimming1);  // (10000us - 10us) / 128 = 75 (Approx)
   int dimtime2 = (75 * dimming2);  // (10000us - 10us) / 128 = 75 (Approx)
 
   if ( dimtime1 > dimtime2)
   { delayMicroseconds(dimtime2);
     digitalWrite(AC_LOAD2, HIGH);
     delayMicroseconds(10);
     digitalWrite(AC_LOAD2, LOW);
 
     delayMicroseconds( dimtime1 - dimtime2);
     digitalWrite(AC_LOAD1, HIGH);
     delayMicroseconds(10);
     digitalWrite(AC_LOAD1, LOW);
    }
    else
    { delayMicroseconds(dimtime1);
      digitalWrite(AC_LOAD1, HIGH);
      delayMicroseconds(10);
      digitalWrite(AC_LOAD1, LOW);
 
      delayMicroseconds( dimtime2 - dimtime1);
      digitalWrite(AC_LOAD2, HIGH);
      delayMicroseconds(10);
      digitalWrite(AC_LOAD2, LOW);
    }
    digitalWrite(LED_Pin, LOW);
}

//-------------------------------------------------------------------------
void loop()
{
  if(Serial.available())
  { int c = Serial.read();
    Serial.println("Serial");
    switch (c)
    {
      case '+' :
      { if ((dimming1 +2) > 112) dimming1 = 125;
        break;
      }
      case '-' :
      { if ((dimming1 -2) <  20) dimming1 =  20;
        break;
      }
      case '>' :
      { if ((dimming2 +2) > 112) dimming2 = 125;
        break;
      }
      case '<' :
      { if ((dimming2 -2) <  20) dimming2 =  20;
        break;
      }
    }//switch
  }//fi
}//loop
Gear: Arduino- Uno,Due,Ethernet,Mega2560 , OLS LogicAnalyser, TDS1002, Rigol DG1022, J-Link EDU, BusPirate

Berichten: 17
Geregistreerd: 23 Feb 2013, 14:51

Re: arduino ac dimmer aansturen pwm?

Berichtdoor ddarduino » 12 Mei 2013, 21:10

Even wat aan de int dimtime veranderd, inplaats van 75*dimming nu 60*dimming, dan brand de lamp op vol vermogen en iets eronder mooi rustig maar, als je meer dimt flikkert hij weer.
(opgegeven moment zie je het niet zo goed meer hi hi hi)

VorigeVolgende

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: egosayakobad en 8 gasten