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

Dla wyjadaczy tematu: płynne sterowanie silnikiem krokowym w

Romcio 11 Lis 2006 21:39 7453 13
  • #1 3214011
    Romcio
    Poziom 11  
    Posty: 17
    Pomógł: 1
    Jestem nowym użytkownikiem tego forum. Dlatego też proszę o nieco wyrozumiałości.

    Szukałem co nieco na tym forum, ale nie znalazłem odpowiedzi na nurtujący mnie problem, który niżej opisuję. Jest dość podobny https://www.elektroda.pl/rtvforum/topic505682.html , ale tak prawdę mówiąc to w szczegółach zasadniczo inny !

    Chcę zbudować kran kamerowy. Dla niewtajemniczonych: to taki żuraw (jak do wyciągania wody ze studni) do kamery. Główne ramię steruje się ręcznie. Zaś samą głowicą z kamerą chcę sterować za pomocą silników krokowych z zastosowaniem przekładni pasowej o przełożeniu około 1:10. Proszę zerknąć na stronkę http://klub.chip.pl/sk.bkp/news_p.html - to powinno wiele wyjaśnić. To nie jest moja stronka - jest tylko (lub aż) źródłem inspiracji do działania.

    Założenia sterowania:
    1 - sterowanie obrotu i pochylenia kamery za pomocą dwóch silników krokowych (mam nadzieję wykorzystać silniki z drukarek atramentowych odpowiedzialnych za posuw papieru)
    2 - silniki będą napędzać przekładnie pasowe o przełożeniu około 1:10
    3 - silnik odpowiedzialny za obrót będzie pokonywać tylko bezwładność kamery, czyli nie potrzebuje dużego momentu obrotowego
    4 - prędkość obracania się kamery to maksymalnie około 0,2 obrotu na sekundę, czyli potrzeba będzie około 5 sekund na pełny obrót kamery, czyli silnik będzie się obracał max 2 obr/s (pamiętajmy o zastosowaniu przekładni)
    5 - kamera oczywiście nie będzie się kręciła w jedna stronę non-stop; w praktyce to max około 1 obrót w prawo/lewo, czyli razem 2 obroty (720 stopni - ograniczenie w postaci owijających się przewodów wokół głowicy kranu kamerowego z zamontowaną kamerą), a w zasadzie kąt obrotu nie będzie przekraczał 120-150 stopni w prawo/lewo (razem max 300 stopni)
    6 - silnik odpowiedzialny za pochylenie będzie pokonywać także tylko bezwładność kamery, czyli nie potrzebuje dużego momentu obrotowego; kamera będzie umocowana w ten sposób, aby środek ciężkości kamery pokrywał się z osią pochylania kamery
    7 - prędkość pochylania się kamery w zasadzie taka sama, jak obrotu
    8 - wychylenie w górę to max 90 stopni, w dół to max 270 stopni (dla ciekawości - wychylenie w dół o 180 stopni to filmowanie do góry nogami), czyli max 360 stopni wychylenia; w praktyce to około 60 stopni w górę, 90 stopni w dół (razem 150 stopni)
    9 - sterowanie za pomocą zwykłego joysticka komputerowego poprzez podłączenie się bezpośrednio do potencjometrów (czyli cała elektronika poza potencjometrami zostaje usunięta z joysticka); ewentualnie sterowanie za pomocą dowolnego urządzenia przypominającego joystick - według zasady wychylania dźwigni w prawo/lewo/przód/tył
    10 - pozycja środkowa dźwigni joysticka - silniki stoją; oczywiście należy pamiętać o tolerancji zerowego położenia, czyli wychylenie joysticka max o np. 2 stopnie jest ciągle pozycją neutralną/zerowym wychyleniem
    11 - wychylenie joysticka nieco w prawo/lewo (np. o 5 stopni) powoduje powolny obrót kamery w prawo/lewo, mocniejsze wychylenie joysticka (np. o 10 stopni) powoduje szybszy obrót
    12 - oczywiście tak samo wychylenie joysticka nieco w przód/tył powoduje powolne wychylenie kamery w dół/górę, mocniejsze wychylenie joysticka powoduje szybsze wychylenia
    13 - wg opisów w punktach 11 i 12 oczywistym jest, że joystickiem regulujemy bezpośrednio prędkość obrotów, a nie kąt obrotu wału silnika !!!
    14 - nie potrzebuję żadnego sprzężenia zwrotnego informującego o wielkości/prędkości/ilości obrotów; to wszystko będę oceniać wizualnie za pomocą podglądu obrazu z kamery na np. małym siedmiocalowym panelu LCD
    15 - jestem świadom, że długie przytrzymanie joysticka wychylonego w jedna stronę spowoduje owinięcie/zaplątanie/urwanie przewodów, to już mój problem - nie przewiduję żadnych wyłączników krańcowych
    16 - bezwzględnie ważna jest płynna zmiana prędkości obracania się silników (głowicy kranu kamerowego) bezpośrednio zależna od stopnia wychylenia joysticka
    17 - bardzo ważne jest, aby silniki w czasie swej pracy były naprawdę ciche, w warunkach idealnych (wiem - to raczej niemożliwe) wręcz niesłyszalne z odległości 10-20 cm; kamera w ciszy zaczyna nagrywać szum własnych mechanizmów !


    To tyle założeń. Sądzę, że dość szczegółowo to opisałem.

    I teraz moje pytanie: co i jak należy podłączyć pomiędzy wyprowadzeniem suwaków potencjometrów a wyprowadzeniami uzwojeń silników, aby to wszystko działało według zasad opisanych powyżej.

    Można by dać taki sterownik do silników krokowych, który ma własny generator i regulację prędkości, lecz pojawia się problem zmiany kierunku obrotów w prawo/lewo, zmiana kierunku obrotów realizowana jest np. podaniem napięcia (zmiana stanu 0V na na +5V) na określonym pinie sterownika, a to już jest sprzeczne z w/w założeniami (z budową joysticka).

    Bardzo proszę o wskazówki, linki itp. Dodam dla ułatwienia, że elektronika nie jest dla mnie ciemną magią, lecz z powodów zawodowych okres fascynacji i zabawy lutownicą/tranzystorami mam już za sobą. Fakt, telewizor naprawiam sobie sam (mając schemat ideowy), lecz idzie mi to dość opornie. Jestem skłonny (tak prawdę mówiąc - to właśnie wolałbym) zapłacić/kupić gotowe rozwiązanie (czytaj: gotowe zmontowane płytki), które mogę podłączyć do silnika/potencjometrów joysticka, lecz problem: gdzie to kupić ? Na Allegro nie znalazłem czegoś takiego.

    Można by pokusić się o sterowanie mechaniczne głowicy kranu kamerowego za pomocą linek (częściowo w pancerzach), lecz pojawia się problem dużego kąta obrotu. Wychylenie góra/dół plus/minus 60 stopni jest do zaakceptowania, lecz obrót plus/minus 60 stopni to często za mało, dlatego też szukam rozwiązania elektrycznego.
  • #2 3214352
    bogdan_p
    Poziom 39  
    Posty: 3849
    Pomógł: 525
    Ocena: 120
    przy Twoich założeniach nie wiem czy nie lepszy jest silnik DC , nie chcesz stosować krańcówek a więc jedyny sposób pomiaru to zastosowanie enkodera , zapytam czy dasz radę napisać na uC odpowiedni program do obsługi
    dla silnika krokowego http://www.hobby-elec.org/e_step.htm masz prosty sterownik z opcjami regulacji prędkości oraz L/P
  • #3 3214377
    Romcio
    Poziom 11  
    Posty: 17
    Pomógł: 1
    bogdan_p napisał:
    nie chcesz stosować krańcówek a więc jedyny sposób pomiaru to zastosowanie enkodera


    Nie bardzo rozumiem. Silnik ma się kręcić tak długo, jak to sobie zażyczę, (nawet, jeżeli miałoby to doprowadzić do uszkodzeń - patrz punkty 13 i 14). Co miałoby być mierzone ?

    bogdan_p napisał:
    http://www.hobby-elec.org/e_step.htm masz prosty sterownik z opcjami regulacji prędkości oraz L/P

    Jeżeli dobrze zrozumiałem te rozwiązanie, to potencjometr służy tylko do zmiany prędkości obrotów - a wg moich potrzeb powinien także zmieniać kierunek obrotów. Tutaj zmianę kierunku realizują inne elementy - włączniki SW1 i SWS3. Jest to rozwiązanie niezgodne z moimi założeniami - punkty 10,11 i 12.

    Mimo wszystko dzięki za wskazówki ;)
  • #4 3214419
    bogdan_p
    Poziom 39  
    Posty: 3849
    Pomógł: 525
    Ocena: 120
    a jak w inny sposób wyznaczysz punkty graniczne kiedy silnik ma się zatrzymać
    enkoderem policzysz ile obrotów ma wykonać , jego wartość musi być zapamiętana w programie uC tak aby przy następnym poleceniu wiedział ile może jeszcze wykonać ruchu w danym kierunku
  • #5 3214527
    Romcio
    Poziom 11  
    Posty: 17
    Pomógł: 1
    Być może nie do końca zrozumiałeś mojego problemu.

    To, ile silnik ma się kręcić będę oceniał na bieżąco stojąc przy kranie kamerowym, operując nim i równocześnie patrząc na ekran podglądu monitora LCD. Kran kamerowy wymaga obecności operatora (kamerzysty) - to nie jest automat.

    Niżej opisane rozważanie zakłada, że potencjometr dzielę na dwie części: cała lewa strona od położenia środkowego ma 50 % skoku, cała prawa strona od położenia środkowego ma następne 50 % skoku
    Największym problemem jest rozwiązanie tego, aby:
    - położenie suwaka potencjometru w środkowym położeniu = STOP dla silnika
    - położenie suwaka potencjometru np. 10% w lewo od środkowego położenia = 20% prędkości w lewo
    - położenie suwaka potencjometru np. 20% w lewo od środkowego położenia = 40% prędkości w lewo
    - itd. itd.......
    - położenie suwaka potencjometru np. 50% w lewo od środkowego położenia = 100% prędkości w lewo


    tak samo w prawo
    - położenie suwaka potencjometru np. 10% w prawo od środkowego położenia = 20% prędkości w prawo
    - położenie suwaka potencjometru np. 20% w prawo od środkowego położenia = 40% prędkości w prawo
    - itd. itd.........
    - położenie suwaka potencjometru np. 50% w prawo od środkowego położenia = 100% prędkości w prawo
  • Pomocny post
    #6 3214595
    bogdan_p
    Poziom 39  
    Posty: 3849
    Pomógł: 525
    Ocena: 120
    w układzie jest wymagane jakiekolwiek zabezpieczenie w krańcowych położeniach
    taki układ zbudujesz na tranzystorach ale dla silnika DC , wystarczy para komplementarna , bazy tranzystorów razem z środkiem potencjometru
    w pozycji środkowej układ będzie zrównoważony wychylenie w daną stone zwiększy wysterowanie danego tranzystora co z kolei spowoduje zwiększenie prędkości
    przy zastosowaniu mikrokontrolera z przetwornikiem A/C 10 bitowym program sprawdza wartość z przetwornika przy położeniu neutralnym wynosi ( 1024 / 2 ) 512 dodając pewien margines tolerancji , wartości > 513 to ruch w prawo , < 511 ruch w lewo teraz dla poszczególnych wartości 0 ÷ 511 i 513 ÷ 1024 należy ustalić zakres zmiany współczynika PWM dla silnika DC lub szybkość generatora taktującego dla silnika krokowego , tak więc podstawa to dobrze napisany program na uC
  • #7 3216833
    Romcio
    Poziom 11  
    Posty: 17
    Pomógł: 1
    Czy może ktoś mi jeszcze pomóc ? Jakiś schemat ? Link do pliku ?
  • Pomocny post
    #8 3220054
    gmp
    Poziom 19  
    Posty: 434
    Pomógł: 29
    Ocena: 28
    Romcio napisał:
    Czy może ktoś mi jeszcze pomóc ? Jakiś schemat ? Link do pliku ?


    Nistety nie za bardzo mam czs zby wykonac takie urzadzenie, ale moge Ci podpowiedziec dwa rozwiazania jakie mi sie nasuwja:
    1. Uzywasz LM339(4 komparatory) , 2 komparatory na kazdy potencjometr + dwoch potencjometry(na srubokret) do regulacji poziomu zlaczenia. Sluza one do wlaczania obrotow po niewielkim odchyleniu joysticka. Osobiscie polacalbym jeszcze przycisk ktory bedzie zalczal pozwolenie na obracanie(taki FIRE z joysticka). Na ukladach 555 robisz przetwornik napiecie na czestotliosc (4 uklady) Komparatory wybieraja uklad z ktorego podawana jest czestotliwosc na driver silnika( do kupienia w WOBIT) i jednoczesnie wybieraja kierunek obrotow. No i uklad pownien dzilac. Ale jest jeden problem , trzeba w jednym kierunku zrobic przetwoenik ktory z zmnijszniem napiecia bedzie zwiekszal f(czestotliwosc) a w drugim kierunku odwrotnie.

    2. drugie rozwiaznie , podalczyc potencjometry do mikrokontrolra, no i odopowiedni program ktory bedzie reagowal na polzenie potencjometrow i genrowal czestotliwosc i kierunek obrotow dla drivera silnika krokowgo.

    To pierwsze rozwiaznie jest ciekawsze a drugie prostsze.
  • #9 3220287
    bogdan_p
    Poziom 39  
    Posty: 3849
    Pomógł: 525
    Ocena: 120
    raczej nie znajdziesz gotowego schematu , szczególnie jeżeli chodzi o układ z mikrokontrolerem , po prostu musisz sam dobrać odpowiednie elementy i napisać stosowny program , ogólną zasadę masz już napisaną
    jeżeli chodzi o propozycję w wersji analogowej dla silnika DC to przejrzyj działy "warsztat" oraz "inne" jak się nie mylę był tam schemat regulatora obrotów i kierunku według zasady o której wcześniej pisałem z parą komplementarną tranzystorów
  • #10 3221577
    Romcio
    Poziom 11  
    Posty: 17
    Pomógł: 1
    Sądziłem, że mój problem jest banalnie prosty. Cóż, okazało się inaczej. Jestem wdzięczny za odpowiedzi. Mimo wszystko, mam nadzieję spotkać tutaj Świętego Mikołaja, który zechciałby wyłozyć kawę na ławę (czytaj: schemat dla laika w tej dziedzinie).
  • Pomocny post
    #11 3221817
    bogdan_p
    Poziom 39  
    Posty: 3849
    Pomógł: 525
    Ocena: 120
    czy tak trudno poszukać na elektrodzie
    https://www.elektroda.pl/rtvforum/topic294046.html
    http://www.elektroda.net/inne/proste_sch/27.gif
    o silnikach krokowych i sterownikach do nich masz przyklejony temat
    na temat mostka H jest sporo na tym forum
    a o mikrokontrolerach przeczytasz na forum mikrokontrolery
    niestety program musisz napisać sam
  • #12 3296604
    squdow
    Poziom 12  
    Posty: 5
    Myśle że stron powyżej wiele tłumaczy

    ja będe próbował na ATmega8 takie coś zbudować
    wszelkie wskazówki mile widziane ;)
  • #13 4115473
    michalxb
    Poziom 13  
    Posty: 103
    Pomógł: 2
    Ocena: 25
    Nie wiem czy dorze zrozumiałem załozenia projektu.
    Ale wydaje mi się że można się obejść bez tychh wszystkich mikroporcesorów itd.

    Skoro "elementem nadzorującym":) jest perator to wystarcz możliwość płynnego zwiększania mocy silników

    Ja bym zrobił to dając silniki na prąd stały plus regulatory mocy na potencjometrach potem już tylko kwestia fizycznego podłączenia potencjometrów do joysticka.
    Jeżeli chcesz to mogę rozrysować jak ja bym widział element sterując(system połączeń joya z potencjometrami.

    Pozdrawiam.
    Michał M.
  • #14 4121612
    me_super
    Poziom 29  
    Posty: 1692
    Pomógł: 1
    Ocena: 44
    Romcio napisał:
    Sądziłem, że mój problem jest banalnie prosty. Cóż, okazało się inaczej. Jestem wdzięczny za odpowiedzi. Mimo wszystko, mam nadzieję spotkać tutaj Świętego Mikołaja, który zechciałby wyłozyć kawę na ławę (czytaj: schemat dla laika w tej dziedzinie).



    Rozwiązanie dane przez gmp wygląda sensownie. Wychył pałki joysticka zmienia opór. To można łatwo przerobić na zmianę napięcia. Teraz potrzebujemy VCO czyli GPN czyli generator przestrajalny napięciowo; zmieniając napięcie (=wychylenie pałki) można zmieniać częstotliwość generowanego sygnału, czyli pałka lekko wychylona generator wolno generuje przebiegi itp. w drugim wypadku. Teraz bierzesz kontroler silników krokowych (ja używam tych z Wobitu) i dajesz na wejście zegarowe sygnał z VCO; kontroler silnika krokowego robi krok jeśli zmieni się sygnał zegarowy.. Gdy wychylenie pałki jest duże to sygnał zegarowy ma dużą częstość i wał silnika kręci się szybko. Zmianę kierunku załatwiasz komparatorem analogowym; komparator ma wyjście TTL które podłączasz do sterownika. Warto kupić silniki o większym kroku, kilka stopni na krok. Pchanie się mikrokontrolery to kiepskie rozwiązanie.

Podsumowanie tematu

LABEL_AI_GENERATED
Dyskusja dotyczy sterowania silnikami krokowymi w projekcie kranu kamerowego, gdzie operator ręcznie steruje głównym ramieniem, a głowicą z kamerą za pomocą silników krokowych z przekładnią pasową 1:10. Autor planuje użyć silników krokowych z drukarek atramentowych i sterować nimi płynnie za pomocą potencjometru joystickowego, który w położeniu środkowym zatrzymuje silnik, a wychylenie w lewo lub prawo proporcjonalnie zmienia prędkość i kierunek obrotu. W dyskusji poruszono kwestie braku krańcówek i konieczności zabezpieczeń, pomiaru pozycji za pomocą enkoderów oraz implementacji sterowania prędkością i kierunkiem przez mikrokontroler z przetwornikiem A/C. Zaproponowano rozwiązania analogowe z komparatorami LM339 i układami 555 do generowania sygnału sterującego silnikiem krokowym, a także sterowanie silnikami DC z regulacją PWM. Wskazano na potrzebę napisania własnego oprogramowania do mikrokontrolera (np. ATmega8) oraz na dostępność materiałów i schematów na forum elektroda.pl. Alternatywnie zasugerowano prostsze rozwiązanie z silnikami DC i regulatorami mocy sterowanymi potencjometrami, eliminujące konieczność mikrokontrolerów. Omówiono także koncepcję wykorzystania generatora VCO do sterowania częstotliwością kroków silnika krokowego w zależności od wychylenia joysticka oraz komparatora do zmiany kierunku obrotów. Podkreślono, że operator manualnie ocenia czas i zakres ruchu, co wyklucza automatyczne ograniczenia krańcowe.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA