hallo
bin neu hier, also stell ich mich erst mal kurz vor:
ich heisse michael, wohne in berlin und bin 33 jahre alt. gelernt hab ich grafikdesign. meine brötchen verdiene ich mit grafikdesign, fotografie und allem was sich sonst so anbietet.
mein erstes projekt mit arduino war eine EQ EM 10 teleskopmontierung anzusteuern. ich arbeite seit längerer zeit mit einem befreundetem künstler zusammen an verschiedenen projekten.
im moment baue ich ein 19" rackmodul mit 12 solid state relais die von einem arduino gesteuert werden. jedes relais hat einen seperaten eingang und eine normale steckdose als ausgang. das rack soll möglichst universell einsetzbar sein. zum beispiel um lampen per zufall oder durch sensoren zu schalten oder auch andere geräte ein und aus zu schalten.
da ich mich auch schon mit dimmern(vellman k8064) und phasenaschnittsteuerung beschäftigt habe frage ich mich nun ob es nicht möglich ist nur mit den solid state relais zu dimmen.
um das zu tun muss man synchron zur 50hz netzspannung die phase "anschneiden", also das relais 50 mal in der sekunde eine gewisse zeit an und wieder auschalten.
um die 50hz netzspannung auszulesen habe ich ein 4,5v stecknetzteil der gleichrichterschaltung beraubt und dieses getrennt durch einen optokoppler am analog in am arduino.
mit einem einfachen code wie diesem kann ich nun eine lampe dimmen ohne das es flackert. also netzsynchron.
int phasePin = A1; // zum auslesen wechlespannung
const int loadPin = 11; // schaltet das solid state relais
int phaseState = 0;
void setup() {
pinMode(loadPin, OUTPUT);
}
void loop(){
phaseState = analogRead(phasePin);
delay(5);
if (phaseState > 340) {
delay(4);
digitalWrite(loadPin, HIGH);
else{
delay(2);
digitalWrite(loadPin, LOW);
}
}
man muss ein bisschen mit den delays rumspielen damit es klappt. man kann damit aber noch nicht stufenlos dimmen. es sind so nur um die 3-5 verschiedene helligkeitstufen machbar. das liegt daran das das timing einfach zu ungenau ist.
die frage ist also, wie man innerhalb von 20ms;
- so genau wie möglich den spitzenwert der phase bestimmt um dann
- den output eine zeit von 0-20ms einzuschalten.
je genauer man die schaltzeit festlegen kann um so feiner kann dann gedimmt werden.
wenn man einfach irgendwie genauer (also im mikrosekundenbereich) schalten kann müsste das doch auch auf allen 12 kanälen funktionieren.
bis jetzt funktioniert das ganze ja ohne pwm.
ich hoffe das war einigermassen verständlich.