Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 19 kwi 2024, o 17:12


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 3 lip 2019, o 22:31 
Offline
Użytkownik

Dołączył(a): 26 sty 2014
Posty: 119
Lokalizacja: Łódż
Pomógł: 1

ObrazekObrazekObrazekObrazekObrazekObrazekObrazekObrazek
ObrazekObrazekObrazek

Witam
Dziś przedstawiam projekt sterownika układu chłodzenia na bazie termistora produkcji BMW o numerze 13 62 1 703 993. Najpierw trochę danych o samym czujniku i jego zastosowaniu gdyż pewnie wiele osób zastanawia się czemu konkretnie akurat ten.
Jest to podwójny czujnik temperatury zawierający 2 niezależne czujniki typu NTC o rezystancji odpowiednio ok 2,2K i 6,5K w 20 stopniach. Pierwszy z nich przekazuje temperaturę do komputera sterującego praca silnika a drugi do zegara na desce rozdzielczej. We wcześniejszych wersjach modelu BMW E36 (oraz innych modelach produkowanych w tym samym czasie (tj do około roku 2000) stosowano dwa osobne czujniki czyli termistor 2,2K w kolorze niebieskim o numerze części 13 62 1 709 966 oraz termistor 6,5K w kolorze czarnym o numerze części 12 62 1 710 535. Jedynym chyba wyjątkiem jest bardzo rzadka wersja 323TI której wyprodukowano ok 15,5 tys egzemplarzy pod sam koniec produkcji modelu.
Projekt ten powstał na potrzeby swapu(wymiany) silnika o oznaczeniu kodowym M43B18(1.8L) na small block V8 o pojemności 318 cid tj 5.2L produkcji Chryslera/Jeepa do nadwozia wspomnianego BMW. Podczas instalowania silnika okazało się iż fabryczny wentylator wiskotyczny nie wejdzie(zarówno BMW jak i Jeep maja wentylatory mechaniczne a nie elektryczne jak większość samochodów) i należało użyć wentylatora elektrycznego który jednak musi być jakoś sterowany. Dodatkowo do dyspozycji była tylko 1 dziura w kolektorze ssącym a potrzebny był jeszcze przecież czujnik do zegarów w kabinie aby kontrolować temperaturę. Można oczywiście zastosować jakiś czujnik na wężu od chłodnicy i tym podobne protezy ale za pomocą 1 czujnika można wysterować tylko 1 wentylator oraz nie ma możliwości konfiguracji temperatury - są to czujniki a dokładniej termostaty ON-OFF ustawione na konkretne temperatury. Fabryczna chłodnica nie ma miejsca na instalacje dodatkowych czujników gdyż nie ma takiej potrzeby w wykonaniu seryjnym. Tutaj sytuacja jest inna - nie możemy zastosować mechanicznego wentylatora gdyż będzie się obracał w chłodnicy a do podłączania i wysterowania elektrycznego zarówno silnik jak i komponenty nadwozia nie są przystosowane(chyba ze mowa o wersji z klimatyzacja ale te wentylatory tez sterowane z komputera silnika bmw który to usuwamy wraz z silnikiem). O samym silniku można przeczytać tutaj :
http://dodgeram.org/tech/gas/specs/5_2v8.htm
silnik ma jeszcze trochę większego brata o pojemności 5.9L i wielkiego brata całej rodziny magnum czyli V10 o pojemności 8.0L znanego z Dodge Vipera/Dodge Rama ;)
Gdyby ktoś się zastanawiał po co to wszystko :
https://www.youtube.com/watch?v=50wJFv7p8p0
zło, zło, samo zło. Ludzie kiedy dodajesz gazu zabierają w popłochu dzieci z ulicy, kury przestają się nieść, krowy dawać mleko a gimbaza zapomina co to fejsbuk i telefon dotykowy.
Tutaj fabryczna wersja e36 V8 (z innym silnikiem niż mój) jak jest ktoś ciekawy - bardzo rzadka wersja - wyprodukowano zaledwie 221szt !
http://www.gieldaklasykow.pl/alpina-b8- ... erniewice/

Opracowałem wiec sterownik na bazie atmega 8 do w/w projektu który wykorzystuje zbędny termistor 2,2K w czujniku 13 62 1 703 993 do kontroli chłodzenia silnika i posiada 4 niezależne wyjścia typu otwarty kolektor z programowalna temperatura. Dzięki temu można wysterować np 3 wentylatory oraz np lampkę kontrolna na desce rozdzielczej sygnalizująca przekroczenie ustawionej temperatury. Kanały działają w pełni niezależnie od siebie. Dodatkowo istniej możliwość (po zmianie oprogramowania i dołożeniu kilku elementów) wysterowania wentylatorów elektrycznych z nowszych modeli BMW(npE46) które są już sterowane płynnie tj za pomocą sygnału PWM. Można również użyć innych czujników NTC niż opisany po zmianie funkcji wyliczającej temperaturę i ewentualnej korekcie opornika w dzielniku oporności. Tyle tytułem wstępu po co to komu i do czego :)

Wszystko składa się z 3 elementów
1)Płytki zasilania oraz dzielników napięciowych wykorzystywanych przy dopasowaniu sygnałów sterujących jeep-bmw(nie wchodzą w skład tego modułu)
2) Właściwego sterownika
3) Panela zewnętrznego do konfiguracji urządzenia zbudowanego na bazie panelu frontowego z dekodera polsatu Echostar 717 z którego wykorzystuje 3 przyciski i 4 segmentowy 7 znakowy wyświetlacz LED. Moduł ten działa na bazie attiny 2313.
Dwa pierwsze moduły są dopasowane do zabudowania w fabrycznej osłonie przewodów instalacji silnikowej produkcji BMW. Było tam sporo miejsca a nie miałem pomysłu jak i gdzie to zabudować inaczej. Wiązkę elektryczna i tak musiałem "uszyc" od nowa na bazie instalacji bmw i tej wyciętej z jeepa wiec od razu wykorzystałem okazje i połączyłem to w całość. Urządzenie do konfiguracji jest w osobnej obudowie gdyż nie jest potrzebne do normalnej pracy jedynie do konfiguracji i podglądu.

Od strony elektrycznej pierwsza płytka zapewnia wstępne filtrowanie napięcia z instalacji oraz obniżenie tego napięcia za pomocą diod prostowniczych do około 8 V aby zmniejszyć grzanie 7805. Sterownik na bazie atmegi za pomocą transoptorów steruje wejściami układu MP4020(4 darlingtony mocy). Układ pomiarowy składa się z termistora i opornika 326R(dzielnik napięcia) oraz tranzystora tez sterowanego przez optoizolator. Okazało się bowiem ze przy tak dużych zmianach oporności (około 18K przy minus 20 do około 100R w 130 stopniach)aby otrzymać sensowne wyniki w interesującym mnie zakresie pracy 20-115 stopni trzeba iść na kompromis - albo duża wartość oporności i mało precyzyjne pomiary albo mala wartość która zwiększa precyzje pomiaru ale powoduje znowu przepływ większego prądu przez termoelement, jego podgrzanie i w konsekwencji zafałszowanie wyniku. Głównym ograniczeniem jest tutaj niskie napięcie 5V którym zasilamy czujnik. Postanowiłem to obejść za pomocą tranzystora - podaje on napięcie na termistor po chwili dokonuje się pomiar i odcinamy zasilanie aby go nie potrzebnie nie nagrzewać. W realu okazało się to nie potrzebne, nie mniej w celu zwiększenia dokładności pomiaru można to robić podobnie jak odcinać na czas pomiaru transmisje I2C. Wartość z dzielnika napięciowego która mierzymy jest odseparowana za pomocą LM358 od wejścia mikrokontrolera. Całość popychana kwarcem o częstotliwości 4433619 - taki akurat miałem. Sam panel konfiguracyjny jest podłączony za pomocą gniazda typu DB9 i komunikuje się za pomocą właśnie TWI. Użyłem fabrycznego oprogramowania sterującego wyświetlaczem do którego "dorobiłem" dodatkowe znaki liter do wyświetlenia sprawdzając wszystkie możliwe 255 kombinacji. Przyciski działają tradycyjnie poprzez zwarcie do masy. Sam panel z dekodera wymagał sporej ingerencji przy pakowaniu go w obudowę - szlifowanie o ok 2mm na wysokość, wlutowania wyższych przycisków, usunięcia oryginalnego kabla, odbiornika podczerwieni, podwójnej diody led i 1 kondensatora oraz przeniesienia 2 innych na druga stronę. 2 oporniki do linii komunikacyjnych są w obudowie na dodatkowej płytce z bo na pcb sterownika nie było już miejsca za bardzo.

Od strony programowej sterownik działa na bazie zmodyfikowanego menu z mojego wcześniejszego projektu (zegarka z dekodera). Sterowaniem zależnościami czasowymi zajmuje się timer 0 w trybie licznika. Za każdym obiegiem pętli programowej sprawdzane są flagi oraz fakt wciśnięcia klawisza i przejście do menu.
Po włączeniu zasilania sterownik odczytuje z eepromu zaprogramowane nastawy i zaczyna pomiar temperatury. Pomiar jest wykonywany kilka razy na sekundę. Następnie na podstawie wartości ADC jest obliczana temperatura już w stopniach a po 15 pomiarach jest wyciągana średnia która następnie jest porównywana z zapisanymi wartościami i w zależności od jej wartości są sterowane wyjścia. Dodatkowo wprowadzona została 2 stopniowa histereza. Po wpięciu panela jest na nim wyświetlana aktualna wartość temperatury w formacie dwie cyfry znak stopnia i C. Przy liczbach większych niż 99 znak stopnia znika. Wciśniecie przycisku 2 pokazuje stan wyjść sterujących w formacie zer lub jedynek np 1000 oznacza aktywne wyjście 1 a 1010 aktywne 1 i 3 itd. Wciśniecie przycisku 3 pokazuje aktualna wartość ADC w formacie 0xxx.
Wciśniecie pierwszego przycisku wyświetla napis menu i następuje przejście w tryb ustawień - pokazuje się 1020 - wyjście 1 i możemy przyciskami +/- ustawić temperaturę która powoduje aktywacje wyjścia. Możliwe nastawy 0 lub zakres 20-101stopni. Po ustawieniu wciskamy znowu pierwszy klawisz i pokazuje się 2020 itd aż do 4. Jeżeli ustawimy 0 stopni kanał jest nie aktywny, a w widoku aktywnych kanałów jest kreska (zamiast 0 lub 1). Potem pokazuje się napis ON lub OFF -jest to opcja uruchomienia specjalnego trybu bezpiecznego chłodzenia - jeżeli układ wykryje uszkodzenie w obwodzie czujnika pomiarowego tzn przerwę lub zwarcie czyli wartości wyjdą po za zakresy domyślne na dłużej niż 3 sekundy automatycznie aktywuje WSZYSTKIE wyjścia( w tym te dezaktywowane) w celu ochrony silnika przed przegrzaniem. Na ten czas jest wyświetlany na wyświetlaczu komunikat cool fail. Po "powrocie" czujnika i 3 sekundach poprawnych odczytów wróci do normalnej pracy i aktywuje wyjścia w oparciu o aktualną temperaturę. Po kolejnym wciśnięciu przycisku pokazuje się END i układ zapisuje dane do eepromu i rozpoczyna normalna prace.
Jest to pierwsza wersja tego urządzenia. Z tym ze jeżeli sprawdzi się po odpaleniu silnika to zostaje gdyż ciężko przewidzieć na obecna chwile jak będzie to pracowało w środowisku pełnym zakłóceń( rozdzielacz zapłonu jest mechaniczny do tego dochodzi prostowanie prądu na diodach w alternatorze) oraz wysokiej i niskiej temperatury - pod maska może być około 80-90 stopni ponieważ żeliwne silniki grzeją się jak reaktory atomowe;) Jeżeli okaże ze będą problemy to kolejna wersja zostanie zainstalowana w kabinie bądź obok komputera sterującego w specjalnej fabrycznej kieszeni. Na pewno będzie już wyposażona w lepsze odniesienie napięcia pomiarowego na TL431 i zapewne LCD. Timer 2 jest zostawiony do wersji przyszłościowych i sterowania PWM gdyby była taka potrzeba. Wrzuciłem również kilka zdjęć ze swapu dla ewentualnie zainteresowanych montażem amerykańskiej technologi w niemieckim nadwoziu. Generalnie jest to dopiero w jakiś 50 % zrobione jeżeli chodzi o mechanikę ale projekt pomału drobnymi kroczkami idzie na przód gdyż problemów takich jak budowa sterownika jest jeszcze kilka...

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Program do poprawnego działania wymaga biblioteki I2C z blubooka i funkcji wyliczającej temperaturę z wartości przetwornika ADC której tutaj nie publikowałem. Wszystkie duże elementy i śruby są rzecz jasna zabezpieczone dodatkowo klejem. Sam sterownik nie jest jeszcze w 100 % zrobiony ponieważ na obecną chwile nie wiem jeszcze ile i jakich wentylatorów użyje docelowo w projekcie.
Zapomniałem tez podłączyć nie używanych pinów do VCC. Flaga 10_ms miała być początkowo użyta do sterowania tranzystorem ale ostatecznie zostawiłem ja na zaś



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lip 2019, o 09:36 
Offline
Użytkownik

Dołączył(a): 26 sty 2014
Posty: 119
Lokalizacja: Łódż
Pomógł: 1

Wiem ze na termistorze nie uzyska się precyzyjnych pomiarów w całym zakresie temperatur ze względu na jego charakterystykę, a silnikowi jest obojętne czy wentylator załączy się przy 86 czy 87 stopniach. Nie mniej w wytycznych projektowych przyjąłem wymagana rozdzielczość pomiaru 1 stopnia. Co do diod prostowniczych to jest to prymitywne rozwiązanie ale skuteczne - przetwornice trzeba kupić albo zbudować a ja budowałem z tego co miałem na stanie - dlatego wykorzystałem tez gotowy panel z wyświetlaczami 7 segmentowymi i MP4020 których mam sporo- od czegoś w końcu trzeba zacząć a jak działa to można modyfikować. Zakłóceniami transmisji się nie przejmuje - będę podpinał przy wyłączonym silniku gdyż tak jak pisałem służy wyłącznie do ustawień, ewentualnie na tej podstawie np mogę sprawdzić sobie fabryczny wskaźnik temperatury na desce rozdzielczej. Na ta chwile na pewno dojdzie jeszcze jedna modyfikacja- jedno wyjście sterujące zostanie poświęcone na podtrzymanie zasilania sterownika po wyłączeniu zapłonu - po zgaszeniu auta dobrze żeby silnik był jeszcze chłodzony aż temperatura nie zejdzie lub przez ustalony czas w zależności co nastąpi szybciej. Wtedy tez dokonam pozostałych przeróbek programowych -podciągnięcie nie używanych pinów do VCC i powalczę z trybem uśpienia. Sprawdzę tez i dokonam obliczeń dla napięcia odniesienia 2,56V czy ma to sens i wyjdą jakieś sensowne pomiary. Masa dla czujnika temperatury jest oczywiście brana ze sterownika a nie z silnika czy nadwozia. Konstruktywna krytyka i pomysły zawsze mile widziane 8-) .


Zapłon w tym small blocku robisz na tego typu cewkach GM ? Zdjęcia poglądowe oczywiście, potrzebne 2 szt po jedna na stronę
http://opelczesci.com.pl/pl/p/CEWKA-ZAP ... 2.0-8V/562
http://www.partner-autoczesci.pl/produkt/113.html
i do tego sterownik, czy raczej może idziesz w stronę gotowego fordowskiego EDIS 8 który dość fajnie się steruje? Czy jeszcze coś innego ? Ja akurat ze względu na dostępność i posiadanie części postawiłbym na cewki produkcji bmw o numerze 12 13 1 247 281 gdyż tez chętnie pozbył się tego rozdzielacza zapłonu z mopara. Może kiedyś jak już będzie to jeździło i będzie jeszcze czas i chęci.
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lip 2019, o 11:31 
Offline
Użytkownik

Dołączył(a): 26 sty 2014
Posty: 119
Lokalizacja: Łódż
Pomógł: 1

Wrzuć foto i jakieś numery jak są. Zobaczymy co to.
Cytuj:
Jak nie działa pompa wody, to wentylatorem chodzącym po wyłączeniu silnika ostudzisz tylko chłodnicę. Dla silnika nie ma to żadnego znaczenia.
A nawet jakbyś dał elektryczną pompę, to termostat przełączy ci obieg odcinając chłodnicę.

Weź pod uwagę ze termostat jest w tym silniku jest na szczycie kolektora ssącego - ciepły płyn zawsze będzie szedł do góry a zimny na dół. Wiec schładzając sama chłodnice masz jeszcze kilka minut zanim termostat się zamknie(silnik dalej przecież oddaje ciepło) co wystarczy aby obiegiem grawitacyjnym wystudzić go o kilka stopni. Akurat w tym silniku nie jest to aż tak istotne(w końcu to żeliwo) ale są silniki (np ford dohc 2.0/2.3 sierra/scorpio czy choćby 1.4 rover znany z poloneza) gdzie jest to dość istotne i zaniedbanie tego może wpływać na awarie uszczelki pod głowicą. A skoro ma tego pilnować mikroprocesor to czemu tego nie wykorzystać

mpo napisał(a):
czy w oryginalną kopułkę powstawiam czujniki halla.

Zobacz czy nie ma gotowych rozdzielaczy z takim czujnikiem. Problem jest tylko taki ze zapewne trzeba to ściągać od Wuja Sama za ciężkie $



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lip 2019, o 11:58 
Offline
Użytkownik

Dołączył(a): 26 sty 2014
Posty: 119
Lokalizacja: Łódż
Pomógł: 1

Są sterowane każda osobno -podajesz zasilanie tylko na konkretna cewkę a 2 koniec zwarty do masy na stałe czy pół sekwencja - iskra idzie parami na dwa cylindry i do modułu doprowadzasz stałe zasilanie i wybierasz która para ma zadziałać ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 5 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO