hulp gezocht voor servo sturing opbasis van temparatuur

Als U een gezamenlijk project wil starten of aan projecten van anderen mee wilt werken.
Berichten: 144
Geregistreerd: 29 Okt 2012, 16:54

hulp gezocht voor servo sturing opbasis van temparatuur

Berichtdoor dirk ambu » 08 Feb 2013, 16:36

beste

ik heb een idee om in mij auto (oldtimer) een klimaatcontrole te bouwen en hiervoor wil ik een arduino uno gebruiken
nu ben ik nog maar net bezig met het programmeren ( als je het zo mag noemen het is meer kopie paste ) van de arduino
dus zou ik graag wat hulp willen hebben bij het maken van het programma
eerst even een omschrijving van het project en hoe het zou moeten werken
hardware:
1 auto :D
4 maal DHT11 1 bestuurders kant 1 bijrijders kant 1 achterin de auto 1 buiten de auto
6 maal servo 1 lucht kanaal raam 1 lucht kanaal voeten bestuurders kant 1 lucht kanaal raam 1 lucht kanaal voeten bijrijders kant 1 lucht kanaal achter bank 1 voor de verdeling kachel lucht en buiten lucht

1 maal kachel water regel klep deze komt tussen de motor en de kachel unit
1 maal regel potmeter 1 voor temperatuur instelling
1 maal regel potmeter 2 voor kachel op voeten of ramen of ertussen in
1 maal lcd 16.4
2 Pusbutton
1 maal motor regelaar voor inblaas motor
1 maal arduino uno als deze hier geschikt voor is

software

hoe zou het moeten werken
met de potmeter 1 stel ik de temperatuur in dit is zichtbaar op de lcd
als deze lager is dan de temperatuur in de auto maar hoger dan de buiten temperatuur dan wordt er buiten lucht naar binnen geblazen als de buiten lucht hoger is krijg ik de melding op de lcd dat koelen nu niet mogelijk is en het systeem doet niets ( heb geen airco )
als ik de temperatuur instel op 24 graden en buiten is het 10 graden dan gaat de buiten lucht regel klep dicht en gaat de kachel unit aan door de kachel water regel klep te openen
nu kan ik door middel van het drukken op de Pusbutton1 wat zichtbaar is op de lcd kiezen tussen de volgende standen lucht op de ramen lucht op de voeten of een mix hiervan dit wordt gestuurd door 4 servo,s
door op pushbutton 2 te drukken kan ik regelklep voor de achterbank open zetten door vaker te drukken gaat deze verder open of dicht dit gaat in 5 stappen ook hier zit een DHT11 die de servo regelt mocht het te warm worden of te koud de temperatuur is voor alsnog in de gehelen auto gelijk

al deze informatie is zichtbaar op de lcd hoe moet ik nog even bedenken want het is nu nog teveel voor op een 16.2 lcd of het moet voorbij scrollen
naast deze informatie geeft de lcd in rust de binnen en buiten temperatuur en vochtigheid aan alleen bij het bedienen van de potmeters of de pushbutton,s verspringt het scherm enkelen seconden zodat er iets afgelezen kan worden of ingesteld

de rest zal wel vanzelf komen tijdens het opzetten van het project

ik hoop zo genoeg informatie te hebben gegeven

en hoop dat iemand me wil helpen om te beginnen
ik zou het fijn vinden als iemand me kan vertellen hoe ik de informatie uit een dht11 kan door koppelen naar een servo

groet dirk ambu

Advertisement

Gebruikers-avatar
Berichten: 229
Geregistreerd: 20 Jan 2013, 12:01

Re: hulp gezocht voor servo sturing opbasis van temparatuur

Berichtdoor astrofrostbyte » 08 Feb 2013, 20:43

poeh groot project ..
op je vraag : "ik zou het fijn vinden als iemand me kan vertellen hoe ik de informatie uit een dht11 kan door koppelen naar een servo"
kan ik je aangeven hoe ik het vaak doe.

Je hebt een overdracht functie nodig van Humidity en temp naar Servo positie.
Je defineerd en begrenst de input variabelen :
    Humidity [ 20% .. 80% ] voor de dht11
    Temperatuur [ 0.0 .. 50.0] voor dht11
    eventueel Dewpoint[ 0.0 .. 50.0 ] kan je uitrekenen http://en.wikipedia.org/wiki/Dew_point par. Simple approximation
en je uitgangs variabelen:
    Servo stand [0 ... 100] waarschijnlijk PWM toch ?.

Nu komt het moeilijke deel om hier een goede overdracht voor te bepalen die reageert zoals je wil.
Dit kan je vaak in excel een beetje voorbereiden/testen.
Code: Alles selecteren
int OverdrachtFunctie(double Humidity, double Temp)
{ double a = 0.203847654;
  double b = 8.284763778;
  double c = 4.203841094;
  double d = -340.2384752;

  double servostand = a*Temp*Temp + b*Temp + c*Humidity*Humidity + d*Humidity + e;
  if (servostand > 100) servostand = 100;
  if (servostand <    0) servostand = 0;
  return int(servostand)
};


Maar terwijl ik het nu tik denk ik dat dit niet de beste methode is om het te doen :lol:

Het idee is het zelfde maar het lijkt makkelijker om het wiskunde deel te vervangen door een gedrag beschrijving.
denk meer aan hoe je het regelgedrag in mensentaal zou beschrijven.
vaak worden de input variabelen dan in groepen verdeelt :
    Temperatuur : koud, fris, lekker, warm , heet.
    Humidity : kurkdroog , droog, normaal, damp, nat of evt meer groepen

nu kan je denken in de vorm van: if( koud AND droog ) servo = 20%

Als je nu voor iedere combinatie een servostand defineerd heb je ook een regeling.
Dit is prima te doen in een multidim. array. " Servo[hum][temp]; " en de code is klein en snel.

Het zijn twee methoden om je gewenste gedrag in te beschrijven. maar ik zie dat er erg veel variabelen zijn voor het klimaatbeheer in de auto en dus eigenlijk best wel complex kan worden.
Gear: Arduino- Uno,Due,Ethernet,Mega2560 , OLS LogicAnalyser, TDS1002, Rigol DG1022, J-Link EDU, BusPirate

Berichten: 144
Geregistreerd: 29 Okt 2012, 16:54

Re: hulp gezocht voor servo sturing opbasis van temparatuur

Berichtdoor dirk ambu » 08 Feb 2013, 23:02

ja ik probeer de steile leer curve zal ik maar zeggen :)
buiten deze sturing ben ik de auto namelijk ook nog aan het bouwen dus druk zat
en waarom ik het wil gewoon om dat ik denk dat het kan
ik probeer het gewoon stukje voor stukje als ik eerst met potmeters de servo,s kan sturen voor de kachelkleppen dan heb ik al een groot deel overwonnen voor mezelf
het probleem van de auto is namelijk dat nu alle kleppen voor de voeten of het raam tegelijk open gaan waardoor de bijrijder het warm krijg en het bij de bestuurder koud blijft
deze kleppen zaten aan elkaar en heb ik los gemaakt om zo te zorgen dat als ik alleen rij ik de warmte krijg
dus kleine stapjes al zou ik het wel erg tof vinden als het me in het geheel zou lukken

want als de kachel rond werkt ga ik verder met de deur vergrendeling en het alarm
plus de uitlezing van de motor zit standaard geen elektronica op dus alles ga ik zelf aanbrengen
zodat ik de ingaande lucht kan meten en de uitlaat gassen plus de temperatuur van het koelwater
en het toeren tal daarnaast komt er een nieuw type km teller in en die moet via een sensor de pulse door geven aan de km teller
echter klopt dan de werkelijke km niet met de teller ik moet iets maken dat per 10 pulse er 1 puls bij verzint dus ik ben er nog langer niet ;)


groet dirk ambu

Terug naar Gezamenlijke projecten

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 7 gasten