Page 1 of 1

Temper

Posted: 27. May 2010 12:10
by kristfin
ég hef verið að pæla í hitamælum og automation á hluta af bruggferlinu. hef ekki viljað fara í ardúnú eða svoleiðis, á nóg af tölvum til að nota við stýringar.

datt niður á hitamæla á netinu fyrir usb,
Image

pantaði mér síðan af ebay.

gerði nátturlega ekkert í því fyrr en núna, þegar ég breytti gerjunarskápnum í keggerator.

pælingin var að búa til relay controller úr usb lyklaborði. þá gæti ég notað caps lock, numlock og scroll lock til að stýra relay. nota síðan þessa usb hitamæla til að nema hitann.

nema hvað. ég riggaði upp litlu forriti til að halda utan um hitamæla og relay í gær. datt í hug að sýna ykkur nokkrar skjámyndir. þetta ætti að útskýra sig sjálft. notaði c#, sem er víst voðalega gott, ég hefi meira forritað í c/c++ og java. en maður verður að vera opinn fyrir nýjungum (yeah, right).

til gamans má geta þess að ég missti relay controllerinn sem ég var búinn að smíða úr lyklaborði ofaní kælingarfötuna, þannig að ég þarf að búa til annan. :( hveitibjórinn er því að malla í 19°C í stað 16°.

blátt er fyrir kælingu, rautt fyrir hitun og hvítt fyrir NOP eða bara hitamælingu
Image

hægt að sjá logg yfir hvað er gert
Image

í stillingum er hægt að tilgreina csv skrá svo hægt sé að greina hitamynstrið í tætlur með excel. einnig screensaver mode til að brenna ekki skjáinn þegar þetta fer í action og hvað mælingar eru örar.
Image

ég nennti ekki að hafa þetta flókið í fyrstu umferð, svo það er bara hægt að setja upp 3 "unit", þeas, hitamælir + relay og stilla saman. Min off og max on er svo að maður stúti ekki kælipressum á ísskáp ef eitthvað fer úrskeiðis.
Image

ég fann síðan control á netinu til að sýna einfalt graf af því sem hefur gerst. en auðvitað er best að gera það bara í excel
Image

og í excel
Image

fyrir forritunarnördana, þá eru hitamælarnir og relayin klasar sem útfæra interface. klasarnir eru síðan hlaðnir upp á keyrslutíma. þannig að til að bæta við hitamæli, þá er þetta útfært:

Code: Select all

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace info.obak.temper.thermometer
{
    public interface IThermometer
    {
        double GetTemp();
        double GetCalibratedTemp();
    }
}
dæmi

Code: Select all

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace info.obak.temper.thermometer
{
    class VirtualThermometer : Thermometer, IThermometer
    {
        Random rand = new Random();
        static decimal current = 20.0M;                
       
        public override double GetTemp()
        {
            decimal delta = 2.0M - (decimal)(4 * rand.NextDouble());

            current = current + delta;
            return (double)current;
        }
    }
}
og svipað fyrir relayin

Code: Select all

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace info.obak.temper.relay
{
    public interface IRelay
    {
         void TurnOn();
         void TurnOff();
         bool IsOn();
    }
}

Re: Temper

Posted: 28. May 2010 09:22
by hrafnkell
Þetta er helvíti fínt hjá þér! Er neminn bara með serial interfaci eða hvað?

Re: Temper

Posted: 28. May 2010 09:45
by kristfin
hitamælrinn notar serial yfir usb. hægt að tala við hann með serial communication.
ég nota dll sem kom með honum til að tala við hann. bara 2 föll, innri og ytri. ég á samt eftir að leysa það hvernig ég get verið með marga tengda í einu. ég finn útúr því.

Re: Temper

Posted: 28. May 2010 11:45
by hrafnkell
usb hub og hver nýr mælir fær væntanlega nýtt com port bara?

Re: Temper

Posted: 28. May 2010 12:20
by kristfin
já. það á ekki að vera flóknara.

ég er líka að spá í að búa til eitthvað svona
Image

þá getur maður búið til ódýrari hitamæla

sjá http://www.lancos.com/webtherm.html

Re: Temper

Posted: 28. May 2010 12:29
by hrafnkell
jamm getur gert svipað með ds18(b/s)20 hitamæla... Og þú getur fengið free samples af hitamælunum :)