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

Pomóżcie - Sterowanie 4 silnikami krokowymi przez LPT

04 Sty 2005 23:04 3285 11
  • Poziom 10  
    Witam!

    Bardzo chciałbym aby ktoś wytłumaczył mi jak zrobić sterowanie 4 silnikami krokowymi przez port LPT.
    Obecnie napisałem program (Visual Basic) i skleciłem do kupy płytke na której jest ULN2803A i wszystko jest ok dla 2 silnikow krokowych (uzywam UNIPOLARNYCH z FDD 5.25 TEAC, 5 kabelkowych).

    Czytałem projekt z www.r2d2.faith.pl ale nie do końca go rozumiem... bo brak mojej dostatecznej wiedzy albo.... juz jest pozno i mi sie wszystko miesza od siedzenia przed kompkiem:)

    A wiec tak... tyle co do tej pory wiem i sam zakumałem to to:
    LPT na szynie danych to 8 pinow, jezeli mam sterowac 4 silniki unipolarne to do jednego silnika uzyje 2 pinow bo:

    np.

    Pin 1 i Pin 2
    0 0 (stan pierwszy)
    0 1 (stan drugi)
    1 0 (stan trzeci)
    1 1 (stan czwarty)

    z tego wynika ze mam 4 rozne sekwencje i tak pierwsza z nich da krok1 druga krok2 trzecia krok3 i czwarta krok4 na silniku

    Tylko teraz moje pytanie - jak to wykonać w praktyce ?
    czy do tego o czym pisze w projekcie www.r2d2.faith.pl posłużyła wlasnie ta bramka NAND 74HC00 ?

    A jesli tak to prosze niech mi ktos wytłumaczy co robi dokladnie ta bramka tak na chłopski rozum?

    wiem ze 2 piny z ktorych bede sterowac mam rozdzielic na 4 sygnaly - tak jak pisalem wyzej ale ... jak?

    Bardzo prosze o pomoc , prosze nie udzielajcie odpowiedzi POSZUKAJ SOBIE NA FORUM bo szukalem juz przeroznych rzeczy, m.in. tutaj dowiedzialem sie jak dziala silnik krokowy od podstaw ale teraz kompletnie nie wiem jak to zrobic a nie chce na chama zrzynac projektu r2d2.

    Prosze o odpowiedz, mozna tez pisac na maila : grandman(malpa)go2.pl
    dziekuje z gory za kazda pomoc!!!

    Pozdrawiam!
    grandman [= poczatkujacy =]
  • PCBway
  • Poziom 29  
    Sprytnie rozwiązany problem za pomocą tych bramek ;)


    Do sterowania silnikiem potrzebne są 4 sygnały, z peceta układ dostaje tylko 2. Więc tą sprawę załatwiono wstawiając 74HC00 jako inwertery dodające 2 dodatkowe linie.

    Silnik krokowy można sterować podając na jedną z cewek sygnał (w trybie całokrokowym) lub na 2 sąsiednie (w trybie półkrokowym).

    W tabelkach "1" oznacza sygnały aktywne:
    Code:

    Krok  Wejście    Wyjście
           1  2    1  2  3  4
     
     1     0  0    0  1  0  1
     2     0  1    0  1  1  0
     3     1  0    1  0  0  1
     4     1  1    1  0  1  0

    Zamiana wyjść 2 i 3
    Krok  Wejście    Wyjście
           1  2    1  3  2  4

    1      0  0    0  0  1  1
    2      0  1    0  1  1  0
    4      1  1    1  1  0  0
    3      1  0    1  0  0  1


    Specjalnie zamieniłem cewki (wyjścia) 2 i 3 oraz krok 3 z 4.
    Myślę, że te tabelki rozwieją wszelkie wątpliwości.
  • PCBway
  • Poziom 10  
    hmm...
    czyli te inwertery rozdzielaja 2 linie na 4?
    no zaczynam pojmowac:)
    dzieki
    tylko jak w praktyce ? chyba to sobie rozrysuje na schemacie bramkowym bo jeszcze mnie do konca nie olsnilo:)
    dzieki
  • Pomocny post
    Poziom 15  
    Witam!
    Ja zaproponuję jeszcze inną możliwość rozwiązania problemu:
    a gdyby tak rozmnożyć LPT trzy razy (układem 8255). Dało by to 24 bity sterowania chyba wystarczy do sterowania 4 krokówkami. :)
  • Poziom 10  
    no dobra a mozesz dokladniej opisac ten uklad ?
    jest trudny w obsłudze?
    zaraz poszukam specyfikacji i dziekuje
    hmm...

    znalazlem

    widze ze to Intel 8255A PROGRAMMABLE PERIPHEAL INTERFACE
    wiesz to mi sie wydaje na trudne w opanowaniu a po drugie nie znam jeszcze ceny tej kosteczki
    hmm... bo wiesz chodzi tez o cene - dzis znajomy z elektrody ma mi przeslac na maila rozwiazanie z uzyciem demultiplexera 74HCT139 i 74LS139 tylko nie wiem czy po tym poprostu mam uzyc HEX INVERTERA?

    daj znac dzieki
  • Poziom 15  
    grandman napisał:

    widze ze to Intel 8255A PROGRAMMABLE PERIPHEAL INTERFACE
    wiesz to mi się wydaje na trudne w opanowaniu a po drugie nie znam jeszcze ceny tej kosteczki


    Naprawdę nie jest trudny w obsłudze, możesz wszystko obsłużyć hardware'owo (bez programowania). To jest po prostu potrójny BUFOR!
    Masz 1 port 8bitowy wejścia i 3 porty 8bitowe wyścia; który port wyjściowy ma być aktywny (połączony z wejściowym) określasz stanem wejść a0 i a1; czy układ ma w ogóle działać określasz stanem CS.
    i to wszystko! No, oprócz zasilania oczywiście (standartowo 5V TTL)

    Aha układ jest dwukierunkowy: kierunek transmisji określasz stanem RD i WR.
  • Poziom 20  
    A nie prościej (i taniej) rejestry 8-bitowe (np 74273). Linie danych dajesz na wejście, zegary wysterowujesz sygnałami kontrolnymi drukarki (np. strobe).
  • Poziom 14  
    10 lat temu robiłem prace dyplomową z silników krokowych.
    W swojej pracy do sterowania wykorzystałem linik dwukierukowy oraz dekoder 1 Z 10 ale wykorzystując tylko 4 wyjscia a licznik licyzł do 4.
    wysrarczała podawać sygnał na jedno lub drugie wejscie linika a silniki kreciły sie albo w lewo albo w prawo.Program napisałem w turbo pascalu 2.0.Na komputerze Bosman-8.Jestem ciekawy czy ktoś pamieta taki komputer cudo polskiej Unitry ze stacjami 3 calowymi...
    pozdrawiam

    Post był raportowany.

    Rady:
    - dbaj o styl swojej wypowiedzi
    - nie popełniaj błędów
    - nie zaniżaj poziomu elektroda.pl
    Dziękujemy! [h]
  • Poziom 10  
    hmm... teraz tak posiedzialem nad tym troche i mam pytanko
    normalnie mialem na schemacie 74HC00 - bramki NAND
    ktore byly razem polaczone - tak robia to w www.r2d2.faith.pl
    ale po co tak laczyc bramki skoro moge wykorzystac tylko tez 2 ale HEX INVERTERY 74HC04 ... w sumie 2 kosci

    Krok Wejście Wyjście
    1 2 1 3 2 4

    1 0 0 0 0 1 1
    2 0 1 0 1 1 0
    4 1 1 1 1 0 0
    3 1 0 1 0 0 1

    zadziala no nie ?
  • Poziom 15  
    grandman napisał:
    Witam!

    Bardzo chciałbym aby ktoś wytłumaczył mi jak zrobić sterowanie 4 silnikami krokowymi przez port LPT.
    [...]
    A wiec tak... tyle co do tej pory wiem i sam zakumałem to to:
    LPT na szynie danych to 8 pinow, jezeli mam sterowac 4 silniki unipolarne to do jednego silnika uzyje 2 pinow bo:

    np.

    Pin 1 i Pin 2
    0 0 (stan pierwszy)
    0 1 (stan drugi)
    1 0 (stan trzeci)
    1 1 (stan czwarty)

    z tego wynika ze mam 4 rozne sekwencje i tak pierwsza z nich da krok1 druga krok2 trzecia krok3 i czwarta krok4 na silniku

    Tylko teraz moje pytanie - jak to wykonać w praktyce ?


    Zauważ, że numer stanu (w nawiasie) to wartość dziesiętna tej dwubitowej liczby (zapisanej jako PIN1PIN2) - jak weźmiesz dekoder bin/1zN to i 4 bramki OR, to podłączając dane wyście dekodera do odpowiednich bramek sterujących (np. poprzez wzmacniacz) cewkami silnika - uzyskasz zamierzony efekt!
  • Poziom 14  
    witam skontaktuj sie ze mną przez GG 5995403 a wyśle ci schemat najprostszego sterownika do silników krokowych banalnie prosty :D:)
  • Poziom 10  
    hehe:)
    no teraz to juz wiem wszystko i zrobilem juz nawet projekt płytki jednostronnej w EAGLE 4.13:)
    wiec super
    wykorzystam do tego:

    ULN2803A - 2 szt.
    74HC04N - 2 szt.
    kondensator ceramiczny - 2 szt.
    stabilizator 7805 - 1 szt.
    gniazdo meskie LPT 25pin
    złącze do silnika - 4 szt.
    gniazdo zasilania DC 2,1mm
    bo napiecie 4 silnikow to 12V a napiecie inverterow 5V :)
    no to dzieki wszystkim za pomoc

    tylko teraz mam inny problem
    jaka technike (najprostsza polecacie) jesli chodzi o wykonanie plytki
    chce wydrukowac ja odwrotnie (mirror) na folii do drukarek laserowych,
    potem ...hmm.. i tu sa 2 wersje ktora wybrac
    nie wiem jak z tym zelazkiem czy ktos moze pomoc?
    bo z lampa na ultrafiolet to gorzej... po ile sa takie lampy ?
    albo wogole ktos ma caly schemat takiej lampy ?
    wiem ze do tego potrzeba POSITIV 20 , ktory jest drogi ITP.
    pomozcie prosze ....

    dzieki wielkie - teraz kwestia PRAKTYKI ... eh
    bedzie ciezko jak dla mnie na razie ale sie nie zrazam:)

    pozdrowionka i prosze o pomoc