Show Posts
Pages: 1 ... 5 6 [7] 8 9 ... 20
91  International / Deutsch / Re: LED Laufleiste mit Arduino steuern on: December 11, 2013, 03:31:40 pm
Quote
Und der Arduino und die LEDs eine gemeisame Masse.

Daran lag es, Danke. Die ICs habe ich jetzt auch alle entfernt.

Nun leuchten die LEDs richtig hell.

Nun habe ich folgendes Bitmuster eingeschoben: 10101010 (also 170)
Dabei ist mir aufgefallen das die LEDs die aus sein müssten pulsieren, je mehr bytes ich einschiebe umso heller pullsieren sie.
Wie kann ich das beheben und wodurch kommt das überhaupt?

Gruß

strohhirn
92  International / Deutsch / Re: LED Laufleiste mit Arduino steuern on: December 11, 2013, 11:22:19 am
OK, danke für die wirklich idiotensichere Beschreibung. smiley
Wie jetzt nochmal beschrieben habe ich es zuvor versucht und nun nochmal. Aber es klappt nicht. Hab auch überprüft ob alles richtig angeschossen ist.
Verzeiht die dumme frage, aber ich kenne mich mit Transistoren echt nicht aus:
Brauchen die Transistoren kein GND?

Muss ich die Steuerplatine an die Steckdose angeschlossen werden?
Ich habe jetzt nur den BCD Decoder 7445 entfernt und den arduino Pin in den IC Sockel gesteckt(habs auch direkt am Wiederstand versucht).

Bei den vorherigem Versuch hatte ich den BCD Decoder 7445 nicht entfernt. Hab ich da jetzt was kaputt gemacht?

Gruß

strohhirn
93  International / Deutsch / Re: LED Laufleiste mit Arduino steuern on: December 10, 2013, 03:09:23 pm
Quote
Bei einer 8x8 Matrix ist jede Zeile (LED) etwas weiger als 1/8 der Zeit eingeschatet und darum ca 1/8 so hell, als es dauernd leuchten würde. Mann kann die LED aber mit mehr Strom versorgen da sie 1/8 der Zeit an sind und 7/8 der Zeit aus und darum Zeit haben abzukühlen.

Und dafür sind diese Treiber Transistoren auf der Steuerplatinen,richtig?, aber wie schließe ich den arduino an diese Transitoren an?

Gruß

strohhirn
94  International / Deutsch / Re: LED Laufleiste mit Arduino steuern on: December 09, 2013, 02:47:40 pm
Quote
Das flackern habe ich bemerkt, aber wie schalte ich denn alle LEDs aus?
Quote
Einfach alle Zeilentransistoren abschalten.
Welchen Arduino Befehl muss ich denn dafür geben?

Verzeihung für die dumme frage die antwort ist mir später auch selbst eingefallen. smiley
Ich hatte zuvor nämlich die Zeile am+5V angeschlossen gehabt, deswegen die frage.
Quote
plus direkt an eine der zeilen, GND mit den schieberegistern steuern

Quote
Wie steuere ich zB. nur eine Zeile einer Matrix an?
Diese frage ist auch gelöst, man muss nur mehrere bytes hintereinander reinschieben.

Quote

Danke für den Hilfreichen link, hat mir geholfen das ganze besser zu verstehen.

Hab ein bisschen rumprobiert und es geschafft ein wellen-muster mit 2 Zeilen zu machen, dabei ist mir aufgefallen das 2 Zeilen weniger hell sind als nur eine Zeile. Deswegen die Treiber Transistoren auf der Steuerplatine nutzen, richtig?

Wie lange sollte man übrigens zwischen dem Schalten der Zeilen warten? Ich habe jetzt 10ms, das klappt ganz gut. Gibt es da eine Idealzeit?

Als nächstes möchte ich die Transistoren von der steuerplatine mitanschließen um alle Zeilen zu steuern.(hab es, wie empfohlen, mit einer Zeile probiert, hab aber wahrsch. falsch angeschlossen.)

Das müssten folgende Transistoren sein: TIP125
http://pdf.datasheetcatalog.com/datasheet/stmicroelectronics/4128.pdf

An welchen Pin oder Vorwiederstand von diesem Transistor muss ich jetzt was anschließen?

Und dieser BCD Decoders, ist er empfehlenswert? Ich kann doch auch die 7 Transistoren mit 7 Arduino Pins steuern oder nicht?

Gruß

strohhirn
95  International / Deutsch / Re: LED Laufleiste mit Arduino steuern on: December 07, 2013, 06:38:27 am
Quote
Einfach alle Zeilentransistoren abschalten.
Welchen Arduino Befehl muss ich denn dafür geben?
96  International / Deutsch / Re: LED Laufleiste mit Arduino steuern on: December 06, 2013, 02:14:32 pm
Hab jetzt mal langsam angefangen auszuprobieren.
Dabei habe ich wie empfohlen erstmal nur eine zeile angeschlossen.
Nun wurde ja auch erwähnt das mein schieberegister keinen latch pin hat.
Quote
Die HC161 haben anders als die HC595 keine Latches. Um daher zu verhindern, dass die Ausgabe flackert, musst du glaube ich vor dem Schieben die LEDs ausschalten und erst nach dem Schieben wieder einschalten.

Das flackern habe ich bemerkt, aber wie schalte ich denn alle LEDs aus?

Des weiteren ist mir aufgefallen das mit den Anfangssketchen nur die ganze zeile, also alle schieberegister, steuern kann.
Wie steuere ich zB. nur eine Zeile einer Matrix an?

Ich will nicht in frage stellen das ich ein Netzteil benötige, ich möchte nur wissen wozu? die gesamte erste zeile hat ohne probleme hell geleutet(nur mit arduino).

97  International / Deutsch / Re: LED Laufleiste mit Arduino steuern on: November 30, 2013, 12:41:42 pm
Quote
kannst Du messen, welche widerstände da eingebaut sind?

Also auf diesen hellbrauen Vielbeinern steht immer 470. Gemessen habe ich mit einem alten Messgerät 48 Ohm und mit einem neuen 52Ohm.

Quote
plus direkt an eine der zeilen, GND mit den schieberegistern steuern.

Das werde ich mal versuchen. Reichen dafür die 5V des Arduino?

Die idee die unnötigen ICs zu entfernen  und das Netzteil mit den Transitoren weiterzuverwenden gefällt mir.
Hab die rot eingekreisten ICs jetzt auch beschriftet, soll ich die auch entfernen?
98  International / Deutsch / Re: LED Laufleiste mit Arduino steuern on: November 30, 2013, 09:38:42 am
Quote
Ein externes Netzteil ist nötig

Was für eins und wo schieße ich es an?

Quote
Die Transistoren rechts auf der Steuerplatine treiben die Zeilen.

Also brauche ich diese Transistoren von der alten Steuereinheit um die LED zu steuern,ja?Was meinst du mit treiben? Und wie schließe ich diese transistoren mit dem arduino an die laufleiste an?



99  International / Deutsch / LED Laufleiste mit Arduino steuern on: November 30, 2013, 08:10:00 am
Hallo,
 ich habe mal vor ein paar Jahren eine LED Laufleiste erworben (7 LED-Reihen, insgesamt 413 LEDs)
Leider kommte ich den prozessor der dort war nicht einfach umprogrammieren weil das programm irgendwo fest eingebrand war glaube ich.
Nun möchte ich diese Laufleiste versuchen mit dem Arduino zu steuern.
Leider habe ich keinen Schaltplan und weiß nicht wie ich den Arduino anschließen soll. Das kann man nur über die Leiterbahnen ermitteln.

Für die 3 microChips auf der Platine habe ich ein Datasheet defunden.
Schieberegister: M74HC164B1
http://pdf.datasheetcatalog.com/datasheet/stmicroelectronics/1910.pdf
Transistor: ULN2803A
http://pdf.datasheetcatalog.com/datasheet/stmicroelectronics/1536.pdf
Wiederstand : MDP1603 470G
http://www.bg-electronics.de/datenblaetter/Widerstaende/MDP1601.pdf

Für die LEDs habe ich leider keinerlei Beschriftung gefunden.

Mir ist aufgefallen das der Output Qh von Schieberegister mit dem 8.Pin von Transitor verbunden sind und mit dem Serielen Eingang vom nächsten Register.

Auf der Hülle steht: nova-matic electronic Hergestellt: 4.99; Typ: 2650; Nr.LSSTD5917; Leistung: V: 230V , A: 35VA


Kann ich diese Laufleiste mit dem Arduino ohne weiteres steuern? Oder brauche ich da noch irgend eine Zwischen platine mit externer Stromquele oder sowas?

Wie soll ich jetzt an das Problem am besten rangehen?

Gruß

 strohhirn
100  International / Deutsch / Re: Mit ACS 712 Wechselstrom messen on: October 01, 2013, 12:34:02 pm
Kommen wir jetzt also doch zum schluss das es nur mit dem ACS712 nicht möglich ist Wechselstrom bei einem Phasenanschnittregler zu messen?
101  International / Deutsch / Re: SSR relais mit pwm steuern on: October 01, 2013, 12:32:26 pm
Hab heute den sketch ausprobiert, war aber echt traurig weil auch dieser sketch nicht funktioniert hat.  smiley-sad

Ich habe wieder den Serialen monitor fotografiert, weil der  PC bei der apparatur kein internet hat, is für mich so einfacher.

Mal wurde einfach mal neuer sollwert paarweise runtergebrettert, und mal alle 10 sek diese debug zeile die zu viel watt angezeigt hat.



102  International / Deutsch / Re: Mit ACS 712 Wechselstrom messen on: October 01, 2013, 12:18:02 pm
Ich kenne mich ja nicht aus mit den ganzen formeln, aber mir ist grad die berechnungsformel aufgefallen:

Code:
void einMesswert() {
  long newValue=analogRead(ACS712PIN)-MEDIAN;
  sumMesswerteRMS += newValue*newValue;
  countMesswerte++;
}
Code:
messwert= sqrt(sumMesswerteRMS/countMesswerte); // Effektivwert =  quadratischer Mittelwert

Ist diese formel nicht zur berechneung des Effektivwertes bei sinuswellen?

Der Kemo ist ja ein phasenanschnittregler, wie sich herrausgestellt hat.

Kann man mit dieser formel auch den Effektivwert von angeschnittenen Sinuswellen errechnen?

Ich habe irgendwo mal etwas von einem Anschnittwinkel bei Phasenanschnittreglung gelesen.
103  International / Deutsch / Re: SSR relais mit pwm steuern on: September 29, 2013, 01:21:42 pm
Auf jeden Fall ein großes DANKE für deine mühe. Und vielen dank das du das so gründlich kommentiert hast.
Ich habe natürlich versucht mich damit auseinanderzusetzen wie du das ganze programiert hast, dabei bin ich auf viel befehle gestoßen bin, die ich googeln musste.
Einige habe ich aber habe ich nicht gefunden. Könntest du mir bitte ihre funktion erklären:

Code:
volatile long long sumMesswerteRMS;

Bringt das doppelte long die dopelte speicherkapazität also 64 bits?

Code:
char buffer[45];

Was ist das? was macht es?

Code:
snprintf(buffer,sizeof(buffer),"%d - %ld mV - %ld mA - %ld W",(int)messwert,spannungMV,stromMA, leistungW);
    Serial.println(buffer);

da sind einige sachen drin die ich nicht verstehe wie snprintf.

Code:
+=

Was macht dieser operator?

Code:
lround()

was bewirkt dieser befehl?

Code:
void initTimer2()
{ // Timer-Interrupt für eine Rate von 980 Interrupts pro Sekunde initialisieren
  TCCR2B = (1<<WGM22) | (1<<CS22);
  OCR2A = 254;
  // enable Timer 2 interrupts
  TIMSK2 = (1<<OCIE2A);
}
Code:
ISR(TIMER2_COMPA_vect)

Davon verstehe ich garnichts. Ich weiß ja das ich unerfahren bin mit dem Arduino und mit C++ aber sowas habe ich noch garnicht gesehen. Soweit ich verstanden habe sind diese Interrupts dafür da um aufgaben im hintergrund zu erledigen.

Code:
while (1); // Und eine Endlosschleife bis zum nächsten Reset ausführen

Meinst du mit reset den ganzen arduino reseten, also das ich den heizen() befehl erst nach einem kompleten arduino reset verwenden kann ?

Hab ich das richtig verstanden das dieser sketch auch abweichungen von Sollwert korrigiert?
Also zieht er automatisch bei abweichungen automatisch prozente ab oder fügt welche hinzu.
Also wenn der vom poti eingestelter sollwert 1500W ist der Istwert aber 1600 ist so werden -2,7333333333333333333333333333333% abgezogen richtig?
Oder habe ich da was falsch verstanden mit der regelung?

Nochmal danke das dir für irgendjemanden Zeit nimmst und mit deinem programmierwissen hilfst.
104  International / Deutsch / Re: SSR relais mit pwm steuern on: September 28, 2013, 12:00:13 pm
Wenn es hilft hier ist ein programm wie ich es mit dem kemo umsetzen wollte, aber da ist ja das problem mit dem falschen messungen:
Code:
void programm3() {
 if (sensors.getTempC(Sensor[0]) <= 25.0 && status ==30){  
  digitalWrite(k[0], HIGH);
  
  status = 31;
 }
 else if (sensors.getTempC(Sensor[0]) >= 70 && status == 31) {
   digitalWrite(k[0], LOW);
   status = 32;
   nextMillis = millis() + 5000L;
 }
 else if( (status == 32 && millis() > nextMillis) || (sensors.getTempC(Sensor[0]) >= 25.0 && status ==30) ) {
   digitalWrite(k[1], HIGH);
   digitalWrite(k[2], HIGH);
   digitalWrite(k[3], HIGH);
  
   status = 33;
 }
 else if (mb >= 60 && status == 33) {
   Watt = 950;
   int A = 0;
  if(A==0){  // damit man in der nähe des sollwertes ist, da es mit ++ zu lange dauert
   fade = 100;
   analogWrite(ledPin, fade);
   A++;
  }
    if(W > Watt){ //hier ein der versuch den sollwert zu halten oder an ihn ranzukommen
      fade--;
      analogWrite(ledPin, fade);
    }
    if(W < Watt){ //W ist der gemessene istwert
      fade++;
      analogWrite(ledPin, fade);
    }
  status = 34;
 }
else if ((900 <=W < 1000) && status == 34 ) {
   mbar = 50;
   if (mb > mbar){ // mb ist der gemessene istwert
     fade--;
     analogWrite(ledPin, fade);
   }
   if (mb < mbar){
     fade++;
     analogWrite(ledPin, fade);  
   }
   status = 35;
 }
 else if (sensors.getTempC(Sensor[0]) >= 93 && status == 35) {
  alarmbuzzer();
   status = 36;
 }
 else if (sensors.getTempC(Sensor[0]) >= 97 && status == 36) {
   digitalWrite(k[1], LOW);
   status = 37;
   nextMillis = millis() + 300000L;
 }
 else if( status == 37 && millis() > nextMillis) {
  digitalWrite(k[2], LOW);
    digitalWrite(k[3], LOW);
    analogWrite(ledPin, 0);
    nextMillis = 0;
    fade = 0;
    status = 10; //aus
    lcd.setCursor(10, 3);
    lcd.print("Pr: AUS");
  
 }
}
105  International / Deutsch / Re: SSR relais mit pwm steuern on: September 28, 2013, 11:54:49 am
Mir ist die aufgabe gegeben, das die Heizung eine bestimmte Leistung halten soll nicht Temperatur, ich kann auch nicht sagen wofür.
Das hat alles seine Richtigkeit und ist so gewollt, zerbrecht euch nicht den Kopf darum.

Quote
OK, also hast Du irgendwo eine Manuell-Automatik Umschaltung (z.B. einen Kippschalter mit den zwei Schaltstellungen "Manuell" und "Automatik") und je nach Schaltstellung gibst Du die Soll-Leistung manuell vor, oder sie wird von einem Sensor vorgegeben. In beiden Fällen bekommt also der Arduino einen "Sollwert in Watt" vorgegeben und er soll die Heizung so regeln - trotz gravierender Spannungsschwankungen im 230V-Netz - dass der "Istwert in Watt" möglichst gut mit der Sollwert-Vorgabe übereinstimmt.

Genau im gesamten sketch habe ich nacher 3 programme(algorythmen die einmal ablaufen) die ich per knopfdruck an und ausschalten kann. Dabei wird automatisch die Leistung geregelt zB für 1h 1000W, dabei möchte ich schnellstmöglich den sollwert erreichen, da es mit dem befehl ++ zu lange dauert, und danach soll anhand von den messungen vom ACS712, die durch Netzschwankungen sich verändern können, der Istwert möglichst nah an den Sollwert korigiert werden. Der sollwert kann aber auch eine messung von einem anderen sensor sein, sodass zum beispiel bei einem Drucksensor ein bestimmter druck gehalten wird.

Wenn keins der programme läuft möchte ich die heizleistung trozdem mit einem poti regulieren können. Und mit dem ACS712 den Istwert messen können.
Also soll eigentlich immer gemessen werden. Und bei Netzschwankungen kann ich selbst anhand der messung, am poti die leistung korrigieren.

Quote
Wenn Du eine Regelung möchtest, dann gibst Du die Zielgröße vor (Heizleistung in Watt) und die Stellgröße (Reglerstellung in Prozent) wird von der Regelung festgelegt. Und zwar in einem Feedback-Kreislauf aus der Messung der Regelabweichung (Differenz zwischen vorgegebener Soll-Heizleistung und gemessener Ist-Heizleistung) wird ständig eine neue Reglerstellung ermittelt und eingestellt.

genau sowas will ich, wenn eins der automatischen programme läuft.

bei der manuellen steuerung ist es denk ich mal einfacher wenn ich per hand den gewollten wert korrigiere.
Aber wenn es auch hier möglich ist mit dem poti einen sollwert vorzugeben, das zb solange der poti an einer bestimmten stelle steht auch die leistung entsprechend dem sollwert gehalten wird, dann ist mir natürlich diese variante lieber.
Aber das ist schwieriger zu programmieren zumindest weiß ich nicht wie das gehen soll.

Und ich danke dir jurs natürlich das du so geduldig mir hilfst, und bitte um Verzeihung falls ich mich dumm anstelle.
Pages: 1 ... 5 6 [7] 8 9 ... 20