Stap 2: Software voor Control
Nuttig als het is, de infraroodsensor van de temperatuur is slechts een deel van het systeem. Om te controleren op temperatuur, drie items zijn vereist: een warmtebron, een temperatuursensor en een controller die de sensor en de opdracht de warmtebron lezen kan. In ons geval, de hete plaat is de warmtebron, de IR-temperatuursensor (zoals gewijzigd in de laatste stap) is onze sensor en een Ard/vrije-duino uitvoeren van de juiste software is de controller. Alle software voor dit Instructable kan worden gedownload als een Arduino-pakket en een pakket van Processing.
Download het bestand IR_PID_Ard.zip. Unzip het in uw directory van de Arduino (meestal mijn documenten/Arduino). Download het bestand PID_Plotter.zip. Unzip het in uw Processing directory (meestal mijn documenten/verwerking). De bestanden zullen nu beschikbaar zijn in de juiste sketchbooks.
De software die we gebruiken is oorspronkelijk geschreven door Tim Hirzel. Het is gewijzigd door de interface toe te voegen aan de IR-sensor (verstrekt door Scott Dixon). De software wordt een algoritme van de Vermogenssturing bekend als de PID-algoritme geïmplementeerd. PID staat voor evenredige – integraal-derivaat en is de standaard algoritme gebruikt voor industriële temperatuurcontrole. Dit algoritme wordt beschreven in een uitstekend artikel door Tim Wescott waarop Tim Hirzel gebaseerd zijn software. Lees het artikel hier.
Om af te stemmen op het algoritme (Lees hierover in het artikel genoemd) en doel temperatuurinstellingen wijzigen, zullen we een Processing Schets, ook ontwikkeld door Tim Hirzel gebruiken. Het is ontwikkeld voor het roosteren koffie bonen (een andere toepassing van temperatuurregeling) en heette de kale botten koffie Controller, of BBCC. Naam opzij, het werkt geweldig voor surface mount soldering. U kunt de oorspronkelijke versie hier.
Aanpassing van de software
In het volgende, ik ga ervan uit dat u bekend met Arduino en Processing bent. Als u niet bent, moet dan je via de tutorials tot dingen beginnen met het maken van gevoel. Zorg om commentaar te posten op dit Instructable en ik zal proberen te helpen.
De PID-regelaar moet voor het Arduino/Freeduino worden gewijzigd. De clock lijn van de IR-sensor moet worden gekoppeld aan een interrupt-pin. Dit kan op een Arduino, 1 of 0. Op Freeduinos van verschillende soorten, mag u interrupts beschikbaar. Sluit de data lijn van de sensor naar de andere in de buurt van pin (zoals D0, D1 of een andere pin van uw keuze). De lijn voor de verwarmingsplaat besturing kan komen van een digital pin. Op mijn bijzondere Freeduino kloon (beschrijven hier), ik gebruikte D1 en de bijbehorende interrupt (1) voor de klok, D0 voor gegevens, en B4 voor de bedieningsleiding op de hete plaat.
Nadat u de software hebt gedownload, start uw Arduino omgeving en open IR_PID via de menuoptie bestand/schetsboek. Onder het tabblad pwm, kunt u de HEAT_RELAY_PIN definiëren als geschikt is voor uw Arduino of Freeduino variant. Onder het tabblad temp hetzelfde doen voor de IR_CLK PIN, IR_DATA PIN en IR_INT. Wees klaar om te compileren en te downloaden.
Ook uw bewerkingsomgeving starten en openen van de schets van de PID_Plotter. Aanpassen van de BAUDRATE op de juiste waarde en zorg ervoor dat de index gebruikt in Serial.list() [1] in te stellen op de juiste waarde voor uw systeem (mijn poort is index 1).