Forum: Mikrocontroller und Digitale Elektronik Arduino Programmierer 2Punkt Regelung


von ONpoint (Gast)


Lesenswert?

Hallo Leute,

ich bin dabei ein kleines Projekt in die Tat umzusetzen und bin nun an 
einen Punkt angekommen an dem ich ohne fremde Hilfe nicht mehr weiter 
komme.
Ich habe einen Arduino Uno, einen Pt1000 Messwandler, eine 
Relaisplatine, ein 16x2 Display und 2 10K Poti´s (1x Kontrast, 
1xSollwertgeber). Das alles soll zusammen als 2 Punkt Regler 
funktionieren. Das Sollwertpoti gibt dem Arduino den Zu erreichenden 
Wert vor und der Arduino schaltet das Relais so lange an bis der ISTwert 
mit dem Sollwert Übereinstimmt bzw Aus wenn der Istwert über dem soll 
liegt und An wenn der Istwert unter dem Soll Liegt.
dabei soll Am Display in der ersten Zeile "Hallo" stehen und in der 
zweiten Zeile soll "Soll XXX   IST XXX" (XXX ist der Variable wert) 
stehen.

Ich bräuchte die Fähigkeiten eines Mannes oder einer Frau der/die das 
als Sketch umsetzen kann, ich würde natürlich auch eine Belohnung 
(Überweisung) im Gegenzug tätigen.

Grüße Sebi

von Ralph S. (jjflash)


Lesenswert?

Ich programmiere dir das zwar nicht (und wenn dich n bissi einliest ist 
das auch für einen Anfänger nicht sooooooo das Überprojekt).

PT1000 ... mit Messwandler ? Relativ teuer (aber gut).

Hier... mußt du wissen, welche Temperatur welchen Spannungswert 
produziert (bspw. 0,1V / Grad Celcius).

Sollwert kann man zwar mit Poti (über einen Analogeingang realisieren), 
aber das ganze digital mit Tastern einzustellen wäre imo. geschickter.

Was ich aber wirklich schreiben wollte ist, dass du eine Hysterese für 
den 2 Punktregler brauchst wenn du am Ausgang mit einem Relais etwas 
machen magst, weil ansonsten das Relais zum "flattern" neigt.

von chris (Gast)


Lesenswert?

ONpoint schrieb:
> Ich habe einen Arduino Uno, einen Pt1000 Messwandler,

Welchen Temperaturbereich möchtest du messen?
Käme für dich auch ein DS18B20 als Sensor in Frage?
Der ist billiger, digital, und fertig kalibriert/justiert und würde 
somit die ganze Sache vereinfachen.

Dann könnte ich dir ein solches Programm gerne schreiben.

Ich würde allerdings auch Taster zum Einstellen vorschlagen, da Potis 
mit der Zeit "vergammeln" und somit zu Fehlern führen können. Im 
schlimmsten Fall läuft deine Heizung dann permanent auf Vollgas, weil 
das Poti kaputt ist.

lg
Chris

von aSma>> (Gast)


Lesenswert?

Wieviel zahlst du? Damit ich erstmal überhaupt nur etwas dafür 
nachdenke.

Was soll überhaupt geregelt werden? Hast du die Strecke schon?

von Sebastian L. (onpoint)


Lesenswert?

Es Soll eine Kleine Heizspule geregelt werden in einem Temperaturbereich 
von Ca 250 Grad deswegen ist der DS18B20 keine Variante für mich.

Taster an sich ja finde ich auch besser, aber auf Grund dessen das ich 
die optimale Temperatur noch Herausfinden muss, benötige ich zur 
Stufenlosen Sollwertvorgabe das Poti, da habe ich genug, also kein 
Stress wenn da mal eins Kaputt geht.

Zwecks Hysterese ist das ja für mich nicht so schlimm da Heizelemente eh 
recht träge sind und in diesem Temperaturbereich sind +/- 3 Grad nicht 
schlimm.

: Bearbeitet durch User
von aSma>> (Gast)


Lesenswert?

Servus,
also hast du schon alle Teile gekauft? Du sendest diese Einen zu?

Oder brauchst du nur das Sketch?

von ONpoint (Gast)


Lesenswert?

Ja die Teile habe ich schon und das display mit einem poti schon nach 
libary verdrahte. Habe es auch getestet mit einem sketch nach youtube 
tutorial und es funktioniert perfekt.

Ich bräuchte nur jetzt noch das Sketch für die komplette Regelung nur 
das bekomme ich leider nicht hin, sowas lernt man auf der Meisterschule 
leider nicht.

von Einer K. (Gast)


Lesenswert?

ONpoint schrieb:
> Ich bräuchte nur jetzt noch das Sketch für die komplette Regelung nur
> das bekomme ich leider nicht hin, sowas lernt man auf der Meisterschule
> leider nicht.

Ein einziger Vergleich....
Das soll doch wohl drin sitzen....
Die 3°K Hysterese ergibt sich sicherlich von selber, durch die Trägheit.

von ONpoint (Gast)


Lesenswert?

Wäre eis eine verbindungsprogrammierte Steuerung oder eine SPS wär das 
ganze kein Problem, aber C programmierung bekomme ich so nicht ohne 
weiters nicht hin und ich habe leider keine Zeit mich da monate lang 
einzuarbeiten denn ich brauche den sketch ziemlich dringend.

von aSma>> (Gast)


Lesenswert?

Servus,
ich würde das für dich machen. Alles weitere besprechen wir per PN.

Hier ist meine email: asma_mag_doener@web.de

Dann sende ich dir meine Tele-Nr.

von Ralph S. (jjflash)


Lesenswert?

... nur mal so: 250°C mit PT1000 ist nicht so ganz lustig..... Such dir 
noch ein NiCr Thermoelement und einen elektronischen Eispunkt... Hm, 
freut mich dass  jemand gefunden hast drr dir das programmiert....

von aSma>> (Gast)


Lesenswert?

Servus,
wird das heute noch was? Ich will noch Fußball gucken. Ich habe noch 
viele Fragen.

Hast du die Strecken Koeffitienten schon mal aufgenommen, damit man eine 
Simulation starten kann? Wenn deine Regelgüte 3° Hysterese sind, dann 
kann es sein, dass man eine Grundlast per PWM zum heizen erzeugen muss.

Am WE habe ich keine Zeit.

von Thumbmeister (Gast)


Lesenswert?

ONpoint schrieb:
> Ich bräuchte nur jetzt noch das Sketch für die komplette Regelung nur
> das bekomme ich leider nicht hin, sowas lernt man auf der Meisterschule
> leider nicht.

Bitte was - Meisterschule? Metallbauer oder Tischler lernen keine 
Programmierung, das ist klar, aber es sollten doch wohl allgemeine 
Fähigkeiten gebildet werden, sich Informationen zu beschaffen!

Diese Vorgehensweise disqualifiziert Dich, ich würde sie als stinkefaul 
bezeichnen.

Wenn ich schon lese "Uno", dafür gibt es im Internet tausende von 
Anleitungen und Schulscripten, wenn Du es damit nicht schaffst, einen 
Wert am Analogport abzufragen, kaufe Dir eine Raspel und fertige 
Holzfiguren.

Und ja, mir bestätigt es wieder die Richtigkeit, das Handwerk direkt 
nach der Leere verlassen zu haben.

*)Schreibfehler können Absicht sein.

von m.n. (Gast)


Lesenswert?

ONpoint schrieb:
> einen Pt1000 Messwandler

Welchen und mit welchem Ausgangssignal?

von ONpiont (Gast)


Lesenswert?

Thumbmeister dein super Text bietet hier weder hilfe noch sonst irgend 
was, bestätigt nur das du relativ wenig Ahnung von den weiterbildungs 
und Qualifizierungsmaßnahmen hast. Mag sein das du oder andere leute 
sich mit dem arduino besser auskennen aber deswegen hab ich ja genau 
hier angefragt. Man muss im leben nicht alles können man muss nur die 
richtigen leute um Hilfe bitten. Denn ich glaube nicht das wenn du als 
"superhandwerker" ein Haus bauen möchtest dir Informationen alle aus dem 
Internet suchst. Dein Beitrag war nur Stumpfsinnig und keineswegs 
Hilfreich. Aber gibt ja überall diese Art von Menschen die eine 
Fähigkeit haben und sich über andere die das nicht können beschwären 
weil sie ja nichts besseres im leben zu tun haben.

Habe des messwandler von pollin und will ihn im ausgangsbereich von 0-5V 
nutzen.

von m.n. (Gast)


Lesenswert?

ONpiont schrieb:
> messwandler von pollin

Der gehört in die orangefarbene Tonne!

Ein Arduino Beispiel zur Auswertung eines PT1000 findest Du hier: 
Beitrag "Re: PT1000, einfache Auswertung mit AVR (ATmega328)"
Die substanzlosen Beiträge des Herrn MaWin kannst Du getrost ignorieren.

Der Temperturwert wird direkt ermittelt und per USB ausgegeben. Du 
kannst ihn als Istwert auf dem LCD anzeigen. Den Sollwert erhält man 
durch Einlesen des Potis über analogRead(poti_kanal). Ein einfacher 
Vergleich auf >= oder < schaltet das Relais ein oder aus.

von Manfred (Gast)


Lesenswert?

m.n. schrieb:
>> messwandler von pollin
> Der gehört in die orangefarbene Tonne!

Was erstmal Quark ist, im Gegenteil: Mit der Aufbereitung 0-5V Ausgang 
passt das Signal perfekt zum Wandlungsbereich des Prozessors.

von Liz (Gast)


Lesenswert?

Naja, 0.3 Grad Auflosung MIT Polling Schaltung gegen 0.7 Grad Auflösung 
mit einem einfachen Widerstand, wobei die Pollin Schaltung erheblichen 
Mehraufwand bedeutet.
Beides muss man kalibrieren, bei der einfachen Schaltung braucht man nur 
ein 5k Spindeltrimmer anstelle des Sensors anzuschließen, welches auf 
1k+Leitung eingestellt wird.
Damit calibriert man dann 1.1V vref, Toleranz widerstand sowie
Leitungslänge automatisch aus. Der Pollin Messwandler ist aber wirklich 
Murks.

von Liz (Gast)


Lesenswert?

1
# define w unsigned int
2
# define b unsigned char
3
# define d unsigned long
4
# define q d long
5
# define v void
6
7
w pot[10];
8
w pt1000[10];
9
10
w avg(w*p,c i) { b j=i; d t=0; while(i--) t+=p[i]; 
11
 t/=j; while(--j) p[j]=p[j-1]; *p=t; }
12
13
v sensor(w*p,c i) { 
14
  analogRead(i); delay(10); *p=analogRead(i);
15
  avg(p,5); avg(p,10);
16
}
17
18
v idle() { static c f;
19
  sensor(pot,0);
20
  sensor(pt1000,1);
21
 delay(150);
22
 if(f) display(); f=!f;
23
}
24
25
26
#include <LiquidCrystal.h>
27
28
LiquidCrystal lcd(12 /*RS*/, 11 /*E*/, /*D4*/ 5, 4, 3, 2 /*D7*/);
29
30
31
v setup() {
32
  Serial.begin(19200);
33
  pinMode(13,OUTPUT);
34
  digitalWrite(13,0);
35
  lcd.begin(16, 2);
36
  lcd.print("Init 2Point Temp");
37
  Serial.println("\nInit");
38
  lcd.offCursor();
39
  for(c i=50;i--;idle());
40
  lcd.setCursor(0, 0);
41
  lcd.print(" Hello World! ");
42
  lcd.offCursor();
43
}
44
45
v loop() {
46
  if((*pot-5)>*pt1000) digitalWrite(13,HIGH); 
47
  if((*pot+5)<*pt1000) digitalWrite(13,LOW); 
48
  idle();
49
}
50
51
v display() { 
52
  w Set = *pot*10/34; 
53
  w i=*pt1000*10/34;
54
  w j=*pt1000*10-i*34; j=j*10/34;
55
  lcd.setCursor(0, 1);
56
  if(i<100) lcd.print(' ');
57
  if(i<10) lcd.print(' ');
58
  lcd.print(i); lcd.print("."); lcd.print(j);
59
  lcd.print(" Set: "); lcd.print(Set);
60
  if(Set<100) lcd.print(' ');
61
  if(Set<10) lcd.print(' ');
62
  Serial.print(millis()); // per UART ausgeben
63
  Serial.print(" , "); Serial.print(i);
64
  Serial.print("."); Serial.println(j);
65
}

2 Punkt Regler 0-300 Grad Potentiometer auf ain0 und Pt1000 auf Ain1 .
Hysterie 3 grad,  ca 5 Hz Prozess Zeit, 2.5Hz Anzeige Update.

von Einer K. (Gast)


Lesenswert?

Was ein hässliches Gürteltier....


> static c f;
Das versagt!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.