Skuterowy starter, analiza skutera
Zanim spróbujesz odpalić silnik pomijając standardowe przyciski, trzeba sprawdzić którędy normalnie płynie prąd.
...dlatego też zdjąłem plastiki ze skutera i zacząłem dźgać go miernikiem po kablach.
Dlaczego?
W założeniu, starter powinien działać następująco:
- Włącz zapłon,
- Czekaj aż pojawi się napięcie,
- Zakręć rozrusznikiem,
- Sprawdź czy silnik się kręci - jeśli nie, wróć do 3.
- Gotowe
Pytanie brzmi - jak sprawdzić czy pojawiło się napięcie oraz czy silnik pracuje.
Początkowo starter zasilany jest z akumulatorka, który daje tylko 3.3V - 5V jest niedostępne. Po włączeniu zapłonu (kluczykiem lub w inny sposób (¬‿¬) ) starter będzie zasilany przez standardowy, samochodowy adapter 12V-USB, dzięki któremu 5V będzie dostępne. Aby to wykryć, linia 5V jest podłączona do ADC przez dzielnik napięcia - kontroler toleruje max 3.6V. Jeśli ADC coś wykryje, to zapłon jest włączony - ręcznie, stacyjką, lub przez starter.
Trudniejszą sprawą jest wykrycie czy silnik się kręci. Tutaj koncepcje były różne:
- Jeśli obrotomierz jest sterowany elektrycznie, sprawdzić napięcie => odczytać obroty silnika,
- Sprawdzić prąd idący z magneto,
- Iść na żywioł i założyć, że skuter jest bardziej niezawodny, niż jest >:
Finalnie stanęło na opcji sprawdzenia prądu. Układ do mierzenia natężenia ma zakres 0A-20A i na wyjściu daje napięcie 2.5V
plus 100mV
na każdy amper na wejściu. Sprawdzenia wymagało natężenie idące z magneto - jeśli jest małe, to układ może nie być w stanie wykryć zmiany, jeśli za duże konieczny będzie dzielnik napięcia, a jeśli stanowczo za duże( > 20A ), to konieczna będzie zmiana planu.
Nadszedł więc czas na sprawdzenie jak w rzeczywistości zachowuje się skuter:
- Jaki prąd idzie z magneto?
- Gdzie wpiąć przekaźnik włączający zapłon?
- Gdzie wpiąć przekaźnik uruchamiający rozrusznik?
Pierwsze spojrzenie
Stacyjka
Do stacyjki idą 4 przewody - 3 przez kostkę oraz jeden dodatkowy. W kostce jest masa, stałe 12V oraz 12V pojawiające się po przekręceniu kluczyka. Jaki jednak jest cel tego dodatkowego? Po odpaleniu skutera pojawia się na nim 50V. Odłączenie go nic nie zmieni-- chwila, czemu silnik dalej pracuje? Przecież wyjąłem kluczyk. Ponowne podłączenie tego dodatkowego przewodu zatrzymało silnik. A więc odpowiada on za gaszenie silnika! Kawałek dalej jest kostka, w której ten przewód zwierany jest do masy - po jej rozpięciu silnik znowu nie chce się zgasić. Wygląda na to, że zwarcie tego przewodu do masy powoduje zatrzymanie silnika.
...tylko dlaczego i skąd się bierze tam aż 50V? Na schemacie nie widzę nic podobnego. Czyżby była to uniwersalna wiązka przewodów, pasująca też do motocykli które mają osobny przełącznik zapłonu? W każdym razie, jeśli chcę móc też zgasić silnik, konieczne będzie zaktualizowanie projektu i - być może - dołożenie kolejnego przekaźnika.
Stabilizator napięcia
Szukając miejsca do wpięcia amperomierza, rzuciła mi się w oczy pewna kostka - jej radiator sugerował, że jest to coś, co może się grzać. Stabilizator napięcia?
Konsultacja ze instrukcją obsługi skutera potwierdziła przypuszczenia. Czerwony przewód to 12V, zielony to uziemienie, białym idzie prąd z magneto, a żółty prowadzi do przednich świateł. Wydaje się więc, że biały może spełnić moje wymagania - prąd będzie przez niego płynął po odpaleniu silnika. Pora sprawdzić jego zachowanie. Nie byłem pewien o jakich natężeniach mowa, więc nie chciałem podłączać ani swojego miernika (multimetru? d; ) ani samego startera, na początek użyłem więc analogowego amperomierza o takim samym zakresie, jak mam w starterze.
Wskazania amperomierza
Po odpaleniu prąd wskakuje do ~2A, zależnie od obrotów trochę się zmienia - można będzie tego użyć. Zastanawiałem się czy nie potrzebny będzie amperomierz o mniejszym zakresie, bo w trakcie zabaw układem który mam, nie widziałem wielkich różnic w napięciu na wyjściu przy niskich natężeniach.
Przy okazji, skoro już wtykałem analogowy amperomierz w różne miejsca, postanowiłem sprawdzić jakie prądy idą bliżej akumulatora. Wpiąłem więc biedny mierniczek między + akumulatora a główny przewód idący wszędzie dalej. Przy próbie odpalenia wskazówka natychmiastowo wskoczyła na górną granicę zakresu - na szczęście pacjent przeżył.
Biorąc pod uwagę poprzednie niepowodzenie, wpiąłem go pomiędzy drugi, mniejszy przewód z bezpiecznikiem. Przed odpaleniem wskazywane natężenie wynosiło jakiś ułamek ampera, ale po odpaleniu wskazówka próbowała polecieć w drugą stronę - prawdopodobnie oznaczało to, że przed odpaleniem prąd płynie z akumulatora, a po więcej do niego wpływa. To podsunęło mi kolejny pomysł - jeśli prąd "do" akumulatora będzie niezerowy, to silnik jest odpalony.
Wskazania mikrokontrolera
Ponieważ układ do mierzenia natężenia prądu może na wyjściu dać od 2.5V do 5V, początkowo podłączony był do ADC w mikrokontrolerze przez dzielnik napięcia (50:50 bo na stanie miałem tylko oporniki 47kΩ).
Po podłączeniu układu do przewodu, ADC cały czas pokazywał tą samą wartość, niezależnie od natężenia prądu. Coś było nie tak.
O ile zrobienie dzielnika napięcia jest dość proste i oczywiste, prąd płynie proporcjonalnie do wartości oporników, o tyle nigdzie nie udało mi się znaleźć jednoznacznej informacji ile te wartości powinny wynosić. Użycie dwóch oporników 1kΩ albo dwóch 100kΩ tak samo podzieli prąd, jaka jest więc różnica i co lepsze? Jedynym co udało mi się znaleźć była informacja, że mniejszy opór skutkuje większym uciekaniem prądu do uziemienia, ale większy opór powoduje większy szum. Czyżby u mnie się tak on objawiał?
Natężenie wynosi u mnie nie więcej niż 4A, układ nie powinien więc dać na wyjściu więcej niż 2.5V + 4A*100mV = 2.9V
- nawet bez dzielnika napięcia powinienem być w bezpiecznym dla kontrolera zakresie. Wypiąłem więc oporniki.
Teraz, przy zgaszonym silniku ADC zgłaszał ~2.6V, a przy odpalonym różne wartości między 2.6V a 3..0V. Da się tego użyć - na przykład, jeśli kilka razy w pewnym okresie prąd wskoczy powyżej 2.8V to znaczy, że silnik pracuje.
Proces odpalania
Wiedziałem już jak z poziomu kodu stwierdzić czy silnik jest odpalony, pozostawała kwestia sprawdzenia gdzie by można wpiąć przekaźniki, żeby wymusić odpalenie.
Normalnie proces wygląda następująco:
- Przekręć kluczyk w stacyjce,
- Wciśnij dowolny hamulec,
- Przytrzymaj przycisk rozrusznika,
(po dłuższym postoju pojawiają się dodatkowe kroki:
- Powtórz 3. kilka razy,
- Poddaj się,
- Zejdź ze skutera,
- Używaj rozrusznika nożnego/kopanki przez kilka minut,
- Silnik z oporem wystartował,
- Jeśli silnik przygasa po dodaniu gazu - poczekaj jeszcze chwilę,
- Jeśli silnik poprawnie reaguje na dodanie gazu - gotowe!,
)
Wracając jednak do tematu: w najprostszej sytuacji powinno wystarczyć zasymulowanie naciśnięcia przycisku rozrusznika. Niestety, tak nie jest.
12V na hamulcach jest dostępne po włączeniu zapłonu. Wciśnięcie hamulca powoduje puszczenie 12V do świateł i na przycisk rozrusznika. Bez wciśnięcia któregokolwiek hamulca, nie będzie prądu na przycisku rozrusznika, a bez tego nie będzie prądu w przekaźniku uruchamiającym rozrusznik. Sprawdzałem czy zwieranie 12V z różnymi przewodami nie zapali światła stopu, albo przynajmniej zakręci rozrusznikiem, ale w pewnym momencie z bliżej nieokreślonego przewodu poleciał dymek i przestałem się bawić. Wniosek póki co: jeden przekaźnik trzeba będzie zamienić na 2 - jeden od świateł, drugi od rozrusznika.
Gaszenie silnika
...okazało się nie być tak proste. Początkowe plany zakładały odcięcie zasilania jednym przekaźnikiem (symulowane przekręcenie kluczyka). Okazało się jednak, że aby zatrzymać silnik konieczne jest zwarcie przewodu 50V do masy, innej opcji najwyraźniej nie ma. Kolejny przekaźnik do zestawu.
Zmiany w podzespołach
Aktualnie konieczne będzie zastąpienie jednego przekaźnika od zasilania dwoma: jednym dającym prąd na wszystkie podzespoły skutera (domyślnie wyłączony) i drugi gaszący silnik (domyślnie włączony). Oba mogą być sterowane tym samym pinem GPIO w kontrolerze (na szczęście, bo aktualnie mam tylko jeden wolny).
Dodatkowo, jeden przekaźnik kręcący rozrusznikiem też zostanie zamieniony na dwa - jeden od STOPu, drugi od rozrusznika.
Przekaźnik od zasilania będzie mógł być zasilany z linii 3.3V, a pozostałe zostaną wpięte w 5V. Potencjalnie przekaźnik gaszący może nawet nie będzie musiał być połączony z kontrolerem: jeśli 5V jest dostępne, silnik może pracować, jeśli 5V zniknie - przekaźnik sam się rozłączy, bo zniknie jego zasilanie. Wszystko zależy od tego, czy adapter USB będzie dalej dawał zasilanie po odciętym zasilaniu, ale przy pracującym silniku. Biorąc pod uwagę, że wskaźniki w takiej sytuacji opadały, może się to udać.
Zmiany w kodzie
Wydaje się, że nie będą konieczne żadne zmiany w kodzie. Możliwe, że będę chciał dodać opcję zgaszenia silnika bez odcinania zasilania, ale nie jest to pewne.
Komentarze