(Super) Termometr 4 punktowy *z podłącz. do PC* [nowy wątek]

Teoria, praktyka, sprzęt, kolumna
laurentp
100%
100%
Posty: 1318
Rejestracja: 2013-07-08, 22:08
Lokalizacja: Mazowieckie

(Super) Termometr 4 punktowy *z podłącz. do PC* [nowy wątek]

Post autor: laurentp » 2017-01-17, 20:43

1). Czym "TO" jest, a czym NIE?

- jest to TERMOMETR przewidziany do prowadzenia procesu rektyfikacji w kolumnie rektyfikacyjnej (np AAbratek), oparty o popularne czujniki DS18B20, 4szt, umieszczone w: kolumnie ("10 półka" - 40cm od dołu kolumny), głowicy, wylocie cieczy (wody) chłodzącej, oraz "cieczy roboczej" (zacierze / nastawie).
- NIE jest to STEROWNIK kolumny, przynajmniej na dzień dzisiejszy
(2017-02-15), choć umożliwia sterowanie elektrozaworem odbioru, ręcznie,
lub AUTOMATYCZNIE w zakresie odbioru "serca"."

- oprócz "podstawowych" wskazań temperatur umożliwia wyświetlanie ODCHYŁEK temperatur (kolumny i głowicy) od momentu załączenia tego trybu ("delta"). Z tego co zrozumiałem proces zachodzący w kolumnie, to właśnie te odchyłki od "temperatur dnia" są dla "nas" ISTOTNE.

- posiada również ALARMY, włączane i wyłączane (odchyłki temperatur kolumny i głowicy) oraz bezwarunkowe ("zagrzanie" kolumny, zbyt wysoka temperatura cieczy (wody) chłodzącej. Alarmy kolumny i timera WYŁĄCZAJĄ sterowanie elektrozaworem.

- poza tym wyposażony jest w TIMER (a alarmem) w zakresie 15sek - 2h. Oraz zegar odliczający czas od włączenia.

- dodatkową funkcją jest elektroniczna wersja "tabeli Akasa" (przeliczenia Tcieczy w kotle na pozostały % - przybliżone oczywiście).

- jest PODŁĄCZALNY do komputera ("PC") lub innego urządzenia z portem USB, z którego czerpie też zasilanie (ale można po prostu użyć zasilacza USB).

- może sterować ELEKTROZAWOREM, "ręcznie", w zakresie 1-9 i 10-100%
załączenia, lub AUTOMATYCZNIE (odbiór serca w/g stanu stabilności
kolumny) - 100-20%, ja używam CEME 9934 NC, cewka 230V, uszczelnienie EDPM.

PYTANIA / UWAGI proszę pisać w STARYM wątku (który polecam czytać OD KOŃCA!), ten piszę ku przejrzystości tematu!
Ostatnio zmieniony 2017-02-18, 16:37 przez laurentp, łącznie zmieniany 3 razy.
(Super, forumowy, DARMOWY!) termometr 4 punktowy
Nienawidzę... mechaniki... Za to przemiany fazowe zaczynają mnie fascynować ;P
Dobry polityk jest jak dobry Indianin...
I czego taki NAPRAWDĘ się boi? Zgadniecie? [patrzcie kto coś ugrał z Wiejską]

laurentp
100%
100%
Posty: 1318
Rejestracja: 2013-07-08, 22:08
Lokalizacja: Mazowieckie

Re: (Super) Termometr 4 punktowy *z podłącz. do PC* [nowy wą

Post autor: laurentp » 2017-01-23, 18:42

2). Budowa: TERMOMETR oparty jest o procesor ATMega328P w obudowie DIL28, (pierwsze wersje były na ATMega8, ale miał za mało pamięci), firmy ATMEL z popularnej 8-bitowej(!) rodziny AVR. Jest to TAKI SAM procesor, jak w Arduino R3, Arduino Nano (którego z resztą używam na płytce eksperymentalnej).

Obrazek

W związku z tym, ŁATWE (dla umiejących doczytać, jak skompilować ponownie kod pod "posiadanym systemem operacyjnym", Linux, Win$, Mac) jest zbudowanie własnej SPRZĘTOWEJ wersji termometru. Przy zmianie podłączonych pinów trzeba "tylko" wyedytować ze zrozumieniem plik "defines.h" i przekompilować program. Jak to zrobić, pełno jest instrukcji w necie, w tym PO POLSKU.

Czujniki DS18B20 są podłączone PO JEDNYM NA RAZ w trakcie KONFIGURACJI, natomiast RÓWNOLEGLE w trakcie PRACY. Wszystkimi 3 pinami. Zaoszczędza nam to kabli, ja mam połączone na złączach XLR, w tym 4 gniazda (jakby "hub pasywny") są zamontowane w kegu i do tego się wpina kable (z kolumny, głowicy, chłodzenia i do termometru), sondę "ciecz" mam podłączoną do nich na stałe.

Za połączenie do PC (i zasilanie) odpowiada MODUŁ (przejściówka) USB/serial oparta na układzie PL2303. Wersja z 5 pinami, 5V, 3.3V, RxD, TxD, masa.

Hasło Allegro: "USB PL2303":

Obrazek
Lub taki (w/g pomysłu nemo82):

Obrazek
w tym przypadku zamiast pinów prostych, do podłączenia konwertera, lutujemy piny kątowe.

Wyświetlacz to moduł LCD 4x16 znaków, WAŻNE, z firmy ARTRONIC.PL LINK Allegro , bo pod NIEGO jest zaprojektowana płytka drukowana. Typ / kolor PODŚWIETLENIA jest DOWOLNY, co kto lubi.

Pod LCD i obok umieszczone są przyciski, z tego z tych umieszczonych obok, działają te przy 1, 2 i 4 linii, ZAMIAST przycisku obok 3 linii podłączamy "moduł z triakiem" do sterowania ELEKTROZAWOREM.
Przyciski poniżej LCD oraz IMPULSATOR są wykorzystane. Możliwe, że ZAMIAST przycisku po prawej stronie będzie coś innego podłączone.

Moduł sterowania elektrozaworem: AVT440/3

Obrazek

Płytki termometru i LCD są połączone "szpilkami" (DŁUGIMI!, 15mm) i listwą w którą są wetknięte. Jest to konieczne, aby móc wyciągnąć procesor w celu zaprogramowania nowej wersji programu. Mechanicznie są mocowane 15mm "słupkami" z gwintem M2.5, bo takie otwory są fabrycznie w wyświetlaczu LCD.

Orientacja kostki procesora jest niezbyt intuicyjna (ale widoczna w plikach w archiwum), ale dzięki temu płytka jest JEDNOSTRONNA (tania i łatwa do wykonania / polutowania) z JEDNĄ zworką.

ARCHIWUM z schematem i płytką w wersji do zamawiania płytek (*.BRD + *.SCH) jak i w formie plików graficznych. Płytki JA zamawiałem w fabrykapcb.pl. Można u nich zamówić i 1szt.

Archiwum.ZIP

ARCHIWUM z schematem i płytką
ARCHIWUM KODU: 2017-02-27


Obrazek

Obrazek

Pomysł na złącze termometrów:
Hasło Allegro: "złącze 3 pin cb".

Obrazek

Tak samo "idiotoodporne" jak XLR które u siebie zastosowałem, a sporo tańsze.

LICENCJA na projekt SPRZĘTOWY: CC-BY-SA NC [NON COMMERCIAL!] Co znaczy, że KAŻDY może dla siebie lub kolegi wykonać, pod warunkiem, że na tym NIE zarabia.

Możliwa jest również licencja do celów komercyjnych, ale to już na PW.

PYTANIA / UWAGI proszę pisać w STARYM wątku (który polecam czytać OD KOŃCA!), ten piszę ku przejrzystości tematu!
Załączniki
termometr_elektronika_2014-03-24.zip
(174.72 KiB) Pobrany 271 razy
Ostatnio zmieniony 2017-02-27, 22:48 przez laurentp, łącznie zmieniany 6 razy.
(Super, forumowy, DARMOWY!) termometr 4 punktowy
Nienawidzę... mechaniki... Za to przemiany fazowe zaczynają mnie fascynować ;P
Dobry polityk jest jak dobry Indianin...
I czego taki NAPRAWDĘ się boi? Zgadniecie? [patrzcie kto coś ugrał z Wiejską]

laurentp
100%
100%
Posty: 1318
Rejestracja: 2013-07-08, 22:08
Lokalizacja: Mazowieckie

Post autor: laurentp » 2017-01-23, 22:41

ad 2). DRUGA PLATFORMA - równolegle do systemu na procesorze ATMega328P rozwijam wersję opartą o ESP8266 (NodeMCU, 32bity + WiFi). Ze względu na ilość (właściwie brak) pinów I/O, na dzień dzisiejszy, funkcjonalność jest ograniczona. Są podłączone termometry, LED/buzzer, TRZY przyciski (kasowanie alarmu, przełączenie kolumny i głowicy w tryb odchyłki "delty"). NIE jest podłączony przycisk (planowany) załączania trybu automatycznego odbioru "serca" / przełączenia odczytu temperatury kotła na wskazanie %% w nim oraz IMPULSATOR (brak PWM, brak timera).

Obrazek

Planuję podłączyć te przyciski tak jak jest podłączony na tej platformie LCD - poprzez expander I2C/8bit (PCF8574A). Ale to dopiero przyszłość.

Za to odczyt poprzez SIEĆ (nawet Internet) DZIAŁA. Może (będę próbował) uda mi się również uruchomić odczyty jako stronę WWW. Byłby odczyt na komputerze / tablecie / smartfonie "zwykłą przeglądarką", BEZ jakiegokolwiek oprogramowania.

Również powinno się dać uruchomić pomiar z rozdzielczością 0.01*C przy użyciu czujnika STS21.

PYTANIA / UWAGI proszę pisać w STARYM wątku (który polecam czytać OD KOŃCA!), ten piszę ku przejrzystości tematu!
Ostatnio zmieniony 2017-01-24, 13:41 przez laurentp, łącznie zmieniany 1 raz.
(Super, forumowy, DARMOWY!) termometr 4 punktowy
Nienawidzę... mechaniki... Za to przemiany fazowe zaczynają mnie fascynować ;P
Dobry polityk jest jak dobry Indianin...
I czego taki NAPRAWDĘ się boi? Zgadniecie? [patrzcie kto coś ugrał z Wiejską]

nemo82
10%
10%
Posty: 18
Rejestracja: 2012-12-25, 03:57
Lokalizacja: Gdynia

3a). Montaż elektroniki

Post autor: nemo82 » 2017-02-17, 14:15

3a). Montaż Elektroniki

Witam,
Tak jak napisałem we wcześniejszym poście zamieszczam opis montażu termometru w najłatwiejszy dla mnie sposób. Do tej pory wykonałem 2 termometry i oba działają bez zarzutu. Elementy potrzebne do montażu oraz gdzie je kupić znajdziecie w tym wątku lub w pliku Excel dołączonym do tego postu.
Obrazek
Cały sprzęt potrzebny do montażu i prawie wszystkie elementy (brak dystansów i śrubek) znajdują się na zdjęciu nr 1. Jeśli nie macie 3 ręki nie kupujcie jej specjalnie bo można się obyć bez niej ale ułatwia ona lutowanie. Moja lutownica to zwykła lutownica kolbowa o mocy 40W bez regulacji temperatury z grotem o ostrej końcówce.
Tak więc zaczynamy.
1. Pierwszą rzeczą jest poszerzenie otworów do dystansów. Moja płytka przyszła z otworami o średnicy około 1,2 mm. Bierzemy wiertło o średnicy 2 lub 2.5 mm (zależy od średnicy posiadanych gwintów do dystansów) i rozwiercamy cztery otwory zaznaczone czerwonymi obwódkami.
Obrazek
2. Obsadzanie elementów zaczynamy od najmniejszych elementów. Większość elementów nie ma biegunów więc bez różnicy jak je włożymy. Przy elementach biegunowych zaznaczę, jak należy je poprawnie zamontowane.
Przewlekamy 4 rezystory delikatnie wyginając nóżki by nie uszkodzić elementu i montujemy je blisko płytki żeby mocno nie odstawały. Następnie przekładamy płytkę na 2 stronę i lutujemy je w dowolnej kolejności. Grot przykładamy tak, by rozgrzać miedziane pole na płytce oraz lutowany element i po chwili przykładamy cynę, która powinna pokryć lutowany element oraz pole. Po polutowaniu wszystkich rezystorów obcinaczkami skracamy nóżki do wysokości ok 2mm i czynność tą powtarzamy po zlutowaniu każdego elementu, który wystaje znacząco ponad płytkę. Lut powinien być lśniący. Jeśli jesteście początkujący polecam przeczytać Kurs Lutowania na stronie forbot Kurs Lutowania forbot.pl
Obrazek
3. Bierzemy jedną z obciętych nóżek od rezystora i przewlekamy ją by zrobić zworkę i lutujemy.
4. Przewlekamy kondensatory ceramiczne 22pF lekko rozginając nóżki i lutujemy.
5. Przewlekamy następnie 3 kondensatory ceramiczne 100nF i lutujemy.
Obrazek
6. Przewlekamy diody Transil przez płytkę. UWAGA jest to element biegunowy więc upewniamy się, że biały pasek na diodzie jest skierowany w stronę rezystora nad nimi.
7. Wkładamy podstawkę DIL28 upewniając się, że małe półokrągłe wycięcie jest po prawej stronie i lutujemy.
8. Przewlekamy bezpiecznik polimerowy 0,1A (może być 0,25A) i lutujemy.
Obrazek
9. Przewlekamy kwarc 16 MHz niski pomiędzy kondensatory i lutujemy.
10. Wkładamy potencjometr montażowy stojący 10k i lutujemy. Ma on 3 nóżki więc nie da się go wsadzić odwrotnie.
Obrazek
11. Bierzemy listwę kołkową kątową( Goldpin) i odcinamy od całości 5 pinów. Przewlekamy przez płytkę kierujący piny w kierunku bliższej krawędzi płytki i lutujemy.
12. Bierzemy listwę kołkową prostą niską ( Goldpin) i odcinamy od całości 3 piny i 2 piny. Przewlekamy przez płytkę i lutujemy.
13. Przewlekamy buzzer przez płytkę. UWAGA jest to element biegunowy. Nóżka oznaczona „+” powinna być od lewej bocznej krawędzi płytki i lutujemy.
Obrazek
14. Z gniazda kołkowego odcinamy cześć na 16 gniazd. Najlepiej ciąć na końcu 17 pina brzeszczotem do metalu i później pilnikiem wyrównać pozostała nierówność . Element wkładamy w płytkę i lutujemy. UWAGA – by zachować kompatybilność z przejściówką I2C/LCD lepiej by było zamontować gniazdo 16 pin w wyświetlaczu a długie piny dać do płytki.
15. Obsadzamy na płytce 6 microswitchy TACT 17.5mm. U mnie microswitch 3 jest niższy od pozostałych bo jest to nieużywany przycisk i nie nakładamy na niego nakładki. Jest możliwość podłączenia do niego modułu wykonawczego z triakiem i sterowanie elektrozaworem.
Obrazek
16. Przewlekamy czerwony LED przez płytkę. UWAGA jest to element biegunowy. Strona płaska na diodzie powinna być skierowana do lewego brzegu płytki i ustawiamy wysokość tak by dioda wystawała około 23mm nad płytkę i lutujemy.
17. Wkładamy impulsator do płytki 2 cienkie nóżki do góry i 3 cienkie na dół oraz 2 szerokie z boku. Jest to ostatni element jaki lutujemy na płytce.
Obrazek
18. Z listwy kołkowej wysokiej odcinamy 16 pinów, przewlekamy przez wyświetlacz i lutujemy. Moja miała 18mm wysokości więc wyrównałem ja obcinaczkami do odpowiedniej wysokości. UWAGA – by zachować kompatybilność z przejściówką I2C/LCD lepiej by było zamontować gniazdo 16 pin w wyświetlaczu a piny dać do płytki.
Obrazek
19. Do gotowej płytki wkładamy mikrokontroler Atmega 328P-PU uważający by wycięcie było z prawej strony tak jak na podstawce.
20. Wkładamy zworkę na 2 piny z listwy kołkowej (wyjęcie zworki wyłącza buzzer).
21. Podłączamy przejściówkę UART-USB do listwy kołkowej kątowej.
1. GND (czarny) 2. RxD (Biały) 3. TxD (Zielony) 4. VCC - 5V (Czerwony) 5. Pusty.
Konwerter USB-UART RS232 PL2303HX na kablu 1m
Obrazek
22. Mocujemy dystanse 15mm w 4 otwory używając dystansów 5mm zew/wew jako śruby od dołu oraz do wyświetlacza. Jeśli macie śrubki to używamy ich do wyświetlacza, jeśli chcecie to zamontować w obudowie KADEX Z-50A to od dołu wkręcamy po 2 dystanse 5mm z gwintem wew/zew
24. Wkładamy wyświetlacz w płytkę, podłączamy do komputera lub ładowarki do telefonu.
25. Podłączamy czujniki Dallas DS18B12 do listy kołkowej 3 pinowej:
1. GND 2. Data In / Out 3. VCC

W tym momencie powinniście mieć w pełni działający termometr. W następnym poście opiszę jak wykonać podłączenie czujników do płytki uniwersalnej z wykorzystaniem gniazd i złącz Mini Jack 3,5mm oraz jak rozmieścić w obudowie płytkę z termometrem oraz wykonanie otworów do przycisków oraz diody.
Pozdrawiam
Marcin
Załączniki
Elementy i koszty.xls
(52 KiB) Pobrany 131 razy
Ostatnio zmieniony 2017-02-19, 05:06 przez nemo82, łącznie zmieniany 4 razy.

laurentp
100%
100%
Posty: 1318
Rejestracja: 2013-07-08, 22:08
Lokalizacja: Mazowieckie

Re: 3a). Montaż elektroniki

Post autor: laurentp » 2017-02-17, 14:25

Do pkt 21) - ja inaczej montuję (i inny) konwerter USB/serial:
UWAGA: ostatnio dostałem konwertery z INNYM układem pinów niż kiedyś (i nie pasujące w związku z tym do płytki)!

Zdjęcia dość upierdliwego szczegółu montażowego: podłączenia / mocowania konwertera USB -> serial do płytki.

Są 2 metody, trudna, i trudniejsza :)

- trudna (na zdjęciach): zaginamy nóżki konwertera w dół, do płytki lutujemy 5 pinów, lutujemy piny do nóżek. Trudność polega na tym, że nóżki są dość twarde.

- trudniejsza: usuwamy 2mm "kondoma" na konwerterze, wylutowywujemy (dmuchawka / opalarka jak ktoś zręczny, mi się udało) złącze kątowe z konwertera, wlutowujemy w konwerter i płytkę 5 pinów (proste). Drobny minus - konwerter jest kilka mm głębiej w obudowie. [ale nie przesuwałem, bo traktuję tą metodę jako dla hardcorów ;] ]

Obrazek

Obrazek

Obrazek

PYTANIA / UWAGI proszę pisać w STARYM wątku (który polecam czytać OD KOŃCA!), ten piszę ku przejrzystości tematu!
(Super, forumowy, DARMOWY!) termometr 4 punktowy
Nienawidzę... mechaniki... Za to przemiany fazowe zaczynają mnie fascynować ;P
Dobry polityk jest jak dobry Indianin...
I czego taki NAPRAWDĘ się boi? Zgadniecie? [patrzcie kto coś ugrał z Wiejską]

nemo82
10%
10%
Posty: 18
Rejestracja: 2012-12-25, 03:57
Lokalizacja: Gdynia

3b). Przykładowy montaż w obudowie Kradex Z-50A

Post autor: nemo82 » 2017-02-19, 19:20

3b). Przykładowy montaż termometru w obudowie Kradex Z-50A razem z gniazdami do czujników na płytce uniwersalnej 3x7

Obrazek
1. Montaż rozpoczynamy od zaznaczenia czterech otworów do słupków dystansowych na dolnej części obudowy. Bierzemy płytkę i dosuwamy ją maksymalnie do prawej strony i około 2 mm od górnej krawędzi i zaznaczamy znacznikiem. Następnie wiercimy otwory o średnicy 2 – 2,5 mm. Pomiędzy płytką i obudową wykorzystujemy 2 szt. 5mm dystansów z gwintem wew/zew a do dokręcenia 1 dystans 5mm lub śrubki 5mm.
Obrazek
2. Następnie bierzemy górną pokrywę i wycinamy 4 środkowe słupki (miejsce zaznaczone na czerwono). Kolejno zaznaczamy otwory na przyciski, impulsator, diodę i wyświetlacz (do zaznaczenia otworów użyłem szablonu wydrukowanego z pliku board_2vb.pgn podklejonego pod sztywną tekturę). Do wiercenia na początek używamy wiertła 2 mm (daję to możliwość przesunięcia docelowych otworów jeśli w zaznaczaniu coś poszło nie tak) . Po wywierceniu otworów o średnicy 2mm sprawdzamy czy wszystko pasuje oraz czy wyświetlacz pokrywa się z liniami w górnej części obudowy.
Obrazek
3. Kolejno wycinamy miejsce na wyświetlacz nożem. Jest to pracochłonne ale pozwoli na dosyć dokładne wycięcie otworu (mój obrys był minimalnie mniejszy niż wyświetlacz więc skorygowałem to pilnikiem). W momencie gdy wyświetlacz wchodzi w obudowę z lekkim oporem i przyciski pasują można je poszerzyć do docelowej średnicy przycisków i diody.
Obrazek
4. Do wejść dla czujników używamy płytki uniwersalnej dwustronnej 3x7 cm , 4 gniazd mini jack 3,5 mm do druku, 2 słupków dystansowych 15mm i 4 śrubek. Otwory pod gniazda w płytce rozwiercamy do średnicy 1,5 mm. Następnie skracamy płytkę na równo z korpusem gniazda. Po włożeniu gniazda w płytkę zaginamy środkowe nóżki i do reszty lutujemy kabelki, które wychodzą w 3 miejscach. Schemat wyjść gniazda i wtyku mini jack poniżej. Po zlutowaniu całości przekładamy płytkę na 2 stronę i lutuje z góry wszystkie kable razem z przedłużką do płytki stykowej.
Obrazek
Obrazek
5. Bierzemy słupki dystansowe i dokręcamy do płytki uniwersalnej **UWAGA** lepiej jest wywiercić nowe otwory do dystansów w płytce bliżej gniazd (zaznaczone na czerwono punkty na 4 zdjęciu) niż używać oryginalnych bo braknie jakieś 2-3mm w obudowie (ja spiłowałem lekko słupki w obudowie oraz płytkę z termometrem i wszystko się zmieściło). Zaznaczamy otwory na dystanse i wiercimy otwory w dole obudowy. Następnie przykładamy bok obudowy, zaznaczamy na nim rozmieszczenie gniazd i wiercimy otwory. Wkładamy bok z płytką, dokręcamy dystanse i podłączamy kabelki do termometru. Wkładamy 2 bok, zakładamy górę i następnie mocujemy nóżki od spodu.
Obrazek
6. Nasadki na przyciski, które zastosowałem miały prostokątne gniazdo wiec rozwierciłem je wiertłem 3mm, natomiast pokrętło do impulsatora przeciąłem w połowie wysokości.
Obrazek
Mam nadzieję, że mój opis pomoże Wam w zrobieniu swojego własnego termometru. Całość tj. lutowanie płytki termometru, montaż obudowy, lutowanie gniazd zajęła mi około 7 godzin .
Pozdrawiam
Marcin

nemo82
10%
10%
Posty: 18
Rejestracja: 2012-12-25, 03:57
Lokalizacja: Gdynia

Przykładowe wgrywanie wsadu do Atmega328P na WIN7 64bit

Post autor: nemo82 » 2017-03-04, 17:31

3c). Przykładowe wgrywanie gotowego wsadu do mikrokontrolera Atmega328P-PU na komputerze z Windows7 - 64bit.

I. Do wgrania wsadu do Atmega328P-PU potrzebne nam będzie:
1. Programator np: USBASP v2.0 (ja w tym przykładzie będę się takim posługiwał; wystąpiły przypadki, że programator był uszkodzony – jest to chińska masowa produkcja, ja swój kupiłem w sklepie na miejscu i mój działa bez problemu).
UWAGA: Są także lepsze programatory z gotowymi podstawkami, które znacznie ułatwiają programowanie np.ISP Adapter - podstawka ZIF .Nie trzeba kombinować z płytką stykową, kabelkami itd. mają one także możliwość programowania większej ilości mikrokontrolerów ale są one droższe niż zestaw od metody, którą prezentuje.
2. Prototypowa płytka stykowa (można również wykorzystać podstawkę DIL28 i do niej dolutować wszystkie kabelki i elementy)
3. Osiem kabelków do płytki stykowej z końcówkami męskimi (można użyć przewodów od kabla sieciowego UTP/STP tzw. skrętki)
4. Kwarc 16 Mhz
5. Dwa kondensatory 22pF i jeden 100nF
6. Program WinAVR
7. Program Zadig(ver.2.2) do instalacji sterowników dla programatora USBASP.
8. Pliki z wsadem. W drugim poście jest zawsze najnowsza wersja do pobrania.
Do wgrania wsadu możemy także użyć programu Burn-O-Mat v.2
9. Program Burn_o_Mat v2 (nakładka na avrdude, link od kolegi krzyski)


II. Instalujemy program WINAVR w głównym katalogu na dysku C, wybieramy nazwę katalogu do instalacji na WINAVR.
Pobrane archiwum z wątku o termometrze rozpakowujemy a następnie wybieramy 2 pliki: main_atmega328p.hex(bin) oraz main_atmega328p_eeprom.hex(bin) i kopiujemy je do katalogu C:\WinAVR\bin
Obrazek
III. Podłączamy programator USBASP do komputera (wyłączamy automatyczne wgrywanie sterowników z witryny Windows Update), uruchamiamy program Zadig, w menu Options wybieramy opcję List All Devices, wybieramy nasz programator z listy urządzeń USB i instalujemy sterowniki do programatora wybierając libusbK (v3.0.7.0). Odłączamy programator od komputera.
Obrazek
IV. Wkładamy chip Amtega328P do płytki stykowej. Następnie wkładamy kwarc 16 MHz także po lewej stronie przy nóżkach 9 i 10. Kolejno dokładamy dwa kondensatory 22pF: w pola 8 i 9 oraz 8 i 10 następnie kondensator 100 uF w pola 7 i 8.
Obrazek
Teraz podłączamy wtyk z taśmy programatora kabelkami do płytki stykowej:

Wtyk - kolor kabelka - Nr nóżki (tak jest u mnie na zdjęciach, kolejność podłączania dowolna ).

VCC - czerwony - Nóżka 7
GND - czarny - Nóżka 8
RESET - pomarańczowy - Nóżka 1
MOSI - żółty - Nóżka 17
MISO - biały - Nóżka 18
SCK - niebieski - Nóżka 19
Następnie łączymy 7 VCC - zielony - 20 AVCC
oraz pole 8 GND - żółty - 22 GND
Obrazek
Korzystając ze schematu powinno to być prostsze niż mój opis słowny :) .

V. Do wgranie wsadu możemy użyć konsoli Windows i wpisać komendy dla avrdude, które podałem poniżej lub skorzystać z nakładki Burn-O-Mat v2 (program do działania wymaga środowiska Java).

Va).Uruchamiamy konsole systemu Windows (w pole "Wyszukaj pliki i programy" wpisujemy: CMD i uruchamiamy).

Przechodzimy do głównego katalogu na dysku C dwukrotnym poleceniem "cd.." a następnie przechodzimy do katalogu WINAVR/bin: "cd WINAVR" , "cd bin".
Podłączamy taśmę do programatora i podłączamy go do komputera. Dla sprawdzenie czy wszystko jest ok wpisujemy komendę:

Kod: Zaznacz cały

avrdude -p m328p -c usbasp -n
Obrazek
Jeśli wszystko zrobiliśmy poprawnie to możemy przystąpić do zaprogramowania mikrokontrolera.

Jeśli mamy 'nowy' mikrokontroler najpierw ustawiamy 'fuses' komendą:

Kod: Zaznacz cały

avrdude -p m328p -c usbasp -U hfuse:w:0xD1:m -Ulfuse:w:0xFF:m -U efuse:w:0x07:m
Następnie wgrywamy plik main:

Kod: Zaznacz cały

avrdude -p m328p -c usbasp -P usb -U flash:w:main_atmega328p.hex
Obrazek
Jako ostatni wgrywamy plik eeprom:

Kod: Zaznacz cały

avrdude -p m328p -c usbasp -P usb - U eeprom:w:main_atmega328p_eeprom.hex
Obrazek

Obrazek
Vb). Instalujemy AVR8 Burn-O-Mat v2 na komputerze. Uruchamiamy program i przechodzimy do Settings --> AVRDUDE. Tutaj ustawiamy katalogi do programu i pliku konfiguracyjnego avrdude (C:\WinAVR\bin), wybieramy nasz programator z listy rozwijalnej (usbasp) i ustawiamy port, na którym pracuje programator (usb).
Obrazek
Przy nowym mikrokontrolerze klikamy na fuses, ustwiamy kolejno wartości: efuse – FF ; hfuse – D1 ; Lfuse – FF . Następnie: Apply i Write. Wgrywanie pliku main i eeprom to wybranie lokalizaji, gdzie mamy pliki i kliknięcie na Write (pirerwszy raz najpierw plik main potem eeprom, przy wgrywaniu nowej wersji patrz uwagi poniżej).

UWAGA:
1. Fuses wgrywamy tylko raz.
2. Plik eeprom wgrywamy tylko za pierwszy razem,chyba ze w poście jest wyraźnie napisane, że są zmiany w pamięci eeprom.
3. Jeśli wgrywamy nową wersję to wystarczy tylko plik main_atmega328p.hex(bin)

Po wgraniu odłączamy programator od komputera, wyciągamy mikrokontroler z płytki stykowej, wkładamy do termometru i do dzieła.
Pozdrawiam
Marcin

nemo82
10%
10%
Posty: 18
Rejestracja: 2012-12-25, 03:57
Lokalizacja: Gdynia

Re: (Super) Termometr 4 punktowy *z podłącz. do PC* [nowy wątek]

Post autor: nemo82 » 2017-05-15, 20:56

3d). Instrukcja obsługi i opis funkcji termometru – wersja wsadu z dnia 27-02-2017

Po złożeniu termometr posiada pięć pojedynczych przycisków „P1 – P6” , przełącznik obrotowy z przyciskiem (enkoder) „E”, diodę, buzzer oraz wyświetlacz LCD. Numery przycisków zaznaczone na zdjęciu nr od 1 do 6 oraz enkoder E.

Obrazek

I. Pierwszą czynnością jaką wykonujemy jest konfiguracja sensorów temperatury. Naciskamy i przytrzymujemy „P1” i podłączamy zasilanie do termometru (gniazdo USB w komputerze lub ładowarka telefonu 5v z wyjściem USB).
1. Podłączamy czujnik „Tkolumny" umieszczony na 10 półce teoretycznej (wysokość około 40 cm nad zbiornikiem). Po poprawnym wykryciu czujnika termometr wyświetla komunikat „OK” potwierdzamy to przyciskiem P2 (na LCD wyświetla się komunikat o podłączeniu kolejnego czujnika) i odłączamy czujnik.
2. Podłączamy czujnik „Tglowicy” znajdujący się w głowicy kolumny odbiorczej (ewentualnie czujnik umieszczony w pobliżu OOB (Obniżonego Odbioru Bocznego). Naciskamy przycisk „P2”, odłączamy czujnik.
3. Kolejny podłączany czujnik to „Twody”. Możemy go umieścić w dwóch miejscach. Pierwsza to wylot wody z chłodnicy . Drugie miejsce to odpowietrzenie kolumny (miejsce, w którym wylecą opary alkoholu przy niedostatecznym przepływie wody chłodzącej). Naciskamy „P2”.
4. Podłączamy ostatni czujnik „Tcieczy” umieszczony w zbiorniku (kegu). Po wciśnięciu przycisku „P2” nastąpi reset termometru. Podłączamy wszystkie czujniki do termometru i po chwili powinniśmy otrzymać na wyświetlaczu odczyty wszystkich temperatur.
Obrazek

II. W czasie prowadzenia odbioru dla dwóch czujników „Tkolumny” i „Tglowicy” możemy włączyć tryb DeltaT krótkie wciśnięcie przycisków „P3” lub „P4” przełącza bezpośredni odczyt temperatury na tryb odchyłki np. „Tkolumny –> Dkolumny”. Nie musimy zapamiętywać jaka jest wartość temperatury tylko termometr pokazuje nam o ile zmienia się jej wartość od momentu włączenia trybu DeltaT.
Przy bezpośrednim odczycie temperatury dłuższe (ponad 2s) wciśnięcie przycisków „P3” lub „P4” ustawia nam tryb DeltaT oraz alarm dźwiękowy i świetlny (Tkolumny ->Akolumny) , który uaktywnia sie, gdy wartość bezwzględna odchyłki przekroczy wartość 0,10°C dla czujnika umieszczonego w głowicy i 0,15°C dla czujnika umieszczonego w kolumnie na 10 półce.

Obrazek

III. Po wciśnięciu przycisku „P6” termometr pokazuje przybliżoną procentową zawartość alkoholu w zbiorniku wyliczoną wg tabeli Akasa. Wartość jest wyliczana na podstawie temperatury czujnika w zbiorniku (temperatura zależy od ciśnienia i dlatego jest to wartość przybliżona dla zakresu temperatur odpowiadających 0-40%).

IV. Naciskając przycisk impulsatora „E” termometr w trzeciej linijce LCD przechodzi cyklicznie do wyświetlania wartości funkcji: Timer -> UpTime -> PWM out -> Twody.

Obrazek

1. Pierwsza funkcja to "Timer" . Kręcąc impulsatorem wybieramy jedną z wartości czasu i dłuższe wciśnięcie przycisku „E” włącza / wyłącza odliczanie czasu. W momencie, gdy odliczanie zostanie zakończone włączy się alarm dźwiękowy i świetlny. O działającym odliczaniu czasu informuje nas znak "x" zmieniający sie na"+"

2. Druga funkcja "UpTime" pokazuje nam czas od momentu włączenia termometru w formacie GG:MM:SS - „UpTime=00:06:12”.

Obrazek

3.A. Kolejna funkcja „PWM Out” to sterowanie elektrozaworem (podłączonym przez moduł wykonawczy z triakiem np. AVT440/3). Przekręcając impulsator możemy wybrać wartości od 1% do 10% przy skoku o 1% a następnie od 10% od 100% przy skoku o 10%. Po zamontowaniu elektrozaworu na głowicy Aabratek możemy włączyć kontrolę odbierania „przed gonu” ustawiając wartość od 1% - 9% z przepływem jaki ustalimy ręcznie (wartość 100 – 200 ml) na elektrozaworze np.: CEME 9934 (ew. zaworze precyzyjnym podłączonym do innego elektrozaworu) i ustawiając czas na timerze. Po odliczeniu czasu Timer automatycznie wyłączy odbiór przed gonu. Wciskamy i przytrzymujemy przycisk na impulsatorze przez ponad 2 sekundy. Przy odbiorze przed gonu nie zmienia nam się wartość PWM. W momencie, gdy odebraliśmy założoną ilość przedgonu przechodzimy do odbioru serca.

3.B. Automatyczny odbiór serca. Termometr steruje elektrozaworem otwierając się i zamykając cyklicznie do momenty aż nastąpi destabilizacja w kolumnie i podskoczy temperatura. W tym momencie zmniejsza się wartość PWM o 10% i termometr po co najmniej 10 min stabilizacji znowu zacznie sterować zaworem z mniejszą częstotliwością otwieranie - zamykanie.
Na czujniku w kolumnie (10 połka - Tkolumny) włączamy tryb odchyłki DeltaT potem impulsatorem ustawiamy wartość 100% . Włączenie automatycznego odbioru następuje po przyciśnięciu przycisku P6 przez ponad 2 sekundy. W tym momencie w 3 linijce wyświetla się informacja "PWM out=100% EN" a w 4 linijce pojawia się litera "A".
W momencie destabilizacji kolumny i skoku temperatury na czujniku w kolumnie (10 połka – Tkolumny) pojawia się w czwartej linijce LCD zmieniająca wielkość litera "u"->"U" informująca nas o destabilizacji. Gdy temperatura powróci do wartości DeltaT mniejszej lub równej zero wyświetla się migająca litera "s"->"S" (oznacza ona stan stabilizacji). Stabilizacja trwa minimalnie 10 min.
(UWAGA – używając funkcji Timer w czasie odbierania przez elektrozawór (PWM out) alarm Timer'a wyłączy nam odbiór przed gonu oraz automatyczny odbiór serca - bez zmiany jego nastawu).

Obrazek

IV. Termometr ma ustawione 2 stałe alarmy: alarm wstępnego zagrzania oraz wysokiej temperatury wody chłodzącej.
  • Alarm wstępnego zagrzania uaktywnia się gdy temperatura na czujniku Tkolumny (10 półka) zaczyna zmieniać się o 3 °C w ciągu 10 sekund przy temperaturze Tkolumny > 50°C i jest to dobry moment do ręcznego włączenia wody chłodzącej.
  • Alarm wysokiej temp wody chłodzącej zadziała gdy temperatura na czujniku Twody przekroczy 60°C. Alarm ten informuje nas, że przepływ wody jest za niski i powinniśmy go zwiększyć. Dla osób, które prowadzą proces z wyższą temp wody chłodzącej niż 60°C innym sposobem wykorzystania tego alarmu jest umieszczenie czujnika na odpowietrzeniu głowicy i w momencie, gdy opary alkoholu zaczną sie wydobywać z głowicy alarm zadziała (mi osobiście 2 razy już to pomogło).

V. Po podłączeniu termometru do gniazda USB komputera możemy śledzić temperatury oraz stan alarmów i automatycznego odbioru na ekranie komputera lub zdalnie przez inny komputer czy telefon. Po zainstalowaniu driverów do konwertera PL2303HX w komputerze instaluje nam się wirtualny port COM. Gdy wejdziemy w Panel Sterowania > Menadżer urządzeń >Porty COM możemy zobaczyć pod jakim nr portu COM zainstalował nam się termometr. Pobieramy z Internetu program do obsługi terminala np. Hyper Terminal Private Edition Trial (niestety tylko 30 dni za darmo dla Windows 7, 8 i 10; WindowsXP ma domyślnie zainstalowany – HyperTerminal) i instalujemy na komputerze.
Obrazek
Następnie uruchamiamy program i konfigurujemy połączenie. Nadajemy dowolną nazwę dla połączenia np. "Termometr" i klikamy "OK". Z okienka "Connect To" wybieramy nr portu COM na pod jakim zainstalował nam się konwerter i klikamy na "Configure...". W tym oknie ustawiamy wartości połączenia na:

Liczba bitów na sekundę: 38400
Bity Danych: 8
Parzystość: Brak
Bity Stopu: 1
Sterowanie przepływem: Brak

Obrazek

Zatwierdzamy te ustawienia klikając OK na obu oknach i powinniśmy otrzymać sekundowe odświeżanie temperatur, stan alarmów oraz stan automatycznego odbioru - PWM w procentach. W oknie terminalu nie wyświetla się tryb odchyłki DeltaT ale przewijając odczyt możemy zobaczyć jak zmienia się temperatura w odświeżaniu co 1 sekundę.

Obrazek

Alternatywą dla Hyper terminala jest darmowy program PuTTY do ściągnięcia stąd . Instalujemy go standardowo, następnie z Menu Start wybieramy PuTTY i w oknie programu wybieramy "Connection Type" -> "Serial". Następnie ustawiamy nr portu COM na jakim zainstalował się konwerter i w oknie "Speed" wpisujemy wartość "38400". Na dole okna klikamy na "Open" i mamy podgląd na nasz termometr.

Obrazek

Wyjaśnienie skrótów literowych dla alarmów :
  • "C" - alarmu na czujniku Tkolumny po przekroczeniu DeltaT o 0,15°C
  • "H" - alarmu na czujniku Tglowicy po przekroczeniu DeltaT o 0,10°C
  • "P" - alarm wstępnego zagrzania na czujniku Tkolumny - przypominający o ręcznym włączeniu wody do chłodzenia
  • "W " - alarm na czujniku Twody informujący o przekroczeniu temp 60°C
  • " T" - alarm informujący o skończonym odliczaniu ustawionego czasu.
VI. Przy podłączeniu czujników DS18B20 termometr pokaże nam temperaturę w formacie 78,21C (maksymalna rozdzielczość czujnika 12 bit - 0,0625°C). Gdy podłączymy starsza wersję czujnika DS1820 jego temperatura będzie wyświetlana w formacie 78,5-C lub 6.4) (dokładność czujnika 9 bit 0,5°C). UWAGA dla wersji czujnika DS18S20 (następca DS1820) temperatura jest pokazywana w formacie 78,50C (rozdzielczość 9 bit – 0,5°C). Czujników DS1820 oraz DS18S20 nie zalecam podłączać do termometru. Jeśli takie mamy to możemy go wykorzystać tylko do pomiaru temperatury Twody (zamontowanie powyższych czujników bardzo ograniczy nam dokładność wskazań termometru).

ODPOWIEDZ

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 4 gości