Elektroda.pl
Elektroda.pl
X
Computer Controls
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Dc servomotor controller na Attiny 2313

adamus202 23 Wrz 2012 21:19 83875 163
  • #121
    acetylenek
    Poziom 11  
    Czy ktoś z was w czasie testów miał podobny problem?
    https://www.elektroda.pl/rtvforum/topic2383672.html
    W skrócie po włączeniu silnik jedzie od razu do określonej pozycji.


    Tutaj zastosowanie w maszynie (moja wersja softu to przeniesiona z at902313 na attiny2313 kiedy jeszcze ChaN tego nie zrobił)
    http://www.cnc.info.pl/topics56/przystawka-cnc-do-toczenia-na-stoliku-krzyzowym-vt39136.htm

    i opis sterownika ubranego w płytkę drukowaną:
    http://www.cnc.info.pl/topics65/sterownik-ser...ika-dc-z-enkoderem-vt1752.htm?highlight=serwo

    Lmd 18200 bardzo ułatwia sprawę końcówki mocy - pracuje tylko z smc bo nowsze oprogramowanie nie ma wyjścia pwm i kierunek tylko od razu wyjścia na mostek więc trzeba by przerobić w programie żeby było jak w starej wersji.
  • Computer Controls
  • #122
    Gizmoń
    Poziom 28  
    Maszyna z serwomotorami działa świetnie! Naprawdę nie ma się co martwić, tylko zamiast silników krokowych stosować silniki DC! Jest ciszej, szybciej, dokładniej, no i taniej.

    Zamieniłem enkoder z myszki (36CPR) na o wiele lepszy i łatwiejszy do ustawiania enkoder z drukarki (1200CPR!). Procesor bez problemu nadąża nawet przy dużych prędkościach obrotowych.
    Enkoder nie musi być na wałku silnika, można go umocować tam, gdzie zależy nam na kontrolowaniu pozycji, np. za przekładnią silnika, co elegancko skompensuje luzy przekładni. Można nawet zastosować enkoder liniowy jeśli silnik kręci śrubą przesuwającą jakąś karetkę. Wtedy nawet przy najgorszym silniku, byle jakiej śrubie i przekładni z gumki recepturki (no, to ostatnie to może lekka przesada :) ) pozycja karetki będzie dokładnie ustalana.
    W razie zacięcia mechanizmu ograniczenie momentu obrotowego zapobiega uszkodzeniu silnika, przekładni, czy co tam może się zepsuć albo połamać. Oczywiście ograniczenie musi być dobrze ustawione.
    Przy strojeniu dobrze sobie zrobić tabelkę z parametrami i zapisywać nowe wartości, skreślać stare, obserwować zachowanie układu i stwierdzić kiedy było dobrze, a kiedy zaczyna się robić coraz gorzej i odczytać z tabelki najlepszą wartość.

    Jedyna wada to większa wrażliwość na zakłócenia, ale wystarczy enkodery podłączyć przewodami ekranowanymi, i zrobić przy nich proste nadajniki linii z kilku tranzystorów BC547 i BC557. Sterowniki silników krokowych są mniej wrażliwe, bo po prostu nie ma przy nich czasem nawet kilkumetrowych przewodów łączących enkoder ze sterownikiem.
  • #123
    VolKhen
    Poziom 13  
    Tym postem zmotywowałeś mnie do pracy przy moim urządzeniu opartym na serwonapędach...

    Luzy na napędzie nie spowodują problemu z jakimś rezonansem, niestabilnością układu? Pewnie to kwestia dobrych ustawień PIDa

    Dzięki szczególnie za opis tuningu PIDa. Ja w swoim sterowniku muszę dopisać funkcje kontroli, poza PIDem. Tego u mnie zabrakło.

    Dodano po 5 [minuty]:

    Gizmoń napisał:

    Zamieniłem enkoder z myszki (36CPR) na o wiele lepszy i łatwiejszy do ustawiania enkoder z drukarki (1200CPR!). Procesor bez problemu nadąża nawet przy dużych prędkościach obrotowych.


    U mnie nadążał nawet przy prędkości silnika 3300RPM! Tym rzeczywiście nie trzeba się martwić.
  • #124
    Użytkownik usunął konto
    Użytkownik usunął konto  
  • #125
    Gizmoń
    Poziom 28  
    Te sterowniki można obciążyć jak tylko się chce - jedynym ograniczeniem jest wyjściowy mostek H który dla większych mocy można przebudować.

    Silniki nadają się wszystkie, pod warunkiem, że zmiana biegunowości powoduje zmianę kierunku obrotów. A co sądzę o wykorzystaniu silników z wkrętarek? To zależy do czego one zostaną wykorzystane :)
  • #126
    Użytkownik usunął konto
    Użytkownik usunął konto  
  • #127
    Gizmoń
    Poziom 28  
    Wkrętarka z przekładnią raczej nie ma większych obrotów niż silnik krokowy o tym samym momencie obrotowym. Ale 10Nm to bardzo dużo! Można zastosować śruby o dość dużym skoku i maszyna będzie się ruszać szybko.

    Ten układ 74HC14 (albo u mnie w enkoderze "myszkowym" 7414) jest użyty nie tyle jako inwerter, co jako przerzutniki schmitta. Czy trzeba go stosować, czy nie, to zależy od rodzaju enkodera.
    Jeżeli jest to prosty enkoder składający się tylko z diody i dwóch fototranzystorów, to należy zrobić jakiś układ wzmacniający (jeden tranzystorek) oraz użyć przerzutnika schmitta do ukształtowania jednoznacznego sygnału wyjściowego. Natomiast w przypadku bardziej złożonych enkoderów jak te z drukarek, które bardzo chwalę, na wyjściach jest zazwyczaj już gotowy sygnał który można bezpośrednio podać na wejścia serwokontrolera. Ale jest jedno ale :)
    Długie przewody łączące enkoder z kontrolerem powinny być ekranowane, i najlepiej dorobić przy enkoderze prosty przeciwsobny nadajnik linii - wtedy praktycznie nie ma obaw o zakłócenie pracy układu.

    Tak wygląda przykładowy enkoder z nadajnikiem linii:

    Dc servomotor controller na Attiny 2313

    PS
    Przepraszam autora, jeśli w ogóle tu zagląda, że tak przejmuję temat :D
  • Computer Controls
  • #128
    Użytkownik usunął konto
    Użytkownik usunął konto  
  • #129
    Gizmoń
    Poziom 28  
    Układ sterownika musi mieć dwie informacje zwrotne: kierunek i kąt obrotu wału. Do pomiaru tych dwóch wielkości służy enkoder kwadraturowy (inkrementalny) mający dwa wyjścia z sygnałami przesuniętymi w fazie. To przesunięcie fazowe umożliwia określenie kierunku, a ilość impulsów na wyjściach - kąta obrotu.
    Enkoder z jednym wyjściem się nie nadaje, bo nie może określić kierunku, a bez informacji o kierunku jest cienko z pomiarem kąta. Jedyne co nim można dobrze mierzyć to prędkość obrotowa.

    Maksymalny podział kąta pełnego dla enkodera z jednym wyjściem wynosi dwa razy tyle ile jest otworków w tarczce. Wynika to stąd, że każdy otworek ma dwie krawędzie, więc można wykryć przejścia krawędzi przed detektorem - odpowiednio zbocza narastające i opadające.

    W przypadku enkodera kwadraturowego dokładność pomiaru jest aż 4 razy większa niż liczba szparek w tarczce - też wykrywa się przejścia krawędzi, ale są dwa detektory przesunięte o pół szerokości szparki, co podwaja liczbę impulsów na jedno przejście.
  • #130
    Użytkownik usunął konto
    Użytkownik usunął konto  
  • #132
    Użytkownik usunął konto
    Użytkownik usunął konto  
  • #133
    VolKhen
    Poziom 13  
    4 przewody, zasilanie (2) + kanały A i B = 4 przewody
  • #134
    pako8420
    Poziom 11  
    Witam, Mam pytanie do Gizmoń: jak z mostkiem przy obciążeniach, czy tranzystory się grzeją czy wymagają radiatora? Pytam się bo też zabieram się za składanie tego sterownika, i nie wiem czy zostawić dla MOSFETÓW miejsce na radiator.

    Pozdrawiam.
  • #135
    Gizmoń
    Poziom 28  
    To zależy od mocy podłączonego silnika. Najmocniejszy silnik jaki do tego podłączałem miał około 20W, i przy takiej mocy tranzystory były nieznacznie nagrzane. Myślę, że gdzieś do 30W można robić wersję bez radiatora.
  • #136
    nouki
    Poziom 25  
    Witam.

    Odkopię może troszkę ale mam pytanie odnośnie sterowania.

    Dc servomotor controller na Attiny 2313

    Jak wyglądają przebiegi sterujące scalaka 1 i 2 .
    Przykładowo na scalak 1 mamy przebieg 0-5v a na scalak 2 jest to odwrotność 5v-0 przy pracy w prawo, a w kierunku lewym zamieniają się?

    Pozdrawiam
  • #137
    Użytkownik usunął konto
    Użytkownik usunął konto  
  • #138
    Gizmoń
    Poziom 28  
    Przebiegi są tam następujące (górny - wyjście PB3, dolny - wyjście PB4, 5µs/dz, 5V/dz):

    1. W spoczynku
    Dc servomotor controller na Attiny 2313

    2. Jazda w jedną stronę
    Dc servomotor controller na Attiny 2313

    3. Jazda w drugą stronę
    Dc servomotor controller na Attiny 2313

    Im większa prędkość albo obciążenie silnika, tym większa różnica wypełnień obu sygnałów. Częstotliwość jest za to stała i wynosi według miernika 31,374kHz.
    Jeśli ktoś jest ciekawy szczegółów o których być może nie było tu pisane, zapraszam do tematu o mojej frezarce - chyba pierwszej maszynie prezentowanej na tym forum wykorzystującej takie kontrolery.
  • #139
    tomaszdko
    Poziom 9  
    Odgrzewam temat

    Zrobiłem płytkę na attiny2313 z softem od strony twórcy projektu , wszystko chodzi . Sterowanie na step/dir , poleceniem +/- , jak i impulsy podane przez avr.
    Mój problem to wyliczenie dokładne parametrów dla silnika i enkodera podpiętego pod ten regulator PID .
    Czy ktoś przeliczy dla mnie lub wytłumaczy po " chłopsku " jak obliczyć te wszystkie parametry P0..P7 dla silnika FAULHABER 1224a006sr Link

    i dla enkodera 30B20-6P Link

    Dzieki .
  • #140
    tristar0
    Poziom 10  
    witam, zbudowałem ten sterownik na attiny 2313 -20mhz no i moje wnioski enkoder 100imp spisuje się idealnie,przetestowałem praktycznie większość enkoderów stosowanych w przemyśle .Im większa ilość podziału tym gorzej w zakesię 100-300 idealnie
    mój napęd to silnik 0,5 kw 24v z reduktorem 6:1.silnik rozpędza się do 3000obr ,tranzystory w mostku IRFP064n
    najważniejsze zasilanie ir2184 z oddzielnego zasilacza 12 -15v
    regulacja prądu wymagana gdyż wymiana tranzystorów dość kosztowna.
    zasilacz na transformatorze 24v 30A mostek 50A +kondensator 6800UF 4szy
    wnioski :
    częstotliwość pracy praktycznie od 50HZ do 100khz
    start stop z rampą czy bez zaskakująco dobry
    moje nastawy
    p0=1000 p3=1 p7=0
    p1=260 p5=500
    p2=1400 p6= 256
  • #142
    tristar0
    Poziom 10  
    etet napisał:
    Witam. A jaki jest problem kiedy rozdzielczość enkodera jest większa? Nie da się zestroić do stabilnej pracy? Ja mam takie sterowniki na ATMEGA88 (modyfikacja elm-chan).


    Ja stosuje tylko enkodery przemysłowe nie bawię się w enkodery zrobiony z myszki
    no i nie stosuje silniczków od zabawek bo takie do 4-5 A zamiast budować mostekH z procka sygnał na L6203 scalony mostek z logiką to działają na każdym enkoderze . przy prądach rzędu 20-50A w impulsie przynajmniej u mnie sprawdzają się enkodery wprawdzie chińskie 100imp ,gdyż przy większych obrotach silnika takie tam 3500 obr procek nie nadąża zliczać ,może podszedłem zbyt praktycznie do tematu bo moje serwo ma 90 Nm.
    Po prostu cena zakupu servonapędu zmusiła mnie do zbudowania go ,wyszło całkiem dobrze silnik 24v o,5kw z reduktorem 6:1 350 zł
    enkoder 100 zl
    cała elektronika ok 60 zł pracy własnej nie liczę no i spalonych tranzystorów :cry:
    ale w końcu działa
    zakup serva tych mocy poza zasięgiem
    np servo 0,7 kw 3500 zł moment obrotowy z tego co pamiętam chyba 8 Nm
    obecnie walczę ze sterowaniem tego cuda mam dobry program na arduino w trzech osiach działa bajecznie żaden merlin ani prusa dla zainteresowanych udostępnię .
    choć wolałbym coś na LCD tft z jedną osią jak na przykładzie

    https://www.youtube.com/watch?v=IFiCW5UunRE
  • #143
    marycyś
    Poziom 11  
    Witam, zrobiłem sterownik "elm-chan" i mam problem.
    Tranzystor mocy grzeje się niewspółmiernie do mocy pobieranej przez silnik.
    Przy każdym kolejnym włączeniu zasilania (bez procesora) grzeje się inny tranzystor mocy. Z czym to może być związane?
  • #144
    tristar0
    Poziom 10  
    grzeją się bo mostek H nie jest całkowicie otwarty , też zanim do tego doszedłem uwaliłem pare tranzystorów .Masz drivery IR2184 ?
    bo tylko są sterowane logiką 5v z procesora dla innych trzeba robić dodatkowe klucze np podwyższające napięcie do 12V
  • #145
    marycyś
    Poziom 11  
    Tak, mam IR2184s i steruję z Attiny.
  • #146
    tristar0
    Poziom 10  
    jaki masz silnik jaki prąd i moc , czy miedzy wyjściami na silnik masz R +C , jakie napięcie zasilania
  • #147
    marycyś
    Poziom 11  
    Podłączyłem silnik DC z drukarki i zasiliłem z 24V. Bez obciążenia silnik pobiera niewielki prąd, poniżej 0,1A. Zasilacz ustawiłem na 0,5A ograniczenie prądu żeby nie spalić elementów.
    Między wyjściami na silnik nie stosowałem żadnych filtrów.
  • #148
    tristar0
    Poziom 10  
    czyli to taka zabawka z prądem do 2 A zakładam .Po pierwsza musisz sprawdzić przy jakim napięciu otwiera się tranzystor ,czy napięcie na ir2184 jest powyżej 12v ja mam 15 V na Us pin8 .Zakładam że twoje tranzystory mają niską oporność przy włączeniu przynajmniej w mili om np IRFP540 przy dużej oporności tranzystora będzie się grzał zawsze gdy silnik ma parę om.
    wnioski : mając małe doświadczenie proponuje zastosować układ gotowy L6203 gdzie in1 i in2 podpinasz do wyjść z attiny 2313 przez rezystor np 100 oM . pomiar prądu jest na pinie 10 układ sam ma kontrolę prądu i zasilanie do 36V .Wejścia in1 ,in2 to logika na poziomie 5v .To tak na marginesie dla twego "silniczka "
    Z reguły dla zasilania IR stosuje się oddzielną przetwornice dc/dc ja mam takie rozwiązanie za parę zł zasilasz np z 12v i na przetwornicy ustawiasz 15v i tym napięciem zasilasz IR. Z reguły tranzystory dla pełnego wysterowania potrzebują +,- 20V skoro masz napięcie 12v to masz tranzystory otwarte w połowie a drugą parę zamkniętą w połowie stąd prąd płynący rozgrzewa złacza i powoduje grzanie tranzystorów
  • #149
    marycyś
    Poziom 11  
    Fajny ten L6203. Czy na jego wejściach IN można podawać PWM, w celu zmiany prędkości silnika?
  • #150
    tristar0
    Poziom 10  
    Już nie pamiętam .coś mi się zdaje że na ENable bo już parę lat się nim nie bawiłem
    robiłem na nim właśnie servo na attiny moje pierwsze ze tego co pamiętam nawet silnik 140w działał z radiatorem oczywiście .ma dobrą kontrole prądu wiec nic nie uwalisz