logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Arduino i mosfety IRF4905 do odcinania zasilania cewek zapłonowych - alternatywy dla LM358

xkam555 10 Wrz 2017 11:33 2211 22
REKLAMA
  • #1 16691228
    xkam555
    Poziom 8  
    Posty: 58
    Ocena: 3
    Hej,

    Robię projekt w którym za pomocą arduino rozpinałbym zasilanie cewek zapłonowych motocykla. Wszystko ogarnięte tak jak na schemacie:
    Arduino i mosfety IRF4905 do odcinania zasilania cewek zapłonowych - alternatywy dla LM358
    Wykorzystuje dwa mosfety IRF4905(najniższy opór jaki udało mi się znaleźć) jako elementy rozpinające zasilanie oraz LM358 aby zwiększyć napięcie z arduino z 5V na 12V które dopiero idzie na bramki mosfetów.
    Do tego wejście nieodwracające LM358 połączone jest rezystorem 1k do uziemienia aby motocykl mógł odpalić gdy arduino padnie.
    Jednakże największym problemem nie okazuje się arduino, a LM358 które bardzo często przestaje działać - zaraz po montażu, dzień po, lub działa dobrze.
    Czy ktoś widzi co może to powodować?
    I tutaj nasuwa się pytanie - czym mogę zastąpić ten wzmacniacz operacyjny? Może inny obwód do rozpinania zasilania? Niestety nie mogę zastosować przekaźników, ponieważ zasilanie jest rozpinane na maksimum 60ms, a na ogół 40ms, więc są zbyt wolne.
    Może drivery mosfet? Ew. na tme spotkałem się jeszcze z czymś takim jak power switch, ale nie bardzo rozumiem jak to działa i co to jest. Jak widać potrzeba takich działających jako high-side switch.

    Czy takie rozwiązanie wykorzystujące mosfet N ma jakikolwiek sens?
    Arduino i mosfety IRF4905 do odcinania zasilania cewek zapłonowych - alternatywy dla LM358
  • REKLAMA
  • #3 16691420
    jdubowski
    Specjalista - urządzenia lampowe
    Posty: 21595
    Pomógł: 2511
    Ocena: 2796
    xkam555 napisał:
    Wszystko ogarnięte tak jak na schemacie:


    To jakiś malunek - pokaż schemat ideowy.

    xkam555 napisał:
    Jednakże największym problemem nie okazuje się arduino, a LM358 które bardzo często przestaje działać - zaraz po montażu, dzień po, lub działa dobrze.
    Czy ktoś widzi co może to powodować?


    Zastąp jednym tranzystorem NPN, to będzie tańsze i szybsze niż zastanawianie się czemu WO pada, a jeśli już to zastanów się co się dzieje z napięciami w układzie w momencie gdy uruchamiasz rozrusznik.
    Błedem jest używanie 7812 do stabilizacji napięcia - to waha sie w granicach 9V (rozruch) do 14,5V (jazda z wysokimi obrotami. Za Chiny ludowe nie ustabilizujesz przy pomocy 7812 napięcia zasilania układu na własciwym poziomie - przy rozruchu za stabilizatorem będziesz miał około 6 do 7V, przy postoju silnika jakies 9 do 10V, 12V tylko przy silniku pracującym z rosządnymi obrotami.
    pomijam brak kondensatora elektrolitycznego za stabilizatorem - nie widzę go na "malunku".

    nici napisał:
    Możesz powiedzieć po co to robisz ?


    Oto jest pytanie...

    nici napisał:
    Może coś innego się wymyśli.


    Może Arduino da się zastapić 555 ;)
  • #4 16691491
    xkam555
    Poziom 8  
    Posty: 58
    Ocena: 3
    Robię projekt air shiftera do motocykla, a dla zmiany biegu na wyższy ma to działać tak:
    1. Naciskam przycisk na kierownicy,
    2. Siłownik się wysuwa,
    3. Po ustalonym czasie arduino przełącza D13 na stan wysoki - 5V, idzie na LM358 gdzie podbijane jest do tych 12V,
    4. Odcięcie zapłonu na 40-60ms w zależności od obrotów,
    5. Na D13 niski - 0V - cewki zapłonowe znowu działają.

    Jak mam podłączyć tego NPN aby działało to w odpowiedni sposób? Zależy mi na tym aby w przypadku gdy padnie któryś z elementów ciągle motocykl zapalał, no chyba, że padną oba mosfety.

    Przy 7812 używam kondensatorów SMD0805 100nF i 330nF jak zaznaczone jest to w application circuit w datasheecie.

    Na zasilaniu cewek cały czas jest 13,8V.

    Jeśli arduino dałoby się zastąpić czymś co będzie mniejsze to bardzo mnie to ucieszy.
  • #5 16691584
    jdubowski
    Specjalista - urządzenia lampowe
    Posty: 21595
    Pomógł: 2511
    Ocena: 2796
    xkam555 napisał:
    1. Naciskam przycisk na kierownicy,
    2. Siłownik się wysuwa,


    To sterowanie siłownikiem też idzie przez Arduino?

    xkam555 napisał:
    Jak mam podłączyć tego NPN aby działało to w odpowiedni sposób?


    Arduino i mosfety IRF4905 do odcinania zasilania cewek zapłonowych - alternatywy dla LM358

    xkam555 napisał:
    Przy 7812 używam kondensatorów SMD0805 100nF i 330nF jak zaznaczone jest to w application circuit w datasheecie.


    To nie starczy. W datasheecie piszą o specyficznych wymaganiach (uniknięcie oscylacji), blokowanie zasilania elektrolitami to przedszkole elektroniki, w datasheecie założono że każdy wie o takiej konieczności.

    xkam555 napisał:
    Na zasilaniu cewek cały czas jest 13,8V.


    Taaak? Po dwu dniach postoju w garażu też? I jak kręcisz rozrusznikiem też? Cuda jakieś w tym twoim motorku...

    xkam555 napisał:
    Jeśli arduino dałoby się zastąpić czymś co będzie mniejsze to bardzo mnie to ucieszy.


    Pokaż zależnosci czasowe, bo z opisu nie wynika co tak naprawdę uruchamia siłownik, co steruje tym arduino by wyzwolić impuls przerywający zasilanie cewek.

    BTW - jaki tam jest zapłon? Jeśli jakiś elektroniczny to może starczy zewrzeć lub odłączyć impulsy z czujnika połozenia wału od modułu zapłonowego...
  • #6 16691664
    xkam555
    Poziom 8  
    Posty: 58
    Ocena: 3
    jdubowski napisał:
    To sterowanie siłownikiem też idzie przez Arduino?


    Arduino tylko daje impuls, że siłownik ma się ruszyć.

    Czy przy takim podłączeniu nie będzie tak, że gdy w miejscu sygnału z arduino będzie 5V to cewki będą działały, a jak będzie 0V to nie będą? I tu jest właśnie ten problem o którym myślę - jak arduino padnie to motocykla nie zapalę. Jasne, mogę dać na pin arduino "pull-upa", ale czy to rozwiąże problem? Czy ktoś kiedyś spotkał się z tym żeby arduino w ogóle nie wstało i nie było 5V na pinie 5V? Jeśli nie to tak zrobię i z głowy ;)

    jdubowski napisał:
    To nie starczy. W datasheecie piszą o specyficznych wymaganiach (uniknięcie oscylacji), blokowanie zasilania elektrolitami to przedszkole elektroniki, w datasheecie założono że każdy wie o takiej konieczności.


    Niestety nie mam żadnego wykształcenia elektronicznego, i ciągle się uczę, dlatego byłbym wdzięczny za jakieś informacje o co dokładnie chodzi.

    jdubowski napisał:
    Taaak? Po dwu dniach postoju w garażu też? I jak kręcisz rozrusznikiem też? Cuda jakieś w tym twoim motorku...


    Ale jak odpalam motocykl albo stoi to nie zmieniam biegów.

    Zmiana biegów ma następować przy wysokich obrotach.

    Arduino jest sterowane wspomnianym przyciskiem na kierownicy. Odrzućmy myślenie o siłowniku, bo chciałbym teraz po prostu zając się samą kwestią rozpinania zapłonu.

    Tak, zapłon elektroniczny, ale nie chcę się bawić w instalacji motocykla takimi rzeczami, do tego gdybym kiedyś zmienił motocykl to miałbym od razu gotowy zestaw. Zależy mi po prostu na odcinaniu zasilania cewek zapłonowych.
  • REKLAMA
  • #7 16691687
    Strumien swiadomosci swia
    Poziom 43  
    Posty: 27493
    Pomógł: 1404
    Ocena: 6409
    Ja bym się bał z takim g...... jeździć motocyklem. Bo się zawiesić układ i Twoje życie też może czekać podobny los.

    Jeśli już to daj solidny 3 torowy przekaźnik.
  • #8 16691693
    jdubowski
    Specjalista - urządzenia lampowe
    Posty: 21595
    Pomógł: 2511
    Ocena: 2796
    xkam555 napisał:
    Arduino tylko daje impuls, że siłownik ma się ruszyć.


    Jakie zależności czasowe?

    xkam555 napisał:
    Czy przy takim podłączeniu nie będzie tak, że gdy w miejscu sygnału z arduino będzie 5V to cewki będą działały, a jak będzie 0V to nie będą?


    Tak będzie. Ale możesz dodać jeszcze jeden tranzystor dla odwrócenia fazy...


    xkam555 napisał:
    I tu jest właśnie ten problem o którym myślę - jak arduino padnie to motocykla nie zapalę.


    Jak MOSFETy padną to te nie odpalisz. Załóż rownolegle do kluczy oprawkę bezpiecznika, w razie czego włożysz tam bezpiecznik.

    xkam555 napisał:
    Ale jak odpalam motocykl albo stoi to nie zmieniam biegów


    Arduino to procesor - ma działać poprawnie od włączenia zapłonu kluczykiem, w przeciwnym wypadku może ci sie pojawić "czkawa" w zapłonie bo Arduino będzie głupiało od zasilania.

    xkam555 napisał:
    Arduino jest sterowane wspomnianym przyciskiem na kierownicy. Odrzućmy myślenie o siłowniku, bo chciałbym teraz po prostu zając się samą kwestią rozpinania zapłonu.


    No to 555 by się tu sprawdził zamiast Arduino pchać tam gdzie go nie trzeba, armatę na muchy stosujesz...
  • #9 16691698
    xkam555
    Poziom 8  
    Posty: 58
    Ocena: 3
    To motocykl wykorzystywany do wyścigów równoległych, nie do jazdy po drogach.

    Dodano po 5 [minuty]:

    jdubowski napisał:
    Jak MOSFETy padną to te nie odpalisz. Załóż rownolegle do kluczy oprawkę bezpiecznika, w razie czego włożysz tam bezpiecznik.


    Do kluczy? Nie rozumiem określenia.

    jdubowski napisał:
    No to 555 by się tu sprawdził zamiast Arduino pchać tam gdzie go nie trzeba, armatę na muchy stosujesz...


    A czy da się tak zrobić żeby mierzyć częstotliwość sygnału z czujnika położenia wału?
    Chodzi o to, że czas odcięcia zapłonu będzie inny w zależności od obrotów i biegu.
  • #10 16691723
    jdubowski
    Specjalista - urządzenia lampowe
    Posty: 21595
    Pomógł: 2511
    Ocena: 2796
    xkam555 napisał:
    Do kluczy? Nie rozumiem określenia.


    Masz klucze odcinajace zapłon w postaci MOSFETów.

    xkam555 napisał:
    A czy da się tak zrobić żeby mierzyć częstotliwość sygnału z czujnika położenia wału?


    W Arduino na zicher się da, układ na 555 takiej możliwości nie ma.

    xkam555 napisał:
    To motocykl wykorzystywany do wyścigów równoległych, nie do jazdy po drogach.


    To chyba niewiele zmienia w rozważaniach.
  • #11 16691759
    xkam555
    Poziom 8  
    Posty: 58
    Ocena: 3
    Rozumiem, czyli mógłbym też zamiast gniazda na bezpiecznik dać po prostu przełącznik?

    No właśnie, w arduino mam już wszystko ustawione :)

    A istnieje może taki mikrokontroler który na wyjściu daje 12V?

    To była odpowiedź na stwierdzenie dotyczące jazdy z czymś takim :)
  • REKLAMA
  • #12 16691891
    jdubowski
    Specjalista - urządzenia lampowe
    Posty: 21595
    Pomógł: 2511
    Ocena: 2796
    xkam555 napisał:
    Rozumiem, czyli mógłbym też zamiast gniazda na bezpiecznik dać po prostu przełącznik?


    Oczywiście, byle o odpowiednio wytrzymałych stykach.

    xkam555 napisał:
    A istnieje może taki mikrokontroler który na wyjściu daje 12V?


    Ty sie najpierw zajmij porządnym zasilaniem. Arduino ma możliwosć zasilania napięciem 7-12V, stabilizuj więc napięcie na poziomie 8V przy pomocy stabilizatora LDO, bo w bajki o napięciu 13,8V nie wierzę, a nawet jakby takie było to musiałbyś i tak dać stablizator LDO a nie 7812...

    xkam555 napisał:
    A istnieje może taki mikrokontroler który na wyjściu daje 12V?


    Jeden tranzystorek cię przerasta? Zwróć uwage że sterujesz MOSFET uwieszony u niestabilizowanego napięcia 8 do 13,8V , bezpośrednie połączenie jego sterowania z napięcia zmieniającego się od 0 do12V to patologia (która zapewne była przyczyną palenia LM358 u ciebie).
  • #13 16692055
    xkam555
    Poziom 8  
    Posty: 58
    Ocena: 3
    Czyli np. LM2940T-8.0 byłby odpowiednim regulatorem?
    I jak z tymi kondensatorami? Pomiędzy wejściem a masą 0.47uF, pomiedzy wyjściem a masą ponad 22uF - do tej pory korzystałem z kondensatorów ceramicznych, w tym miejscu mogą być takie? I jak z tym elektrolitycznym o którym pisałeś?

    I zrobić tak aby to stabilizowane napięcie 8V zasilało tylko Arduino, a na bramkę mosfeta przez rezystor podać już napięcie niestabilizowane to co zasila cewki (to samo co na źródło mosfetu)?

    Na schemacie tak?
    Arduino i mosfety IRF4905 do odcinania zasilania cewek zapłonowych - alternatywy dla LM358
  • #14 16692261
    jdubowski
    Specjalista - urządzenia lampowe
    Posty: 21595
    Pomógł: 2511
    Ocena: 2796
    xkam555 napisał:
    I jak z tymi kondensatorami? Pomiędzy wejściem a masą 0.47uF, pomiedzy wyjściem a masą ponad 22uF - do tej pory korzystałem z kondensatorów ceramicznych, w tym miejscu mogą być takie? I jak z tym elektrolitycznym o którym pisałeś?


    Daj ceramiczny 100nF + elektrolit 100uF (albo większy) po kazdej ze stron.

    xkam555 napisał:
    I zrobić tak aby to stabilizowane napięcie 8V zasilało tylko Arduino


    Tak.

    xkam555 napisał:
    a na bramkę mosfeta przez rezystor podać już napięcie niestabilizowane to co zasila cewki


    Tak - wzięte od strony zasilania (z punktu gdzie masz stale 12V niestabilizowane).

    Schemat sterowania jest wątpliwy - ten pomocniczy mosfet jest "logic level"? Wartości rezystoów miedzy bramką a Arduino sa podejrzane.
    BTW - Arduino ma wyjścia open collector? w takim wypadku potrzebujesz rezystora podciągającego który dałeś miedzy pinem Arduino a +5V, w innym przypadku jest on zbędny...
    Zamiast kombinować lepiej dać tranzystor bipolarny jak w poście #5, z tym że rezystor miedzy bramką a +12V niestabilzowanym radze dac mniejszy - 10k na przykład.
  • #15 16692336
    xkam555
    Poziom 8  
    Posty: 58
    Ocena: 3
    Tak, pomocniczy N-mosfet jest sterowany poziomami logicznymi. Wartości rezystorów brałem z posta #5 2k7=20MOhm, dobrze rozumiem?

    Pull-upa dałem z tego powodu, że regulator napięcia w arduino daje 5V na pin 5V nawet gdy atmega nie wstanie - takie dodatkowe zabezpieczenie dla mnie.
    Zamiast bipolarnego dałem mosfeta z tego powodu, że znalazłem takie z niskiej obudowie, do tego mam killa n-mosfetów walających się w pudełkach :) Jeśli będzie to działało to chciałbym pozostać przy nich.
  • #16 16692413
    jdubowski
    Specjalista - urządzenia lampowe
    Posty: 21595
    Pomógł: 2511
    Ocena: 2796
    xkam555 napisał:
    Wartości rezystorów brałem z posta #5 2k7=20MOhm, dobrze rozumiem?


    Po pierwsze wartosci sa dla tranzystora bipolarnego sterowango z jakiegoś tam urzadzenia a u ciebie po obu stronach co innego masz.

    2k7 to 2,7kΩ czyli 2700Ω - nie wiem co to ma wspólnego z 20MΩ...

    U ciebie bramke mosfecika mozesz połączyć przez nieielki rezystor (1kΩ) bezpośrednio do pinu Arduino.
  • #17 16692743
    xkam555
    Poziom 8  
    Posty: 58
    Ocena: 3
    Myślałem, że to tak jak 2e7.
    W jaki sposób mogę przeliczać te wartości?

    Dodano po 9 [godziny] 38 [minuty]:

    Jeszcze jedno pytanie - jeśli będę stosował dwa P-Mosfety to tuż przed bramką każdego z nich dać rezystor o małym oporze?
  • REKLAMA
  • #18 16695600
    xkam555
    Poziom 8  
    Posty: 58
    Ocena: 3
    Niestety nie działa. Miałem w domu tranzystor 2N3904 i IRF9540, podpięte według Twojego schematu - raz zamiast 100k dałem 10k, potem 47k, potem 2x47k, tak samo kombinowałem z rezystorem idącym na baze tranzystora, bezskutecznie - nie zapalę motocykla podpinając nawet 5V z arduino bezpośrednio do bazy. Nie robiłem tego obwodu zasilającego arduino tylko leciałem po USB.
    Co może być nie tak?
  • #19 16696258
    _jta_
    Specjalista elektronik
    Posty: 48995
    Pomógł: 3209
    Ocena: 4237
    Schemat z #5? Pomierz napięcia: czerwony punkt-masa, baza-emiter i kolektor-emiter na Q1, bramka (g)-źródło(s) i dren(d)-masa na Q2. Spodziewam się: ze 4V na czerwonym punkcie, 0.65V baza-emiter, 0.1V kolektor-emiter, 13V bramka-źródło i dren-masa. Oporniki: R1 nie powinien być dużo większy od R2 (4X ujdzie, więcej nie, lepiej nieco mniej, np. 2X); R3 może być równy R1, może być nawet kilkadziesiąt razy większy, ale jakbyś chciał dać mniejszy przy R2=4*R1, to może nie działać. Pytanie, czy któryś element nie jest uszkodzony, ale to będziesz sprawdzał, jak napięcia wyjdą dziwne. Moim zdaniem MOSFET może być narażony na uszkodzenie, jeśli wystąpi za wysokie napięcie zasilania - należałoby między kolektor Q1, a bramkę Q2 wstawić opornik z 1k i dodać diodę Zenera 12V między bramką, a źródłem; oraz przez nagłe wyłączenie cewek - można dodać równolegle do nich diodę anodą do masy.
  • #20 16696605
    xkam555
    Poziom 8  
    Posty: 58
    Ocena: 3
    Dzisiaj ogarnięte, że działa - po prostu połączyłem masę arduino z - w akumulatorze i wszystko chodzi aż miło :)
    Oporniki jakie zastosowałem:
    pull-up = 1,8k,
    arduino - baza = 10k,
    baza - masa = 2,2k + 470,
    12V - bramka = 2x 47k.

    Działa tak jak należy, nic się nie grzeje.
  • #22 16696716
    xkam555
    Poziom 8  
    Posty: 58
    Ocena: 3
    Ok, diode zenera anodą do bramki i katodą do źródła? Równolegle do tego opornika 100k czy szeregowo z nim (od strony zasilania czy bramki)?
    Oraz druga anodą w stronę masy równolegle do cewek? Tzn. Katoda na mój przewód zasilający cewki zapłonowe (przed czy za mosfetem) a anoda na mase?
  • #23 16696825
    _jta_
    Specjalista elektronik
    Posty: 48995
    Pomógł: 3209
    Ocena: 4237
    Ok, diode zenera anodą do bramki i katodą do źródła? Równolegle do tego opornika 100k czy szeregowo z nim?

    Tak, równolegle do opornika. I opornik (np. 1k, może być nieco mniejszy, powiedzmy 680R, albo więcej) między kolektorem, a bramką. Chodzi o to, żeby jak na zasilaniu pojawi się ze 30V (czasem prądnica może tyle dać, jak akumulator straci kontakt), to nie poszło to na bramkę MOSFET-a, bo od tego natychmiast będzie po nim.

    Katoda na mój przewód zasilający cewki zapłonowe (przed czy za mosfetem) a anoda na mase?

    Tak, katoda do drenu mosfet-a - przy wyłączaniu prądu cewka daje impuls napięcia, "próbuje" wymusić prąd z mosfet-a, niech go dostanie z masy poprzez diodę. Chociaż nie jest wykluczone, że jakiś mocniejszy mosfet potrafi to wytrzymać - to zależy, jaki prąd płynie przez cewkę, jaka energia jest w niej zmagazynowana (nota katalogowa mosfeta podaje, jaką on wytrzymuje - IRF4905 powinien wytrzymać +-20V na bramce i 930mJ energii z cewki).

Podsumowanie tematu

✨ Użytkownik pracuje nad projektem, w którym za pomocą Arduino ma odcinać zasilanie cewek zapłonowych motocykla. Wykorzystuje dwa MOSFETy IRF4905 oraz wzmacniacz operacyjny LM358 do podnoszenia napięcia z 5V na 12V. Problemem jest niestabilność LM358, który często przestaje działać. Uczestnicy dyskusji sugerują zastąpienie LM358 tranzystorem NPN, co może być tańsze i szybsze. Podkreślają również znaczenie stabilizacji napięcia oraz dodania kondensatorów w obwodzie. Użytkownik rozważa również zastosowanie diod Zenera dla ochrony MOSFETów przed wysokim napięciem. Ostatecznie, po poprawkach w schemacie, projekt działa poprawnie.
Podsumowanie wygenerowane przez AI na podstawie treści dyskusji.
REKLAMA