Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Kategoria: Kamery IP / Alarmy / Automatyka Bram
Montersi
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Sterownie silnikami przez RS232

bogdan_p 26 Gru 2006 11:56 42123 21
  • #1 26 Gru 2006 11:56
    bogdan_p
    Poziom 39  

    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.

    Sterownie silnikami przez 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

    Sterownie silnikami przez 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

    Sterownie silnikami przez 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

    Sterownie silnikami przez 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

  • #2 05 Lis 2007 14:57
    walker-kiler
    Poziom 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 05 Lis 2007 18:30
    bogdan_p
    Poziom 39  

    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 22 Gru 2008 14:39
    LMK-1226
    Uczeń

    bogdan_p,może pokażesz schematy tego sterownika?Mógłbym taki właśnie zrobić.

  • #5 22 Gru 2008 16:14
    Minner
    Poziom 18  

    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 24 Gru 2008 13:11
    LMK-1226
    Uczeń

    A jaki to program i jak to podłączyłeś?

  • #7 24 Gru 2008 14:36
    bogdan_p
    Poziom 39  

    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 31 Gru 2008 02:32
    chrupex
    Poziom 10  

    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 31 Gru 2008 14:50
    bogdan_p
    Poziom 39  

    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 25 Sty 2009 10:45
    littlebee1
    Poziom 2  

    Pytanie:
    Czemu w ukladzie dla silnika unipolarnego stosujesz oporniki do podciagania sygnalow sterujacych, a dla silnika bipolarnego nie?

  • #11 25 Sty 2009 14:51
    bogdan_p
    Poziom 39  

    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 22 Kwi 2009 08:15
    PS_Company
    Poziom 9  

    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 25 Maj 2009 12:15
    Darone
    Poziom 9  

    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 26 Maj 2009 13:34
    Madik
    Poziom 15  

    Z tego co widzę to l293d nie wytrzyma 14A. Trzeba zmienić mostek h

  • #15 01 Cze 2009 01:17
    Darone
    Poziom 9  

    A czy macie jakieś propozycje odnośnie zmiany tego mostka? Co według Was byłoby najlepszym rozwiązaniem?

  • #16 04 Cze 2009 16:26
    PS_Company
    Poziom 9  

    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 05 Cze 2009 10:25
    bogdan_p
    Poziom 39  

    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 08 Cze 2009 16:31
    PS_Company
    Poziom 9  

    Witam moja płytka wygląda tak:
    Sterownie silnikami przez 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 09 Cze 2009 22:55
    bogdan_p
    Poziom 39  

    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 24 Cze 2009 21:58
    grzes74
    Poziom 10  

    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 25 Cze 2009 09:55
    PS_Company
    Poziom 9  

    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 31 Sty 2010 20:55
    Ergolud
    Poziom 8  

    Witam.
    A czy dużych zmian potrzeba aby wysterować 2 silniki krokowe bipolarne ?

    pozdrawiam,

 Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME