Ustatnia modyfikacja 13 marca 2024 przez Olek
Na uczelni zajmuję się między innymi badaniami w zakresie rezystancji termicznej elementów półprzewodnikowych, Do tego celu niezbędna jest komara do badań cieplnych. W pracowniach są różne komercyjne komory, głównie firmy WAMED. Niestety trochę nie spełniają one moich oczekiwań. Chodzi mi głównie o wygodę obsługi jak i stabilność nastawionej temperatury. Dlatego zaplanowałem samemu wykonać taką komorą. Znalazłem na uczelni starą komorę KBC-32W z analogowym sterownikiem i postanowiłem ją przerobić do moich potrzeb. Komora posiada oddzielny moduł sterowniczy, co ułatwiało modyfikację. Zapoznałem się z budową sterownika i wykorzystałem z niego sam moduł zasilania grzałki. Wyłączyłem oryginalny sterownik i podpoiłem swój sterownik. Sterownik włączenie i wyłączeniem grzałki w trybie PWM 1 tak, aby utrzymać odpowiednie parametry w komorze.
Do sterowania posłużył gotowy moduł do kontroli drukarki 3D, zbudowany na bazie mikrokontrolera z rodziny STM32 2. Znając ten mikrokontroler i mając odpowiednią dokumentację z oryginalnym kodem źródłowym programu do drukarki 3D, mogłem stworzyć nowe oprogramowanie, tym razem sterujące komorą cieplną. Duży dotykowy i kolorowy 3,5-calowy wyświetlacz zapewniał wygodną obsługą. Oprócz tego jest jeszcze pokrętło do precyzyjnego nastawy parametrów.
Jedynym większym problemem było podłączenie do niego czujnika PT100. Trochę obszedłem ten problem, wykorzystując dobrze mi znany i przetestowany cyfrowy przetwornik MAX31865. Ten moduł komunikuję się z mikrokontrolerem za pośrednictwem protokołów SPI. Ne miałem tylko wyprowadzonych wyjść do tego protokołu w wyświetlaczu. Za to było złącze na kartę SD. Karty SD wykorzystują też sam protokół SPI i właśnie to wykorzystałem, Dorobiłem specjalną protezę karty SD, za pomocą której mogłem podłączyć czujnik temperatury PT100.
W oryginale komorze również jest zamontowany czujnik PT100 tylko z dwu przewodowym wyprowadzeniem. Ten czajnik nie za bardzo współpracował z moim przetwornikiem, dlatego zastosowałem swoją sondę temperaturową i to trójprzewodową. Takie podłączenie do przetwornika automatycznie eliminuje (kompensuje) wpływ przewodu na odczyt. Zastosowanie oddzielnej sondy ma też jeszcze jeden plus, mianowicie można ją umieścić bardzo blisko badanego elementu w komorze. Badając różne komory cieplne, stwierdziłem, że w różnych ich miejscach są różne temperatury, dochodzące nawet do 2-3 °C. Umieszczenie sondy w konkretnym miejscu, gdzie znajduje się badany przedmiot eliminuje tę niedokładność.
Interfejs ekranu dotykowego jest stworzony przy pomocy biblioteki LVGL Pozwala on ustawić parametry pracy komory jak również śledzi jej bieżący stan. Za utrzymanie odpowiedniej temperatury w piecu odpowiada algorytm PID z predefiniowanymi parametrami. Na wyświetlaczu mamy krótką historię temperatury w komorze w postaci wykresu. Na jej podstawie możemy stwierdzić czy temperatura się już ustaliła i jest stabilna.


Z komorą można się komunikować za pomocą interfejsu USB. Z poziomu komputera widoczna jest port RS. Komunikacja odbywa się za pomocą prostych komend/poleceń. Napisałem prostą aplikację w Pytonie, która to kontroluje i monitoruje pracę komory.
Na razie pozostaje to tylko jeszcze jakość rozsądnie obudować. Na razie połączyłem na krótko, testuję i używam. Jestem bardzo zadowolony z wyników, bo uzyskałem pond 10-krotną dokładność w stabilności temperatury, która obecnie wynosi 0,01°C. Również szybkość ustaleni temperatury jest większa niż w rozwiązaniu komercyjnym. Obsługa też jest bardziej nowoczesna i komfortowa. Jest jeszcze kilka niuansów do poprawienia i usprawnienia, ale czeka na wolne moje moce przerobowe.
Aktualizacja
Wreszcie sterownik doczekał się obudowy, która została przymocowana do starego kontrolera.

- PWM Modulacja szerokości impulsów (pulse-width modulation) ↩︎
- BIGTREETECH TFT35-V3.0 ↩︎













