Jak wykryć wysoki prąd

9

Pracuję nad projektem, który polega na uruchomieniu silnika prądu stałego, który służy do podnoszenia / opuszczania szyb w pojeździe.

Podczas pracy silnik pobiera około 1,5A prądu. Jednak gdy okno osiągnie koniec suwaków, a silnik nie będzie mógł już podnosić / opuszczać szyby, zaczyna pobierać do 15A, dopóki nie zwolnisz przycisku.

Chcę użyć mikrokontrolera AVR do sterowania tym silnikiem i chciałbym zatrzymać silnik, gdy okno osiągnie barierę. Jak dotąd udało mi się wymyślić trzy rozwiązania:

  1. Użyj przełączników, które uruchomią i poinformują mikrokontroler, gdy okno dotrze do bariery. Chciałbym tego uniknąć, ponieważ oznacza to instalację dwóch przełączników na okno i poprowadzenie dodatkowych kabli do mikrokontrolera.
  2. Użyj funkcji timera, która wyłączy silnik po określonym czasie. Nie dotyczy to, ponieważ napięcie może się zmieniać, a silnik może obracać się szybciej lub wolniej niż zwykle. Ponadto okno może znajdować się w nieznanej pozycji podczas uruchamiania timera (maksymalnie w górę, na środku ...).
  3. Użyj pewnego rodzaju detektora wysokoprądowego i poprowadź go do wejścia mikrokontrolera, ostrzegając program, gdy próg prądu zostanie osiągnięty (powiedzmy 5A). Coś w rodzaju tranzystora, przekaźnika lub podobnego urządzenia, które może obsłużyć tak wysoki prąd na wejściu.

Jestem prawie początkującym, jeśli chodzi o elektronikę, więc zastanawiałem się, czy istnieje sposób na wykrycie tego wysokiego prądu (silnik pracuje na ~ 12 V) i dostarczenie tego sygnału do mikrokontrolera (który działa na 5 V).

Doceniam każdą pomoc. Dzięki!

Nikola Malešević
źródło

Odpowiedzi:

6

To powinno być dość łatwe. Różnicę między 1,5 A a 15 A można wykryć za pomocą prostego rezystora. Wartość 0,3 oma da 0,45 V przy 1,5 A i 4,5 V przy 15 A.

wprowadź opis zdjęcia tutaj

Cyfrowy pin wejściowy mikrokontrolera odczyta 0 przy 1,5 A i 1 przy 15 A.

Można to podłączyć bezpośrednio do pinu wejściowego mikrokontrolera, ale prawdopodobnie najlepiej byłoby dodać trochę filtrowania i ochrony.

RF i C1 zapewniają filtr dolnoprzepustowy, aby napięcie było bardziej stabilne.

D1 zapewnia ochronę przed przepięciem w przypadku, gdy prąd znacznie przekracza 15A.

Rocketmagnet
źródło
Silnik 12 V, który zatrzymuje się przy 15 A, ma oporność twornika 0,8 Ω, więc będzie około 3,3 V na R1, co rozproszy prawie 36 W.
MikeJ-UK,
@ MikeJ-UK - Jak długo? MCU wyłączy silnik w ciągu milisekundy lub dwóch. Typowe rozproszenie mocy wyniesie zaledwie 0,675 W.
Rocketmagnet,
2
To prawda, o ile OP nie ustawia niewygodnych punktów przerwania w swoim debuggerze!
MikeJ-UK
@ MikeJ-UK - Haha! Tak. Spaliłem silniki wcześniej z powodu punktów przerwania. Ale ten problem jest taki sam, niezależnie od tego, co jest używane do wykrywania prądu. Nie zapominaj, że rozproszenie silnika będzie wynosić 180 W podczas przeciągnięcia!
Rocketmagnet,
10

Allegro ma wiele układów scalonych czujników prądu, opartych na czujnikach z efektem Halla. ACS712 może wykrywać prądy do 50 A.

wprowadź opis zdjęcia tutaj

ACS712ELCTR-20A-T ma czułość 100 mV / A, więc możesz użyć ADC mikrokontrolera, aby wykryć, kiedy próg 500 mV (5 A) zostanie osiągnięty, lub lepiej, użyj komparatora, który przerywa mikrokontroler. Wiele AVR-ów ma komparator na chipie, z wyłącznym przypisaniem do niego.

ACS712 ma bieżącą rezystancję ścieżki wykrywania tylko 1,2 mΩ , więc nawet przy 15 A rozproszy jedynie 270 mW , co może wytrzymać na zawsze. Jest to główna przewaga nad bardziej tradycyjnym opornikiem prądowym, jak w odpowiedzi Rocketmagnet. Tam potrzebujesz stosunkowo wysokiej rezystancji, aby uzyskać wysoki poziom na 15 A. Mike obliczył, że rezystor czujnikowy Rocketmagnet rozproszy 36 W, gdy silnik się zatrzyma, więc czas ma tam krytyczne znaczenie (przez chwilę pomijając rozpraszanie 131 W w silniku). Mimo to zalecany jest rezystor czujnikowy o mocy 5 W.

stevenvh
źródło
Czas ma kluczowe znaczenie bez względu na rozwiązanie. Wszyscy koncentrują się na rozproszeniu rezystora o 36 W, ale całkowicie zapominają o rozproszeniu 180 W silnika! Ten silnik bardzo szybko się wypali.
Rocketmagnet,
@Rocket - że nie wspominając silnik tylko kopalnia 131 W, która jest wystarczająco wysoka. Masz rację, że powinieneś szybko reagować, ale przynajmniej czujnik Allegro nie będzie problemem. Wspominam o 5 W, ponieważ większość rezystorów nie pozwoli nawet> 10 x mocy nominalnej, nawet przez chwilę. Myślę, że twój rezystor czujnikowy może być wybrany mniejszy, ponieważ większość kontrolerów zobaczy już 0,7 Vcc już tak wysoko, a następnie przy 15 A to 0,23 i Omega ;.
stevenvh,
1

Są takie rzeczy zwane kontaktronami magnetycznymi. Zasadniczo jak przekaźnik; prąd powoduje pole, które zamyka niektóre kontakty. Jeśli rzucisz jeden szeregowo z silnikiem, powinieneś być w stanie znaleźć taki, który pozostanie otwarty przy 1,5 lub 2A, ale zamknięty przy 15A. Uziemić jeden ze styków przełącznika, pociągnąć drugi koniec do logiki + V i voila, izolowany cyfrowy sygnał wejściowy.

JustJeff
źródło
2
Czy masz łącze do kontaktronów, które mogą przełączać 15 A?
stevenvh,
kontaktron nie przełącza prądu 15A. Prąd 15A aktywuje kontaktron. Sam przełącznik przełącza bardzo małą ilość prądu przy napięciu logicznym. Zapewnia to cyfrowe wejście do mikro, które wyłącza wszystko, co włączyło, aby zasilać 15A w pierwszej kolejności.
JustJeff,
0

Nie tak naprawdę rozwiązanie elektroniczne, ale mechaniczne: Jeśli masz kontrolę nad mechaniką, możesz użyć rozwiązania przełączającego na silniku, np. Przenosząc z małego na duży bieg, który obróci się mniej niż jeden raz podczas całego procesu. Wgłębienie na tym sprzęcie może spowodować włączenie przełącznika. (Tak właśnie robi nasz otwieracz do drzwi garażowych.)

Mcandril
źródło