INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Fortschritte beim 3-flammigen Gasgrill - nun wieder Pause
04.09.2017, 21:55 (Dieser Beitrag wurde zuletzt bearbeitet: 04.09.2017 23:31 von MOE..)
Beitrag #1
Fortschritte beim 3-flammigen Gasgrill - nun wieder Pause
Hallo Allerseits,

mache diesmal einen neuen Thread auf Wink

meine Temperaturregelung der 3 Stepper funktioniert nun tadellos, ich hatte in der IF-Anweisung die () vergessen und somit war keine Stellgröße für die Stepper da ... auch habe ich den Counter KY-040 erfolgreich einbinden können, welcher seine Werte auch exakt an die IF-Anweisung übergibt ... jedoch da habe ich wieder mal eine Frage:
das Zeitfenster, in welchem der Counter die rechts-links-Drehung erkennt ist zu kurz um in einer angemessenen Zeit die Temperatur-Vorwahl zu ändern - kann man da nicht eine "Schleife" oder eine andere definierte Wiederholrate einbauen?

im Moment läuft alles wie folgt:
Arduino startet mit 80 Grad-Vorgabe - die Stepper laufen in 1/16-tel Schritten pro Programmdurchlauf solange bis diese 80 Grad erreicht sind - unabhängig davon kann ich auch vor Erreichen dieser 80 Grad weiter auf beispielsweise 320 Grad hochdrehen (aber wie o.g. mit sehr viel Geduld, da immer nur 1 Counter-Step pro Programm-Durchlauf möglich ist) - wären die Steaks nun angebraten, so kann ich auf die Counter-Welle drücken (SW) und es stellt sich auch wie gewünscht die voreingestellte Warmhaltetemperatur von 80 Grad ein.

Code:
#include <max6675.h>
#include <Stepper.h>
int ktcSO = 9;
int ktcCS = 10;
int ktcCLK = 11;
MAX6675 ktc(ktcCLK, ktcCS, ktcSO);
int SPU = 2048;
Stepper Motor(SPU, 5, 7, 6, 8);
int Counter = 80;
boolean Richtung;
int Pin_clk_Letzter;  
int Pin_clk_Aktuell;
int pin_clk = 2;  
int pin_dt = 3;
int button_pin = 4;


void setup()
{
  Serial.begin(9600);
  delay(500);
  Motor.setSpeed(5);
   pinMode (pin_clk,INPUT);
   pinMode (pin_dt,INPUT);
   pinMode (button_pin,INPUT);
   digitalWrite(pin_clk, true);
   digitalWrite(pin_dt, true);
   digitalWrite(button_pin, true);
   Pin_clk_Letzter = digitalRead(pin_clk);
}
void loop()
{
  Serial.print("Ist: ");
  Serial.println(ktc.readCelsius());

  if (ktc.readCelsius()<(Counter))
    {
    Motor.step(128);
    }
    else
    {
    Motor.step(0);
    }
  delay(1000);

  if (ktc.readCelsius()>(Counter+5))
    {
    Motor.step(-128);
    }
    else
    {
    Motor.step(0);
    }
    delay(1000);
   // --- ab hier kommt der KY-040 (Counter) zur Temperatureinstellung dazu ---  
   Pin_clk_Aktuell = digitalRead(pin_clk);
    
   // check of changes
   if (Pin_clk_Aktuell != Pin_clk_Letzter)
   {
          
        if (digitalRead(pin_dt) != Pin_clk_Aktuell)
        {  
            // Pin_CLK change first
            Counter ++;
            Richtung = true;
        }
          
        else
        {      
   // or Pin_DT changed
            Richtung = false;
            Counter--;
        }
        
   //   if (Richtung)
   //   {
   //        Serial.println (">>> wärmer >>>");
   //   }
   //   else
   //   {
   //        Serial.println(">>> kälter >>>");
   //   }

        Serial.print("Soll: ");
        Serial.println(Counter);        
   }
   // prepare to next round:
   Pin_clk_Letzter = Pin_clk_Aktuell;
    
   // reset-function to store Position
   if (!digitalRead(button_pin) && Counter!=0)
     {
       Counter = (0+80);
       delay(200);
       Serial.print("Warmhalten: ");
       Serial.println(Counter);
     }
}

in meinem Listing hier habe ich die Sketche des
- Temperaturfühlers
- Steppers
- und Counters
"inneinandergestrickt"

wie kann ich nun dem KY-040 mehr Zeit zur Reaktion geben?[/code]
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.09.2017, 22:05
Beitrag #2
RE: Fortschritte beim 3-flammigen Gasgrill - nun wieder Pause
Solange Du mit delay(1000) Dein System ausbremst, kann es nicht zwischendurch auf Taster reagieren.
Schau Dir BlinkWithoutDelay und die Nachtwächtererklärung an und baue Deinen Sketch um.
Der Loop muss schnell durchlaufen, wenn nix zu tun ist. Deine Steuerung der Motoren muss auch höchstens aller 5-10 Sekunden laufen, das Wärmesystem ist insgesamt träge genug.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.09.2017, 22:16 (Dieser Beitrag wurde zuletzt bearbeitet: 04.09.2017 23:18 von MOE..)
Beitrag #3
RE: Fortschritte beim 3-flammigen Gasgrill - nun wieder Pause
(04.09.2017 22:05)Tommy56 schrieb:  Solange Du mit delay(1000) Dein System ausbremst, kann es nicht zwischendurch auf Taster reagieren.
Schau Dir BlinkWithoutDelay und die Nachtwächtererklärung an und baue Deinen Sketch um.
Der Loop muss schnell durchlaufen, wenn nix zu tun ist. Deine Steuerung der Motoren muss auch höchstens aller 5-10 Sekunden laufen, das Wärmesystem ist insgesamt träge genug.

Gruß Tommy

Danke für Deinen raschen Post,

habe die 2 "delays" mit // deaktiviert - die Stepper machen nun kaum Pause und der Counter gibt mir aber auch nicht mehr Zeit Huh

kann man den Counter nicht in eine Art "Counter.h" verschieben so das er separat laufen kann?


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.09.2017, 22:38
Beitrag #4
RE: Fortschritte beim 3-flammigen Gasgrill - nun wieder Pause
(04.09.2017 22:16)MOE. schrieb:  ...
habe die 2 "delays" mit // deaktiviert - die Stepper machen nun kaum Pause und der Counter gibt mir aber auch nicht mehr Zeit Huh

kann man den Counter nicht in eine Art "Counter.h" verschieben so das er separat laufen kann?
Das wird sicher nicht zum erwünschten Erfolg führen.

Was genau soll den dein "Counter" bewirken ?
Leider fehlen in deinem Sketch komplett die Erklärungen, damit auch wir uns da durchfinden.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.09.2017, 22:46
Beitrag #5
RE: Fortschritte beim 3-flammigen Gasgrill - nun wieder Pause
(04.09.2017 22:38)hotsystems schrieb:  
(04.09.2017 22:16)MOE. schrieb:  ...
habe die 2 "delays" mit // deaktiviert - die Stepper machen nun kaum Pause und der Counter gibt mir aber auch nicht mehr Zeit Huh

kann man den Counter nicht in eine Art "Counter.h" verschieben so das er separat laufen kann?
Das wird sicher nicht zum erwünschten Erfolg führen.

Was genau soll den dein "Counter" bewirken ?
Leider fehlen in deinem Sketch komplett die Erklärungen, damit auch wir uns da durchfinden.

mit Counter meine ich natürlich den KY-040 (Dreh-Schritt-Schalter-links-rechts-mit Drucktaster) ... dieser funktioniert ja und gibt auch seine Werte in den "Counter-Puffer" von dem sie von der IF-Anweisung auch verarbeitet werden ... Damit stelle ich die Temperaturvorwahl ein.

P.S.: das mit den millis ist ja ganz interessant und mag bei LEDs hilfreich sein - ich sehe als Laie hier aber für mich nicht die nutzbare Stelle Sad
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.09.2017, 23:00
Beitrag #6
RE: Fortschritte beim 3-flammigen Gasgrill - nun wieder Pause
(04.09.2017 22:46)MOE. schrieb:  ...mit Counter meine ich natürlich den KY-040 (Dreh-Schritt-Schalter-links-rechts-mit Drucktaster) ... dieser funktioniert ja und gibt auch seine Werte in den "Counter-Puffer" von dem sie von der IF-Anweisung auch verarbeitet werden ... Damit stelle ich die Temperaturvorwahl ein.

P.S.: das mit den millis ist ja ganz interessant und mag bei LEDs hilfreich sein - ich sehe als Laie hier aber für mich nicht die nutzbare Stelle Sad

Ok...Counter ist jetzt klar.

Millis hat nichts mit den Leds alleine zu tun sondern ist für eine blockierfreie Programmierung nötig. Das mit den Leds ist nur ein Beispiel, nachdem man sich richten kann.
Das Grundprinzip gibt nur vor, dass der Controller nicht angehalten bzw. pausieren muss, was er bei "delay()" unweigerlich macht und somit weitere Eingaben blockiert. Hier oder hier findest du eine gute Erklärung dazu.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.09.2017, 23:06
Beitrag #7
RE: Fortschritte beim 3-flammigen Gasgrill - nun wieder Pause
@hotsystems: finde Deine Signatur spannend - wenn erst noch mein 2-zeiliges Display per I2C dazu kommen muss Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.09.2017, 05:58
Beitrag #8
RE: Fortschritte beim 3-flammigen Gasgrill - nun wieder Pause
Hallo MOE.,
thia, Du kannst Deiner “Counter“ Variable auch einen größeren Wert zuweisen.
int faktor = 5; oder 7, oder 10, …20 …
Falls ich Dich richtig verstanden habe, um das (schneller hochzählen) geht Dir oder?
Code:
int faktor = 10;  

...
// Pin_CLK change first
            Counter +=faktor;    // <---- Counter wird jedesmal um 10 inkrementiert => 80, 90, 100, ...
            Richtung = true;
        }
          
        else
        {      
   // or Pin_DT changed
            Richtung = false;
            Counter-=faktor;
...
Gruß Georg

Sorry für mein nicht korrektes Deutsch. Sad
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Problem beim Hochladen des Sketchs Telefonmann 9 425 04.02.2020 10:40
Letzter Beitrag: Blende8
  plötzlich merkwürdige Fehlermeldung beim Übersetzen Jan99 4 248 30.01.2020 16:45
Letzter Beitrag: Tommy56
  Probleme beim zusammenfügen Zweier Sketche Joel 18 1.066 07.01.2020 19:09
Letzter Beitrag: Tommy56
  Fehler beim Kompilieren für das Board ... Kurt Wallander 20 1.254 13.11.2019 21:55
Letzter Beitrag: Tommy56
  DCF77 Fehler beim Kompilieren Xwill 6 1.685 11.11.2019 19:55
Letzter Beitrag: Kurt Wallander
  Arduino Bewässerung schaltet Pumpe, geht aber sofort wieder aus Thorsten_S 24 1.816 11.10.2019 12:46
Letzter Beitrag: hotsystems
  Fehler beim Hochladen auf Atmega 328 delay 17 1.704 30.07.2019 12:33
Letzter Beitrag: Tommy56
  Sketch wieder downloaden AnFi 11 1.687 20.06.2019 20:28
Letzter Beitrag: AnFi
  Hilfe benötigt beim Verknüpfen von Klassen Batucada 7 1.229 02.03.2019 23:47
Letzter Beitrag: georg01
  Arduino IDE Fehler beim öffnen des Seriallen Monitors mgm099 6 1.418 28.12.2018 12:42
Letzter Beitrag: mgm099

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste