Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
IGE-XAO
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

[CNC] Silniki krokowe sterowane źródłem prądowym

elektronockaut 21 Sep 2019 09:36 423 14
  • #1
    elektronockaut
    Level 9  
    Witam serdecznie,

    Lata temu popełniłem sterownik silnika krokowego, który zaprojektował kolega "SOKI", przestawiając swój świetny projekt frezarki cnc za niespełna 250zł.
    Od lat sprawuje się świetnie, ale postanowiłem go nieco usprawnić by zyskać większą wydajność swoich silników, i zamiast zasilać je stałym napięciem, użyć stałego źródła prądowego. Problem jest taki że są potrzebne dwa różne.
    Do rzeczy:

    Sterownik za pomocą Atmegi8 steruje czterema tranzystorami, które to bezpośrednio sterują minusami silnika. Plus do silników podciągnięty jest na stałe z zasilacza w moim przypadku 9V/10A. Pomyślałem że, skoro sterownik jest na Atmega8, i posiadam do niej źródło napisane w Bascom, można by było wyciągnąć z niej pin który przełącza źródło prądowe między 1,8A a 3,6A zależnie od tego czy w silniku zasilona jest jedna cewka czy dwie. Chciał bym do tego użyć mocniejszego brata LM317 czyli LM338. Co o tym sądzicie? Ma to sens? Czy mógł by mi ktoś pomóc ?

    Moje silniki:
    Code: Silnik
    Log in, to see the code



    Kod bascom, z prototypem przełączania:
    Code: Bascom
    Log in, to see the code


    Link do strony projektu kolegi "SOKI"
    https://www.elektroda.pl/rtvforum/viewtopic.php?p=7508723#7508723

    Ciekaw jestem waszych opinii. Nie znalazłem nigdzie gotowych scalaków, które sterują stałym prądem. Wszystkie które widziałem sterują napięciem, a przy okazji są dość drogie.

    W załączniku oryginalny schemat autora. Do niego właśnie chciał bym dorobić resztę.
    Ethernet jednoparowy (SPE) - rozwiązania w przemyśle. Szkolenie 29.09.2021r. g. 11.00 Zarejestruj się za darmo
  • IGE-XAO
  • #2
    ArturAVS
    Moderator of HydePark/Cars
    elektronockaut wrote:
    Chciał bym do tego użyć mocniejszego brata LM317 czyli LM338

    Kiepski pomysł, kaloryfery porobisz. Scalone sterowniki prąd silnika regulują poprzez PWM.
  • IGE-XAO
  • #3
    elektronockaut
    Level 9  
    Nie bardzo rozumiem. Mogę wystawić tylko sygnał Step i Dir. Te scalone układy również na wejście dostają tylko te sygnały i resztę już sobie same regulują ?. Jeśli tak, może znasz ich nazwę lub polecasz jakieś ?
  • Helpful post
    #4
    ArturAVS
    Moderator of HydePark/Cars
    elektronockaut wrote:
    Te scalone układy również na wejście dostają tylko te sygnały i resztę już sobie same regulują ?

    Dokładnie. Ustawiasz jedynie prąd max silnika. Napięcie zasilania może wtedy znacznie przekraczać znamionowe silnika, jest dużo szybsza reakcja silnika na sterowanie. Dla silników 2,2V daję zasilanie 24V.
    elektronockaut wrote:
    Jeśli tak, może znasz ich nazwę lub polecasz jakieś ?

    Popatrz na typowe do Arduino StepStick. Są różne wersje, ale wszystkie wykorzystują PWM. A4988, DRV8825, zależy jaki prąd max mają obsługiwać. Jeden z bardziej popularnych dla wyższych prądów; https://www.gotronik.pl/sterownik-silnika-krokowego-tb6600-4a-9v-40v-p-4844.html
  • #5
    elektronockaut
    Level 9  
    kurde - fajne :) Kiedyś nie bardzo było, a jak było to kosztowało krocie. Byłem przekonany że nadal tak jest ;)


    Tylko że problem jest taki, że ja mam 2 cewki z odczepem dzielonym na pół.
    [CNC] Silniki krokowe sterowane źródłem prądowym

    Myślisz że dało by się je podłączyć pod te sterowniki?
  • Helpful post
    #6
    ArturAVS
    Moderator of HydePark/Cars
    elektronockaut wrote:
    Tylko że problem jest taki, że ja mam 2 cewki z odczepem dzielonym na pół.

    To żaden problem. Po prostu nie podłączasz środków uzwojeń. Takie silniki mogą pracować jako unipolarne ( jak u Ciebie ) czterofazowe, lub bipolarne dwufazowe.
    elektronockaut wrote:
    Myślisz że dało by się je podłączyć pod te sterowniki?

    Oczywiście, sam tak mam podłączone pod TB6600.
  • #7
    elektronockaut
    Level 9  
    No to super. Nie chcę jeszcze zamykać tematu, bo gdy zamówię sterowniki pewnie będę miał jeszcze trochę pytań. Dziękuję w takim razie za to świetne rozwiązanie, choć nie ukrywam że trochę mnie zmartwiło bo snułem już takie duże plany... ehh ;) Fajnie się doradzić, bo właśnie okazało by się że moja praca poszła by na marne, nie mówiąc już o tym że sprawność mojego pomysłu była by znikoma, a koszt pewnie podobny. Na obecną chwilę dziękuję!
  • #8
    ArturAVS
    Moderator of HydePark/Cars
    Nie ma za co. :-) Też kiedyś kombinowałem. Teraz sterowników do wyboru, do koloru.
  • Helpful post
    #9
    soki
    Level 17  
    Po pierwsze nie PWM, a choppery sterują prądem uzwojeń w silnikach. Prąd z silników generuje spadek napięcia na rezystorach bocznikujących i przełącza komparator wyłączając uzwojenie. Sygnał taktujący spowrotem go załącza. Dzieje się to z dość dużą częstotliwością - więc jest raczej niezauważalne.
    Co do tematu - proponuję skorzystać z gotowych sterowników na choćby TB6600 - są niezawodne, wysokoprądowe (do 4A), mają podział kroku do 1/16tej i kosztują niecałe 40zł.
    Sterowniki mojego autorstwa uznałbym już za przestarzałe, choć nadal uważam że przy odpowiednim chłodzeniu trudno je popsuć (nie ma mostków H).
  • #10
    elektronockaut
    Level 9  
    Dziękuję że autor się wypowiedział. Sterowniki Twojego autorstwa już mam (od lat). Jest to wersja na normalnych tranzystorach BD, a nie na mosfetach (ta pierwsza). Gdybym chciał inne sterowniki musiał bym je kupić. Myślisz że mimo przestarzałości warto by było zamiast pinów do ręcznego sterowania zrobić przełączane źródło prądowe, a nie kupować nowych ?
    Dzielenie kroków mi wystarcza na 1/2, a tak jak piszesz wyżej działają bezawaryjnie od lat. Może trochę ich szkoda wyrzucać...
  • #11
    jarek_lnx
    Level 43  
    Quote:
    Od lat sprawuje się świetnie, ale postanowiłem go nieco usprawnić by zyskać większą wydajność swoich silników, i zamiast zasilać je stałym napięciem, użyć stałego źródła prądowego. Problem jest taki że są potrzebne dwa różne.
    Żeby cokolwiek poprawić trzeba dysponować wyższym napięciem, dzięki temu prąd w uzwojeniach szybciej narasta i szybciej osiąga wartość zadaną, przy wysokich obrotach kiedy kroki trwają krótko, daje to większy moment.
    Kiedy prąd osiągnie wartość zadaną, zaczyna działać źródło prądowe, w normalnych sterownikach jest to impulsowe źródło prądowe czyli chopper działający jak opisał kolega powyżej.
    Żeby zmiana była znacząca trzeba napięcie podnieść kilkukrotnie, wtedy stosując liniowe źródło prądowe musiał byś ten cały nadmiar napięcia wytracić. Co łączy się również ze stratami mocy, przykładowo podniesiesz napięcie 5x to będziesz miał 4/5 strat.
    Jeśli nie szkoda ci czasu mógł byś zrobić stopień wyjściowy zasilany dwoma napięciami, wysokie do szybkiego narastania prądu i nominalne do zasilania po osiągnięciu wartości ustalonej, nawet źródeł prądowych nie było by potrzeba, tylko komparator który ustali kiedy przełączyć.

    Quote:
    Pomyślałem że, skoro sterownik jest na Atmega8, i posiadam do niej źródło napisane w Bascom, można by było wyciągnąć z niej pin który przełącza źródło prądowe między 1,8A a 3,6A zależnie od tego czy w silniku zasilona jest jedna cewka czy dwie. Chciał bym do tego użyć mocniejszego brata LM317 czyli LM338. Co o tym sądzicie? Ma to sens? Czy mógł by mi ktoś pomóc ?
    Nie potrzeba niczego przełączać jeśli stosujesz tylko pracę półkrokową, każde uzwojenie dostaje taki sam prąd.
    Praca półkrokowa to dosyć ułomny tryb sterowania zarówno jeśli chodzi o drgania jak i moment (poszukaj charakterystyk momentu).

    Lepiej działa praca mikrokrokową która aproksymuje przebiegi sinusoidalne i to implementują fabryczne sterowniki, a tak naprawdę żeby silnik pracował cicho i dzielił kroki na równe części należało by dobrać przebiegi samodzielnie, zrobiłem kiedyś to z ciekawości i efekty były obiecujące.
  • #12
    elektronockaut
    Level 9  
    Wszystko bardzo ładnie mi rozjaśniłeś, za co dziękuję ale...

    jarek_lnx wrote:
    Nie potrzeba niczego przełączać jeśli stosujesz tylko pracę półkrokową, każde uzwojenie dostaje taki sam prąd.


    Z tym do końca przekonany nie jestem. Jak widać w programie, raz działają dwie cewki, a raz jedna, czyli tak na logikę potrzebny jest raz większy prąd a raz mniejszy. Czy nie jest tak ?

    [CNC] Silniki krokowe sterowane źródłem prądowym
  • Helpful post
    #13
    jarek_lnx
    Level 43  
    elektronockaut wrote:
    Z tym do końca przekonany nie jestem. Jak widać w programie, raz działają dwie cewki, a raz jedna, czyli tak na logikę potrzebny jest raz większy prąd a raz mniejszy. Czy nie jest tak ?
    Tranzystor każdej cewki zamieniasz na źródło prądowe, jak włączone są dwa, to prąd płynie dwa razy większy. Choć silnik by pracował płynniej gdyby przy załączonych dwóch cewkach prąd zmniejszać aby nie trzymały mocniej niż jedna.
  • #14
    elektronockaut
    Level 9  
    To co piszesz jest bardzo pomocne. Nie rozumiem tylko ostatniego zdania, a przynajmniej nie do końca. Jest tak że pobierany w sumie jest różny prąd czy nie?

    Dodano po 21 [minuty]:

    Jeśli by było tak jak myślę, czyli prądy pobierane przez cały sterownik były by różne w zależności od tego czy to półkrok (dwie cewki) czy cały krok (jedna cewka) to może by zmodyfikować program tak by przy pełnym kroku również działały dwie cewki tyle że druga nie obok, a po przeciwnej stronie?
    Wtedy miał bym mniej więcej stały pobór prądu, i cały sterownik jednej osi mógł bym zasilać stałym źródłem prądowym, a nie stałym napięciem.

    Zerknijcie proszę na poniższy program. Nie wiem też czy dobrze wprowadziłem zmiany.

    [CNC] Silniki krokowe sterowane źródłem prądowym

    Code: Bascom
    Log in, to see the code
  • #15
    jarek_lnx
    Level 43  
    elektronockaut wrote:
    To co piszesz jest bardzo pomocne. Nie rozumiem tylko ostatniego zdania, a przynajmniej nie do końca. Jest tak że pobierany w sumie jest różny prąd czy nie?
    Pracę półkrokową realizuje się zasilając raz jedną cewkę raz dwie, każda dostaje takie same napięcie/prąd, bo tak jest najprościej zrealizować. Moja uwaga dotyczyła możliwych modyfikacji które zmniejszają drgania.
    elektronockaut wrote:
    Jeśli by było tak jak myślę, czyli prądy pobierane przez cały sterownik były by różne w zależności od tego czy to półkrok (dwie cewki) czy cały krok (jedna cewka)
    O prądach napięciach decydujesz ty, chcesz prosto to na każdą cewkę dajesz tyle samo.
    elektronockaut wrote:
    to może by zmodyfikować program tak by przy pełnym kroku również działały dwie cewki tyle że druga nie obok, a po przeciwnej stronie?
    Ponumeruję fazy 1,2,3,4, kiedy zasilisz przykładowo 1 i 2 to uzyskasz pozycję pośrednią, ale 1 i 3 nie ma sensu bo te cewki będą sobie przeciwdziałać.

    Programu nie masz co modyfikować jeśli tylko zamienisz tranzystory na źródła prądowe niesterowane.
    Źródło prądowe może wyglądać tak, schemat z internetu więc wartości elementów będą inne, rezystor po lewej był by podłączony do portu uC.
    [CNC] Silniki krokowe sterowane źródłem prądowym
    W stosunku do tego co masz dochodzi tylko rezystor i tranzystor, w praktyce musiał byś jeszcze przygotować sie na duże straty mocy (zmienić tranzystor wyjściowy na "mocniejszy" i dać duży radiator) i podnieść napięcie, bez podniesienia napięcia nie będzie żadnego zysku ze źródeł prądowych, a po podniesieniu napięcia będą duże straty mocy.