[97-04]Galant EAxA/W - [EA5A/W 2.5] Zapłon elektroniczny w V6
Owczar - 17-01-2013, 00:27
Bartek napisał/a: | - sygnał z PT ma amplitudę 3 V, a co gorsze do tych 3 V dochodzi powoli, a tiniak, żeby zobaczyć zmianę stanu na wejściu musi mieć 0.6 Vcc, czyli w naszym przypadku właśnie 3V. Będzie potrzebny wzmacniacz tego sygnału, bo układ nie musi działać stabilnie (gwarancja 0 logicznego jest do 0.3 Vcc, czyli aż 1,5V, a pomiędzy nie ma gwarancji) |
Pytanie tylko jakby wyglądał po wypięciu z aparatu zapłonowego? Możliwe, że amplituda byłaby większa. Zapomniałem właśnie zapytać co dla tiniaka znaczy stan wysoki.
Bartek napisał/a: | nimi jakiś mały kondensator na wejściu |
Co masz na myśli mały? ;> 100uF starczy?
Owczar - 17-01-2013, 00:56
A jeśli chodzi o obrotomierz... To może podpiąć przewód przez 3 zenerki do obwodu każdej z cewek? Wtedy na przewodzie będą widoczne wszystkie impulsy rozrzucane na cewki.
Bartek - 17-01-2013, 07:36
Jak już to 3 zwykłe diody
100 nF to spory przy 10 kOhm to spory kondensator
Wersja 3.0 zabiera kształtów: Attiny44 z pinoiutem:
.equ PT = PB1
.equ TDC = PB2
.equ OUT14 = PA0
.equ OUT25 = PA1
.equ OUT36 = PA2
.equ ADCin = PA3
.equ OUTTacho = PA7
Dodatkowo wymaga podciągnięcia (przez 10 kOhm) do Vcc PB3, czyli nogi Reset.
W wolnej chwili możesz pomyśleć o płytce pod 3.0, z jeszcze jedną zmianą - ząłczka ISP 6 pin z pinoutem (widzianym z góry) w nowym standardzie Atmela:
MISO 1 2 Vcc
SCK 3 4 MOSI
Reset 5 6 GND
Marcino - 17-01-2013, 09:08
To kiedy zaczynacie produkcję... co bym mógł zamównienie złożyć..:)
Bartek - 17-01-2013, 09:24
Marcino, jeszcze nie tak hopsiup, myślę, że miesiąc-dwa na pewno jeszcze to potrwa.
mszolc - 17-01-2013, 21:36
No wręcz modelowo to wygląda. Poza tym zboczem narastającym na PT to po prostu bajka.
A czasówki są takie, że gość z refleksem wysterowałby 6A13 z 'palca' .
Auto widzę 'zimne' bo początek filmu to jakieś 1000 obr/min.
Sygnał PT zawsze opóźniony względem TDC, więc wystarczy szukać zbocza narastającego od TDC.
Bartek napisał/a: | Idą zmiany..... |
Normalne. Jeszcze się taki nie urodził co by zrobił wszystko idealnie za pierwszym razem. Tak się robi projekty...
Bartek napisał/a: | Po przemyśleniu tego co zobaczyliśmy widzę, że są 2 problemy do rozwiązania:
- sygnał z PT ma amplitudę 3 V, a co gorsze do tych 3 V dochodzi powoli, a tiniak, żeby zobaczyć zmianę stanu na wejściu musi mieć 0.6 Vcc, czyli w naszym przypadku właśnie 3V. |
To nie jest problem. Trzeba po prostu zrobić stopień wejściowy dla sygnału PT. Myślę, że po przekroczeniu progu 2V powinien się zmieniać stan na wyjściu. Postaram się coś takiego sklecić.
Bartek napisał/a: | - sygnał TDC jest mocno zaśmiecony, trzeba zjeść drobne szpilki, które wyzwalały oscyloskop przy ustawieniu wyzwalania na 2,5V, później jak ustawiłem 3,5 V obraz był bardziej stabilny, ale myślę, że bezpiecznie będzie je wyeliminować, ładując nimi jakiś mały kondensator na wejściu |
Ja myślę - żadnych kondensatorów, bo za chwilę TDC będzie wyglądał jak PT (kondensator filtrujący z opornościami pinów i innymi zrobi układ całkujący).
Zerknąłem do noty ATtiny13 i myślę, że trzeba by ździebko zmodyfikować schemat (zamienić PT z TDC).
ATtiny udostępnia jedno przerwanie konfigurowalne (w tym od zbocza opadającego) oraz kilka przerwań od zmiany na pinie (zbocza opadającego jak i narastającego).
Myślę, że dla PT trzeba zrobić układ wejściowy w taki sposób, że w zakresie 0-2V na wyjściu układu (czyli wejściu procka) będzie stan wysoki. Przekroczenie poziomu 2V spowoduje zmianę stanu na wyjściu na stan niski. Dlatego monitorowanie stanu sygnału PT sprowadziłoby się do detekcji zbocz opadających. Do tego idealnie nadawałby się pin INT0 (nota mówi: "The INT0 interrupts can be triggered by a falling or rising edge or a low level."). Trzeba po prostu skonfigurować je do wykrywania zbocza opadającego, a w przerwaniu od INT0 sterować tranzystorami mocy (zależnie od informacji nt. sygnału TDC).
Co do sygnału z TDC, to na filmie widać, że jest on stosunkowo 'wolnozmienny' więc do jego detekcji można by użyć przerwania od zmiany na pinie.
Obsługa przerwania wyglądałaby mniej więcej tak:
1. Wejście w przerwanie od zmiany zbocza
2. Przeczytanie wejścia, jeśli stan niski to zatrzymanie timera (o tym za chwilę) i wyjście z procedury
3. Jeśli stan wysoki na wejściu to rozpoczęcie procedury filtracji stanu (eliminacji szpilek). W tym celu trzeba by zapuścić timer i wyjść z obsługi tego przerwania.
Teraz możliwe są dwie sytuacje:
- wystąpi przerwanie od zbocza opadającego zanim dostaniemy przerwanie z timera (czyli idziemy przez kroki 1 i 2) - to był krótki impuls (szpila)
- dostajemy przerwanie od przepełnienia timera czyli w czasie zliczania nie wystąpiło zbocze opadające na TDC. Wnioskujemy, że TDC jest impulsem, a nie zakłóceniem. Można ustawić flagę z informacją dla sterowania tranzystorami mocy.
Najtrudniejszą sprawą tutaj jest dobranie okresu timera. Musi być dłuższy od czasu trwania szpil na sygnale TDC, a jednocześnie na tyle krótki, żeby nie 'przegapić' pierwszego zbocza od PT.
Niestety na filmie tego nie widać, więc musielibyście zrobić jeszcze parę logów i dobrać ten czas experymentalnie.
Bartek - 18-01-2013, 11:31
Cytat: | Ja myślę - żadnych kondensatorów, bo za chwilę TDC będzie wyglądał jak PT (kondensator filtrujący z opornościami pinów i innymi zrobi układ całkujący). |
I niech sobie wygląda trzeba odfiltrować zakłócenia, a narastanie zbocza przez 500 us nie boli w żaden sposób - ten sygnał musi być jak dzwon, bo od niego zależy kolejność odpalania cylindrów (czyli tolerancję wyzwolenia tego impulsu mamy na poziomie 2.5 ms) , a wszelkie timingi pochodzą a sygnału PT.
Mam do dyspozycji jeszcze jeden timer, ale przerwania hulają po tiniaku już 2, co już wpływa negatywnie na precyzję działania (każde pochłania trochę czasu, a instrukcji co tyknięcie zegara mogę wykonać tylko 64), nie chciałbym dokładać kolejnego. Timer synchronizujący i mierzący czasy kręci się z częstotliwością 125 kHz (co daje ok. 312 tyknięć na okres między PT przy max obrotach do ok. 18 000 przy minimalnych)
Tinaka i tak zmieniam na ATtiny44, ze względu na 8 bitowy timer w ATtiny13 i w nowym PT jest na przerwaniu PinChangeInt9, a TDC na Int0 - konkretnie na zboczu wznaszącym.
Na filmie bardzo wyraźnie widać, że sygnał TDC miał zakłócenia wyzwalające synchronizację oscyloskopu, których nie widać, więc ich czas trwania musiał być mniejszy niż samplowanie oscyloskopu.
mszolc - 18-01-2013, 11:48
Bartek napisał/a: | w nowym PT jest na przerwaniu PinChangeInt0, a TDC na Int0 - konkretnie na zboczu wznaszącym. |
Zauważ, że w takim układzie na jeden obrót wału masz 13 przerwań - jedno od TDC (na zbocze narastające) oraz 12 przerwań od PT (6* od zbocza narastającego i 6* od zbocza opadającego).
Jeśli zamienisz wejścia to na jeden obrót wału przerwań będziesz miał tylko 8 - dwa od TDC (na zbocze narastające i opadające) oraz 6 od PT (na zbocze narastające).
Dzięki temu spadnie dość znacznie obciążenie procka.
Jeśli chodzi o filtrowanie PT to najlepiej byłoby użyć układu 74HCT04 lub 74HCT125 (ważne aby były HCT a nie np. HC).
Taki układ zagwarantuje, że przy 2V na wejściu układu nastąpi przełączenie stanu wyjściowego. Przełączenie w drugą stronę nastąpi po tym jak sygnał PT spadnie do 0.8V.
74HCT04 neguje sygnał więc przerwanie musiałoby być od zbocza opadającego.
Bartek - 18-01-2013, 11:59
Zbocze opadające jest krytycznie ważne dla wyzwalania cewki dokładnie w momencie kiedy chce tego ECU.
Biję się z myślami jeszcze nad jednym tematem - Czy utrzymywać stały (np. 5 ms.) czas ładowania cewki niezależnie od warunków, czy dodawać np. 2 ms. do oryginalnego czasu generowanego przez ECU, który jak widać na oscylogramie jest w zakresie 2-6 ms.
Owczar - 18-01-2013, 12:04
Ciężka sprawa. Bo dodając po 2 ms będą miejsca gdzie czas będzie wynosił >7ms. Muszę zapytać siostry kiedy może mi pożyczyć seicento. Ciekawe jak to wygląda w fiacie
Ale z drugiej strony czas ładowania na poziomie 5ms nie jest konieczny z w całym zakresie.
mszolc - 18-01-2013, 12:37
Bartek napisał/a: | Zbocze opadające jest krytycznie ważne dla wyzwalania cewki dokładnie w momencie kiedy chce tego ECU. |
OK, umknęło mi, że przecież oba zbocza niosą użyteczną informację.
Bartek napisał/a: | Czy utrzymywać stały (np. 5 ms.) czas ładowania cewki niezależnie od warunków, czy dodawać np. 2 ms. do oryginalnego czasu generowanego przez ECU |
Myślę, że w pierwszej wersji softu absolutnie.
Najpierw trzeba to uruchomić 1:1, a dopiero potem badać wpływ ewentualnych zmian.
W przeciwnym wypadku jak coś będzie failować trzeba będzie najpierw wykluczać wpływ zmian.
Możesz jeszcze napisać co dokładnie robi timer którego używasz?
Bartek - 18-01-2013, 13:54
Na jego podstawie "wysłuchuję" czasu stanu niskiego i wysokiego impulsów przychodzących, żeby wyliczyć moment rozpoczęcia ładowania następnej cewki.
PS. 2 pierwsze impulsy będą niemodyfikowane, ale będą, więc na opóźnienie odpalania nie będzie miał wpływu upgrade z 2.0 do 3.x
PS2.
mszolc napisał/a: | Najpierw trzeba to uruchomić 1:1, |
Zaprogramowane kostki robiące 1:1 są już u Marcina
mszolc - 18-01-2013, 14:09
Bartek napisał/a: | Na jego podstawie "wysłuchuję" czasu stanu niskiego i wysokiego impulsów przychodzących, żeby wyliczyć moment rozpoczęcia ładowania następnej cewki. |
Czy dobrze rozumiem, że chodzi do 'dołożenie' czasu trwania ładowania cewki (rozszerzenie impulsu 'w lewo') proporcjonalnie do czasu trwania oryginalnego impulsu PT ( a dokładnie jego stanu wysokiego)?
Bartek - 18-01-2013, 14:19
Dokładnie, może nie proporcjonalnie, tylko na początek o stałą wartość, ale dokładnie o to kaman
Owczar - 19-01-2013, 02:22
Panowie, elektronika tak mnie zainteresowała, że zabrałem się za diagnozowanie usterki w webasto Po przeanalizowaniu service manuala wykluczyłem wszystkie czujniki i kable. Generalnie na początku webasto działa w pętli otwartej i nie czyta z czujników i zawsze uruchamia pompkę, chyba, że jest uszkodzona świeca, ale wtedy od razu włącza dmuchawę. Jednak w moim pompka nie działa...
Przeanalizowałem ścieżkę, którą biegnie sygnał, znalazłem główny tranzystor - jest ok. Zwarcie powoduje włączenie pompki. Tak samo tranzystor npn sterujący tym pnp. Zwarcie npn również powoduje włączenie pompki. Tylko sęk w tym, że na bazę tego npn nie trafiają sygnały... Pomiędzy nim, a procesorem jest taka macierz rezystorowa:
http://www.ebay.de/itm/29...0#ht_789wt_1165
Nie mogę znaleźć jej pinoutu, przez co nie wiem, która noga tak naprawdę steruje bazą tego npn.
Poszedłem jeszcze dalej i zacząłem szukać w innym miejscu. Otóż sygnał wychodzi ze sterownika i trafia z powrotem do niego poprzez bezpiecznik temperaturowy (bezpiecznik ok). Być może to jakieś sprzężenie zwrotne. Analizując ścieżki trafiłem na tranzystor BC337-25. Poszukałem karty i w pierwszym wyniku wyszło, że to npn. Ale coś nie bardzo chciał przewodzić od bazy do kolektora i do emitera więc uznałem, ze jest uszkodzony. Wylutowałem i mierzę jeszcze raz. No i co się okazuje, że przewodzi w drugą stronę, jak tranzystor pnp. Wpisując BC337-25 pnp google wyrzuca jakieś wyniki w tym aukcje ebay z tym tranzystorem oznaczonym jako pnp.
Czy to możliwe, że npn uszkodził się tak, że przewodzi w drugą stronę? Miałem pod ręką BC337-40 i wrzuciłem zamiast tamtego (możliwe, że zadziała, a nawet jeśli nie to zobaczę co będzie się działo po zwarciu emitera i kolektora na tym tranzystorze). Tyle że BC337-40 to npn...
|
|
|