Automatyczny podnośnik standardowej figurki FT/HFT
Moderator: Moderatorzy wiatrówkowi
- chrominek
- Zarejestrowany użytkownik
- Reactions:
- Posty: 153
- Rejestracja: 07 grudnia 2007, 08:16
- Tematy: 10
- Lokalizacja: Warszawa
- Grupa: Zarejestrowani użytkownicy
Re: Automatyczny podnośnik standardowej figurki FT/HFT
Po zwiększeniu liczby posiadanych silniczków do wycieraczek można dalej eksperymentować (Źródło - "Autokasacja", Strażacka 39, Warszawa). Poniżej zasada działania, schemat połączeń oraz przykład działania mechanizmu podnoszenia figurki FT
Koncepcja zastosowanie silniczka od wycieraczek z wykorzystaniem pinów "pozycja parkowania", dostępnych w silniczkach od wycieraczek.
Filmik
Jak widać nie jest prosto jednocześnie Filmować i zwierać druty ;-). silniczek jest przymocowany jedną śrubą M8 go otworu z przodu podstawy figurki.
Połączenia przekaźnika
Problemem w pozycji parkowania jest to, że w momencie osiągnięcia pozycji parkowania na jeden z pinów "pp" jest podawana masa. W pozostałych pozycjach piny pp są ze sobą zwierane. I gdyby nie ta nieszczęsna masa, to można by było przepuścić +12v dodatkowo przez piny pp i już.
Ale od początku. Podawałem link do opisu działania silniczka wycieraczek.
Dla uproszczenia piny pozycji parkowania nazwijmy WE(jście) i WY(jście). PP może być w jednym z 2 trybów:
1. Pozycja Parkowania - pin WY zwarty z masą, pin WE odłączony.
2. Obrót - pin WE zwarty z pinem WY (masa odłączona).
Implikuje to, że podtrzymywanie napięcia przy obrocie jest OK (jak na WE damy 12V, to w czasie kończenia obrotu na WY będzie też 12V, ale musimy zagwarantować, że przy włączonym wyzwalaniu silnika (podajemy 12V na silnik przy jego uruchamianiu), masa, będąca wtedy na wyjściu pin WY, nie zewrze się z 12V podawanym na silnik.
Załatwia to przekaźnik, połączony odwrotnie. Gdy chcemy bezpośrednio włączyć silnik - odłączamy sterowanie przez PP od silnika (plusa).
Jak się nam znudzi kręcenie silnikiem ręcznie - odłączamy zasilanie bezpośrednie od silnika i przełączamy przez PP.
Pokazany na zdjęciu przekaźnik po lewj stronie ma 2 piny - zasilanie cewki magnesu. Jeśli podłączyć napięcie 12V (jedno do masy, drugie do +12 V), elektromagnes przełączy dwa wbudowane przełączniki.
Po prawej stronie są po 3 nóżki w 2 rządkach. Są to złącza 2 przełączników - każdy rządek 3 nóżek to wyprowadzenia jednego, przełącznika (zespolonego z drugim przełącznikiem obudową i mechanizmem przełączania, ale elektrycznie są rozdzielone).
Przy braku przepływu prądu przez cewkę środkowa nóżka jest zwarta z lewą nóżką. Jeśli przez elektromagnes przepływa prąd, nóżka środkowa jest zwierana z prawą. Nóżka w danym momencie nie połączona z nóżką środkową "wisi w powietrzu".
Co widzimy:
Górny rządek przełącza +12V, dolny rządek przełącza wyjście "WY" PP. Na nóżkę środkową górnego dochodzi +12V, a do dolnego "WY" PP. Kabelek "na skos", przy włączonym elektromagnesie, jest połączony z +12V oraz z odłączonym stykiem WE PP. Jeśli piny numerować 123 w stanie połączenia, a oznaczać "x" gdy są odłączone, to mamy przy włączonym elektromagnesie (prąd płynie przez cewkę przekaźnika):
x23 2 zwarte z 3 , kabelek podłączony do "3". "1" jest niewykorzystywana.
x23 2 zwarte z 3, kabelek podłączony do "x". "3" jest niewykorzystywana.
czyli na kabelku idącym do silnika jest stan z górnej "3", czyli +12V
Jeśli przez elektromagnes przestanie płynąć prąd, to +12V zostanie odłączone od silnika (góra 12x - "3" zostaje niepodłączona), a podłączone "WY" PP (dół 12x - "1" przekazuje z "2" napięcie z "WY" PP).
Kiedyś narysuję schemat, ale z uwagi na blokowanie edycji postów będzie gdzieś dalej w wątku.
Złącze 4-stykowe
W tym wypadku masa jest na kabelku z boku (w samochodzie zero jest na szkielecie), dolne płytki od lewej: "szybko", "wolno".
górne od lewej: PP "WY", PP "WE". Podłączenia:
Prawo dół - "skośny" kabelek z przekaźnika.
Góra - biały +12V na WE PP, pomarańczowy lewo góra WY PP - wchodzi na środkowy pin dolnego przekaźnika.
Złącze 5-stykowe.
Tego do końca nie sprawdziłem (Ford Mondeo - silnik MK1 i MK2) - w każdym razie masa jest na środku, w prawo szybko i wolno, z tego wychodzi, że w lewo są dwa PP. Ale tych silniczków użyję do napędu wózka z figurkami.
Koncepcja zastosowanie silniczka od wycieraczek z wykorzystaniem pinów "pozycja parkowania", dostępnych w silniczkach od wycieraczek i czujnika zbliżeniowego - kontaktronu z magnesem neodymowym.
Filmik
Kontaktron należy zamocować koło opadającego lizaka, a na lizaku zamocować magnesik neodymowy. Opadnięty lizak przybliża magnes do kontaktronu, powodując jego zwarcie. Kontaktron będzie zwarty tak długo, aż magnes nie odsunie się od niego - czyli figurka będzie gdzieś w połowie podnoszenia. Dokończenie cyklu podnoszenia zapewni funkcja parkowania silniczka.
Podsumowując, do dołożenia mechanizmu podnoszenia figurki, potrzebny jest przekaźnik, kontaktron, magnes neodymowy, silnik wycieraczek oraz trochę przewodów, jakieś mocowania. I oczywiście przenośne źródło zasilania.
Na tych Filmikach jest "Spinnerowy" słonik. Ma bardzo mało mięska dla wersji pchanej (chyba, żeby skośnie od dołu). Natomiast gdyby go wyposażyć w dłuższą nóżkę (poniżej osi obrotu), to by się nadawała do podnoszenia za nią metodą ciągnięcia od tyłu.
Gdyby z przodu dodać "stopę" (która po przewróceniu figurki unosi się do góry, to można by za nią ciągnąć do dołu (pod figurką).
Zostaje jeszcze metoda podnoszenia wygiętym drutem (korba), wtedy w którą stronę wygnie się ramię, z tej strony można pchać lub ciągnąć - wymaga 2 mocowań na oś obrotu (za figurką), zademonstruję przy okazji.
Co do pytania Spinnera - oczywiście temat jest otwarty, pomysł jest otwarty, wszelka dyskusja, uwagi, dygresje i własne pomysły mile widziane. Co do wątku - istnieje w 2 miejscach - Warsztat i Wiatrówki. Wg mojej oceny powinien być w Warsztacie, ale co tam modowie uważają. Gdyby zechcieli go skleić i zostawić w jednym miejscu, a z drugiego usunąć ...
Koncepcja zastosowanie silniczka od wycieraczek z wykorzystaniem pinów "pozycja parkowania", dostępnych w silniczkach od wycieraczek.
Filmik
Jak widać nie jest prosto jednocześnie Filmować i zwierać druty ;-). silniczek jest przymocowany jedną śrubą M8 go otworu z przodu podstawy figurki.
Połączenia przekaźnika
Problemem w pozycji parkowania jest to, że w momencie osiągnięcia pozycji parkowania na jeden z pinów "pp" jest podawana masa. W pozostałych pozycjach piny pp są ze sobą zwierane. I gdyby nie ta nieszczęsna masa, to można by było przepuścić +12v dodatkowo przez piny pp i już.
Ale od początku. Podawałem link do opisu działania silniczka wycieraczek.
Dla uproszczenia piny pozycji parkowania nazwijmy WE(jście) i WY(jście). PP może być w jednym z 2 trybów:
1. Pozycja Parkowania - pin WY zwarty z masą, pin WE odłączony.
2. Obrót - pin WE zwarty z pinem WY (masa odłączona).
Implikuje to, że podtrzymywanie napięcia przy obrocie jest OK (jak na WE damy 12V, to w czasie kończenia obrotu na WY będzie też 12V, ale musimy zagwarantować, że przy włączonym wyzwalaniu silnika (podajemy 12V na silnik przy jego uruchamianiu), masa, będąca wtedy na wyjściu pin WY, nie zewrze się z 12V podawanym na silnik.
Załatwia to przekaźnik, połączony odwrotnie. Gdy chcemy bezpośrednio włączyć silnik - odłączamy sterowanie przez PP od silnika (plusa).
Jak się nam znudzi kręcenie silnikiem ręcznie - odłączamy zasilanie bezpośrednie od silnika i przełączamy przez PP.
Pokazany na zdjęciu przekaźnik po lewj stronie ma 2 piny - zasilanie cewki magnesu. Jeśli podłączyć napięcie 12V (jedno do masy, drugie do +12 V), elektromagnes przełączy dwa wbudowane przełączniki.
Po prawej stronie są po 3 nóżki w 2 rządkach. Są to złącza 2 przełączników - każdy rządek 3 nóżek to wyprowadzenia jednego, przełącznika (zespolonego z drugim przełącznikiem obudową i mechanizmem przełączania, ale elektrycznie są rozdzielone).
Przy braku przepływu prądu przez cewkę środkowa nóżka jest zwarta z lewą nóżką. Jeśli przez elektromagnes przepływa prąd, nóżka środkowa jest zwierana z prawą. Nóżka w danym momencie nie połączona z nóżką środkową "wisi w powietrzu".
Co widzimy:
Górny rządek przełącza +12V, dolny rządek przełącza wyjście "WY" PP. Na nóżkę środkową górnego dochodzi +12V, a do dolnego "WY" PP. Kabelek "na skos", przy włączonym elektromagnesie, jest połączony z +12V oraz z odłączonym stykiem WE PP. Jeśli piny numerować 123 w stanie połączenia, a oznaczać "x" gdy są odłączone, to mamy przy włączonym elektromagnesie (prąd płynie przez cewkę przekaźnika):
x23 2 zwarte z 3 , kabelek podłączony do "3". "1" jest niewykorzystywana.
x23 2 zwarte z 3, kabelek podłączony do "x". "3" jest niewykorzystywana.
czyli na kabelku idącym do silnika jest stan z górnej "3", czyli +12V
Jeśli przez elektromagnes przestanie płynąć prąd, to +12V zostanie odłączone od silnika (góra 12x - "3" zostaje niepodłączona), a podłączone "WY" PP (dół 12x - "1" przekazuje z "2" napięcie z "WY" PP).
Kiedyś narysuję schemat, ale z uwagi na blokowanie edycji postów będzie gdzieś dalej w wątku.
Złącze 4-stykowe
W tym wypadku masa jest na kabelku z boku (w samochodzie zero jest na szkielecie), dolne płytki od lewej: "szybko", "wolno".
górne od lewej: PP "WY", PP "WE". Podłączenia:
Prawo dół - "skośny" kabelek z przekaźnika.
Góra - biały +12V na WE PP, pomarańczowy lewo góra WY PP - wchodzi na środkowy pin dolnego przekaźnika.
Złącze 5-stykowe.
Tego do końca nie sprawdziłem (Ford Mondeo - silnik MK1 i MK2) - w każdym razie masa jest na środku, w prawo szybko i wolno, z tego wychodzi, że w lewo są dwa PP. Ale tych silniczków użyję do napędu wózka z figurkami.
Koncepcja zastosowanie silniczka od wycieraczek z wykorzystaniem pinów "pozycja parkowania", dostępnych w silniczkach od wycieraczek i czujnika zbliżeniowego - kontaktronu z magnesem neodymowym.
Filmik
Kontaktron należy zamocować koło opadającego lizaka, a na lizaku zamocować magnesik neodymowy. Opadnięty lizak przybliża magnes do kontaktronu, powodując jego zwarcie. Kontaktron będzie zwarty tak długo, aż magnes nie odsunie się od niego - czyli figurka będzie gdzieś w połowie podnoszenia. Dokończenie cyklu podnoszenia zapewni funkcja parkowania silniczka.
Podsumowując, do dołożenia mechanizmu podnoszenia figurki, potrzebny jest przekaźnik, kontaktron, magnes neodymowy, silnik wycieraczek oraz trochę przewodów, jakieś mocowania. I oczywiście przenośne źródło zasilania.
Na tych Filmikach jest "Spinnerowy" słonik. Ma bardzo mało mięska dla wersji pchanej (chyba, żeby skośnie od dołu). Natomiast gdyby go wyposażyć w dłuższą nóżkę (poniżej osi obrotu), to by się nadawała do podnoszenia za nią metodą ciągnięcia od tyłu.
Gdyby z przodu dodać "stopę" (która po przewróceniu figurki unosi się do góry, to można by za nią ciągnąć do dołu (pod figurką).
Zostaje jeszcze metoda podnoszenia wygiętym drutem (korba), wtedy w którą stronę wygnie się ramię, z tej strony można pchać lub ciągnąć - wymaga 2 mocowań na oś obrotu (za figurką), zademonstruję przy okazji.
Co do pytania Spinnera - oczywiście temat jest otwarty, pomysł jest otwarty, wszelka dyskusja, uwagi, dygresje i własne pomysły mile widziane. Co do wątku - istnieje w 2 miejscach - Warsztat i Wiatrówki. Wg mojej oceny powinien być w Warsztacie, ale co tam modowie uważają. Gdyby zechcieli go skleić i zostawić w jednym miejscu, a z drugiego usunąć ...
- chrominek
- Zarejestrowany użytkownik
- Reactions:
- Posty: 153
- Rejestracja: 07 grudnia 2007, 08:16
- Tematy: 10
- Lokalizacja: Warszawa
- Grupa: Zarejestrowani użytkownicy
Re: Automatyczny podnośnik standardowej figurki FT/HFT
Spinnerku dziękuję ;-), śmiało wrzucaj, ale proponuję w jego kawałku w dziale warsztat - po awarii iweba posty zostały drugi raz przeniesione, tym razem do "wiatrówek" i może jakiś dobry moderator to sklei razem ...
- chrominek
- Zarejestrowany użytkownik
- Reactions:
- Posty: 153
- Rejestracja: 07 grudnia 2007, 08:16
- Tematy: 10
- Lokalizacja: Warszawa
- Grupa: Zarejestrowani użytkownicy
Re: Automatyczny podnośnik standardowej figurki FT/HFT
Myślałem o takiej dźwigni.
Filmik
Ramię, za które się ciągnie, może być wygięte jakkolwiek. Jak do góry, to trzeba ciągnąć do przodu lub w dół, jak w dół, to ciągnąc do tyłu lub do góry.
W tym układzie można zastosować serwo, ale do tego trzeba dorzucić sterowanie. Typowe serva mają podany moment siły w kilogramach/cm.Servo 15kG, przy ramieniu 5cm będzie działać na figurkę siłą 3 kG. 13kG serva są na DX-ie w granicach 30 PLN (plastik) czy koło 70 PLN (metalowe przekładnie). Do tego sterowanie (np. arduino nano) ..., a i tak przy dużych figurkach może być problem. Silniczki wycieraczek mają moment obrotowy nieporównywalnie większy. I to proste sterowanie ...
I przy okazji:
Napęd automatycznej figurki - pierwsze uruchomienie napędu jednego koła. W wersji alfa zdalne sterowanie przód-tył, docelowo sterowana cwanym programem treningu (H)FT. Na razie 4-kanałowy sterownik do 100m z przekaźnikami widzę po 45 PLN (przód, tył, prawo, lewo).
Filmik
Ramię, za które się ciągnie, może być wygięte jakkolwiek. Jak do góry, to trzeba ciągnąć do przodu lub w dół, jak w dół, to ciągnąc do tyłu lub do góry.
W tym układzie można zastosować serwo, ale do tego trzeba dorzucić sterowanie. Typowe serva mają podany moment siły w kilogramach/cm.Servo 15kG, przy ramieniu 5cm będzie działać na figurkę siłą 3 kG. 13kG serva są na DX-ie w granicach 30 PLN (plastik) czy koło 70 PLN (metalowe przekładnie). Do tego sterowanie (np. arduino nano) ..., a i tak przy dużych figurkach może być problem. Silniczki wycieraczek mają moment obrotowy nieporównywalnie większy. I to proste sterowanie ...
I przy okazji:
Napęd automatycznej figurki - pierwsze uruchomienie napędu jednego koła. W wersji alfa zdalne sterowanie przód-tył, docelowo sterowana cwanym programem treningu (H)FT. Na razie 4-kanałowy sterownik do 100m z przekaźnikami widzę po 45 PLN (przód, tył, prawo, lewo).
-
- Reactions:
- Posty: 1
- Rejestracja: 29 lutego 2016, 20:22
- Tematy: 0
- Grupa: Zarejestrowani użytkownicy
Re: Automatyczny podnośnik standardowej figurki FT/HFT
witam .
Gratuluje pomysłu i wykonu , naprawde szacun ,
wiem ile czasu trzeba poświęcić na przemyśłenia i wykonanie a o testach nie wspomnę.
Ja postawiłem na miniaturyzacje i oto efekty
Gratuluje pomysłu i wykonu , naprawde szacun ,
wiem ile czasu trzeba poświęcić na przemyśłenia i wykonanie a o testach nie wspomnę.
Ja postawiłem na miniaturyzacje i oto efekty
- chrominek
- Zarejestrowany użytkownik
- Reactions:
- Posty: 153
- Rejestracja: 07 grudnia 2007, 08:16
- Tematy: 10
- Lokalizacja: Warszawa
- Grupa: Zarejestrowani użytkownicy
Re: Automatyczny podnośnik standardowej figurki FT/HFT
Obiecywałem, że zrobię. Oto działający prototyp zdalnie sterowanej platformy z automatycznymi figurkami. Wszystko napędzane silniczkami od wycieraczek. Do przetestowania zasięg w terenie i radzenie sobie na trawie. Pierwszy test na Siekierkach pewnie na początku kwietnia.
Program na arduino obsługuje i sterowanie napędem platformy i może sterować figurkami (głównie chodzi o sterowanie opóźnieniem podniesienia figurki), ale chwilowo podnoszenie figurek działa w autonomii.
Program na arduino obsługuje i sterowanie napędem platformy i może sterować figurkami (głównie chodzi o sterowanie opóźnieniem podniesienia figurki), ale chwilowo podnoszenie figurek działa w autonomii.
- Włamywacz.P.S
- Zarejestrowany użytkownik
- Reactions:
- Posty: 1058
- Rejestracja: 05 września 2006, 22:35
- Tematy: 33
- Lokalizacja: Zielona Góra
- Grupa: Zarejestrowani użytkownicy
Re: Automatyczny podnośnik standardowej figurki FT/HFT
Wypasiony pomysł !!! Też chce taki tylko trzeba zrobić po mojemu . Co Ty na to ? Skontaktuj się ze mną . POZDRO
popraw to co inni spieprzyli
- Bonzoo
- Zarejestrowany użytkownik
- Reactions:
- Posty: 917
- Rejestracja: 29 stycznia 2007, 19:25
- Tematy: 50
- Lokalizacja: Łazy (Ślaskie)
- Grupa: Zarejestrowani użytkownicy
Re: Automatyczny podnośnik standardowej figurki FT/HFT
NO wypas. Taką jeżdżącą platformę to chętnie bym nabył Pomyśl nad tym
Jak coś ci w życiu nie idzie i wpadasz pyskiem w błoto, to musisz być jak dzik - pchać to błoto ryjem do przodu.
______________________________________
SMS "Hetman"
______________________________________
SMS "Hetman"
- chrominek
- Zarejestrowany użytkownik
- Reactions:
- Posty: 153
- Rejestracja: 07 grudnia 2007, 08:16
- Tematy: 10
- Lokalizacja: Warszawa
- Grupa: Zarejestrowani użytkownicy
Re: Automatyczny podnośnik standardowej figurki FT/HFT
Dziekuje! Wszystko, co umieszczam na tym forum, jest "copyleft" (czyli anty copyright). Dostepne do dowolnych zastosowan, kopiowania, produkcji przemyslowej, modyfikacji, krytykowania, prezentowania wasnych rozwiazan, poprawiania i co tam jeszcze. Z drugiej strony nie mam czasu na wytwarzanie moich projektow. Litery polskie beda jutro. I kod arduino.
- Bonzoo
- Zarejestrowany użytkownik
- Reactions:
- Posty: 917
- Rejestracja: 29 stycznia 2007, 19:25
- Tematy: 50
- Lokalizacja: Łazy (Ślaskie)
- Grupa: Zarejestrowani użytkownicy
Re: Automatyczny podnośnik standardowej figurki FT/HFT
Jak to wytłumaczysz w wersji "dla opornych" to może uda się zmontować.
Jak coś ci w życiu nie idzie i wpadasz pyskiem w błoto, to musisz być jak dzik - pchać to błoto ryjem do przodu.
______________________________________
SMS "Hetman"
______________________________________
SMS "Hetman"
- chrominek
- Zarejestrowany użytkownik
- Reactions:
- Posty: 153
- Rejestracja: 07 grudnia 2007, 08:16
- Tematy: 10
- Lokalizacja: Warszawa
- Grupa: Zarejestrowani użytkownicy
Re: Automatyczny podnośnik standardowej figurki FT/HFT
Dla tych, którzy nie używali Arduino, wchodzimy na stronę projektu , pobieramy program "IDE", kupujemy Arduino UNO (klona albo oryginał, drogo albo tanio, gdzie tanio = za miesiąc z Chin), podłączamy do komputera kablem USB, uruchamiamy IDE i wgrywamy pierwszy testowy program (zwykle miganie diodką - domyślnie jest tam już załadowany, można zmienić czasy włączenia i wyłączenia , żeby było widać zmiany) - i już jest nasze, gotowe do wykonywania programów. Ewentualnie trzeba wcześniej wskazać właściwy port szeregowy, pod którym widać w systemie Arduino UNO.
Poniższy kod, testowany na płytce Arduino UNO, jest przeznaczony docelowo do działania na Arduino Pro Mini (taki moduł jest w urządzeniu z filmiku). Program (a w terminologii Arduino "szkic" = "sketch" po angielsku) obsługuje jednocześnie automatyczne podnoszenie 2 figurek oraz sterowanie z pilota platformą jezdną. Z tego powodu w programie nie jest używana funkcja "delay" (poczekaj wskazaną ilość milisekund, stojąc w tym miejscu programu), tylko odliczanie zegarowe, które nie blokuje kolejnych wykonań głównej pętli programu (czyli obsługa figurek i wózka jednocześnie).
funkcja setup() inicjuje stan zmiennych, wejść i wyjść.
funkcja loop() to główny, wykonywany w nieskończonej pętli kod programu.
Najpierw odczytywane są stany wejść:
Button1State = digitalRead(Button1Pin); //Kontaktron pierwszej figurki - kontaktron zwiera do zera (GND) przy przewróceniu figurki
...
GoLeft=digitalRead(GoLeftPin); // Odczyt stanu 4 przycisków zdalnego sterowania. Przycisk wciśnięty daje zero na odpowiadającym mu wejściu.
...
timer=millis(); // Odczyt czasu od uruchomienia programu
Potem następują sekcje obsługi poszczególnych funkcji w postaci
switch (X){
case 0:{}
case 1:{}
...
}
...
W zależności od wartości "X" są wykonywane akcje w odpowiadającej sekcji "case".
Figurki mają cykl:
Stan 0 - jak długo kontaktron nie jest zwarty, aktualizuj czas dla oldtimer. Jeśli kontaktron zostanie zwarty do 0 (ButtonStateX=1 - w odczycie jest negacja "!") , to poczekaj, aż minie czas opóźnienia podniesienia figurki "DelayStart", a potem zmień stan na "1", zresetuj oldtimerX i włącz silnik (SwitchPinX na HIGH, czyli +5V na wyjściu), co rozpocznie podnoszenie figurki.
Stan 1 - czekaj na rozwarcie kontaktronu (figurka trochę się już podniosła), jak zostanie rozwarty, wyłącza zasilanie podawane na silnik (silnik jest teraz zasilany z sytemu parkowania, wbudowanego w silnik wycieraczek, a dokładniej przekaźnik przy stanie LOW (0V) podaje na zasilanie silnika nie +12V z zasilania, tylko +12V z systemu parkowania, co spowoduje samoistne zatrzymani silnika po wykonaniu jednego obrotu) i przejdź do stanu "2"
Stan 2 - odczekaj czas "DelayUp", dając figurce czas na podniesienie się, potem przejdź do stanu "0" (aby znowu oczekiwać na zwarcie kontaktronu przez przewróconą figurkę)
I tak niezależnie dla 2 figurek.
Dalej sekcja dodania binarnego stanu przycisków (z wyrzucaniem na podłączony komputer zmiany stanów przycisków - do uruchamiania sterowania radiowego) i procedura wyboru kierunku ruchu platformy "switch(Go)"
W celu uruchomienia silników platformy, należy włączyć zasilanie i ustawić kierunek obrotów prawego i lewego silnika. Power HIGH włącza przekaźnik zasilania. LOW lub HIGH na przekaźniku każdego z silników ustala kierunek obrotów (+/- albo -/+). Tu chyba dalej nie ma co tłumaczyć. Ostatnia sekcja "default" z badaniem opóźnienia miała za zadanie wyłapywanie przerw w komunikacji radiowej przed wyłączeniem silników, ale na razie nie znalazła zastosowania z braku stosownej odległości nadajnik-odbiornik.
Sterowanie przekaźnikami z Arduino musi odbywać się przez tranzystor (prąd cewki przekaźnika przekracza dopuszczalny prąd z wyjścia kontrolera, ale spokojnie starcza do podania przez opornik na bazę tranzystora npn, który może wtedy przepuścić większy prąd. Uwaga na diodę "zjadającą" przepięcia przy rozłączaniu cewki, bez niej można spalić tranzystor - w momencie rozłączania (tranzystor przestaje przewodzić) cewka indukuje napięcie przeciwdziałające zanikowi prądu, które może przekraczać 100V, a przez diodę się rozładuje!
Poniższy kod, testowany na płytce Arduino UNO, jest przeznaczony docelowo do działania na Arduino Pro Mini (taki moduł jest w urządzeniu z filmiku). Program (a w terminologii Arduino "szkic" = "sketch" po angielsku) obsługuje jednocześnie automatyczne podnoszenie 2 figurek oraz sterowanie z pilota platformą jezdną. Z tego powodu w programie nie jest używana funkcja "delay" (poczekaj wskazaną ilość milisekund, stojąc w tym miejscu programu), tylko odliczanie zegarowe, które nie blokuje kolejnych wykonań głównej pętli programu (czyli obsługa figurek i wózka jednocześnie).
funkcja setup() inicjuje stan zmiennych, wejść i wyjść.
funkcja loop() to główny, wykonywany w nieskończonej pętli kod programu.
Najpierw odczytywane są stany wejść:
Button1State = digitalRead(Button1Pin); //Kontaktron pierwszej figurki - kontaktron zwiera do zera (GND) przy przewróceniu figurki
...
GoLeft=digitalRead(GoLeftPin); // Odczyt stanu 4 przycisków zdalnego sterowania. Przycisk wciśnięty daje zero na odpowiadającym mu wejściu.
...
timer=millis(); // Odczyt czasu od uruchomienia programu
Potem następują sekcje obsługi poszczególnych funkcji w postaci
switch (X){
case 0:{}
case 1:{}
...
}
...
W zależności od wartości "X" są wykonywane akcje w odpowiadającej sekcji "case".
Figurki mają cykl:
Stan 0 - jak długo kontaktron nie jest zwarty, aktualizuj czas dla oldtimer. Jeśli kontaktron zostanie zwarty do 0 (ButtonStateX=1 - w odczycie jest negacja "!") , to poczekaj, aż minie czas opóźnienia podniesienia figurki "DelayStart", a potem zmień stan na "1", zresetuj oldtimerX i włącz silnik (SwitchPinX na HIGH, czyli +5V na wyjściu), co rozpocznie podnoszenie figurki.
Stan 1 - czekaj na rozwarcie kontaktronu (figurka trochę się już podniosła), jak zostanie rozwarty, wyłącza zasilanie podawane na silnik (silnik jest teraz zasilany z sytemu parkowania, wbudowanego w silnik wycieraczek, a dokładniej przekaźnik przy stanie LOW (0V) podaje na zasilanie silnika nie +12V z zasilania, tylko +12V z systemu parkowania, co spowoduje samoistne zatrzymani silnika po wykonaniu jednego obrotu) i przejdź do stanu "2"
Stan 2 - odczekaj czas "DelayUp", dając figurce czas na podniesienie się, potem przejdź do stanu "0" (aby znowu oczekiwać na zwarcie kontaktronu przez przewróconą figurkę)
I tak niezależnie dla 2 figurek.
Dalej sekcja dodania binarnego stanu przycisków (z wyrzucaniem na podłączony komputer zmiany stanów przycisków - do uruchamiania sterowania radiowego) i procedura wyboru kierunku ruchu platformy "switch(Go)"
W celu uruchomienia silników platformy, należy włączyć zasilanie i ustawić kierunek obrotów prawego i lewego silnika. Power HIGH włącza przekaźnik zasilania. LOW lub HIGH na przekaźniku każdego z silników ustala kierunek obrotów (+/- albo -/+). Tu chyba dalej nie ma co tłumaczyć. Ostatnia sekcja "default" z badaniem opóźnienia miała za zadanie wyłapywanie przerw w komunikacji radiowej przed wyłączeniem silników, ale na razie nie znalazła zastosowania z braku stosownej odległości nadajnik-odbiornik.
Kod: Zaznacz cały
const int Button1Pin = 8;
const int Button2Pin = 9;
const int SwitchPin1 = 10;
const int SwitchPin2 = 11;
const int GoLeftPin = A0;
const int GoBackPin = A1;
const int GoForwardPin = A2;
const int GoRightPin = A3;
const int PowerPin = 4;
const int RightEnginePin = 5;
const int LeftEnginePin = 6;
int Button1State = 0;
int Button2State = 0;
int LastButton1State = 0;
int LastButton2State = 0;
int SwitchState = 0;
int LastSwitchState = 0;
int GoLeft=0;
int GoBack=0;
int GoForward=0;
int GoRight=0;
int Go=0;
int OldGo=0;
unsigned long timer;
unsigned long oldtimer1;
unsigned long oldtimer2;
unsigned long DelayStart = 1000;
unsigned long DelayUp = 3000;
unsigned long DelayReadGo = 50;
unsigned long DelayGo;
int State1 = 0; // 0 up, 1 grow, 2 wait or up
int State2 = 0;
// 0, wait HIGH,delay 4000, out high, 0->1; wait LOW, out low, 1->2; delay 3000, 2->0
void setup() {
pinMode(Button1Pin, INPUT);
pinMode(Button2Pin, INPUT);
digitalWrite(Button1Pin, HIGH); //connect internal resistor to VCC. Change using ground
digitalWrite(Button2Pin, HIGH); //connect internal resistor to VCC. Change using ground
pinMode(SwitchPin1, OUTPUT);
pinMode(SwitchPin2, OUTPUT);
digitalWrite(SwitchPin1, LOW);
digitalWrite(SwitchPin2, LOW);
pinMode(GoLeftPin, INPUT);
pinMode(GoBackPin, INPUT);
pinMode(GoForwardPin, INPUT);
pinMode(GoRightPin, INPUT);
pinMode(PowerPin,OUTPUT);
pinMode(RightEnginePin,OUTPUT);
pinMode(LeftEnginePin,OUTPUT);
digitalWrite(PowerPin,LOW);
digitalWrite(RightEnginePin,LOW);
digitalWrite(LeftEnginePin, LOW);
Serial.begin(9600);
State1=0;
State2=0;
oldtimer1=millis();
oldtimer2=oldtimer1;
Go=0;
DelayGo=0;
}
void loop() {
Button1State = !digitalRead(Button1Pin);
Button2State = !digitalRead(Button2Pin);
GoLeft=digitalRead(GoLeftPin);
GoBack=digitalRead(GoBackPin);
GoForward=digitalRead(GoForwardPin);
GoRight=digitalRead(GoRightPin);
timer=millis();
switch (State1){
case 0:
if(Button1State){
if( (oldtimer1+DelayStart) <= timer) {
digitalWrite(SwitchPin1, HIGH);
State1=1;
oldtimer1=timer;
}else{
}
}else{
oldtimer1=timer;
}
break;
case 1:
if(!Button1State){
digitalWrite(SwitchPin1, LOW);
State1=2;
}
oldtimer1=timer;
break;
case 2:
if( (oldtimer1+DelayUp) <= timer){
State1=0;
oldtimer1=timer;
}
break;
}
switch (State2){
case 0:
if(!Button2State){
if( (oldtimer2+DelayStart) <= timer) {
digitalWrite(SwitchPin2, HIGH);
State2=1;
oldtimer2=timer;
}else{
}
}else{
oldtimer2=timer;
}
break;
case 1:
if(Button2State){
digitalWrite(SwitchPin2, LOW);
State2=2;
}
oldtimer2=timer;
break;
case 2:
if( (oldtimer2+DelayUp) <= timer){
State2=0;
oldtimer2=timer;
}
break;
}
Go=GoLeft+2*GoBack+4*GoForward+8*GoRight;
if(OldGo!=Go){
OldGo=Go;
if(Go){
Serial.println(Go);
}else{
DelayGo=timer;;
}
}
switch(Go){
case 1: //Left
digitalWrite(RightEnginePin,LOW);
digitalWrite(LeftEnginePin, HIGH);
digitalWrite(PowerPin,HIGH);
break;
case 2: //Back
digitalWrite(RightEnginePin,HIGH);
digitalWrite(LeftEnginePin, HIGH);
digitalWrite(PowerPin,HIGH);
break;
case 4: //Forward
digitalWrite(RightEnginePin,LOW);
digitalWrite(LeftEnginePin, LOW);
digitalWrite(PowerPin,HIGH);
break;
case 8: //Right
digitalWrite(RightEnginePin,HIGH);
digitalWrite(LeftEnginePin, LOW);
digitalWrite(PowerPin,HIGH);
break;
default:
if(timer>(DelayGo+DelayReadGo)){
digitalWrite(PowerPin,LOW);
digitalWrite(RightEnginePin,LOW);
digitalWrite(LeftEnginePin, LOW);
}
break;
}
- chrominek
- Zarejestrowany użytkownik
- Reactions:
- Posty: 153
- Rejestracja: 07 grudnia 2007, 08:16
- Tematy: 10
- Lokalizacja: Warszawa
- Grupa: Zarejestrowani użytkownicy
Re: Automatyczny podnośnik standardowej figurki FT/HFT
Obrazkowe wytłumaczenie, jak działa system parkowania silnika. W stanie "niewzbudzonym" do systemu parkowania (SP) jest podawane napięcie (+) z akumulatora (na "czerwony niepełny pierścień" - CzP). Sygnał zwrotny (SZ) jest podłączony do zera (czarna plama).
Ruszamy silnik dając "+" na zasilanie silnika (przełączając przekaźnik czy cokolwiek innego). Silnik obraca się, "czarna plama" obraca się razem z silnikiem i po chwili SZ SP dostaje z CzP "+".
Wyłączamy "+" z przekaźnika, przełączając go na SZ SP. Silnik będzie się się tak długo kręcił, aż "czarna plama" nie dojdzie do SZ.
Potem silnik jeszcze troszkę się obróci siłą rozpędu i zatrzyma SP na "czarnej plamie", SZ brany z "czarnej plamy" (czyli "0").
Do samego automatycznego podnoszenia figurki potrzebny jest: silnik od wycieraczek, przekaźnik, przełącznik (np. kontaktron z magnesem czy kawałek drutu, dociskany przez przewracającą się figurkę). do tego mocowania, łańcuszki i ZASILANIE. Nie potrzeba do tego ŻADNEJ elektroniki. Podłączenie pod mikrokontroler (Arduino) umożliwia wygodne sterowanie opóźnieniem podnoszenia figurki, czy np. ograniczeniu prądu z akumulatorów, wymuszając podnoszenie tylko jednej figurki (jak ma podnosić więcej). Równie dobrze można zastosować przekaźnik z regulowanym opóźnieniem (na allegro po kilkadziesiąt złotych) i nie bawić się z programowaniem.
Podobnie można podpiąć sterowanie z pilota bezpośrednio do silników - są gotowe moduły bezprzewodowe, od razu z przekaźnikami - tylko trzeba wymyślić logikę sterowania.
Schemat działania mechanizmu parkowania silnika oraz płytka klona Arduino Uno z płytką prototypową, do uruchamiania elektroniki układu (przekaźniki, tranzystory, diody, przełączniki, ZASILANIE)
Sterowanie samym podnoszeniem figurki - moduł przekaźnika, do którego należy podłączyć zasilanie, 4 przewody z silnika i sygnał przewrócenia figurki. Tu na kawałku płytki uniwersalnej, ale lepiej przygotować z laminatu dedykowaną (najprościej - dremelek, wyfrezować folię miedzianą pomiędzy ścieżkami, wywierci dziurki pod elementy i gotowe). Gołe oraz w folii termokurczliwej z modułem akumulatorów litowo-jonowych (z pozyskanej tanio nieużywanej baterii od laptopa + zabezpieczenie na 4 ogniwa przed nadmiernym rozładowaniem).
Sterowanie bezprzewodowe - pilot i moduł odbiornika. Dwadzieścia parę złotych na Allegro, 2-3 $ na aliexpresss (4 ch 315mhz key wireless remote control arduino) i jest tego sporo.
Połączenie Arduino Pro Mini z modułem odbiornika bezprzewodowego. Naciśnięcie przycisku na pilocie powoduje wystawienie na odpowiadającej mu nóżce modułu sygnału "0". Naciśnięcie jakiegokolwiek przycisku na pilocie powoduje ustawienie na wspólnej nóżce "0". Zasilanie +5V i 0, poprzez mikrokontroler Arduino Pro Mini.
Moduł wykonawczy sterowania silnikami zlutowany na płytce docelowej i potem zamontowany na platformie. Złącza do podłączenia silnika i płytki.
g
Ruszamy silnik dając "+" na zasilanie silnika (przełączając przekaźnik czy cokolwiek innego). Silnik obraca się, "czarna plama" obraca się razem z silnikiem i po chwili SZ SP dostaje z CzP "+".
Wyłączamy "+" z przekaźnika, przełączając go na SZ SP. Silnik będzie się się tak długo kręcił, aż "czarna plama" nie dojdzie do SZ.
Potem silnik jeszcze troszkę się obróci siłą rozpędu i zatrzyma SP na "czarnej plamie", SZ brany z "czarnej plamy" (czyli "0").
Do samego automatycznego podnoszenia figurki potrzebny jest: silnik od wycieraczek, przekaźnik, przełącznik (np. kontaktron z magnesem czy kawałek drutu, dociskany przez przewracającą się figurkę). do tego mocowania, łańcuszki i ZASILANIE. Nie potrzeba do tego ŻADNEJ elektroniki. Podłączenie pod mikrokontroler (Arduino) umożliwia wygodne sterowanie opóźnieniem podnoszenia figurki, czy np. ograniczeniu prądu z akumulatorów, wymuszając podnoszenie tylko jednej figurki (jak ma podnosić więcej). Równie dobrze można zastosować przekaźnik z regulowanym opóźnieniem (na allegro po kilkadziesiąt złotych) i nie bawić się z programowaniem.
Podobnie można podpiąć sterowanie z pilota bezpośrednio do silników - są gotowe moduły bezprzewodowe, od razu z przekaźnikami - tylko trzeba wymyślić logikę sterowania.
Schemat działania mechanizmu parkowania silnika oraz płytka klona Arduino Uno z płytką prototypową, do uruchamiania elektroniki układu (przekaźniki, tranzystory, diody, przełączniki, ZASILANIE)
Sterowanie samym podnoszeniem figurki - moduł przekaźnika, do którego należy podłączyć zasilanie, 4 przewody z silnika i sygnał przewrócenia figurki. Tu na kawałku płytki uniwersalnej, ale lepiej przygotować z laminatu dedykowaną (najprościej - dremelek, wyfrezować folię miedzianą pomiędzy ścieżkami, wywierci dziurki pod elementy i gotowe). Gołe oraz w folii termokurczliwej z modułem akumulatorów litowo-jonowych (z pozyskanej tanio nieużywanej baterii od laptopa + zabezpieczenie na 4 ogniwa przed nadmiernym rozładowaniem).
Sterowanie bezprzewodowe - pilot i moduł odbiornika. Dwadzieścia parę złotych na Allegro, 2-3 $ na aliexpresss (4 ch 315mhz key wireless remote control arduino) i jest tego sporo.
Połączenie Arduino Pro Mini z modułem odbiornika bezprzewodowego. Naciśnięcie przycisku na pilocie powoduje wystawienie na odpowiadającej mu nóżce modułu sygnału "0". Naciśnięcie jakiegokolwiek przycisku na pilocie powoduje ustawienie na wspólnej nóżce "0". Zasilanie +5V i 0, poprzez mikrokontroler Arduino Pro Mini.
Moduł wykonawczy sterowania silnikami zlutowany na płytce docelowej i potem zamontowany na platformie. Złącza do podłączenia silnika i płytki.
g
- chrominek
- Zarejestrowany użytkownik
- Reactions:
- Posty: 153
- Rejestracja: 07 grudnia 2007, 08:16
- Tematy: 10
- Lokalizacja: Warszawa
- Grupa: Zarejestrowani użytkownicy
Re: Automatyczny podnośnik standardowej figurki FT/HFT
Test "terenowy" napędu i sterowania. Przy skrętach lepiej, żeby trzecie koło było obracane w osi pionowej, ale i tak sobie radzi (aczkolwiek wyrywa bruzdy w trawie). Na testowanej odległości (do 20m) sterowanie radiowe działało prawidłowo, ale okaże się na Siekierkach przy 50m, czy nie trzeba będzie dać np. pełnofalowej anteny odbiorczej. Albo modelarskiej aparatury RC.
- jamtex
- Zarejestrowany użytkownik
- Reactions:
- Posty: 371
- Rejestracja: 02 stycznia 2010, 09:22
- Tematy: 4
- Grupa: Zarejestrowani użytkownicy
Re: Automatyczny podnośnik standardowej figurki FT/HFT
Od dawna myślałem o czymś podobnym, pozwoli kolega, że "podepnę" się pod temat z podobnym projektem?
„Mówić, nie myśląc – to strzelać, nie celując.”
Miguel de Cervantes
Miguel de Cervantes
- chrominek
- Zarejestrowany użytkownik
- Reactions:
- Posty: 153
- Rejestracja: 07 grudnia 2007, 08:16
- Tematy: 10
- Lokalizacja: Warszawa
- Grupa: Zarejestrowani użytkownicy
Re: Automatyczny podnośnik standardowej figurki FT/HFT
Oczywiście! Trzecie zdanie z postu z 26 marca ;-)jamtex pisze:Od dawna myślałem o czymś podobnym, pozwoli kolega, że "podepnę" się pod temat z podobnym projektem?
-
- Zarejestrowany użytkownik
- Reactions:
- Posty: 188
- Rejestracja: 11 października 2011, 15:51
- Tematy: 0
- Lokalizacja: Anston FTC
- Grupa: Zarejestrowani użytkownicy
- Kontakt:
Re: Automatyczny podnośnik standardowej figurki FT/HFT
...
Ostatnio zmieniony 19 marca 2023, 23:47 przez Mamutowicz, łącznie zmieniany 1 raz.