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

Jak zbudować proste sterowniki silników krokowych i DC z RS232?

bogdan_p 26 Gru 2006 11:56 43230 21
  • #1 3370555
    bogdan_p
    Poziom 39  
    Posty: 3849
    Pomógł: 525
    Ocena: 120
    Przeglądając forum i sieć trudno znaleźć proste sterowniki pod RS 232 , dlatego zbudowałem sterowniki za pomocą których możliwe jest sterowanie silnika krokowego unipolarnego , binarnego oraz 2 silnikami dc
    Projektując sterowniki wyszedłem z założenia aby były możliwie proste w budowie , funkcjonalne , możliwe do wykonania przez każdego , to samo dotyczy programów napisanych w Bascomie .
    Zasadniczo powstały dwa projekty pierwszy służy tylko do obsługi silnika krokowego unipolarnego , natomiast drugi jest bardziej uniwersalny służy do sterowania silnika krokowego bipolarnego jak również 2silników DC.

    Jak zbudować proste sterowniki silników krokowych i DC z RS232?

    Obsługa jest bardzo prosta polega na wydaniu polecenia z dowolnego terminala RS 232 np. systemowego Hyper Teminala , każdy z programów na początku przedstawia sposób sterowania .
    Programy w Bascomie są napisane na mikrokontroler 89c2051 , ale bez użycia Timerów i systemu przerwań co pozwala w bardzo prosty sposób zastosować je dla AVR , zmieniając jedynie nazwy portów , stosując popularne 90s2313 lub ATtiny 2313 wystarczy pozbyć się układu Reset z płytki , wyprowadzenia są identyczne
    Programy są bez komentarza , ale na tyle proste że każdy nawet początkujący powinien zrozumieć zasadę działania , w miarę potrzeby zmodyfikować dla swoich potrzeb
    W programach użycie instrukcji Print jest tylko w celach informacyjnych , bez problemu można się ich pozbyć , co pozwoli zaoszczędzić sporo pamięci dla przykładu program dc1 zajmuje 1423 bajty , bez instrukcji Print 723
    Krótki opis poszczególnych programów :
    Obsługa wersji dla silnika unipolarnego i bipolarnego jest identyczna , oczywiście inne są układy sterowników

    Jak zbudować proste sterowniki silników krokowych i DC z RS232?

    Po uruchomieniu i przedstawieniu się program czeka na rozkaz w postaci nazwy polecenia i wartość np. l10 – 10obrotów w lewo , każde polecenie musi być zakończone Enterem
    Sterownik przy pierwszym uruchomieniu wymaga ustalenia wartości kroków / obrót początkowa wartość to 50 co odpowiada silnikowi o 200 krokach / obrót czyli 1,8˚ / krok
    Proponuje ustawić wartość czasu na 30 ( początkowa 10 ) zaznaczyć punkty odniesienia na osi silnika i obudowie , następnie wydać polecenie wykonania 1 obrotu , obserwując czy silnik wykona dokładnie 1 obrót , w marę potrzeby skorygować wartość poleceniem S , lub znając parametry silnika obliczyć 360 / (kąt jednego kroku)*4 , polecenie to nie jest wyświetlane w programie ponieważ ustawia się je tylko raz
    Parametr C – czas pozwala na zmianę prędkości silnika w pewnych granicach , z uwagi na bardzo prosty sposób sterowania silnika wartości zmian nie są duże , dla silnika który testowałem min to 2ms , wartość max może być dowolna

    Jak zbudować proste sterowniki silników krokowych i DC z RS232?

    Dla silników DC powstały 3 wersje programów , schemat jest identyczna jak dla silnika bipolarnego , wersje 1 i 2 obsługuje się analogicznie jak dla silników krokowych , oczywiście bez plecenia S , program został napisany tak aby sterować pojazdem dlatego polecenia odpowiadają kierunkom jazdy przy napędzie pojazdu dwoma silnikami , różnica w obsłudze polega na tym że w wersji 1 ustalamy czas pracy silników ( wartość w sekundach ) natomiast w wersji 2 wydanie polecenia jest wykonywane do czasu wydania kolejnego , dodatkowo jest polecenie Stop

    Jak zbudować proste sterowniki silników krokowych i DC z RS232?

    Wersje 3 obsługuje się inaczej , poszczególnym klawiszom są przyporządkowane polecenia według zasady przedstawionej w terminalu , jest to układ pozwalający na sterownie jedną ręką , naciśnięcie danego klawisza uruchamia polecenie wykonywane tak długo aż nastąpi jego zmiana innym klawiszem

    Część sprzętowa jest typowa Max 232 – komunikacja RS232 , 89c2051 – wiadomo , ULN2003 lub L293D –stopień wyjściowy
    W układzie z Max 232 dodatkowo zastosowano sygnalizację transmisji co bywa pomocne w czasie uruchamiania i pracy układu , szybkość jest ustalona na 2400 co w zupełności wystarcza do takiego sterowania , oczywiście można ją dostosować do swoich potrzeb , pamiętając że z jej wzrostem wzrasta ilość błędów w czasie transmisji oraz to jaką wartość ma zegar systemowy
    Myślę że zaprezentowane układy przydają się początkującym w zrozumieniu zasady sterownia i pozwolą na budowę własnych bardziej za awansowanych konstrukcji
    Załączniki:
    • silniki DC.rar (10.79 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • bipolarny.rar (5.04 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • unipolarny.rar (5.02 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • Schematy i pcb.rar (64.86 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #2 4448734
    walker-kiler
    Poziom 1  
    Posty: 1
    Witam. Opierając sie na założeniach twojego projektu postanowiłem zbudować własny sterownik do silnika unipolarnego jednak napotkałem problem wynikający z braku wystarczającej wartości napięcia wychodzącego ze stabilizatora. Ja dostaje 2,2V co w żaden sposób nie pozwala mi na zasilenie TTL-i. W założeniach mój projekt ma być podpięty przez konwerter usb/rs232 do laptopa a a pulpit sterujący wraz z całym oprogramowaniem do do transmisji danych oraz do deklaracji portów i zarządzania nimi napisany jest w Delphi 7 choć mam również wersje w C++ Builder. Nie wiem czy problem nie wynika przypadkiem z zastosowanego przeze mnie zasilacza, z którego zasilam układ jest to samoróbka dajaca na wyjściu 5,6V. Czy możliwe jest jednak to że mam uszkodzony stabilizator choć w karcie serwisowej użytego układu znalazłem zalecenia co do napięcia wejściowego od 7 do 25V. Proszę o odpowiedz.
  • #3 4449405
    bogdan_p
    Poziom 39  
    Posty: 3849
    Pomógł: 525
    Ocena: 120
    Cytat:
    wartości napięcia wychodzącego ze stabilizatora. Ja dostaje 2,2V

    to jak chcesz żeby to działa
    Cytat:
    układ jest to samoróbka dajaca na wyjściu 5,6V.

    to nie jest forum jasnowidzów pokaż schemat zasilacza , oraz układu który wykonałeś do sterowania , sprawdziłeś układ czy nie ma zwarć jeżeli masz LM7805 to 7V jest minimum dla prawidłowej pracy stabilizatora , dalej jaka jest wydajność prądowa zasilacza , jaki prąd silnika ......... podstawa schemat i kilka danych o układzie
  • #4 5889980
    LMK-1226
    Uczeń
    Posty: 30
    bogdan_p,może pokażesz schematy tego sterownika?Mógłbym taki właśnie zrobić.
  • #5 5890364
    Minner
    Poziom 19  
    Posty: 289
    Pomógł: 20
    Ocena: 3
    LMK-1226 napisał:
    bogdan_p,może pokażesz schematy tego sterownika?Mógłbym taki właśnie zrobić.

    Schematy masz w załącznikach do pierwszego postu.
  • #6 5898549
    LMK-1226
    Uczeń
    Posty: 30
    A jaki to program i jak to podłączyłeś?
  • #7 5898851
    bogdan_p
    Poziom 39  
    Posty: 3849
    Pomógł: 525
    Ocena: 120
    nie wiem o co Ci chodzi przecież wszystko masz w załącznikach , schematy , pcb , programy dla poszczególnych wersji co jeszcze jest Ci potrzebne ?
  • #8 5927248
    chrupex
    Poziom 11  
    Posty: 54
    Pomógł: 2
    Ocena: 1
    Witam!
    Musze przyznać, że faktycznie wszystko jest pięknie zrobione i tak przejrzyście, że nawet taki laik jak ja może to zrozumieć :)

    Tylko mam takie dwa pytanka;
    1. Czy można by mikro kontroler AT89C2051P zastąpić jakimś innym, ponieważ prawdę mówiąc ciężko dostać akurat ten model :/ ?

    2. Czy konieczne jest stosowanie stabilizatora napięcia ?

    Z góry dzienx za pomoc!
    Szczęśliwego Nowego Roku tak przy okazji :)
  • #9 5928904
    bogdan_p
    Poziom 39  
    Posty: 3849
    Pomógł: 525
    Ocena: 120
    stabilizator masz po to aby dostarczyć napięcie stabilizowane dla elektroniki która jest na 5V , tak więc nie wiem czemu nie chcesz go stosować chyba że masz pewne źródło stabilizowanego napięcia 5V
    AT89C2051P kupisz bez problemu , gorzej że wymaga programatora równoległego jednak są dwa rozwiązania wersja 89S2051 daje możliwość programowania typowym programatorem STK200 lub dowolny AVR i ponowna kompilacja programu , głównie zmiana nazwy portów jak piszesz w Bascomie to nie powinieneś mieć problemów , stosując AT90s2313 ( trudny do zdobycia ) lub ATTiny 2313 rozkład wyprowadzeń jest identyczny pamiętaj o innym sposobie Resetu w stosunku do 89c2051
  • #10 6050859
    littlebee1
    Poziom 2  
    Posty: 3
    Pytanie:
    Czemu w ukladzie dla silnika unipolarnego stosujesz oporniki do podciagania sygnalow sterujacych, a dla silnika bipolarnego nie?
  • #11 6052144
    bogdan_p
    Poziom 39  
    Posty: 3849
    Pomógł: 525
    Ocena: 120
    robiąc prototyp zacząłem od wersji dla silników unipolarnych z końcówką mocy na tranzystorach w tym przypadku rezystory okazały się konieczne dla osiągnięcia właściwego prądu bazy tranzystorów , później zrezygnowałem z tranzystorów zastępując je ULN-enem , na schemacie i w projekcie pcb pozostały jednak nie ma to kompletnie żadnego znaczenia czy będą czy nie w niczym nie zmieni to funkcji układu , natomiast zastępując ULN-ena tranzystorami proponuje je dać
  • #12 6442917
    PS_Company
    Poziom 11  
    Posty: 38
    Witam
    Bardzo się mi podoba projekt bo takiego właśnie szukałem :) Jaki jest koszt wykonania takiego sterownika do silnika DC ? i jak bobrze wyczytałem to da się sterować 2 sinikami,tak ?Aaa i czy taki sterownik na da się do manipulatora :)
    dzięki i pozdrawiam :)
  • #13 6572279
    Darone
    Poziom 11  
    Posty: 6
    Czy ten układ wytrzymałby 2 silniki DC - 14A każdy?

    Jeśli nie to jak przerobić ten układ żeby wytrzymywał takie natężenie?
  • #14 6576710
    Madik
    Poziom 15  
    Posty: 148
    Pomógł: 15
    Ocena: 4
    Z tego co widzę to l293d nie wytrzyma 14A. Trzeba zmienić mostek h
  • #15 6601489
    Darone
    Poziom 11  
    Posty: 6
    A czy macie jakieś propozycje odnośnie zmiany tego mostka? Co według Was byłoby najlepszym rozwiązaniem?
  • #16 6615228
    PS_Company
    Poziom 11  
    Posty: 38
    Witam,
    Zbudowałem sobie taki sterownik do DC, wgrałem pragram nr 3 i nie wiem jak skomunikować się z nim przez Hyperterminal :( Gdy naciskam jakieś klawisze mruga tylko jedna dioda ale nic nie dzieje się ze sterownikiem. Nie wiem w czym jest problem, może mam port źle skonfigurowany. Może ktoś wie co robić ?
    Pozdrawiam
  • #17 6618275
    bogdan_p
    Poziom 39  
    Posty: 3849
    Pomógł: 525
    Ocena: 120
    komunikacja musi być w PC ustawiona na 2400 , po uruchomieniu dowolnego programu w terminalu program przedstawia swoje funkcje , jeżeli masz swoje urządzenie wykonane na zaproponowanym pcb to musi działać program jest tak prosty że tylko błędy montażowe mogą powodować niewłaściwą pracę układu
  • #18 6631326
    PS_Company
    Poziom 11  
    Posty: 38
    Witam moja płytka wygląda tak:
    Jak zbudować proste sterowniki silników krokowych i DC z RS232?.Możliwe że ja źle połączyłem gniazdo RS jak by ktoś mógł sprawdzić:) ( ja podłączyłem je tak że do SV1 do wejścia pierwszego podłączyłem GND czyli 5 pin portu RS do wejścia 2 podłączyłem 3 pin portu a do wejścia trzeciego podłączyłem 2 pin portu)
    Dziękuję i pozdrawiam
  • #19 6637151
    bogdan_p
    Poziom 39  
    Posty: 3849
    Pomógł: 525
    Ocena: 120
    chyba ważniejsze są ścieżki niż widok z góry , napisałem wcześniej po włączeniu zasilania układ wysyła dane do terminala , czy masz je ?
    prostym sposobem sprawdzenia komunikacji jest wyjęcie mikrokontrolera z podstawki i zwarcie końcówek 2 , 3 ( Tx / Rx 89c2051 ) musisz w tym przypadku otrzymać to samo co wysyłasz tzn wciśniecie dowolnego klawisza od razu musi pojawić się w terminalu w tym czasie powinny migać obie diody komunikacyjne przy MAX 232 , jeżeli nic nie ma to spróbuj zamienić 2 / 3 w złączu RS232 w przypadku braku komunikacji pozostaje wymiana układu MAX232 zakładam że pcb masz poprawne , podzespoły sprawne
    przy działającej komunikacji PC <> MAX 232 usuń mostek na pinach 2 , 3 89c2051 , włóż układ po podaniu napięcia program powinien w terminalu przedstawić się jeżeli nie to pozostaje uC a tu wybacz nie jestem jasnowidzem aby stwierdzić co masz tam wgrane , czy układ jest dobry itp
  • #20 6699175
    grzes74
    Poziom 11  
    Posty: 5
    Ocena: 1
    Schemat trochę się różni od wzoru płytki. Ja to uruchomiłem, ale początkujący mają i będą mieć problemy, i nie dziwię się dlaczego...
    Pozdrawiam i gratuluje uruchomienia PS_Company.
  • #21 6700517
    PS_Company
    Poziom 11  
    Posty: 38
    Udało się uruchmić ten sterownik :) trochę głupi błąd mi wyszedł bo zabrakło mi jednej zworki :) ale teraz chodzi idealnie.
    Pozdrawiam PS_company
  • #22 7623577
    Ergolud
    Poziom 10  
    Posty: 10
    Witam.
    A czy dużych zmian potrzeba aby wysterować 2 silniki krokowe bipolarne ?

    pozdrawiam,

Podsumowanie tematu

✨ Omówiono projekt prostych sterowników silników krokowych (unipolarnych i bipolarnych) oraz dwóch silników DC sterowanych przez interfejs RS232, opartych na mikrokontrolerze AT89C2051 bez użycia timerów i przerwań, z oprogramowaniem w Bascomie. Dyskusja poruszała kwestie zasilania, w tym wymagania stabilizatora napięcia 5V (np. LM7805) oraz minimalne napięcie wejściowe (7V), a także problemy z napięciem wyjściowym i kompatybilnością z TTL. Zaproponowano alternatywne mikrokontrolery, takie jak AT89S2051, AT90S2313 lub ATTiny2313, z uwzględnieniem różnic w programowaniu i wyprowadzeniach. Omówiono zastosowanie rezystorów podciągających w układach z tranzystorami i ich zastąpienie układem ULN. Poruszono temat mostków H (np. L293D) i ich ograniczeń prądowych, wskazując na konieczność wymiany przy dużych prądach (np. 14A). Wskazano na konfigurację komunikacji RS232 (2400 baud) i testowanie połączenia przez zwarcie linii Tx/Rx. Użytkownicy dzielili się doświadczeniami z montażem, konfiguracją portów i problemami z komunikacją, podkreślając prostotę projektu i dostępność schematów, PCB oraz programów w załącznikach. Pojawiły się pytania o możliwość sterowania dwoma silnikami krokowymi bipolarnymi oraz zastosowanie sterownika do manipulatora.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA