Ad
Energibutiken.se smarta varor på nätet, leverans till dörren
Besök oss idag
Annonsera i Värmepumpsforum, klicka här för att ställa e-postfråga och få mer info.
140x140vpforum-11.gif
kontakta oss för pris!

Författare Ämne: PLC-Microdator??  (läst 13169 gÃ¥nger)

0 medlemmar och 1 gäst tittar på detta ämne.

Utloggad Theander

  • Kan värmepumpar
  • ***
  • Antal inlägg: 64
  • Karma +0/-0
SV: PLC-Microdator??
« Svar #15 skrivet: 15 juni 2012, 21:28:11 »
sorry slarvigt av mig

if ((pot_value > 400) && (pot_value < 500))

så här skall if satsen se ut
hade glömt parenteser samt vänt på > tecknen

« Senast ändrad: 15 juni 2012, 21:30:11 av Theander »

Utloggad BosseBus

  • Givetvis en
  • Expert pÃ¥ värmepump
  • ****
  • Stad/land: wildmarken
  • Antal inlägg: 432
  • Karma +2/-1
  • Woff Woff grrrr
SV: PLC-Microdator??
« Svar #16 skrivet: 15 juni 2012, 21:36:33 »
Oj då... nu fungerar det....
Tack... ett steg fram.... :)

Utloggad Theander

  • Kan värmepumpar
  • ***
  • Antal inlägg: 64
  • Karma +0/-0
SV: PLC-Microdator??
« Svar #17 skrivet: 15 juni 2012, 21:44:37 »
Lycka till med resterande programmering.

Utloggad BosseBus

  • Givetvis en
  • Expert pÃ¥ värmepump
  • ****
  • Stad/land: wildmarken
  • Antal inlägg: 432
  • Karma +2/-1
  • Woff Woff grrrr
SV: PLC-Microdator??
« Svar #18 skrivet: 15 juni 2012, 21:48:31 »
2 lysdioder mellan 2 olika värden.
Blir så här då? Kanske onödigt skrivit..
Tanken är att jag ska läsa från olika brytare och ge dom olika motstånd, in på samma analoga ingång.
int analogPin = A0;    // pot
int led12 = 12; //led
int led11 = 11; //led
int pot_value = 0;   //Variabel

void setup() {
  pinMode(led12, OUTPUT); 
  pinMode(led11, OUTPUT); 
  Serial.begin(9600);
}

void loop() {
 
  int pot_value = analogRead(analogPin);// läs pot
 
 if ((pot_value > 400) && (pot_value < 500)) //ok kod gör det de ska
 
{
    digitalWrite(led11, HIGH);
}
else
{
     digitalWrite(led11, LOW);
}

if ((pot_value > 500) && (pot_value < 600)) //ok kod gör det de ska
 
{
    digitalWrite(led12, HIGH);
}
else
{
     digitalWrite(led12, LOW);
}
  Serial.println(pot_value);// print pot:
  delay(1);       
}

Utloggad Theander

  • Kan värmepumpar
  • ***
  • Antal inlägg: 64
  • Karma +0/-0
SV: PLC-Microdator??
« Svar #19 skrivet: 15 juni 2012, 21:53:54 »
ja den koden bör tända första dioden mellan 400-500 och sen mellan 500-600

fast egentligen blir det 401-499 och 499-599 i och med att villkoren är större eller mindre än (><)

man kan använda större eller lika med <=
eller mindre eller lika med >=

Utloggad BosseBus

  • Givetvis en
  • Expert pÃ¥ värmepump
  • ****
  • Stad/land: wildmarken
  • Antal inlägg: 432
  • Karma +2/-1
  • Woff Woff grrrr
SV: PLC-Microdator??
« Svar #20 skrivet: 15 juni 2012, 22:05:35 »
Ja jo det märks...att det blir så, försöker lära mig så det är bara test än..
Det här är kul. tummenupp

Utloggad GDS-Jan

  • Dignitär inom värmepump
  • *****
  • Antal inlägg: 3965
  • Karma +10/-7
SV: PLC-Microdator??
« Svar #21 skrivet: 16 juni 2012, 00:35:51 »
fast egentligen blir det 401-499 och 499-599 i och med att villkoren är större eller mindre än (><)

man kan använda större eller lika med <=
eller mindre eller lika med >=

Nu var du petig, han kan aldrig ställa in pot'en med den toleransen  ;)

Han vill lära sig hur man programmerar.

Har man 1 vilkor så skriver man det.

Har man 2 vilkor så skriver man de efter varandra om de är oberoende av varandra.
Rent praktisk så kommer de att ske samtidigt eftersom arduinon kör 16milj instruktioner i sekunden.

Första steget till programmering:
Saker som är oberoende av varandra kan man lägga i en följd.
Men saker som är beroende av ett resultat eller svar från en funktion kan inte utföras innan de har resultatet.

Logiskt eller?
Bor i 180m2 2-plan villa+hel källare i Bergslagen. Värmer huset med en NIBE-F600P FLVP och en egenkonstruerad 4m2 Luftsolfångare. Snart en F1145-6.

Utloggad Theander

  • Kan värmepumpar
  • ***
  • Antal inlägg: 64
  • Karma +0/-0
SV: PLC-Microdator??
« Svar #22 skrivet: 16 juni 2012, 19:51:05 »
Det som är riktigt kul med Arduino är att det finns så mycket expansionsmoduler att köpa till den.

Utloggad BosseBus

  • Givetvis en
  • Expert pÃ¥ värmepump
  • ****
  • Stad/land: wildmarken
  • Antal inlägg: 432
  • Karma +2/-1
  • Woff Woff grrrr
SV: PLC-Microdator??
« Svar #23 skrivet: 04 juli 2012, 18:48:56 »
Provar å ser om det är några vakna i detta ämne.
Tanken är att en led ska blinka 4 gånger
Räknas in i variabel "number" som ska börja på 0 och sen +1 osv. tills 4 är uppnådd, sedan lysa längre..
Sen försöker jag se vad som är i variabeln "number" med serial print...men det visar bara 0
Fel är det ju... kanske någon kan hjälpa till ? ::)
Kod:
int led = 11;// led 11
int number = (0);//Variabel

void setup() {               
  pinMode(led, OUTPUT);
Serial.begin(9600); 
}

void loop() {
   digitalWrite(led, HIGH);   // turn the LED on
  delay(1000);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off
  delay(1000);               // wait for a second
  number +1;                 // + 
  Serial.println(number);// print number:
  delay(1); 
  if (number== 4)            // number
 
  {
  digitalWrite(led, HIGH);    // On led
    delay(10000);       
}
else

  delay(1); 
 
}

Utloggad gossen

  • Har ingen aning, gissar bara.Jag har lärt mig en del av dom som är
  • Dignitär inom värmepump
  • *****
  • Antal inlägg: 1054
  • Karma +0/-0
SV: PLC-Microdator??
« Svar #24 skrivet: 04 juli 2012, 19:40:35 »
Ser inte riktigt vad som är det felet du säger men du gör en eveighetsloop som aldrig nollas och kommer att fortsätta räkna upp tills räknaren slår runt. Detta borde du dock se i utskriften.
Lyser leden någonsin länge?

/G
1.5 Plans villa med källare mitt i Skåne. 21-22*C 120kvm, 18*C i källare 70kvm

Sfinx VP10 som körs med flytande kondensering mot kombipanna samt en Contura 556

Enligt förra ägarna och energideklaratinen 3kbm olja/år.
2011: 1,5kbm olja + 12000KWh (elpatron) (Isolering av vinden i Juni)
2012: 14650kwh Två vintermånader med elpatronsdrift sedan vp11
2013:Mål <12000 Mer optimistiskt mål är <10000, men det nås nog inte 2013.. Blev 11533kwh
2014:MÃ¥l 11000. Blev 11284kwh

Utloggad BosseBus

  • Givetvis en
  • Expert pÃ¥ värmepump
  • ****
  • Stad/land: wildmarken
  • Antal inlägg: 432
  • Karma +2/-1
  • Woff Woff grrrr
SV: PLC-Microdator??
« Svar #25 skrivet: 04 juli 2012, 19:55:45 »
Nej det gör den inte...
Lade till ++ på denna kod
Serial.println(++number);// print number:
Då visar den rätt och koden verkar fungera...
Man kan inte nollställa  "number" ??
Grejar du något själv med Arduino? :o

Utloggad BosseBus

  • Givetvis en
  • Expert pÃ¥ värmepump
  • ****
  • Stad/land: wildmarken
  • Antal inlägg: 432
  • Karma +2/-1
  • Woff Woff grrrr
SV: PLC-Microdator??
« Svar #26 skrivet: 04 juli 2012, 20:08:44 »
Ändrade visst lite mer..
Serial.println(++number);// print number: la till ++
  delay(1); 
  if (number  > 4)            // number Ändrade här ocksÃ¥
 
  {
  digitalWrite(led, HIGH);    // On led
  delay(10000);     
}

else

  delay(1); 
 
}
SÃ¥ nu blinkar den 4 ggr.
sedan in i den andra lopen...

Utloggad gossen

  • Har ingen aning, gissar bara.Jag har lärt mig en del av dom som är
  • Dignitär inom värmepump
  • *****
  • Antal inlägg: 1054
  • Karma +0/-0
SV: PLC-Microdator??
« Svar #27 skrivet: 04 juli 2012, 20:55:34 »
Om du vill att number skall nollas och sedan börja om igen kan du sätta number=0; efter delay(10000);
Jag tror att du igentligen skall kolla lite på for loop och/eller while loop för att få en mindre och tydligare(?) kod.

Nej, jag använder inte arduino själv men jag har programmerat en hel del AVR(som det sitter på arduino) i C.

Nästa gång jag skall göra något mindre hobbyprojekt kommer jag nog att köra på en arduino för man får väldigt mycket för pengarna som gör att det inte är värt att bygga eget från grunden(sen att programmeringssyntaxen är väldigt enkel och att man kan skriva även i C är en bonus:) ).

/G

Edit: SÃ¥g nu att du även ändrat till if (number  > 4) vilket är helt rätt, ett annat alternativ är if (number  >= 4) som är sant ifall number är större än eller lika med 4.
« Senast ändrad: 04 juli 2012, 21:01:16 av gossen »
1.5 Plans villa med källare mitt i Skåne. 21-22*C 120kvm, 18*C i källare 70kvm

Sfinx VP10 som körs med flytande kondensering mot kombipanna samt en Contura 556

Enligt förra ägarna och energideklaratinen 3kbm olja/år.
2011: 1,5kbm olja + 12000KWh (elpatron) (Isolering av vinden i Juni)
2012: 14650kwh Två vintermånader med elpatronsdrift sedan vp11
2013:Mål <12000 Mer optimistiskt mål är <10000, men det nås nog inte 2013.. Blev 11533kwh
2014:MÃ¥l 11000. Blev 11284kwh

Utloggad BosseBus

  • Givetvis en
  • Expert pÃ¥ värmepump
  • ****
  • Stad/land: wildmarken
  • Antal inlägg: 432
  • Karma +2/-1
  • Woff Woff grrrr
SV: PLC-Microdator??
« Svar #28 skrivet: 04 juli 2012, 21:14:09 »
Ja det var ju rätt logiskt...det fungerade.. tummenupp
Mycket att lära... får ta en bit i taget...

Utloggad Berrkan

  • Lär mig om värmepumpar
  • **
  • Antal inlägg: 11
  • Karma +0/-0
  • Värmepump eller värmepumpar?
SV: PLC-Microdator??
« Svar #29 skrivet: 20 januari 2013, 10:17:04 »
Är det någon som har en länk till en vettig öppna/stäng pi regulator för arduino.
Skulle kanske kunna programmera en själv men skulle gärna uppskatta att titta på en.

För att göra en enkel regulator som reglerar inom 2° funderar jag såhär
Läs av temp
Läs av börvärde.
Om börvärde > temp +1, slå till relä1 1sek x P x temperaturdifferans.
Om börvärde < temp -1, slå till relä2 1sek x P x temperaturdifferans
Vänta (I) sekunder.

Tänker jag fel?

nibe, ctc, baxi, golvvärme, solenergi Energibutiken.se smarta varor på nätet, leverans till dörren
 


Annonser

Right Block

Vibrationsdämpare
Besök vår webshop, klicka här!
Energioffert.se
Energibutiken.se smarta varor på nätet, leverans till dörren
luftvärmepumpar, tillbehör, installationsmaterial, vi har allt!
Annonspriser

Online just nu!

Ad
Energibutiken.se smarta varor på nätet, leverans till dörren
Besök oss idag
Annonsera i Värmepumpsforum, klicka här för att ställa e-postfråga och få mer info.
140x140vpforum-11.gif
kontakta oss för pris!