Witam ponownie. Ze względu na częstą potrzebę wykonywania pomiarów temperatury w dość długich procesach postanowiłem ulżyć sobie i stworzyć coś co zrobi to za mnie. Efektem moich przemyśleń jest urządzenie oparte o mikrokontroler Atmega8 i czujnik temperatury DS18b20. Dodatkowo urządzenie wyposażone jest w wyświetlacz, na którym można odczytywać mierzoną temperaturę. Samo urządzenie nie jest rejestratorem. Biorąc pod uwagę, że analizy danych łatwiej jest dokonywać na komputerze, postanowiłem napisać program, który będzie komunikował się układem, pobierał z niego zmierzoną wartość temperatury i zapisywał ją w bazie danych, łącznie z czasem i datą jej zaistnienia.
Rejestracja odbywa się poprzez transmisję danych przez interfejs szeregowy w komputerze i uc. Program mikrokontrolera jest dość prosty. W głównej pętli programu uC komunikuje się przez magistralę 1-wire z czujnikiem temperatury, z którego pobiera wynik pomiaru. Po małym przeliczeniu wartość temperatury wyświetlana jest na wyświetlaczu. Komunikacja szeregowa z komputera polega na wysyłaniu zapytań do układu i oczekiwaniu właściwej odpowiedzi na zadane pytanie
Przewidziałem 4 zapytania wysyłane do układu:
„1” – odbiór aktualnej temperatury
„2” – zwiększenie temperatury progowej o 0,5°C
„3” – obniżenie temperatury progowej o 0,5°C
„4” – zapytanie zwracające aktualną temperaturę progową.
Program poza zbieraniem danych ma możliwość zmiany temperatury progowej. Układ wyposażyłem również w wyjście z regulacją termostatyczną działające w oparciu o zadaną temperaturę progową. Dzięki temu mamy możliwość zdalnego sterowania urządzenia (np. grzałki) w zależności od temperatury. Sam program został napisany w DELPHI. Wykorzystuje bazę danych MySQL, w której zapisywane są wyniki. W programie wyświetlane są temperatury: obecna, najmniejsza, największa. Tak samo, mamy możliwość filtrowania zbieranych danych według daty, godziny, numeru pomiaru. Dodatkowo możemy oglądać wyniki w formie wykresu, który może być aktualizowany na bieżąco. W programie jest również eksport wyników do pliku CSV. Temperatury można rejestrować min. co jedną sekundę, ze względu na przetwarzanie pomiaru przez czujnik DS trwające ok 750ms + dodatkowe operacje wyświetlania na lcd - założyłem, że 1s będzie bezpieczna i w zupełności mnie satysfakcjonuje.
Widok układu:
Widok okna programu:

Rejestracja odbywa się poprzez transmisję danych przez interfejs szeregowy w komputerze i uc. Program mikrokontrolera jest dość prosty. W głównej pętli programu uC komunikuje się przez magistralę 1-wire z czujnikiem temperatury, z którego pobiera wynik pomiaru. Po małym przeliczeniu wartość temperatury wyświetlana jest na wyświetlaczu. Komunikacja szeregowa z komputera polega na wysyłaniu zapytań do układu i oczekiwaniu właściwej odpowiedzi na zadane pytanie

„1” – odbiór aktualnej temperatury
„2” – zwiększenie temperatury progowej o 0,5°C
„3” – obniżenie temperatury progowej o 0,5°C
„4” – zapytanie zwracające aktualną temperaturę progową.
Program poza zbieraniem danych ma możliwość zmiany temperatury progowej. Układ wyposażyłem również w wyjście z regulacją termostatyczną działające w oparciu o zadaną temperaturę progową. Dzięki temu mamy możliwość zdalnego sterowania urządzenia (np. grzałki) w zależności od temperatury. Sam program został napisany w DELPHI. Wykorzystuje bazę danych MySQL, w której zapisywane są wyniki. W programie wyświetlane są temperatury: obecna, najmniejsza, największa. Tak samo, mamy możliwość filtrowania zbieranych danych według daty, godziny, numeru pomiaru. Dodatkowo możemy oglądać wyniki w formie wykresu, który może być aktualizowany na bieżąco. W programie jest również eksport wyników do pliku CSV. Temperatury można rejestrować min. co jedną sekundę, ze względu na przetwarzanie pomiaru przez czujnik DS trwające ok 750ms + dodatkowe operacje wyświetlania na lcd - założyłem, że 1s będzie bezpieczna i w zupełności mnie satysfakcjonuje.
Widok układu:





Widok okna programu:


Cool? Ranking DIY