według koncepcji użytkownika Zlodey
z rosyjskiego forum vrtp.ru (2014),
niniejsze wykonanie: Marcin Perliński (SP6MAJ), Dzierżoniów 2021
zapasowy mirror z możliwością pobrania filmiku
Się nasz kuchenny hitlerowski alkoholowy termometr zaokienny firmy Fehrmann-Optik Zittau po ponad 85 latach działania trochę rozkalibrował, bo pokazuje już prawie 3 stopnie więcej i ciągle trzeba sobie w głowie toto trochę poodejmować, aby się skapnąć, jaka jest rzeczywista temperatura zewnętrzna, więc postanowiłem termometr elektroniczny zewnętrzny bezułamkowy, wielgachnocyfrowy, ładnie świecący, ale po ślepiach nocą nic a nic nie rażący oraz z gniazdka sieciowego na wieki wieków amen działający wykonać. Dodatkową motywacją był fakt, że Moja Mama do odczytania temperatury z tego starego adolfowca musiała każdorazowo sięgać po okulary.
Mikrokontroler Attiny2313 plus
podstawka zwykła (nieprecyzyjna), czujnik temperatury DS18B20
(pinout U-MASA-DATA-PLUS), kwarc 4 MHz (tzw. niski), dwa kondziory
ceramiczne 22 pF (można zapakować także 15 pF lub 18 pF), 8
oporników 470 Ω (już nawet 0.125 wata wystarczy),
1 opornik 10
kΩ, 1 opornik 4.7 kΩ, dioda 1N4148, wyświetlacz LED
siedmiosegmentowy trzycyfrowy (multipleksowany) ze wspólną anodą
0.8 cala (współczesny, nowoczesny, skośnooki, low current, high
bright), 7805 oraz garść pomniejszej drobnicy, tudzież zasilacz
wtyczkowy 9 V 500 mA (trochę przewymiarowany amperażowo, bo
termometr niniejszy nie pobiera średnio więcej niż 30...40 mA).
Układ normalny ludzki i bezułamkowy,
bo przy pomiarze temperatury zewnętrznej to zazwyczaj zawracanie
głowy by było tymi całymi aptekarsko dokładnymi miejscami po
przecinku,
ale za to sprytnie zaokrąglający wynik w górę
(dziesiąte ułamka 0.6 do 0.9 °C) lub w dół (dla dziesiątych
ułamka 0.1 do 0.5 °C). Jeśli kable czujnika nie podpięte, to
wyświetla trzy poziome kreski. Jeżeli jest zwarcie/woda w kablu lub
panuje jakiś nieprzewidziany i gigantyczny poziom zakłóceń na
linii transmisyjnej prowadzącej do czujnika, to wyświetli napis
„crc” (= błąd sumy kontrolnej). Po włączeniu na sekundę
zaświecają się wszystkie segmenty wyświetlacza, co pozwala na
jego pełne przetestowanie. Zakres mierzonych temperatur to – 50
do +125 °C. Autorem konceptu oraz softu jest użytkownik Zlodey z
rosyjskiego forum vrtp.ru („Термометр на
ATTINY2313+DS18B20 доработанный”) – adres wątku jest
taki oto:
https://vrtp.ru/index.php?act=categories&CODE=article&article=3515
Można tamże wykopać także i inne wsady *.hex dla kwarców o innych popularnych częstotliwościach taktowania, wszelkie ustawienia bitów konfiguracji, tzw. fusebitów, a także adekwatne alternatywne wsady dla wyświetlacza ze wspólną katodą oraz wszelkie możliwe kody źródłowe). Wielki szacun dla tego osobnika, bo chłopisko łeb ewidentnie ma na karku.
Urządzenie niniejsze działa już od ponad 5 miesięcy bardzo ładnie, dobrze i bezproblemowo. DS18B20 proponuję kupić raczej oryginalny lub naprawdę bardzo perfekcyjnie i rzetelnie podrobiony (takie porządniejsze oryginalne lub zbliżone do oryginału oraz z gwarantowaną pełną obsługą tzw. trybu pasożytniczego na Allegro są obecnie w cenie niestety aż do 12 zł za sztukę).
Wsad (*.hex) do proca (wariant dla kwarcu 4 MHz oraz dla wyświetlacza ze wspólną anodą) ...
... wgrałem na starożytnym kompie z portem LPT programatorem ISP, zrobionym zaledwie z kilku elementów. Soft wgrywający to PonyProg 2000, a fusebity ustawiłem dokładnie takie oto:
Całą procedurę przeprowadziłem
według instrukcji dostępnej pod następującym adresem:
http://danyk.cz/avr_prog_en.html (pobierz jako zapasowy mirror PDF)
Po wgraniu wsadu i ustawieniu fusów może się zdarzyć
(choć nie musi), że komp/programator już nie zechce nigdy więcej
zobaczyć akurat tego zaprogramowanego właśnie przed momentem
proca, ale mało mnie to obchodzi, bo proc wsadzony do termometru
działa normalnie i tak, jak Pan Bóg przykazał, więc nie ma o co
płakać.
Układ wykonałem na plastikowej karcie
„Payback” z Kauflandu, w której szydłem wyprałem wszystkie
potrzebne otwory. Zasilanie poprzez złącze ARK, czujnik na kostce
żyrandolowej
(bo akurat skończyły się mi złącza ARK). Od
siebie dodałem jeszcze prosty układ zasilający
na 7805
(kondzior 100n MKSE przed i jeszcze raz 100n MKSE plus elektrolit 47
µF na 25V
po nim; dokooptowałem także na kablu plusowym
jeszcze jedną diodę 1N4007 zaraz za złączem ARK, ale jeszcze
przed układem stabilizacji napięcia). Połączenia na tak
zaimprowizowanej płytce wykonywałem cienkim emaliowanym drutem
transformatorowym o grubości/średnicy około 0.25 mm. Miejsca,
gdzie druciki się krzyżowały, „dla pełnej spokojności”
zabezpieczyłem diorowskimi koszulkami igelitowymi, ukradzionymi (w
celach naukowych, oczywiście) jeszcze w klasie przedmaturalnej
(około 1990 roku) naszemu profesorowi od ZPT, szanownemu Panu
Jerzemu Fydrychowi. Obudowa to plastikowe opakowanie na kasetę
magnetofonową, w której pilniczkiem wykonałem przepusty kablowe.
Do obudowy tejże dokleiłem żelem sekundowym jeszcze jedną kartę
„Payback”, dzięki czemu bardzo ładnie dało się to zatknąć
za osłonę/maskownicę gniazda sieciowego, na którym termometr de
facto sobie stoi i z którego (poprzez zasilacz „wtyczkowy”) jest
zasilany.
Uwagi końcowe:
1. Se kup dobry (= działający)
czujnik temperatury i naprawdę bardzo, bardzo, bardzo dobrze
go
zabezpiecz przed wpływami atmosferycznymi! Oszczędność/taniość
tu akurat nie zawsze popłaca. No i nerwów trochę szkoda. A może
rozważysz nawet zakup czujnika od razu wodoodpornie fabrycznie
zakapsułkowanego i z gotowym kablem przyłączeniowym o żądanej
długości, gdyż jeśli Twój dom nie ma konkretnego długiego okapu
dachowego, to zacinający deszcz prędzej czy później dostanie się
do czujnika i termometr (przynajmniej na jakiś czas) przestanie
działać.
2. Wyświetlacz musi być współczesny
low current. Układ nie korzysta z dodatkowych tranzystorów
kluczujących, a wydajność prądową uzyskuje poprzez bardzo
sprytne szybkie przełączanie połączonych równolegle portów
mikrokontrolera. Jeśli masz w domu jakieś archaiczne wyświetlacze
siedmiosegmentowe LED, np. z lat osiemdziesiątych czy też wczesnych
dziewięćdziesiątych ubiegłego stulecia, to nie będą się one do
tego celu nadawały (ponieważ musiałbyś przerabiać układ
dodając, dla wyświetlacza ze wspólną anodą oczywiście, trzy
tranzystory kluczujące PNP wraz z odpowiednim zapleczem
rezystorowym). Model użytego przeze mnie wyświetlacza to 8031BG-1 firmy G-NOR (BG-1 to właściwie według katalogu powinien być kolor
zielony, ale może się tam jakiemuś Chińczykowi pod Pekinem po
pijaku maszyna znakująca obudowy źle ustawiła i z rozpędu
pojechał tymże kodem po czerwonych, bo ja zakupiłem akurat wariant
czerwony).
Mała ściąga montażowa dla podłączających wyświetlacz LED do mikrokontrolera:
3. Oporniki odpowiadają za jasność: 470 Ω to wartość optymalna do naszej (bardzo ciemnej) kuchni, do której słońce prawie wcale bezpośrednio nie zagląda, bo okno jest od północnego wschodu. Można sięgnąć także po 430 Ω (zaświeci jaśniej) lub 390 Ω (najjaśniej).
4. Zrobienie fachowej płytki drukowanej będzie zawsze kulturalniejsze i niezawodniejsze niż moja budżetowa januszowsko-druciarska papranina (no i ewentualna naprawa/ogarnięcie mózgiem czegoś takiego będzie duuuużo prostsze i wygodniejsze).
5. Podstawka proca u mnie jest nieprecyzyjna, ale nieco droższa precyzyjna byłaby chyba jeszcze lepsza, bo bardziej niezawodna (= nie zastrajkuje po iluś tam latach działania/kontaktowania).
6. Proca programuj raczej już na
współczesnym kompie ze złączem USB. Niedrogi programator USBasp
kosztuje mniej więcej tyle, co paczka fajek. Softu możesz do tego
używać różnego
(w Internecie znajdziesz mnóstwo różnych
podpowiedzi dotyczących tego zagadnienia). Gdybym posiadał
programator przez USB (bo akurat nie mam), to najprawdopodobniej
używałbym AVRDude wraz z javową nakładką graficzną Burn-O-Matic
(na windach AVRDude wymaga jeszcze wgrania sterowników do
programatora USBasp, a sam komputer musi mieć jeszcze zainstalowane
środowisko uruchomieniowe JRE, bo bez niego Burn-O-Matic nie ruszy).
7. Jeśli posiadasz klasyczny analogowy alkoholowy czy bimetaliczny termometr zaokienny, to go pod żadnym pozorem nie demontuj, a jeśli nie masz żadnego „starodawnego” termometru, to go sobie koniecznie dokup za kilka złotych i zamontuj. Jeśli zabraknie prądu, to nadal będziesz wiedział, jaka jest temperatura. Pamiętaj, aby termometr czy czujnik termometru elektronicznego montować w miejscu zacienionym. Optymalna wysokość pomiarowa to 2 ... 2.5 metra nad poziomem gruntu, bo mniej więcej na takich wysokościach pomiarów dokonują instytuty meteorologiczne (i to właśnie dlatego do budek meteorologicznych prowadzą niewielkie schodki lub krótka drabinka).
8. Dioda 1N4148 jest bezwzględnie obowiązkowa, ponieważ nie tylko zabezpiecza układ przed odwrotnym podłączeniem biegunów zasilania, ale i generuje odpowiedni spadek napięcia, poprawiający warunki pracy czujnika temperatury. Bez tej diodki DS18B20, zwłaszcza taki nieoryginalny, może nie działać lub się nawet natychmiast uszkodzić.
9. Zasilanie to stabilizowane 5V. Specjalnie na tę okazję zmajstrowałem prosty zasilacz/regulator na 7805. Celowo nie użyłem bardziej miniaturowego 78L05, aby mieć spokojniejsze i kulturalniejsze odprowadzanie (i tak bardzo symbolicznych) ilości ciepła. Stabilizatora intencjonalnie nie doginałem całkowicie do płytki, aby powietrze mogło go spokojnie opływać ze wszystkich stron i również ze swoistą premedytacją zostawiłem niewielką szparkę w obudowie w postaci minimalnego niedomknięcia górnej podłużnej szczeliny pudełka po kasecie. I faktycznie – układ jest co najwyżej „letniawy” i mimo różnych kuchennych rewolucji w postaci nierzadko bardzo obficie buchających wyziewów z gotujących się garnków nigdy nie zaparowuje. Ponieważ przed moim stabilizatorem znajduje się jeszcze jedna (= czyli sumarycznie już druga) dioda zabezpieczająca przed odwrotnym podłączeniem biegunów zasilania (1N4007), udało się uzyskać jeszcze jeden punkt łagodnego spadku napięcia i odprowadzania ciepła, a zakres napięć, które należy doprowadzić do złącza ARK, wynosi od 8 do 12 V, względnie nieznacznie powyżej (można zasilać napięciem stałym niestabilizowanym lub stabilizowanym z dowolnego wtyczkowego/innego zasilacza transformatorowego). Zdecydowanie jednakże odradzam sięganie po współczesne budżetowe skośnookie zasilacze impulsowe (np. tanie i beznadziejnie ofiltrowane oraz rażąco nie spełniające jakichkolwiek norm przeciwzakłóceniowych ładowarki od aktualnie produkowanych telefonów komórkowych itd. itp.).
Oto paczuszka zbiorcza z wszystkimi potrzebnymi materiałami (źródła, wsady, fusy, schematy, dejtaszity, zdjęcia, filmik):
https://disk.yandex.com/d/O5GKKXpsVOiSsA
Zachęcam do samodzielnego wykonania i życzę pożytecznego użytkowania.
(Marcin Perliński)