system sterowania silnikiem krokowym w układzie

Komentarze

Transkrypt

system sterowania silnikiem krokowym w układzie
Politechnika Poznańska
Wydział Informatyki i Zarządzania
Katedra Inżynierii Komputerowej
Praca dyplomowa inżynierska
SYSTEM STEROWANIA SILNIKIEM KROKOWYM
W UKŁADZIE OTWARTYM
Anna Cieśnik
Dawid Jasiak
Łukasz Szulc
Promotor
dr inż. Sławomir Stępień
Poznań, 2007 r.
Tutaj przychodzi karta pracy dyplomowej;
oryginał wstawiamy do wersji dla archiwum PP, w pozostałych kopiach wstawiamy
ksero.
Spis treści
1 Wstęp
1.1 Motywacje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Cel i zakres pracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Struktura pracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Silnik krokowy
2.1 Wprowadzanie . . . . . . . . . . . . . . . . .
2.2 Budowa . . . . . . . . . . . . . . . . . . . .
2.2.1 Wstęp . . . . . . . . . . . . . . . . .
2.2.2 Budowa silników hybrydowych . . . .
2.3 Zasada działania . . . . . . . . . . . . . . .
2.3.1 Wpływ budowy silnika na sterowanie
2.3.2 Silniki unipolarne . . . . . . . . . . .
2.3.3 Sterowanie unipolarne i bipolarne . .
2.4 Sterowanie . . . . . . . . . . . . . . . . . . .
2.4.1 Sterowanie pełnokrokowe . . . . . . .
2.4.2 Sterowanie półkrokowe . . . . . . . .
2.4.3 Sterowanie mikrokrokowe . . . . . . .
2.4.4 Sterowanie unipolarne i bipolarne . .
2.5 Właściwości . . . . . . . . . . . . . . . . . .
2.5.1 Moc . . . . . . . . . . . . . . . . . .
2.5.2 Dokładność pozycjonowania . . . . .
2.5.3 Moment silnika krokowego . . . . . .
2.5.4 Częstotliwość . . . . . . . . . . . . .
2.5.5 Drgania . . . . . . . . . . . . . . . .
2.6 Opis silnika typu BYG57 081D . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
3
4
5
5
7
7
8
10
11
12
13
14
14
15
16
17
18
18
19
20
22
23
24
3 Opracowany system sterowania
25
3.1 Założenia projektu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2 Przebieg prac nad projektem . . . . . . . . . . . . . . . . . . . . . . . 26
3.3 Budowa i funkcjonalność układu przed modyfikacją stanowiska . . . . 27
I
II
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
3.13
3.3.1 Budowa stanowiska . . . . . . . . . . . . . . . . . . . . . . . .
3.3.2 Opis poszczególnych urządzeń . . . . . . . . . . . . . . . . . .
Projekt i realizacja nowego stanowiska . . . . . . . . . . . . . . . . .
3.4.1 Wyprowadzenie sygnałów z urządzeń zewnętrznych na płytkę .
3.4.2 Komunikacja PC — PEdASK . . . . . . . . . . . . . . . . . .
Płytka edukacyjna do analizy silnika krokowego — PEdASK . . . . .
3.5.1 Wskazówki do projektowania układów z elementami cyfrowymi
3.5.2 Układ optoizolacji wejścia . . . . . . . . . . . . . . . . . . . .
3.5.3 Układ multipleksowania sygnałów sterujących . . . . . . . . .
3.5.4 Układ wyzwalania przerwania sprzętowego . . . . . . . . . . .
3.5.5 Konfiguracja uzwojeń silnika . . . . . . . . . . . . . . . . . . .
3.5.6 Wyprowadzenie sygnałów typu OC . . . . . . . . . . . . . . .
3.5.7 Zasilanie układu . . . . . . . . . . . . . . . . . . . . . . . . .
Dokumentacja elektroniki PEdASK . . . . . . . . . . . . . . . . . . .
Płytka drukowana . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.1 Zasady projektowania płytki drukowanej . . . . . . . . . . . .
3.7.2 Projekt PCB płytki drukowanej PEdASK . . . . . . . . . . .
3.7.3 Wizualizacja płytki . . . . . . . . . . . . . . . . . . . . . . . .
3.7.4 Technologia wykonania płytki drukowanej . . . . . . . . . . .
Zasada działania układu . . . . . . . . . . . . . . . . . . . . . . . . .
3.8.1 Możliwe konfiguracje układu . . . . . . . . . . . . . . . . . . .
3.8.2 Opis działania układu PEdASK . . . . . . . . . . . . . . . . .
Montaż układu w poszczególnych konfiguracjach . . . . . . . . . . . .
3.9.1 0 tryb pracy — praca wyłącznie na urządzaniach przemysłowych
3.9.2 1 tryb pracy — sterowanie z ZD100, pomiary na licznikach . .
3.9.3 2 tryb pracy — jednoczesne wykorzystanie komputera i urządzeń do sterowania/pomiarów . . . . . . . . . . . . . . . . . .
3.9.4 3 tryb pracy — sterowanie i pomiar na komputerze . . . . . .
Zbudowane stanowisko do badania własności silnika krokowego . . . .
Pomiary i ograniczenia . . . . . . . . . . . . . . . . . . . . . . . . . .
Zalecenia użytkowania układu . . . . . . . . . . . . . . . . . . . . . .
Wnioski . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 Oprogramowanie
4.1 Ogólny opis . . . . . . . . . . . . . . .
4.2 Założenia . . . . . . . . . . . . . . . .
4.3 Opis portu LPT . . . . . . . . . . . . .
4.4 Przeznaczenie sterownika systemowego
4.5 Moduły aplikacji . . . . . . . . . . . .
4.5.1 Obiekt obsługi sterownika . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
27
28
35
35
36
40
40
42
42
44
44
46
46
47
47
47
49
49
50
52
52
53
56
56
59
60
60
61
61
63
64
68
68
68
69
71
73
73
III
4.6
4.7
4.8
4.9
4.5.2 Obiekt przetwarzania danych . . . . . . . . . . . . . .
4.5.3 Obiekt generujący trajektorię . . . . . . . . . . . . . .
Współpraca elementów . . . . . . . . . . . . . . . . . . . . . .
4.6.1 Odczyt danych ze sterownika . . . . . . . . . . . . . .
4.6.2 Zapis danych do sterownika . . . . . . . . . . . . . . .
4.6.3 Praca programu w trybie ZD100 . . . . . . . . . . . . .
4.6.4 Praca programu w trybie PCHost . . . . . . . . . . . .
4.6.5 Możliwe błędy . . . . . . . . . . . . . . . . . . . . . . .
Interfejs użytkownika . . . . . . . . . . . . . . . . . . . . . . .
4.7.1 Opis elementów graficznych . . . . . . . . . . . . . . .
4.7.2 Opis użytkowania . . . . . . . . . . . . . . . . . . . . .
4.7.3 Opis funkcji przycisków okna przygotowania trajektorii
Formaty plików . . . . . . . . . . . . . . . . . . . . . . . . . .
4.8.1 Plik trajektorii . . . . . . . . . . . . . . . . . . . . . .
4.8.2 Plik danych pomiarowych . . . . . . . . . . . . . . . .
Przetwarzanie danych . . . . . . . . . . . . . . . . . . . . . . .
4.9.1 Dane sterowania . . . . . . . . . . . . . . . . . . . . .
4.9.2 Dane enkodera . . . . . . . . . . . . . . . . . . . . . .
5 Wyniki doświadczeń
5.1 Wstęp . . . . . . . . . . . . . . . . .
5.2 Zadawanie trajektorii . . . . . . . . .
5.3 Prędkość chwilowa . . . . . . . . . .
5.4 Badanie przebiegów sterowania . . .
5.5 Ustalanie się pozycji rotora . . . . . .
5.6 Badanie dokładności pozycjonowania
5.7 Propozycje ćwiczeń dla studentów . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
73
73
73
74
74
74
75
75
76
76
79
80
84
84
85
85
85
85
.
.
.
.
.
.
.
88
88
88
89
91
91
94
95
6 Zakończenie
96
A Dokumentacja techniczna
A.1 Płytka drukowana PEdASK . . . . . . . . . . . . . . . . . . . . . . .
A.2 Wzory opisu na pleksie . . . . . . . . . . . . . . . . . . . . . . . . . .
A.3 Skrócony katalog układów scalonych wykorzystanych do budowy płytki
drukowanej PEdASK . . . . . . . . . . . . . . . . . . . . . . . . . . .
97
97
99
100
Literatura
103
Rozdział 1
Wstęp
1.1 Motywacje
Motywacją do podjęcia zagadnienia sterowania i badania silników krokowych
jako tematu niniejszej pracy inżynierskiej, były ich liczne zalety oraz aktualność
tematyki i powszechność stosowania we współczesnym przemyśle, których liczne
przykłady zostaną zaprezentowane poniżej [5, 4, 1, 21, 12, 7, 6].
Wychodząc z definicji silnika krokowego, należy zaliczyć go do grupy silników
elektrycznych, w którym impulsowe zasilanie prądem elektrycznym powoduje obrót
wirnika o ściśle ustalony kąt. Dzięki temu, kąt obrotu wirnika jest ściśle powiązany
z liczbą dostarczonych impulsów prądowych. Z kolei prędkość kątowa wirnika jest
adekwatna do iloczynu częstotliwości tych impulsów i wartości jednostkowego kąta
obrotu wirnika [5].
Jednostkowy kąt obrotu zależy od klasy i konkretnego typu silnika i mieści się
najczęściej w zakresie kilku – kilkudziesięciu stopni.
Silniki krokowe w zależności od ich przeznaczenia mają budowę przystosowaną do
wykonywania od ułamków obrotu na sekundę do kilku tysięcy obrotów w skrajnych
przypadkach [5].
Do najważniejszych zalet silników krokowych zalicza się:
• Prawidłowo zaprojektowane napędy dają dużą powtarzalność wykonywanych
ruchów, dobre silniki krokowe mają dokładność nawet bliską 3–5% kroku i błąd
ten nie kumuluje się z kroku na krok.
• Liniowa zależność obrotu silnika od ilości impulsów sterujących.
• Prosta kontrola pracy silnika i jego obrotu w jednostce czasu.
• Niezawodność — dzięki budowie silnika bez szczotek, co uzależnia żywotność
silnika wyłącznie od żywotności łożysk.
• Możliwość bardzo szybkiego rozbiegu, hamowania i zmiany kierunku obrotu.
1
1.1. Motywacje
2
• Zależność kąta obrotu silnika od impulsów dyskretnych w czasie, co umożliwia
sterowanie w pętli otwartej. Cecha ta sprawia, że silniki krokowe stają się
łatwiejsze i przede wszystkim tańsze w sterowaniu.
Pierwsze konstrukcje ramienia głowicy dysków twardych oraz stacji dysków i dyskietek wykorzystywały silniki krokowe. Po dziś dzień są stosowane w napędach
drukarek, skanerów, kserokopiarek, ploterach i wielu innych urządzeniach.
Silniki krokowe są coraz częściej używane, m.in. w układach programowego
sterowania (liniach produkcyjnych, obrabiarkach CNC, manipulatorach, robotach)
[1, 21]. Należą do nich również przyrządy rejestrujące.
W większości tych zastosowań, silnik oprócz funkcji napędu, pełni także rolę
urządzenia pozycjonującego, w których podstawowym parametrem konstrukcyjnym
i użytkowym jest precyzja pozycjonowania — przez którą należy rozumieć dokładność osiągania zadanej pozycji lub powtarzalność wykonywania zadanych ruchów
[12].
Obszar zastosowania silników krokowych zdecydowanie powiększa się. Dzieje się
tak, m.in. za sprawą techniki mikroprocesorowej umożliwiającej realizację złożonych
funkcji sterowania [7].
Systemy z silnikami krokowymi są wykorzystywane wszędzie tam, gdzie ważne
jest sterowanie złożonymi ruchami, ustalaniem położeń oraz dokładne zatrzymanie
mechanizmów w ściśle określonym miejscu, sterowanie procesów chemicznych oraz
cieplnych, kontrola i regulacja położenia [7, 12, 21, 6].
Silniki krokowe znajduje się [21] m.in. w napędach prętów spowalniających reakcje jądrowe, w napędach mostów zwodzonych i w automatyce wolnozmiennych
procesów przemysłowych (napęd zaworów, zasuw, przesłon itp.), gdzie ich duża
trwałość i prostota sterowania mają szczególne znaczenie.
Zatem spektrum zastosowań silników krokowych jest bardzo szerokie, co powoduje dynamiczny rozwój badań oraz poszukiwania nowych rozwiązań sterowania we
współczesnym przemyśle.
Możliwość precyzyjnego sterowania w pętli otwartej jest podawana za jedną
z największych zalet silników krokowych. Oznacza ona, że nie jest konieczne sprzężenie zwrotne — czyli informacja o aktualnym położeniu wału silnika. Takie sterowanie eliminuje potrzebę stosowania kosztownych urządzeń sprzężenia zwrotnego,
jak np: przetworniki optoelektroniczne czy obrotowo-impulsowe. Pozycję silnika,
w ogólności można wyznaczyć na podstawie zliczanych impulsy wejściowych.
Natomiast główna motywacja rozbudowy stanowiska oraz stworzenia własnego
systemu sterowania wynika z niepożądanych zjawisk zachodzących przy pracy silników krokowych, m.in.:
• Rezonanse mechaniczne pojawiające się przy niewłaściwym sterowaniu.
• Trudności przy pracy z bardzo dużymi prędkościami.
1.2. Cel i zakres pracy
3
Należy mieć świadomość ich występowania.
1.2 Cel i zakres pracy
Celem niniejszej pracy inżynierskiej było opracowanie kompletnego systemu sterowania silnikiem krokowym w układzie otwartym dla celów badawczych i edukacyjnych poprzez rozbudowę istniejącego stanowiska w laboratorium analizy elementów
wykonawczych automatyki w Katedrze Inżynierii Komputerowej.
Zakres pracy inżynierskiej obejmował zaproponowanie oraz wykonanie systemu
komputerowego sterowania i analizy pracy silnika na podstawie istniejącego stanowiska. Istniała możliwość wykorzystania oprogramowania firmy WObit do sterowania
i pobierania danych pracy silnika. Jednak takie rozwiązanie wymagało wymiany
liczników na nowsze. Ponadto firmowe oprogramowanie ograniczało możliwość dalszej rozbudowy i sterowania silnikiem w pętli zamkniętej.
Ograniczono koszty finansowe wymiany podzespołów, rozważając możliwość ominięcia ich, co zmniejszy koszty zasilania i zajmowanego miejsca, co miało by duży
wpływ przy zastosowaniu takiego układu w przemyśle.
Na podstawie powyższej analizy w ramach pracy inżynierskiej zaprojektowano
i zbudowano układ elektroniczny umożliwiający trzy rodzaje pracy wykorzystujące
wszystkie możliwości:
• bezpośrednie sterowanie z zadajnika ZD 100 oraz z wykorzystaniem firmowego
oprogramowania, odczyt pracy silnika na licznikach MD 100 i LP 100;
• sterowanie za pomocą zadajnika i analiza pracy na komputerze;
• sterowanie i jednoczesna analiza pracy silnika z jednoczesną możliwością odczytu pomiarów z liczników.
Ostatnie dwa tryby pracy wykorzystują oprogramowanie stworzone w ramach pracy
inżynierskiej. Program ten komunikuje się poprzez równoległy port LPT z powstałym układem elektronicznym, nazywanym dalej PEDASK — płytka edukacyjna do
analizy silnika krokowego. Dokładność przesyłanych danych do komputera zapewnia układ generujący przerwania sprzętowe w odpowiedzi na sygnały pochodzące
z przetwornika obrotowo–impulsowego. Komunikacja z płytką PEdASK została
zrealizowana przez dedykowany sterownik, który powstał jako część niniejszej pracy
inżynierskiej. Wykorzystuje on przerwania generowane przez kontroler portu równoległego do pobierania danych z płytki edukacyjnej z możliwie dokładnym pomiarem
czasu. Dzięki rozbudowie układu i powstałemu oprogramowaniu przeprowadzono
szereg doświadczeń.
1.3. Struktura pracy
4
1.3 Struktura pracy
Struktura pracy jest następująca. W rozdziale 1 przedstawiono cel i zakres pracy
oraz uzasadnienie obranego rozwiązania.
Rozdział 2 zawiera przegląd literatury oraz podstawy teoretyczne obejmujące
podział silników ze względu na budowę i zasadę działania. Rodzaje sterowania,
opis pracy pełnokrokowej i mikrokrokowej. Właściwości mechaniczne, dynamiczne
i elektryczne oraz parametry techniczne badanego silnika.
Rozdział 3 jest poświęcony elektronicznej części pracy, którą rozpoczyna opis
stanowiska przed i po rozbudowie oraz założenia dotyczące pracy całego układu.
W dalszej części przedstawiony jest projekt oraz sposób wykonania układu elektronicznego, uzupełnione dokumentacją techniczną i użytkową stanowiska. Wnioski
powstałe z budowy układu kończą tę część pracy.
Rozdział 4 został poświęcony powstałej aplikacji do sterowania silnikiem oraz
dokonywania pomiarów i analiz. Zawiera m.in założenia projektowe aplikacji, opis
komunikacji z częścią sprzętową, dwa możliwe tryby pracy programu, algorytm działania i dokumentację użytkową oprogramowania.
Rozdział 5 zawiera opis badań i przeprowadzonych doświadczeń oraz propozycję
ćwiczeń dla studentów na powstałym, w pełni funkcjonalnym stanowisku laboratoryjnym.
Rozdział 6 stanowi podsumowanie pracy z dyskusją na temat przyjętych metod
analizy i sterowania silnikami krokowymi.
W dodatku A zamieszczono przydatne schematy, szablony oraz skrócony katalog
układów scalonych wykorzystanych w niniejszej pracy.
Rozdział 2
Silnik krokowy
2.1 Wprowadzanie
Zbudowanie dobrze zaprojektowanego systemu sterowania silnika możliwe jest
tylko poprzez poznanie zasady działania, budowy napędu, zrozumienie reguł sterowania, a także dokładną analizę jego parametrów.
Silnik krokowy inaczej zwany silnikiem skokowym, to silnik elektryczny synchroniczny przetwarzający ciąg impulsów elektrycznych w mechaniczne, skokowe
(dyskretne) przesunięcie wału lub wirnika [21], proporcjonalne do liczby impulsów,
z prędkością proporcjonalną do częstotliwości tych impulsów. Do istotnych zalet
[7] tego napędu można zaliczyć łatwe sterowanie prędkością, możliwość zmiany kierunku, dużą niezawodność oraz prostotę sterowania .
Cechą charakterystyczną napędu krokowego jest zajmowanie przez wirnik ustalonych położeń odległych od siebie o krotność skoku wynikającą z liczby zadanych
impulsów sterujących bez sumowania błędów skoków, co umożliwia zastosowanie
tego silnika w otwartych układach sterowania.
Wykorzystanie zjawisk fizycznych jest podstawą do budowy wszelkich urządzeń
elektrycznych, a przede wszystkim silników. Dlatego warto zwrócić uwagę na zjawiska, które nimi rządzą, by łatwiej można było zrozumieć zasadę działania i wykorzystać tą wiedzę w celu lepszego sterowania.
Wykorzystanie elektromagnesu przy budowie silników krokowych
Przepływ prądu przez cewkę nawiniętą na rdzeń ferromagnetyczny powoduje
powstawanie pola magnetycznego, którego obieg przechodzi przez rdzeń. Ilustrację
tego zjawiska przedstawiono na rysunku 2.1.
5
6
2.1. Wprowadzanie
Rysunek 2.1: Powstawanie strumienia indukcji magnetycznej
Pole magnetyczne przyciąga pozostałą część rdzenia — układ dąży do zmniejszenia oporu magnetycznego, czyli reluktancji, po to by przy danej sile magnetomotorycznej wytworzonej przez cewkę, powstał jak największy strumień magnetyczny
Φ:
Φ=
I·z
Rm
(2.1)
gdzie:
I — prąd,
z — liczba zwojów,
Rm — reluktancja.
Indukcja
Zmiana wartości strumienia magnetycznego, przebiegającego przez obszar objęty
przewodnikiem oraz jego relacja z polem elektrycznym indukowanym wokół tego
przewodnika określa prawo indukcji elektromagnetycznej Faradaya. Prawo to można
przedstawić za pomocą wzoru:
I
E · dl = −
V=
l
dΦB
dt
gdzie:
ΦB — strumień indukcji magnetycznej,
V — siła elektromotoryczna powstająca w pętli,
E — natężenie wyindukowanego pola elektrycznego.
(2.2)
7
2.2. Budowa
Rysunek 2.2: Oddziaływanie strumienia na wał – analogia do prądnicy
Proste zależności elektromagnesów
Elektromagnes można określić jako element elektryczny zbudowany z cewki nawiniętej na rdzeniu ferromagnetycznym, który jest wykonany zazwyczaj z miękkiego
żelaza. Pod wpływem przepływającego przez cewkę prądu elektrycznego wytwarzane jest pole magnetyczne.
Rysunek 2.3: Zjawisko przyciągania elektromagnesu
Rysunek 2.4: Zjawisko odpychania elektromagnesu
2.2 Budowa
2.2.1 Wstęp
Najczęściej stosowane obecnie silniki krokowe to silniki hybrydowe, które posiadają zarówno właściwości jak i zalety silników o zmiennej reluktancji (ang. Variable
8
2.2. Budowa
Reluctance) oraz silników z magnesem stałym (ang. Permanent Magnet). Zostały
one oznaczone przez skrót HB, pochodzący od słowa ang. hybrid.
Silnik hybrydowy łączy w sobie zalety silnika ze zmienną reluktancją i silnika
z magnesem stałym. Silnik VR ma prostą konstrukcję, w której główną rolę odgrywa
rotor o wielu zębach wykonany z miękkiej stali oraz stojana wraz z uzwojeniami.
Kiedy przez zwoje stojana przepływa prąd stały, bieguny namagnesowują się, co
powoduje, że przyciągają zęby rotora. Na skutek przełączania biegunów stojana
wirnik obraca się.
W silniku PM rotor nie posiada zębów, lecz jest namagnesowany naprzemiennie
osiowo poprzez bieguny N i S, w taki sposób by były rozmieszczone wzdłuż linii
prostej równoległej do osi wirnika. Silniki z magnesem trwałym cechuje zwiększona
indukcja magnetyczna w wyniku namagnesowania biegunów wirnika, co pozytywnie
wpływa na charakterystykę momentu.
Podstawową zaletą silników VR jest rozdzielczość, która ze względu na duże
możliwości sterowania jest najważniejsza. Natomiast w silnikach PM [19] wraz ze
wzrostem rozdzielczości maleje ich dynamika . Właśnie dlatego połączono zasadę
działania i właściwości obu silników w silnik hybrydowy.
2.2.2 Budowa silników hybrydowych
Można stwierdzić, że kąt kroku w mierze elektrycznej [21] jest tym mniejszy, im
większa jest liczba taktów (komutacji) k i kąt ten można zdefiniować jako:
2π
(2.3)
k
Zmniejszanie ilości kroków można realizować na drodze projektowania silników
poprzez zwiększanie liczby par biegunów p w silnikach spolaryzowanych magnetycznie, zwiększaniu zębów Zr wirnika ferromagnetycznego w silnikach reluktancyjnych
oraz liczby m niezależnych cewek skupionych uzwojenia stojana. Właśnie z tego
powodu istnieje dużo silników o różnej konstrukcji. W wyniku zwiększenia liczby
kroków w silnikach z wirnikiem czynnym (elektromagnetycznym), można przedstawić wzór na kąt kroku w następujący sposób:
αe =
α=
2π
p·k
(2.4)
2π
Zr · k
(2.5)
a dla silników z wirnikiem biernym:
α=
Silnik hybrydowy składa się z magnesu trwałego, w którym bieguny magnesu
są umieszczone osiowo (2.5, co jest charakterystyczne dla tego rodzaju silników,
9
2.2. Budowa
w przeciwieństwie do silników z magnesem trwałym, w których bieguny są umieszczone promieniście.
Rysunek 2.5: Przedstawienie osiowego namagnesowania rotora
Część bieguna położona najbliżej wirnika posiadają małe kanaliki z wypustkami
tzw. ząbkami. Podobna konstrukcja dotyczy wirnika, lecz w tym przypadku są to
dwie sekcje, zgodne z osiowym namagnesowaniem wirnika. Należy także zauważyć,
że kanaliki nie są ciągłe jak w przypadku stojana, a dolne zęby wirnika są przesunięte w stosunku do górnych o połowę zęba, co jest przedstawione na fotografii 2.7.
Takie rozmieszczenie powoduje, że stojan bez zasilania wymusza umiejscowienie
wirnika w konkretnej pozycji, w której zęby obydwu części były jak najbliżej siebie — co jest spowodowane zmniejszeniem oporności indukcyjnej, by strumień pola
magnetycznego przepływał przez ferromagnetyk, a nie przez powietrze.
Rysunek 2.6: Rozmieszczenie biegunów oraz zębów na stojanie
2.3. Zasada działania
10
Powodem budowy tak skomplikowanej konstrukcji jest zwiększenie podstawowej
liczby kroków, bez dodatkowego mnożenia liczby biegunów. Zgodnie ze wzorem 2.5
liczba zębów wyznacza jednostkowy krok silnika hybrydowego. Silnik przedstawiony
na rysunku 2.6 posiada ilość zębów oraz cewek odpowiadającą 7,2o — czyli 50
podstawowych kroków.
Rysunek 2.7: Przedstawienie typowego wirnika silnika hybrydowego
Rysunek 2.8: Stojan silnika hybrydowego z uzwojeniami
2.3 Zasada działania
Generowane impulsy sterujące powodują zasilenie uzwojeń silnika krokowego odpowiednim układem napięć, utrzymywanych na uzwojeniach aż do pojawienia się
kolejnego impulsu, który sprawia, że zmienia się układ napięć. Powoduje to zmianę
rozpływu prądów płynących w uzwojeniach, co jest związane ze zmianą kierunku
strumienia magnetycznego, czego konsekwencją jest obrót silnika o określony kąt
zwany krokiem. Można zatem stwierdzić, że zasada działania silników krokowych
11
2.3. Zasada działania
opiera się głównie o wirujące pole magnetyczne, które można wytworzyć poprzez
zmianę kierunku prądu w uzwojeniach.
Cykl komutacji obejmuje taką liczbę stanów napięć zasilających uzwojenia po
przekroczeniu, której stany te zaczynają cyklicznie się powtarzać. Przez takt komutacji należy rozumieć każdy stan układu napięć [21].
Silniki PM i HB mają po kilka biegunów. Zawierają jednak tylko dwa uzwojenia
podzielone na sekcje, dlatego doskonałym punktem wyjścia do analizy sterowania
jest model tylko z dwoma uzwojeniami [19]. Można wyróżnić trzy sposoby sterowania takimi silnikami. Pierwszy z nich opiera się o wykorzystanie dwóch mostków
tranzystorowych typu H, jednak realizacja nie jest najłatwiejsza i stosuje się dwie
pozostałe metody wprowadzające podział silników krokowych na silniki bipolarne
i unipolarne.
2.3.1 Wpływ budowy silnika na sterowanie
Rozbudowana konstrukcja silnika hybrydowego została wypracowana na bazie
doświadczeń z silnikami reluktancyjnymi oraz z magnesem trwałym. Dzięki większej ilości zębów na wirniku oraz na stojanie możliwe było zmniejszenie wielkości
kroku — mniejszy krok świadczy o dokładniejszym pozycjonowaniu, co oznacza,
że bardziej korzystne są układy o największej ilości taktów w cyklu.
Rysunek 2.9: Przekrój poziomy przez silnik hybrydowy (A)
Powyższy rysunek przedstawia rozmieszczenie zębów wirnika i zębów stojana
w sytuacji, gdy układ jest w stanie spoczynku. Układ pobudzony poprzez zmianę napięcia w uzwojeniach spowodowałby obrót wirnika, co wynika bezpośrednio z Prawa
Coulomba dla magnesów:
F = k·
gdzie:
m1 · m2
r2
(2.6)
2.3. Zasada działania
12
F — siła wzajemnego oddziaływania dwóch biegunów magnetycznych,
m1 , m2 — ładunki magnetyczne [Wb = V · s],
r — odległość między ładunkami,
k — współczynnik proporcjonalności: k = 1/4πµ, przy czym: µ = µr · µ0
Rysunek 2.10: Przekrój poziomy przez silnik hybrydowy (B)
Analizując rysunki 2.9 oraz 2.10 należy zauważyć, że przedstawiono dwa przekroje poziome silnika i zarówno dolna cześć układu jak i górna część rotora ze oddziałują ze stojanem. Ustawienie wirnika górnego bieguna współgra z ustawieniem
dolnego bieguna wirnika, osiągając stan równowagi. Każdy z pojedynczych kroków
należy rozpatrywać, jako osobny stan równowagi magnetycznej, które w połączeniu ze szybkimi przełączeniami uzwojeń stojana powodują ruch obrotowy z bardzo
dokładnym pozycjonowaniem, którym można sterować.
2.3.2 Silniki unipolarne
Uproszczenie sterowania silnikiem dokonuje się poprzez zastosowanie uzwojenia
z odczepem w środku [19], który jest połączony ze źródłem prądu. Występuje
tu dzielenie uzwojenia, wskutek czego prąd w jednym cyklu może płynąć przez
jedną część uzwojenia, a następnym cyklu w drugiej części. Zasadę działania silnika
unipolarnego przedstawiono na rysunku 2.11. W związku z tym, że prądy płyną
tylko w jednym kierunku nazywane są silnikami unipolarnymi. Istotną zaletą tych
silników jest łatwość sterowania. Jednak w porównaniu ze silnikami bipolarnymi
mają słabsze osiągi spowodowane nie wykorzystywaniem całości uzwojenia.
2.3. Zasada działania
13
Rysunek 2.11: Przedstawienie sterowania silnika unipolarnego
2.3.3 Sterowanie unipolarne i bipolarne
W silnikach bipolarnych prądy uzwojeń w kolejnych cyklach płyną w obu kierunkach, przez co można nazwać je dwubiegunowymi (bipolarnymi). Rozkład prądów
można zaobserwować na rysunku 2.12. Wymagają jednak bardziej skomplikowanego
sterownika wynikającego z ich istotnej zalety — ciągłej pracy całości uzwojeń, czyli
pełne wykorzystanie możliwości silnika. Takie sterowanie daje dużo lepsze osiągi
zwłaszcza przy małych i średnich prędkościach obrotowych. Moment obrotowy jest
wtedy dużo większy. Zasadę działania silnika przedstawiono na rysunku 2.12.
14
2.4. Sterowanie
Rysunek 2.12: Przedstawienie sterowania silnika bipolarnego
2.4 Sterowanie
2.4.1 Sterowanie pełnokrokowe
Po analizie wcześniej przedstawionych sterowań silników można stwierdzić, że wykorzystanie uzwojeń jest mało efektywne, gdyż w sterowaniu bipolarnym wykorzystywana jest tylko połowa uzwojeń, a w sterowaniu unipolarnym tylko 25% z całości.
Takie sterowanie nosi nazwę sterowania falowego (ang. wave drive), zwane także sterowaniem pełnokrokowym.
Istnieje sterowanie, które poprzez zasilanie uzwojenia w całości zwiększa powstający strumień magnetyczny. W takim przypadku bieguny wirnika ustawiają się nie
naprzeciw biegunów stojana, lecz w połowie drogi między nimi — 2.13. Takie sterowanie można zastosować zarówno przy silnikach bipolarnych jak i unipolarnych, co
15
2.4. Sterowanie
zwiększa moc oraz moment obrotowy. Sterowanie przedstawione poniżej nazywamy
sterowaniem pełnokrokowym (ang. full step).
Rysunek 2.13: Przedstawienie sterowania pełnokrokowego
Rysunek 2.14: Przedstawienie sterowania pełnokrokowego dla silnika bipolarnego
2.4.2 Sterowanie półkrokowe
Najczęściej stosowanym sterowaniem [19] jest sterowanie półkrokowe (ang. half
step), w którym na przemian zasila się jedno oraz dwa uzwojenia, przez co bieguny
2.4. Sterowanie
16
wirnika ustawiają się albo naprzeciw biegunów stojana albo w połowie między nimi
— czyli zastosowanie położeń wirnika ze sterowania ang. full step oraz ang. wave
drive [19]. Osiągi silnika są wprawdzie gorsze, niż przy pracy pełnokrokowej, gdyż
nie są wykorzystywane zawsze wszystkie uzwojenia (od 50% do 100%), lecz praca
półkrokowa ma istotne zalety przedstawione w późniejszych rozdziałach.
Rysunek 2.15: Przedstawienie sterowania półkrokowego dla silnika bipolarnego
Rysunek 2.16: Przebieg sterujący przy pracy półkrokowej silnika bipolarnego
2.4.3 Sterowanie mikrokrokowe
Analizując 2.15 można stwierdzić, że różnicując natężenie prądu w uzwojeniach
silnika krokowego możliwe jest uzyskanie pośrednich położeń wirnika między biegunami. Natomiast na rys 2.16 widać, że przebieg sterujący pracy półkrokowej
uzwojeń silnika przypomina sygnał sinusoidalny prostokątny poprzesuwany względem siebie o π2 rad. A zależność, który przebieg jest przesunięty względem drugiego
oznacza kierunek obrotu wirnika. W praktyce wykorzystuje się większy podział
kroków niż 12 zastosowany w sterowaniu półkrokowym — dyskretyzację sinusoidy
2.4. Sterowanie
17
napięcia zasilającego przeprowadza się według reguły 2n (n ∈ N), gdzie komutacja
jest symetryczna [19].
Takie różnicowanie powoduje, że wypadkowy przebieg nie jest prostokątny, lecz
bardziej zbliżony do prawdziwej sinusoidy. Zmiana parametru n pozwala sterować
silnik bardziej precyzyjniej i z mniejszymi oscylacjami1 .
Dalsza dyskretyzacja czynnika aż do n → ∞ zmieniłaby przebieg w klasyczną
funkcję sinus — do sterowania silnika można byłoby używać przebiegów sinusoidalnych przesuniętych w fazie względem siebie o 90 stopni. Jednak taka diametralna
zmiana sterowania skomplikowałaby sterownik, gdyż do zmiany prądów na uzwojeniach nie wystarczyłyby tylko cztery klucze tranzystorowe oraz trudno byłoby zaimplementować w sterowniku jakże ważną cechę silników krokowych — zatrzymanie
chwilowych wartości prądu w celu zatrzymania wirnika w określonym położeniu.
W praktyce takie sterowanie opiera się o wykorzystanie przebiegów schodkowych
przedstawionych na rysunku 2.17. Takie przebiegi uzyskuje się poprzez zastosowanie przetwornika cyfrowo-analogowego.
Zatem sterowanie mikrokrokowe można określić jako wykonywanie małych kroków wirnika poprzez sterowanie ze skokową wartością prądu. Mikrokroki umożliwiają precyzyjne ustawianie wirnika pomiędzy standardowymi pozycjami sterowania pełno krokowego czy też półkrokowego. Zapewniają płynność ruchów rotora [19]
także przy małych częstotliwościach.
Rysunek 2.17: Przykładowy przebieg prądu w uzwojeniach silnika bipolarnego
2.4.4 Sterowanie unipolarne i bipolarne
Dobrym rozwiązaniem przy budowaniu silnika jest zastosowanie czterech niezależnych uzwojeń, dzięki czemu silnik może pracować jako unipolarny, a także jako
bipolarny przy szeregowym i równoległym połączeniu uzwojeń. Mniejsza indukcyjność uzwojeń decyduje o szybszym narastaniu prądu w uzwojeniach, dzięki czemu
możliwe jest uzyskanie wyższej prędkości obrotowej silnika w połączeniu równoległym. Zaś przy połączeniu szeregowym powstaje większy moment obrotowy przy
małych prędkościach. Dzięki zastosowaniu odpowiedniego sterownika możliwe jest
adaptowanie konkretnego trybu pracy w zależności od wymagań stawianych sil1
Opis w podrozdziale Właściwości
18
2.5. Właściwości
nikowi krokowemu. Proste układy z tranzystorami kluczującymi (ang. H-bridge)
realizujące połączenie szeregowe i równoległe przedstawione są na poniższych rysunkach:
Rysunek 2.18: Układ realizujący sterowanie bipolarne równoległe
Rysunek 2.19: Układy realizujące sterowanie bipolarne szeregowe
2.5 Właściwości
2.5.1 Moc
Typowa moc silników krokowych sterowanych poprzez układy scalone mieszczą się w przedziale poniżej 20W, w zależności od wielkości i typu silnika krokowego.
Dane producentów silników krokowych zawsze przedstawiają dane o nominalnym
zasilaniu i prądzie płynącym w uzwojeniach, rzadziej przedstawiają informację o
charakterystyce cieplnej silnika [35] czy też maksymalny poziom wydzielanej mocy.
Na podstawie podanych danych można wyliczyć czynną moc napędu na podstawie
wzoru P = U · I, którą należy pomnożyć przez ilość faz silnika:
Pc = U · I · η
(2.7)
Zwykle przy projektowaniu układów sterowania bierze się pod uwagę pracę napędu, w której temperatura obudowy silnika nie przekracza 65°C. Dlatego w niektórych przypadkach projektanci montują radiatory na silnikach w celu zwiększania
poziomu dopuszczalnej mocy wydzielanej przez silnik.
19
2.5. Właściwości
2.5.2 Dokładność pozycjonowania
Nawet przy sterowaniu mikrokrokowym o dużym współczynniku n (podział kroków) pojawiają się błędy, ponieważ w dążeniu do zwiększania precyzji i płynności
ruchu nie można osiągnąć ideału [19]. Wielkość błędów zależy głównie od jakości wykonania silników, jednak producent zawsze podaje w danych produkcyjnych wielkość
maksymalnego błędu. Jednak nie ma potrzeby dodatkowo komplikować sterownika
i zwiększać liczbę schodków w sterowaniu mikrokrowym, ponieważ zwiększona liczba
zębów w napędzie znacząco zmniejsza pojedynczy krok obecnie produkowanych silników nawet w sterowaniu pełnokrokowym.
Niedokładność pozycjonowania
Pozycje spoczynkowe pracy mikrokrokowej powstają poprzez różnicowanie prądu
przebiegami sinusoidalnymi. Teoria nie zawsze idzie w parze z praktyką — niedokładność pozycji spoczynkowej [35] określa się jako średnie odchylenie mikrokrokowej pozycji spoczynkowej od pozycji teoretycznej w obrębie jednego pełnego obrotu.
Niedokładność ta jest średnią wartością w przedziale całego obrotu, co oznacza,
że nie jest ona funkcją niedokładności przy pracy pełnokrokowej i aby otrzymać
całkowity błąd pozycji należy sumować obie niedokładności.
Histereza
Obserwując pozycję wirnika przy obrotach zgodnych i przeciwnych ze wskazówkami zegara można zauważyć histerezę pozycji spoczynkowych. Jest ona spowodowana głównie przez histerezę magnetyczną, ale wpływa na nią także tarcie łożysk
wirnika. Pole magnetyczne rozchodzi się głównie w rdzeniu ferromagnetycznym,
którego przenikalność magnetyczna wpływa na wielkość indukcji magnetycznej.
B = µH
(2.8)
gdzie:
B – wielkość indukcji w szczelinie powietrznej
µ – przenikalność magnetyczna rdzenia ferromagnetycznego
H – wartość natężenia pola magnetycznego
Jednak wartość natężenia pola magnetycznego w przypadku silników krokowych
nie jest stała, dlatego indukcja magnetyczną [35] jest funkcją chwilowego natężenia
pola magnetycznego i jego wartości poprzedniej. W przypadku, gdy silnik działa
trybie mikrokrokowym z dużą rozdzielczością, błąd wynikający z histerezy może
przewyższać kilkakrotnie długość mikrokroku.
20
2.5. Właściwości
2.5.3 Moment silnika krokowego
Moment elektromagnetyczny nienasyconej maszyny elektrycznej [21] można wyrazić jako pochodną energii elektromagnetycznej układu Wm względem kąta obrotu
ϑ części ruchomej tej maszyny, w stosunku do nieruchomej osi odniesienia:
dWm
(2.9)
dϑ
Sprowadzając uzwojenia silnika krokowego oraz magnes trwały do działania
uzwojenia w postaci dwóch pasm zastępczych w stojanie (s) i w wirniku (r), energię
magnetyczną układu dla stanu ustalonego (ustalone prądy w uzwojeniach) można
wyrazić poprzez sumę energii w stojanie i w wirniku czyli 2.10
Me (ϑ) =
1
Wm = Ws + Wr = (Ψs · Is + Ψr · Ir )
(2.10)
2
Można skorzystać z zależności, w której strumienie skojarzone wirnika i stojana
przedstawiono przez odpowiednie iloczyny prądów i indukcyjności uzwojeń zastępczych jako 2.11
Ψs = Ls (ϑ)Is + Msr (ϑ)Ir Ψr = Lr (ϑ)Ir + Msr (ϑ)Is
(2.11)
gdzie:
Ls – indukcyjność stojana,
Lr – indukcyjność wirnika (rotora),
Msr – indukcyjność wzajemna.
Reasumując, moment elektromagnetyczny można przedstawić poprzez 2.12
1 dLs 1 2 dLr
dMsr
Me (ϑ) = I2s
+ Ir
+ Is Ir
2 dϑ
2 dϑ
dϑ
(2.12)
Pierwsze dwa człony równania przedstawiają moment reluktancyjny powstający w
wyniku modulacji pola w szczelinie przez poruszający się uzębiony wirnik. Trzeci
człon to moment wzbudzeniowy występujący najczęściej w silnikach z magnesem
trwałym – moment ten przedstawia oddziaływanie na siebie pól stojana i wirnika.
W przypadku dwustronnego uzębienia (także jednostronnego) indukcyjność własna stojana czy też wirnika, w przypadku, gdy symetryczności zębów można zdefiniować funkcję obrotu wirnika przez wzór:
1
1
(2.13)
Ls (ϑ) = (Ld + Lq ) + (Ld − Lq ) cos Zr ϑ
2
2
gdzie Ld to indukcyjność własna uzwojenia w położeniu wirnika dla minimum reluktancji obwodu, a Lq dla maksimum reluktancji. Korzystając powyższego ze wzoru
21
2.5. Właściwości
na Ls (ϑ), można wyłuskać wzór na moment reluktancyjny:
Mer (ϑ) = −
Zr 2
I (Ld − Lq ) sin Zr ϑ
4 s
(2.14)
Przyjmując Msr za indukcyjność wzajemną przy równomiernej szczelinie i sinusoidalnym rozkładzie przestrzennym strumienia wirnika, można przedstawić zależności Msr (ϑ) = Msr cos pϑ, dzięki której definiujemy równanie momentu wzbudzeniowego:
Mew = −pIs Ir Msr sin pϑ = −Mewmax sin ϑe
(2.15)
Dzięki powyższym wzorom (2.15, 2.14) można przedstawić charakterystyki kątowe momentów silników reluktancyjnych i magnetoelektrycznych jako funkcje sinusoidalne (2.20). Analiza owych charakterystyk ukazuje przedział położeń kątowych
wirnika, w którym po zaniknięciu działających sił zewnętrznych na wirnik, wraca on
do wyjściowego punktu równowagi stabilnej — przedział ten określony jako strefę
stabilności statycznej [21], która zawiera się w przedziale −π < ϑe < π. W przypadku, gdy bezwzględne odchylenie wirnika przekroczyło półokres momentu, to po
zaniknięciu siły wymuszającej wirnik nie wróci do punktu ϑe = 0, lecz przemieści
się do bliższego zera stabilnego tzn. do położenia ϑe = ±2π.
Rysunek 2.20: Charakterystyka kątowa momentu dla 1 taktu komutacji
W miarę wzrostu momentu obciążenia zapas stabilności statycznej zmniejsza się
od wartości −π + ϑe do 0, to znaczy do wartości kąta, w której moment obciążenia
równy jest Mr . Obciążony silnik krokowy wykona więc skok w pożądanym kierunku
tylko wtedy, gdy Mobc < Mr , a biorąc pod uwagę sinusoidalną charakterystykę
kątową momentu warunek wykonania skoku można wyrazić poprzez wzór:
Mobc < Mewmax cos
π
k
(2.16)
Zapas stabilności dla biegu jałowego i sekwencji powodującej ruch w prawo lub lewo
22
2.5. Właściwości
można opisać przez:
∆ϑes = ±π
k−2
k
(2.17)
k — liczba taktów komutacji w cyklu.
Ze wzrostem k zmniejsza się skok i rośnie strefa stabilności statycznej, co oznacza,
że w przypadku granicznym wirnik silnika krokowego może opóźniać się względem
pola o ±π rad elektrycznych. Z analizy wynika, że ze wzrostem liczby taktów w cyklu
właściwości rozruchowe silnika polepszają się oraz maleje skłonność do wzbudzania
się drgań własnych, ponieważ maleje moment wymuszający drgania, czyli różnica
między Mmax , a Mr staje się mniejsza.
Analizując kątowe przemieszczanie się wirnika względem stojana, w praktyce do
obliczania momentu wytwarzanego przez silnik krokowy stosuje się wzór :
M = Ms sin(ϑs − ϑr )
(2.18)
gdzie zależność kąta elektrycznego do kąta mechanicznego można opisać poprzez
ϑe = (k/4)ϑ
2.5.4 Częstotliwość
Na częstotliwość własną f0 układu z silnikiem krokowym wpływają przede wszystkim moment bezwładności IR , moment obciążenia układu Iobc , moment spoczynkowy M0 , a także liczba kroków na obrót n. Częstotliwość własną układu można
wyrazić jako:
s
f0 =
1
4π
nM0
IC
(2.19)
gdzie:
IC = IR + Iobc — całkowity moment układu
W przypadku, kiedy współczynnik tłumienia układu jest dostatecznie mały oraz,
gdy silnik pracuje przy częstotliwości rezonansowej lub blisko niej, istnieje ryzyko
wystąpienia tzw. utraty kroków. W zależności od typu silnika oraz od momentu
bezwładności IC układ może zgubić krok w częstotliwościach równych (f0 )j , gdzie
j ∈ Z \ {0}. W praktyce uwidaczniają się jednak tylko przy częstotliwościach bliskich
f0 .
Występowanie rezonansów wynika z obracania się pola magnetycznego stojana
o nieciągłe wartości kąta elektrycznego, równego w pracy pełnokrokowej ϑe = π/2
oraz w pracy półkrokowej ϑe = π/4. Praca w trybach bez mikrokroków wywołuje
pulsujące dostarczanie energii do wirnika, który zaczyna wpadać w rezonans. Energię wzbudzającą przekazywaną wirnikowi podczas jednego kroku w stanie jałowym
23
2.5. Właściwości
można wyrazić poprzez:
4M0
(1 − cos ϑe )
(2.20)
n
Przez analizę kąta pojedynczego kroku elektrycznego względem energii wzbudzającej można stwierdzić, iż zwiększenie podziału kroku ogranicza energię wzbudzającą rezonans — w przypadku pracy pełnokrokowej do półkrokowej o 70%. W celu
dalszego redukowania oscylacji należałoby zwiększać podział kroku pracy mikrokrokowej, jednak można wyeliminować całkowicie drgań, ze względu na to, iż w rzeczywistości istnieją dodatkowe źródła rezonansu. Należy jednak wysnuć wniosek,
iż stosowanie sterowania mikrokrokowego redukuje wibracje oraz ogranicza wpływ
rezonansu na układ z silnikiem krokowym.
Ew =
2.5.5 Drgania
Niewątpliwą zaletą działania silników krokowych jest możliwość zasilania za pomocą impulsów, gdyż wpływa to na łatwość sterowania. Jednak wirnik i obciążenie
posiadają pewną bezwładność, co powoduje, że sterowanie impulsami prostokątnymi
nie daje idealnie gładkich przemieszczeń [12] wirnika. W rezultacie w wyniku przemieszczenia choćby o jeden krok, można zauważyć drgania przed osiągnięciem stanu
ustalonego. Ważnym aspektem zastosowania silników krokowych jest bardzo duża
precyzja sterowania i aby pozbyć się dużych oscylacji drgań można zastosować silniki
o mniejszym kroku [19], dzięki czemu przy małym skoku powstają także mniejsze
oscylacje. Jest to jeden z problemów sterowania, ponieważ praca silnika przy dość
dużych prędkościach i przy częstotliwości impulsów odpowiadającej mechanicznej
częstotliwości rezonansu może spowodować całkowite drganie silnika.
Rysunek 2.21: Charakterystyka skokowa układu oscylacyjnego
2.6. Opis silnika typu BYG57 081D
24
W praktyce to kłopotliwe zagadnienie rozwiązuje się poprzez stosowanie pracy
półkrokowej oraz mikrokrokowej, która pozwala w prosty i bezpieczny sposób rozszerzyć zakres częstotliwości do dowolnie małych, jednak konieczne jest wtedy zastosowanie podziału kroku większego niż 1/32, kiedy to energia przekazywana wirnikowi
jest tak mała, że zostaje pochłonięta przez wewnętrzne tarcie w silniku. Nie występują wtedy żadne drgania, a silnik pozostaje w swym pożądanym położeniu.
2.6 Opis silnika typu BYG57 081D
Wybrany silnik krokowy jest dwufazowym napędem hybrydowym firmy WObit z
serii 57BYG081D posiadającym standardowe momenty obrotowe oraz standardowe
wymiary planszy mocującej. Zakres temperatur −25.. + 40o C. Silnik posiada 8
wyprowadzeń kabli, co oznacza, że może być podłączony jako silnik unipolarny oraz
silnik bipolarny, zarówno w połączeniu równoległym jak i szeregowym, co świadczy
o uniwersalności silnika i możliwości zastosowania go do akademickiego stanowiska.
Silnik hybrydowy należy do silników najnowszego typu o dużych możliwościach.
Podstawowy skok silnika to kąt to 1, 8o , co oznacza, że możliwe jest ustawianie 200 różnych pozycji w pracy pełnokrokowej. Parametr ten wpisuje ten silnik
skokowy do segmentu silników o wysokiej rozdzielczości.
Znamionowe parametry silnika krokowego:
• napięcie 5[V]
• prąd uzwojeń 1[A]
• rezystancja uzwojeń 5[Ω]
• indukcyjność 8,45[mH]
• moment trzymający 52[Ncm]
• moment szczątkowy 450[gcm]
• bezwładność wirnika 110[gcm2 ]
• długość 51[mm]
• waga 0,6[kg]
Rozdział 3
Opracowany system sterowania
3.1 Założenia projektu
Podstawowe zadanie, umożliwiające dalszy postęp w pracy inżynierskiej, polegało na zaprojektowaniu układu elektronicznego spełniającego następujące założenia funkcjonalne, poszerzone o propozycje projektanta:
• prosta w implementacji komunikacja z komputerem — wybór portu równoległego;
• sprzętowe wspomaganie w dokładności pomiarów — układ wyzwalania przerwania;
• dostarczenie sygnałów z przetwornika obrotowo–impulsowego;
• umożliwienie sterowania silnikiem w pętli otwartej — program tworzony w ramach projektu inżynierskiego;
• wyprowadzenie punktów pomiarowych;
• wykorzystanie możliwości połączeń uzwojeń silnika;
• wygodne wyprowadzenie pinów sterujących ze sterownika SMC81 (przełączanie mikrokroków, sygnału zezwolenia, stopu, itd.);
• praca w trzech możliwych konfiguracjach:
1 sterowanie z zadajnika (oraz firmowego programu WinSMC), pomiar na
licznikach;
2 sterowanie z zadajnika (lub komputera — WinSMC), pomiar na komputerze;
3 sterowanie oraz pomiar przez oprogramowanie inżynierskie;
25
3.2. Przebieg prac nad projektem
26
• uniknięcie ograniczeń sprzętowych funkcjonalności programu WinSMC (ustawianie mikrokroku w programie i na zworkach sterownika);
• zapewnienie odrębnego zasilania układu w standardzie TTL;
• zasilanie enkodera na poziomie 12V w trzecim trybie pracy układu;
• konwersja napięcia sygnałów z enkodera na standard TTL;
• wykonanie układu ręcznego testowania wyzwalania przerwania sprzętowego;
• wykonanie niezbędnego okablowania;
• naniesienie odpowiednich oznaczeń.
3.2 Przebieg prac nad projektem
W pierwszej kolejności przystąpiono do zapoznania się z budową i funkcjonalnością stanowiska podlegającego przebudowie. Zapoznano się z dokumentacją techniczną, sporządzono opis połączeń, przeanalizowano zależności pomiędzy poszczególnymi układami. Znaleziono nieścisłości w firmowej dokumentacji urządzeń. Zostały zweryfikowane i poprawione błędy w dokumentacji technicznej w porozumieniu
z firmą WObit.
Na podstawie zgromadzonych informacji, przestąpiono do opracowania projektu
układu spełniającego powyżej sprecyzowane założenia. Płytka edukacyjna do analizy silnika krokowego — nazwana w skrócie PEDASK, ze względu na edukacyjny
charakter tworzonego stanowiska, została wyposażona w reprezentację istotnych sygnałów za pomocą diod świecących. Najważniejsze elementy — gniazda, diody
i przełączniki zostały opisane na bezbarwnej pleksie, zapewniając estetykę i przejrzystość układu. Takie wykonanie jednocześnie zabezpieczyło układ przed uszkodzeniami i dało możliwość śledzenia sygnałów na mozaice ścieżek płytki drukowanej.
W kolejnych częściach pracy zostaną przedstawione zgodnie z logiką projektowania następujące zagadnienia:
• budowa i funkcjonalność układu przed modyfikacją stanowiska;
• nowy projekt stanowiska oraz sygnały wyprowadzone na płytkę, okablowanie;
• komunikacja PC — PEdASK za pomocą portu równoległego;
• schemat układu elektroniczego, spełniający powyżej opisane założenia;
• zasada działania, użytkowania i testowanie układu;
• opis układów scalonych i pozostałych elementów;
27
3.3. Budowa i funkcjonalność układu przed modyfikacją stanowiska
• mozaika ścieżek płytki drukowanej oraz technologia wykonania;
• pomiary, ograniczenia prędkości transmisji;
• zalecane środki ostrożności;
• napotkane trudności i problemy oraz nawiązana współpraca z firmą WObit.
3.3 Budowa i funkcjonalność układu przed modyfikacją
stanowiska
Przeprowadzono analizę stanowiska do badania własności silnika krokowego.
Jego ogólny schemat połączeń przed modyfikacją stanowiska został przedstawiony
na rys. 3.1.
1
2
3
4
Vcc 230V 50Hz
A
A
P0DIR
DIR
(2/3)
DB9 - F (1)
(2/3)
DB9 - F (1)
(4/5)
CLK
DB9 - M (2)
1
D E F G H I
(4)
A B C
D E F G H I
(6)
D E F G H I
1
1
1
A B C
(3)
1
DB9 - F (1)
ZERO
220VAC
220VAC
GND
GND
+32V
+32V
B
+VCC
GND
/B
B
/A
A
(4)
A B C
SMC81
STEROWNIK
SILNIKA KROKOWEGO
B
ZN 100L
ZASILACZ NIESTABILIZOWANY
LP 100
PRĘDKOŚCIOMIERZ
MD 100
LICZNIK UNIWERSALNY
ZD100
ZADAJNIK
A
A/
B
B/
M
- CZERWONY
- ŻÓŁTY
- BRĄZOWY
- ZIELONY
C
C
MOK 40
PRZETWORNIK OBROTOWO-IMPULSOWY
57BYG 081D
SILNIK KROKOWY 2-FAZOWY (HYBRYDOWY)
Title
D
Schemat blokowy - początkowa budowa stanowiska
Size
Number
D
Revision
A4
Date:
File:
1
2
2007-02-01
Sheet of
W:\work_studia\..\schemat_blokowy)old.schdoc
Drawn By:
3
Anna Cieśnik
4
Rysunek 3.1: Schemat połączeń układu przed modyfikacją stanowiska
3.3.1 Budowa stanowiska
Stanowisko laboratoryjne do badania właściwości silników krokowych, które podlegało rozbudowie w ramach niniejszej pracy, składało się z następujących podzespołów:
• zasilacz niestabilizowany ZN 100L
3.3. Budowa i funkcjonalność układu przed modyfikacją stanowiska
28
• zadajnik programowalny ZD 100
• sterownik silnika krokowego SMC 81RP
• silnik krokowy 2-fazowy BYG 57 81D (1, 8o )
• przetwornik obrotowo-impulsowy MOK 40 1000/1224/BZ/PP
• programowalny licznik rewersyjny MD 100
• licznik prędkości LP 100
Wszystkie powyżej wymienione elementy układu zostały zakupione we firmie WObit
z siedzibą w Poznaniu.
Rysunek 3.2: Fotografia stanowiska przed przystąpieniem do pracy
Początkowo stanowisko do badania własności silnika krokowego składało się
głównie z elementów typowo przeznaczonych do zastosowań przemysłowych, które
zostaną pokrótce opisane poniżej.
3.3.2 Opis poszczególnych urządzeń
ZN 100L
Patrząc na fotografie stanowiska od prawej strony, na listwie montażowej zamocowany został zasilacz niestabilizowany ZN 100L dedykowany dla urządzeń które
wymagają napięcia niestabilizowanego o dużej obciążalności. Zasilacz tego typu
posiada duży kondensator elektrolityczny, umożliwiający odebranie nadmiarowej
energii ze sterownika silnika krokowego podczas hamowania silnika, nie powodując
przy tym dużego wzrostu napięcia na wyjściu. Dodatkową zaletą dużej pojemności
jest redukcja tętnień pochodzących z sieci. Znamionowa wartość napięcia zasilacza
wynosi +30V [26]. Z przeprowadzonych pomiarów wynika, że napięcie to osiąga
nawet do +36V przy małym obciążeniu.
3.3. Budowa i funkcjonalność układu przed modyfikacją stanowiska
29
Rysunek 3.3: Zasilacz niestabilizowany ZN 100L [26]
SMC 81RP
Sterownik SMC 81RP wymaga zasilania niestabilizowanego i jest przeznaczony
do pracy ze silnikiem krokowym dwufazowym. Wzrost napięcia zasilania powyżej
38V powoduje uszkodzenie sterownika. Sterownik SMC 81 daje możliwość sterowania obrotu silnika z pełnym krokiem lub podzielonym odpowiednio na 2, 4, 8, 32
mikrokroki. Ustawienie to jest możliwe za pomocą zworek na złączu sterującym.
Obrót o ustawiony mikrokrok wykonywany jest z każdym nadchodzącym impulsem
sygnału taktującego CLK.
Rysunek 3.4: Sterownik silnika krokowego SMC 81RP [27]
Urządzenie to posiada dwa złącza. Do pierwszego z nich doprowadzone jest
zasilanie z opisanego powyżej zasilacza oraz możliwe jest wyprowadzenie sygnałów
wyjściowych faz silnika (faza: A, /A, B, /B) które należy odpowiednio dołączyć do
dwóch końcówek uzwojeń cewek silnika krokowego. Prąd znamionowy wynosi 1, 5A,
natomiast częstotliwość czopowania 20kHz.
Drugie złącze — sterujące przyjmuje częściowo sygnały ze zadajnika programowalnego ZD 100 oraz stany wymuszone przez zwarcie odpowiednich pinów do masy
[27].
GND — nieparzyste piny 1 do 15;
3.3. Budowa i funkcjonalność układu przed modyfikacją stanowiska
30
CLK — pin 2, sygnał taktujący;
EN — pin 4, wejście sygnału zezwolenia (aktywne zero);
DIR — pin 6, wejście sygnału kierunku „0” — w lewo;
M1 — pin 8, ustawienie stopnia podziału kroku;
M2 — pin 10, ustawienie stopnia podziału kroku;
M3 — pin 12, ustawienie stopnia podziału kroku;
STOP — pin 14, blokada sygnału CLK (trzymanie);
GND — pin 16.
Podczas pomiarów stwierdzono, że masa zasilania i masa na wejściu sterującym
dwóch odrębnych złączy tego sterownika jest wspólna — połączona na płytce drukowanej sterownika.
ZD 100
Programowalny zadajnik współpracujący ze sterownikami silników krokowych
firmy WObit, w zakupionej wersji ma możliwość ułatwienia sterowania dzięki podłączeniu do komputera i sterowaniu za pomocą programu firmowego WINSMC dedykowanego temu urządzeniu. A zatem może on funkcjonować w dwóch trybach pracy.
Zadajnik ZD 100 może być stosowany do bezpośredniej współpracy ze sterownikiem
silnika krokowego lub jako terminal pośredniczący pomiędzy PC a sterownikiem
SMC dzięki programowi WINSMC. Szczegółowe informacje na temat sterowania
w tych dwóch trybach można znaleźć w [28].
Rysunek 3.5: Zadajnik programowalny ZD 100 [28]
Opis najważniejszych złącz zadajnika1 ZD 100:
Złącze 2 DB9F — porty wyjściowe optoizolowane:
1
Naniesiono poprawki do rysunku z dokumentacji firmy WObit
3.3. Budowa i funkcjonalność układu przed modyfikacją stanowiska
31
Rysunek 3.6: Opis złącz zadajnika ZD 100 [28]
1 — /DIR masa dla sygnału DIR;
2 — CLK sygnał taktujący;
3 — Kolektor OUT3;
4 — Kolektor OUT5;
5 — Kolektor OUT6;
6 — DIR sygnał kierunku obrotu silnika;
7 — /CLK masa dla sygnału CLK;
8 — Kolektor OUT4;
9 — Emiter OUT3–OUT6.
Złącze to będzie wykorzystywane w projekcie do przesyłania sygnałów sterujących
na sterownik SMC 81RP w połączeniu bezpośrednim oraz z wyprowadzeniem na
płytkę PEdASK.
Złącze 3 comp — RS232 lub 485:
1 — GND;
2 — TxD;
3 — RxD;
4 — GND.
Złącze to posłuży do komunikacji z komputerem w przypadku używania firmowego
programu WINSMC do sterowania silnikiem.
3.3. Budowa i funkcjonalność układu przed modyfikacją stanowiska
32
Silnik BYG57 081D
Silnik 2-fazowy z krokiem 1, 8o ±5% należy do małych silników, o standardowych
momentach obrotowych. Wartość napięcia wejściowego wynosi 5V, a prądu 1A.
Jego parametry techniczne zostały opisane powyżej w rozdziale 2.6 opisującym
zastosowany silnik krokowy. Oznaczenia wyprowadzonych przewodów opisane w do-
Rysunek 3.7: Silnik krokowy BYG57 081D [31]
kumentacji nie są adekwatne do stanu fizycznego, dlatego zostaną podane poniżej:
A — czerwony;
A/ — żółty;
A* — niebieski;
A*/ — czarny;
B — brązowy;
B/ — zielony;
B* — biały;
B*/ — fioletowy;
MOK40
Optoelektroniczny przetwornik obrotowo-impulsowy MOK 40 jest typowym urządzeniem przemysłowym. Jest to przetwornik inkrementalny solidnie wykonany
w obudowie metalowej wszechstronnego zastosowania, m.in. są przeznaczone do pomiaru przemieszczeń kątowych, czyli możliwy jest pomiar zarówno kąta jak i prędkości kątowych [30]. Z wykorzystaniem napędu paskowego lub zębatki możliwy jest
pomiar przemieszczenia liniowego.
Przetworniki tego typu umożliwiają określenie pozycji względnej. Jest to zrealizowane przez zliczanie odpowiednich impulsów. Dzięki przesunięciu fazowemu
3.3. Budowa i funkcjonalność układu przed modyfikacją stanowiska
33
Rysunek 3.8: Przetwornik obrotowo-impulsowy MOK40 [29]
kanałów A i B (rys. 3.9) możliwe jest rozpoznanie kierunku obrotu. Układ pobierający (z kwadraturą) te dane może na podstawie zliczania impulsów (dodawania lub
odejmowania) określić przemieszczenie enkodera.
Dodatkowy sygnał — kanał zerowy C wyznacza pozycję absolutną przy każdym
pełnym obrocie. Może on posłużyć do rozpoznawania poprawności przychodzących
impulsów.
Rozdzielczość działek na obrót tego enkodera wynosi 1000. Jest zdefiniowana
przez liczbę kresek na tarczy podziałowej enkodera. Liczba tych działek odpowiada liczbie okresów z jednego kanału. Liczba impulsów zliczana w poprawnie
zaprojektowanym liczniku kwadraturowym jest 4-krotnie większa od liczby działek.
Przykładem takiego licznika z pracą kwadraturową jest MD 100 [32].
Napięcie zasilania wg danych katalogowych 1224, czyli 12..24VDC. Przy czym
znaleziona nieścisłość w dokumentacji wskazuje na możliwy zakres zasilania 5..24VDC.
Wykonano udane próby pracy enkodera przy napięciu zasilania 5VDC, jednak stała
praca na tym poziomie okazała się niestabilna, dlatego w projektowanym układzie zapewniono dodatkowo zasilanie dla enkodera z płytki PEdASK na poziomie
11VDC, co okazało się wystarczającym rozwiązaniem. Wyjścia zastosowanego przetwornika mają układ PP ang. Push-Pull, którego schemat jest na rys. 3.9
Rysunek 3.9: Wyjście typu ang. Push-Pull oraz przebiegi sygnałów na wyjściach
MOK40 [29]
Opis przewodów:
Vcc — brązowy (zasilanie +12...24V);
3.3. Budowa i funkcjonalność układu przed modyfikacją stanowiska
34
GND — niebieski;
A — czarny (faza A);
B — biały (faza B);
C — pomarańczowy (sygnał zerowy).
LP100 i MD100
Uniwersalny licznik prędkości LP 100 jest przeznaczony do współpracy z optoelektronicznymi przetwornikami obrotowymi lub liniowymi. Licznik ten zlicza impulsy wytwarzane przez enkoder w jednostce czasu. Przetworzone dane wyświetla
na sześciopozycyjnym wyświetlaczu.
Rysunek 3.10: Uniwersalny licznik prędkości LP 100 [33]
Licznik prędkości LP 100 ma wszechstronne zastosowanie [28] zarówno w przemyśle jak i laboratoriach badawczych. Jego wykorzystanie jest możliwe wszędzie
tam, gdzie istnieje konieczność pomiaru prędkości, przesuwu, obrotowej, zdarzeń
czy innych wielkości.
Zaletą tego licznika jest prostota dopasowywania jego parametrów do rozmaitych
sytuacji na obiekcie, który ma on kontrolować. Niestety jednak skomplikowana manipulacja przy zmianie parametrów pomiaru tego urządzenia jest wadą tego licznika.
Wymiana licznika prędkości na nowszy model umożliwia zastosowanie firmowego
oprogramowania, niestety wiąże się to z dodatkowymi kosztami.
Złącze 1 DB9F — złącze sygnału wejściowego i zasilania czujnika:
1 — Vcc;
2 — Indeks (kanał zerujący C);
3 — kanał A;
4 — kanał B;
5 — GND;
3.4. Projekt i realizacja nowego stanowiska
35
Rysunek 3.11: Opis złącz uniwersalnego licznika LP 100 [33]
6 — /Indeks (masa dla sygnału Indeks);
7 — kanał /A;
8 — kanał /B;
9 — NC (nie podłączony).
Złącze to będzie wykorzystywane w projekcie do pomiarów sygnału z przetwornika
obrotowo-impulsowego.
Oba liczniki MD 100 [32] i LP 100 z oznaczeniem K posiadają elektronikę przystosowaną do urządzeń typu OC — otwarty kolektor, oraz PP — ang. Push-Pull.
Złącza obu liczników mają analogiczne przeznaczenie, dlatego sygnały z enkodera
są doprowadzone do obu liczników, a zasilanie wyprowadzone z dowolnego z nich.
3.4 Projekt i realizacja nowego stanowiska
Zaprojektowano i zbudowano układ do pracy w trybie nadzoru nad istniejącymi układami firmy WObit, jak i niezależnie — korzystając tylko ze sterownika
SMC81RP oraz enkodera MOK40. Wszystkie połączenia poza zasilaniem 220V
przechodzą poprzez złącza na płycie drukowanej. Układ może być zasilany napięciem +5V z zadajnika ZD100 lub niezależnego zasilacza stabilizowanego. Obrano
w niniejszym projekcie drugie rozwiązanie, stosując zewnętrzny zasilacz niestabilizowany +9V ±3%. Stabilizator napięcia wraz z konwersją na standard zasilania
TLL +5V został uwzględniony na płytce drukowanej. W ten oto sposób uniezależniono układ od dodatkowych urządzeń — zadajnika Z100 i/lub liczników LP100
i MD100, które zasilały enkoder. Elementy przełączane w trakcie ćwiczeń również
zostały przeniesione w ten sposób na płytkę drukowaną.
3.4.1 Wyprowadzenie sygnałów z urządzeń zewnętrznych na płytkę
Minimalna funkcjonalność płytki sprowadzała się do wyeksponowania punktów
pomiarowych, udostępnienia łatwego w obsłudze panelu przełączania sygnałów ste-
36
3.4. Projekt i realizacja nowego stanowiska
rujących oraz ich prezentowania za pomocą diod świecących.
Projektowana płytka drukowana miała spełniać wiele funkcji na różnych stopniach powstawania projektu, dlatego postanowiono wyprowadzić wszystkie możliwe
sygnały, których dokładny opis został przedstawiony w tabelach 3.1..3.9. Dane te
posłużyły w projektowaniu układu PEdASK.
W ostatecznej wersji, gniazda G2, G3, G6 nie są wykorzystywane. Były one jednak niezbędne podczas prób i testowania układu. Mogą również posłużyć w dalszej
rozbudowie stanowiska.
Tablica 3.1: Opis połączeń liczników z gniazdem G2 PEdASK
L.p.
1
2
3
4
5
6
7
8
9
Złącze licznika
LP100, MD100
DB9F
LP/MD100(1)
DB9M
G2
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
Vcc
Index (C)
Kanał – A
Kanał – B
GND
/Index (/C)
Kanał - /A
Kanał - /B
NC
Złącze płytki PEdASK
LP/MD100 OUT: A B
NC
NC
Sygnał do liczników
Sygnał do liczników
GND
NC
NC
NC
NC
Tablica 3.2: Opis połączeń liczników z gniazdem G3 PEdASK
L.p.
1
2
3
4
5
6
7
8
9
Złącze licznika
LP100, MD100
DB9F
LP/MD100(1)
DB9M
G3
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
Vcc
Index (C)
Kanał – A
Kanał – B
GND
/Index (/C)
Kanał - /A
Kanał - /B
NC
Złącze płytki PEdASK
LP/MD100 OUT: A B C
NC
Sygnał do liczników
Sygnał do liczników
Sygnał do liczników
GND
NC
NC
NC
NC
Tablica 3.3: Opis połączeń przetwornika obrotowo-impulsowego MOK40 z gniazdem G4 PEdASK
L.p.
1
2
3
4
5
6
7
8
9
Złącze enkodera
MOK40
Vcc — brązowy
C — pomarańczowy
A — czarny
B — biały
GND — niebieski
NC
NC
NC
NC
DB9F
W4U
DB9M
G4
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
Złącze płytki PEdASK
MOK40 IN: A B C, OUT: Vcc GND
Vcc +12V zasilanie z płytki
Sygnał do komputera i liczników
Sygnał do komputera i liczników
Sygnał do komputera i liczników
GND
NC
NC
NC
NC
3.4.2 Komunikacja PC — PEdASK
W niniejszym rozdziale przedstawiono komunikację między płytką edukacyjną
do analizy silnika krokowego a komputerem przy połączeniu portem równoległym
37
3.4. Projekt i realizacja nowego stanowiska
Tablica 3.4: Opis połączeń zadajnika ZD100 (2) z gniazdem G5 PEdASK
L.p.
1
2
3
4
5
6
7
8
9
Złącze zadajnika
ZD100
DB9F
ZD100 (2)
DB9M
G5
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
DIR/ (GND)
CLK
Kolektor OUT3
Kolektor OUT5
Kolektor OUT6
DIR
CLK/ (GND)
Kolektor OUT4
Emiter OUT(3-6) (GND)
Złącze płytki PEdASK
ZD100(2) IN: CLK DIR GND
GND
Sygnał do komputera i sterownika SMC
NC
NC
NC
Sygnał do komputera i sterownika SMC
GND
NC
GND
Tablica 3.5: Opis połączeń zewnętrznego zasilacza niestabilizowanego z gniazdem G7 PEdASK
L.p.
1
2
Zasilacz niestab.
ZN 4WZN 9/300
+9V (+12V)
GND
PWR 2.1M
W7U
PWR 2.1F
G7
1
2
1
2
Złącze zasilania płytki
ZN9/300
Zasilanie + 9V
Zasilanie – GND
Tablica 3.6: Opis połączeń uzwojeń silnika krokowego BYG57 081D z gniazdem
G8 PEdASK
L.p.
1
2
3
4
5
6
7
8
Wtykowa listwa łączeniowa
Silnik Krokowy 57BYG081
A – czerwony
A/ - żółty
A* - niebieski
A*/ - czarny
B – brązowy
B/ - zielony
B* - biały
B*/ - fioletowy
Listwa 8F
W8PB
Listwa 8M
G8
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
Wtykowa listwa łączeniowa
Złącze płytki – Silnik BYG081
A
A/
A*
A*/
B
B/
B*
B*/
LPT od strony sprzętowej. Natomiast w części dotyczącej oprogramowania inżynierskiego, zagadnienie to zostanie rozwinięte w innym kontekście.
Wspólnym punktem dla komputera i układu PEdASK jest złącze LPT, wyprowadzone na gniazdo G1 płytki. Wykorzystania poszczególnych pinów, z uwzględnieniem ograniczeń do kierunku przesyłania danych przedstawiono na rys. 3.12(a).
Natomiast na rys. 3.12(b) umieszczono fragment schematu układu PEdASK z opisem gniazda G1. Zebrano najistotniejsze informacje w tabeli 3.10. Zawiera ona opis
numeracji pinów, przydzielone sygnały w realizowanym projekcie, sygnały standardowego interfejsu portu równoległego (ang. Interfacing the Standard Parallel Port)
na podstawie [10] oraz kierunek przepływu informacji i nazwę rejestru. Niektóre
z pinów standardowego portu LPT mają logikę odwrotną, dotyczy to trzech pinów
rejestru kontrolnego (1, 14, 17) i jednego pinu rejestru statusowego (11). Konsekwencją tego jest odczyt potencjału +5V jako stan logiczny „0”, a zwarcie pinu do
masy jako stan logiczny „1”.
Aby zapewnić prawidłową pracę dwukierunkowego rejestru kontrolnego, przy
odczycie danych, należało rozwiązać następujący problem. Bezpośrednie połączenie tych pinów z wyjściem innego układu (np.: ADC0804) spowodowałby konflikt
38
3.4. Projekt i realizacja nowego stanowiska
Tablica 3.7: Opis połączeń sterownika SMC81RP z gniazdem G9 PEdASK
L.p.
1
2
3
4
5
6
Złącze wyjściowe i zasilania
SMC81 sterownik silnika
Listwa 6F
W9U
Listwa 6M
G9
1
2
3
4
5
6
1
2
3
4
5
6
Faza A
Faza /A
Faza B
Faza /B
Zasilanie – GND
Zasilanie – Vcc
Wtykowa listwa łączeniowa
Złącze płytki wyjście i zasilanie
Wejście wazy A
Wejście fazy /A
Wejście fazy B
Wejście fazy /B
Zasilanie – GND
Zasilanie – Vcc
Tablica 3.8: Opis połączeń zasilacza niestabilizowanego ZN100L z gniazdem
G10 PEdASK
L.p.
1
2
Zasilacz niestab.
ZN100L
PWR 2.5M
W10PC
PWR 2.5F
G10
1
2
1
2
+32V
GND
Złącze płytki– zasilanie 32V
ZN100L IN
Zasilanie +32V
Zasilanie – GND
Tablica 3.9: Opis połączeń zasilania i wyjściowych sterownika SMC81RP
z gniazdem G11 PEdASK
L.p.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Złącze sterujące
SMC81RP
GND
CLK
GND
EN
GND
DIR
GND
M1
GND
M2
GND
M3
GND
STOP
GND
GND
MIL M
Wtyk 8x2M
MIL M
G11
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Złącze płytki PEdASK
SMC81 OUT
GND
CLK – Sygnał z zadajnika lub komputera
GND
EN – Ustawianie zezwolenia pracy przełącznikiem
GND
DIR – Sygnał z zadajnika lub komputera
GND
M1 - Ustawienie mikrokroku przełącznikiem
GND
M2 - Ustawienie mikrokroku przełącznikiem
GND
M3 - Ustawienie mikrokroku przełącznikiem
GND
STOP – Ustawianie blokady CLK przełącznikiem
GND
GND
w przypadku, gdy wejście portu miałoby stan wysoki wymuszony przez układ logiczny, a port próbowałby ściągnąć go w dół. Dlatego zastosowano układ z otwartym kolektorem, którego działanie zostało opisane z rozdziale dotyczącym budowy
układu PEdASK. Wykonano analizę sygnałów logicznych podczas pracy układu
w aplikacji monitorującej (stworzonej na potrzeby projektu inżynierskiego) wszystkie ważniejsze piny portu LPT. Wyniki przedstawiono w rozdziale 3.11.
39
3.4. Projekt i realizacja nowego stanowiska
1
IRQ CLR ⇒
BOARD ⇐
A/B ⇒
DIR ⇐ ZD100 / IRQ TEST ⇐
STOP ⇒ SMC81
OVF CLR ⇒
M3 ⇒ SMC81
OVF ⇐
M2 ⇒ SMC81
14
M1 ⇒ SMC81
DIR ⇒ SMC81
EN ⇒ SMC81
CLK ⇒ SMC81
IRQ ⇐
CLK ⇐ ZD100 / C ⇐ MOK40
A ⇐MOK40
25
B ⇐MOK40
13
(a) Wykorzystanie pinów w porcie
LPT
(b) Fragment schematu układu
PEdASK z gniazdem G1
Tablica 3.10: Opis pinów portu równoległego w zastosowanej komunikacji PC–
PEdASK
Numer pinu
(D 25)
Przydzielone
sygnały w proj.
Sygnały SPP
Kierunek
In/out
Rejestr
Negacja
sprzętowa
1
2
3
4
5
6
7
8
9
10
11
12
IRQ CLR ⇒
A/B ⇒
STOP ⇒SMC81
M3 ⇒SMC81
M2 ⇒SMC81
M1 ⇒SMC81
DIR ⇒SMC81
EN ⇒SMC81
CLK ⇒SMC81
IRQ ⇐
CLK ⇐ZD100 / C ⇐MOK40
B ⇐MOK40
In/Out
Out
Out
Out
Out
Out
Out
Out
Out
In
In
In
Kontrolny
Danych
Danych
Danych
Danych
Danych
Danych
Danych
Danych
Statusowy
Statusowy
Statusowy
tak
13
14
15
16
17
A ⇐MOK40
BOARD
DIR ⇐ZD100 / TEST IRQ
OVR CLR ⇒
OVR ⇐
nStrobe
Data 0
Data 1
Data 2
Data 3
Data 4
Data 5
Data 6
Data 7
nAck
Busy
Paper-Out
PaperEnd
Select
nAuto-Linefeed
nError / nFault
nInitialize
nSelect-Printer
nSelect-In
Ground
In
In/Out
In
In/Out
In/Out
Statusowy
Kontrolny
Statusowy
Kontrolny
Kontrolny
18 - 25
GND
Gnd
tak
tak
tak
3.5. Płytka edukacyjna do analizy silnika krokowego — PEdASK
40
3.5 Płytka edukacyjna do analizy silnika krokowego —
PEdASK
3.5.1 Wskazówki do projektowania układów z elementami
cyfrowymi
Rodziny układów TTL i ich nazwy
Wszystkie układy pochodzące z różnych rodzin o tym samym numerze (np. 7400,
74L00, 74H00) mają taki sam układ wyprowadzeń ([11]). Z praktycznego punktu
widzenia – użytkownika, ich parametry różnią się tylko ze względu na pobór prądu,
wielkością prądu wejściowego i wyjściowego.
Pierwsza cyfra oznacza przedział temperatur pracy układu, 7 – jest przeznaczony do zastosowań przemysłowych. Druga cyfra w układach logicznych TTL, to
zawsze 4.
Dwie, czasem trzy ewentualnie cztery ostatnie cyfry oznaczają typ i funkcję
układu cyfrowego. W ich numeracji nie ma jakiegoś porządku, kolejne numery były
przyznawane nowo powstałym układom, dlatego dobra pamięć elektronika lub katalog może odszyfrować przeznaczenie układu scalonego. Natomiast została utrzymana zasada, że elementy o jednakowych ostatnich cyfrach mają taki sam układ
wyprowadzeń.
Litery na początku nazwy wykazują tylko producenta i są często pomijane. Z kolei środkowe litery oznaczają technologię i budowę wewnętrzną układu.
Często można spotkać oznaczenie literowe na końcu wskazujące typ obudowy,
np. „N” oznacza popularną obudowę typu DIL. Pozostałe to „J” dla obudowy
ceramicznej i litera „D” — miniaturowa obudowa do montażu powierzchniowego.
Wydajność prądowa bramek TTL
Klasyczne wyjście bramek TTL w stanie wysokim praktycznie nie pobiera prądu,
natomiast w stanie niskim pobór prądu jest znaczny, dlatego wyjścia kilku innych
bramek muszą dostarczyć wystarczającą ilość prądu, aby układ pracował prawidłowo. Do typowej bramki 7400 serii TTL na jej wyjście można podłączyć tylko
ograniczoną liczbę wejść następnych bramek. Powszechnie przyjęto zasadę, że z jednego wejścia typowej bramki TTL wpływa minimalny prąd 1, 6mA, natomiast wyjście takiej bramki powinno wysterować dziesięcioma takimi wejściami. A zatem
minimalna wydajność prądowa wyjść typowych bramek serii TTL w stanie niskim
wynosi 16mA [11].
3.5. Płytka edukacyjna do analizy silnika krokowego — PEdASK
41
Wpływ pasożytniczych pojemności na szybkość pracy bramki serii TTL
W praktyce należy uwzględnić szkodliwe pojemności montażowe, zarówno pojemności wejściowe jak i pojemności między masą a ścieżkami układu. Typowy czas
narastania, czy opadania zbocza oraz opóźnienia bramki serii TTL wynosi ok. 10ns.
Ogranicza to szybkość pracy z pasożytniczymi pojemnościami do rzędu kilkudziesięciu megaherców.
Wady i zalety technologii CMOS
Najważniejszą cechą tej technologii od strony praktycznej jest fakt, że w stanie
spoczynku praktycznie nie pobierają prądu ze źródła zasilania oraz to, że ich wejścia
również nie wymagają przepływu prądu. Wypadkowy pobór prądu zależy zatem od
częstotliwości przełączania oraz szkodliwych pojemności obciążenia.
Ich zaletą jest zatem fakt, że w stanie spoczynku nie pobierają prądu. Pobór
prądu rośnie liniowo ze wzrostem częstotliwości przełączania. Drugim istotnym
atutem jest napięciowe sterowanie wejściami, nie wymagające przepływu prądu.
Wadą starszych układów tego typu była wrażliwość na ładunki statyczne. Producenci zadbali o odporność dzisiejszych układów, jednak zaleca się przy montażu
układów CMOS na płytce drukowanej na początek wlutować wszystkie kondensatory odsprzęgające zasilanie. Kolejnym zaleceniem jest przy ręcznym lutowaniu
płytki, wlutować w pierwszej kolejności nóżki zasilania.
Niewykorzystane wejścia układów CMOS
Nie wolno pozostawiać niepodłączonych wejść układów logicznych CMOS [11],
ponieważ nie sposób przewidzieć stanu na nim. Dodatkowo istnieje możliwość ciągłej
zmiany potencjału na niepodłączonym wejściu, najczęściej o częstotliwości z sieci
50Hz, co znacznie zwiększa pobór prądu. Zawsze należy podłączyć „wiszące” wejścia
albo do masy układu albo do zasilania, bezpośrednio lub przez rezystor 0..100kΩ.
W przypadku układów bipolarnych typu TTL, takie zachowanie jest dopuszczalne,
jednak nie zaleca się ze względu na obniżoną odporność na zakłócenia.
Zatrzaskiwanie
Zjawisko to było często spotykane w układach CMOS i jest nadal w przypadku
podania na wejście układu wyższego potencjału niż wynosi napięcie zasilania.
Zamienniki
Jako zamienniki popularnych układów TTL, czyli z takimi samymi wyprowadzeniami, pojawiły się już dawno układy rodziny 74HCT (ang. High-speed CMOS
3.5. Płytka edukacyjna do analizy silnika krokowego — PEdASK
42
(TTL)). Rodzina 74HC może pracować przy częstotliwości rzędu 100MHz, a zakres zasilania wynosi 2..6V, przy czym próg przełączania jest w połowie napięcia
zasilania.
Symbol „L” jest przeznaczony dla układów o wartości napięcia zasilania poniżej
5V, a oznaczenie „S” jest spotykane w układach z tranzystorami bipolarnymi ze
złączem Schottky’ego.
Próg przełączania w układach m.in. serii 74LS jest na poziomie 1, 5V, a dozwolone wejściowe stany logiczne L = 0..0, 8V, natomiast H = 2, 0..5, 5V.
Seria HCT stanowi wierny zamiennik serii TTL ze względu na poziomy zasilania
i przełączania. Natomiast seria HC, również wykonana w technologii CMOS charakteryzuje się poziomem przełączania w połowie wartości napięcia zasilania, który
mieści się w zakresie 2..6V. Obie powyższe rodziny mogą pracować przy częstotliwościach do 40..60MHz. Duża wydajność prądowa tych układów pomaga szybko
przełączać pojemności pasożytnicze.
Zaprojektowany układ elektroniczny można podzielić na zasadnicze części opisane w kolejnych podrozdziałach...
3.5.2 Układ optoizolacji wejścia
Układy PC814 zawierają po jednym optoizolatorze którego skróconą notę katalogową zamieszczono w dodatku A.3. Zapewnia izolację napięciową pomiędzy wejściem a jego wyjściem. Transoptory charakteryzują się parametrem CTR (ang. Current transfer ratio), który dla tego układu wynosi minimum 20% przy wejściowym
prądzie ±1mA, wartość napięcia wyjściowego wynosi VCE = 5V. Układ ten wraz
z towarzyszącymi rezystancjami zapewnia skuteczną separację galwaniczną przetwornika obrotowo-impulsowego, dostarczającego wygnały z zakresu 0..12V i płytki
PEdASK pracującej w standardzie TTL, czyli do 5V.
3.5.3 Układ multipleksowania sygnałów sterujących
Układ przełączający sygnały sterujące z komputera i zadajnika wraz z kluczami
(S3-S7) jest oparty na następujących elementach U8 oraz U9. Odpowiadają one za
wybór kompletu sygnałów sterujących. Wybór jest ustawiany sygnałem A/B sterowanym z komputera — 2 pin portu LPT. Linia ta jest podpięta do napięcia zasilania
rezystorem podciągającym i przechodzi również do układu U7. Stanowi on wyjście
z tej części, dostarczając sygnałów generujących przerwanie sprzętowe w dalszej
części płytki drukowanej. U7 dostarcza sygnały z enkodera MOK40 lub z przycisków testujących układ wyzwalania przerwania. Stan poszczególnych sygnałów jest
przekierowany na U10, który odpowiada za sterowanie diodami DS8 − DS15.
D
C
GND
10
LPT - PC
27P0G1027
26P0G1026
13
25
12
P0G1024
24
P0G1011
11
P0G1023
23
P0G1010
10
P0G1022
22
P0G109
9
P0G1021
21
P0G108
8
P0G1020
20
P0G107
7
P0G1019
19
P0G106
6
P0G1018
18
P0G105
5
P0G1017
17
P0G104
4
P0G1016
16
P0G103
3
P0G1015
15
P0G102
2
P0G1014
14
P0G101
1
1
P0G1012
P0G1025
P0G1013
N0GND
IRQ CLR
>>
P0IRQ CLR
M2 >P0M2
SMC81
> SMC81
OVR <P0OVR <
M3 >P0M3
SMC81
> SMC81
OVR P0OVR
CLRCLR>>
STOP
> SMC81
P0STOP
> SMC81
DIR/
TEST
IRQ
<
P0DIR/
TEST IRQ
<
A/B > P0A/B >
> SMC81
M1 >P0M1
SMC81
DIR P0DIR
> SMC81
> SMC81
EN >P0EN
SMC81
> SMC81
> SMC81
CLKP0CLK
> SMC81
IRQ < P0IRQ <
CLKP0CLK
< ZD100/PC
< ZD100/PC
P0B < MOK40
B < MOK40
P0A < MOK40
A < MOK40
U1C
SN74HC05N
U2C
SN74HC00N
CLKP0CLK
P0MOK40 > >
B B
MOK40
P0MOK40 >A
MOK40
>A
DIR P0DIR
SN74LS75N
P0U2C010
G1 DHP8 - 25 M
SN74HC05N
U1F
N0GND
13
12
B
P0U1F013
P0U1F012
P0U4012
11
10
P0U4016
16
1Q P0U401
1
1Q P0U4015
15
2Q P0U4014
14
2Q P0U4010
10
3Q P0U4011
11
3Q P0U409
9
4Q P0U408
8
4Q
P0U1E011
P0U1E010
P0U2C09
9
12
8
5
6
8
SN7485N
R17
4K7
GND
P0U608
U1E
SN74HC05N
N0GND
P<Qin
P=Qin
P0U604
P>Qin
P0U603
P0U602
9 P0U609
Q0
11P0U6011
Q1
14P0U6014
Q2
1 P0U601
Q3
2
3
4
U6
10P0U6010
P0
12P0U6012
P1
13P0U6013
P2
15P0U6015
P3
9
8
6 P0U406
3D
4 P0U404
3C,4C
7 P0U407
4D
P0U2C08
P0U1C05
P0U1C06
P0U1D09
P0U1D08
2 P0U402
1D
13 P0U4013
1C,2C
3 P0U403
2D
P0R206
A
P0R207
5
P0U1A07
2
P0U1A02
2
1
R2
8x 4K7
DS7
P0DS701
LED6
DS6
P0DS601
LED5
P0U1A014
P0U1A01
U1A
SN74HC05N
U1D
SN74HC05N
P0U607 7
P<QoutP0U606
6
P=QoutP0U605
5
P>Qout
VCC
16
P0U6016
P0DS702
P0DS602
3
U3B
U3A
2
P0U3A02
P0U5A014
6
3
R1
8x 4K7
S4
M1
EN
STOP
N0GND
M3
M2
P0S501
S5
P0S601
S6
P0S701
S7
P0S301
S3
P0S401
5
U2B
2
U2A
1
SW-PB2
S1
P0S101
P0S102
11
P0U2D011
SN74HC00N
P0U2D013
13
12
P0U2D012
U2D
3
P0U2A03
P0U2A07
SN74HC00N
P0U2A01
P0U2A02
6
P0U2B06
SN74HC00N
P0U2A014
4
P0U2B04
P0U2B05
GND
1A
1B
2A
2B
3A
3B
4A
4B
P0S502
P0S602
P0S702
P0S302
P0S402
8
P0U708
4
2
P0U703
3
P0U705
5
P0U706
6
P0U7011
11
P0U7010
10
P0U7014
14
13
P0U7013
P0U702
P0U7015
15
OE
P0U7011
A/B
N0GND
S2
SW-PB1
TEST IRQ
R25
2K0
P0R2602
P0R2502
P0R2402
R3
8x 4K7
P0S202
R11
4K7
C5
0.1uF
2K0
P0R2601
R26
2K0
P0R2501
P0C < MOK40
C < MOK40
< ZD100
CLKP0CLK
< ZD100
< MOK40
A < P0A
MOK40
P0S201
R24
P0R2401
N0GND
P0TEST
IRQ <
TEST
IRQ
<
< ZD100
DIRP0DIR
< ZD100
P0B < MOK40
B < MOK40
Ręczne kasowanie przepełnienia IRQ
8
SN74HCT157N
12 P0U7012
4Y
9 P0U709
3Y
P0A < MOK40
A < MOK40
7 P0U707
2Y
< ZD100/ /C
C <
CLK <P0CLK
ZD100
<MOK40
MOK40
VCC
U7
P0U7016
P0B < MOK40
B < MOK40
16
< ZD100/ /TEST
TEST IRQIRQ
<
DIR <P0DIR
ZD100
<
P0C902
0.1uF
3
CLR Q
P0U5B08
U5B
SN74HC74N
9
PR Q P0U5B09
CLK
P0U5B011
P0U1B03
11
11
P0U3D011
SN74HC00N
C7
Cx
N0GND
12P0U5B012
D
470R
P0U3D012
12
P0R1402
U3D
P0U3D013
13
N0GND
8
P0U3C08
SN74HC00N
C6
Cx
9
P0U3C09
P0R1302
U3C
P0U3C010
10
4 P0U704
1Y
P0C901
C9
U1B
SN74HC05N
4
P0U1B04
P0U5A07
CLR Q
P0U5A06
U5A
SN74HC74N
5
PR Q P0U5A05
CLK
D
P0U3A07
SN74HC00N
R14
470R
R13
P0R1401
P0U3A03
3
6
P0U3B06
P0R1301
SN74HC00N
P0U3A01
1
5
P0U3B05
P0U3A014
P0U5A03
2P0U5A02
4
P0U3B04
P0R101
1
P0R102
2
P0R103
3
P0R104
4
P0R105
5
6
7
8
9
P0U405
P0R106
VCC
P0R107
4
1
P0C602
P0C601
P0C702
P0C701
N0GND
P0R108
P0U5A04
P0U5A01
10
13
U4
P0R208
N0GND
P0U5B010
P0U5B013
0.1uF
P0R109
N0GND
5
15
1
N0GND
10
OE
P0U801
A/B
P0U8015
U8
5
8
4Y
3Y
2Y
1Y
SN74HCT157N
GND
P0U808
16
PC814
PC814
P0U9012
12 DIR
P0U909
9 CLK
P0U907
7 EN
4 M1
P0U904
12 LED
9 M2
P0U8012
P0U809
7 M3
P0U807
11
G3
R21
R22
2K0
R23
2K0
PC
P0U1402
0.1uF
P0C1201 P0C1202
C12
2K0
P0U1401P0R2301
P0U1302
P0U1301P0R2201
P0U1202
R10
4K7
DS5
P0G3011
P0U1201P0R2101
P0MOK40 > C
MOK40
>C
P0MOK40 > A
MOK40
>A
P0MOK40 >>B B
MOK40
4 STOP
P0U804
16
VCC P0U8016
0.1uF
P0C1001 P0C1002
C10
SN74HCT157N
4Y
3Y
2Y
1Y
VCC
P0G405
P0U9016
0.1uF
P0R1602
P0C1101 P0C1102
GND
P0U908
C13
0.1uF
P0C1301 P0C1302
R12
4K7
OE
A/B
2 P0U802
1A
3 P0U803
1B
5 P0U805
2A
6 P0U806
2B
11 P0U8011
3A
10 P0U8010
3B
14 P0U8014
4A
13 P0U8013
4B
15
1
8
P0G409
220uF /10V
N0GND
C3
P0U1404
P0U1403
U14
P0U1304
P0U1303
U13
P0U1204
C11
2 P0U902
1A
3 P0U903
1B
5 P0U905
2A
6 P0U906
2B
11 P0U9011
3A
10 P0U9010
3B
14 P0U9014
4A
13 P0U9013
4B
P0U901
P0U9015
U9
P0R1601
P0G404
U12
P0U1203
PC814
MOK 40
IN: A B C, OUT: Vcc GND
P0G308
P0G3010
10
6
P0R2302
P0R2202
P0R2102
P0G305
P0G309
DS9
M3
DS8
STOP
N0GND
N0GND
DS4
B
R9
4K7
LP 100/MD 100
OUT: A B C GND
DS11
M1
DS10
M2
2
P0S802
P0G2010
P0G2011
10
11
P0G304
7
LP 100/MD 100
OUT: A B GND
DB9 M
R8
4K7
DS3
C
R4
8x 4K7
Date:
File:
A3
Size
Title
P0C201
N0GND
N0GND
P0R1802
OUT
P0K108
K1
P0K106
P0K105
P0K103
P0K102
R19
P0R1901
2
1
4
3
6
5
8
7
P0G1107
10 9
P0G1105
12 11
P0G1103
14 13
P0G1101
16 15
P0K208
P0K307
K3
P0K304
P0K301
Relay-DPDT
P0K308
P0K306
P0K305
P0K302
P0R2002
P0G802
Number
7
2007-01-10
W:\work_studia\..\PEDASK.SCHDOC
G8
1
2
P0G8033
P0G8044
P0G8055
P0G8066
P0G8077
P0G8088
P0G801
G10 PWR2.5
1P0G1001
P0G1001B
P0G1001A
3P0G1003
P0G1003B
P0G1003A
2P0G1002
P0G1002B
P0G1002A
IN: ZN 100
IN: SMC 81
OUT: ZN 100
P0G903
P0G904
P0G905
N0GND
G9
6
5
4
3
P0G9022
P0G9011
P0G906
P0DIR/
DIR/
P0CLK/
CLK/
N0GND
OUT: 57 BYG 081
0 CZERWONY
A P0A- Czerwony
0 ¯ó³TY
A/ P0A/
- Żółty
0 NIEBIESKI
A*P0A*- Niebieski
A*/P0A*/
- Czarny
0 CZARNY
B P0B- Brązowy
0 BR¹ZOWY
0 ZIELONY
B/ P0B/
- Zielony
0 BIA³Y
B* -P0B*
Biały
0 FIOLETOWY
B*/P0B*/
- Fioletowy
N0GND
R20
P0R2001
R18 = 0,1 Ohm /2W
R19 = 0,1 Ohm /2W
R20 = 0,1 Ohm /2W
Faza - P0FAZA
A 0 A
Faza -P0FAZA
A/ 0 A/
Faza - P0FAZA
B 0 B
Faza -P0FAZA
B/ 0 B/
P0ZASIL0SMC81 GND
Zasil.SMC81
GND
P0ZASIL0SMC81 32V
+
Zasil.SMC81
32V
+
P0K303
K2
P0G1102
P0G1104
P0G1106
P0G1108
P0G11010
P0G11012
P0G11014
P0G11016
11
P0G6011
10
N0GND
P0G6010
DB9 M
ZD 100 (1)
G6
5P0G605
9P0G609
4P0G604
8P0G608
3P0G603
7P0G607
2P0G602
6P0G606
1P0G601
11
10
P0G5011
P0G5010
DB9 M
ZD 100 (2)
G5
5P0G505
9P0G509
4P0G504
8P0G508
3P0G503
7P0G507
2P0G502
6P0G506
1P0G501
OUT: SMC 81
P0G1109
P0G11011
P0K205
P0K206
G11
P0RUN 00
RUN
-P0RUN +
+
RUN
P0CLK/
CLK/
P0CLK
CLK
P0DIR
DIR
P0DIR/
DIR/
P0G11013
8
G7 PWR2.1
P0G701
1P0G701A
P0G701B
P0G703
3P0G703A
P0G703B
P0G702
2P0G702A
P0G702B
IN: ZN 12V
P0GND
GND
P0G11015
P0K203
P0K202
Relay-DPDT
P0K207
P0K204
P0K201
Relay-DPDT
P0K107
P0K104
P0K101
R18
P0R1801
P0R1902
P0CLK
CLK
ENP0EN
P0DIR
DIR
P0M1
M1
>>
P0M2
M2
>>
P0M3
M3
>>
P0STOP
STOP
G 13
R5
240R
OUT
G 12
R6
470R
DS1
+5V
N0GND
220uF/16V
C2
3
P0U1103
C1
4700uF/16V
OUT
IN
GND
P0U1101
C4
Cap
0.1uF
1
V +/03%
12 P012
V +/-3%
U11 µA7805
8
Sheet of
Drawn By: Anna Cieśnik
Revision
Schemat płytki edukacyjnej do analizy silnika krokowego
D2
Diode 1N4148
D1
Diode 1N4148
SZEREGOWO UZW.
DS15
/CLK
DS14
CLK
U10
ULN2803A
N0GND
DS13
EN
DS12
DIR
DS2
A
R7
4K7
RÓWNOLEGLE UZW.
RÓWNOLEGLE UZW.
JEDNO UZW.
3P0S903S9
P0S902
2
1P0S901
SW-SPDT
1P0S801
SW-SPDT
3P0S803S8
G2
P0G208
DB9 M
P0G204
6
P0G209
DB9 M
P0G205
G4
R16
4K7
P0R1102
P0C502
P0C501
11
P0R1101
P0C802
P0R301
1
P0R302
2
P0R303
3
P0R304
4
P0R305
5
P0R306
6
7
8
9
P0G4010
P0C301
P0C302
C8
P0R307
P0G4011
N0GND
P0R1202
4
P0R308
P0G408
1
P0G401
6
P0G406
2
P0G402
7
P0G407
3
P0G403
8
4
9
5
P0R1201
3
N0GND
P0C402
P0C401
2
P0R309
P0DS802
P0DS801
P0DS1002
P0DS1001
1
P0G301
6
P0G306
2
P0G302
7
P0G307
3
P0G303
8
4
9
5
P0DS902
P0DS901
P0DS401
P0R902P0DS402
P0R901
P0DS301
P0R802P0DS302
P0C801
P0R1702
P0R1701
P0PC01
P0R1002P0PC02
P0DS1102
P0DS1101
P0DS201
P0R702P0DS202
P0R701
P0DS101
P0R602P0DS102
P0C202
2
1
P0G 1202
N0GND P0R801
P0DS1202
P0DS1201
P0DS1402
P0U1102
P0G 1201
P0R601
P0R502
P0R501
Układ wyzwalania IRQ
P0R209
P0R201
1
P0R202
2
P0R203
3
P0R204
4
P0R205
5
6
7
8
9
P0D102
P0D101
P0D202
P0D201
Rysunek 3.12: Schemat płytki drukowanej
P0R1001
P0DS1302
P0DS1301
P0DS1401
18
1
P0U1001
P0U10018
OUT1 IN1
P0U1002
17P0U10017
2
OUT2 IN2
P0U1003
16P0U10016
3
OUT3 IN3
P0U1004
15P0U10015
4
OUT4 IN4
14P0U10014
5
P0U1005
OUT5 IN5
13P0U10013
6
P0U1006
OUT6 IN6
12P0U10012
7
P0U1007
OUT7 IN7
11P0U10011
8
P0U1008
OUT8 IN8
P0U1009
10P0U10010
9
Com GND
1P0R401
2P0R402
3P0R403
4P0R404
5P0R405
6P0R406
7P0R407
8P0R408
9P0R409
2
P0G 1302
1
P0G201
6
P0G206
2
P0G202
7
P0G207
3
P0G203
8
4
9
5
N0GND
P0DS1502
P0DS1501
N0GND
2
1
P0G 1301
P0C101
P0C102
1
D
C
B
A
3.5. Płytka edukacyjna do analizy silnika krokowego — PEdASK
43
44
3.5. Płytka edukacyjna do analizy silnika krokowego — PEdASK
3.5.4 Układ wyzwalania przerwania sprzętowego
Ten fragment układu oparty jest na zatrzasku czterobitowym U4 oraz komparatorze danych U6. Układ U5 stanowi licznik impulsów generowanego przerwania
w odpowiedzi na zmianę danych na wejściu układu U6. Dalszy opis działania układu
płytki od strony praktycznej znajduje się w rozdziale 3.8.2.
3.5.5 Konfiguracja uzwojeń silnika
Konfiguracja połączeń uzwojeń silnika przy wykorzystaniu przełączników i przekaźników została opisana na schematach 3.14, 3.13. Na pierwszym schemacie 3.13
zamieszczono opis połączeń uzwojeń silnika wraz z ustawieniem przełączników odpowiedzialnych za sterowanie przekaźnikami K1 − K3 3.14. Wykreślony układ połączeń powstał na postawie przeprowadzonych pomiarów rezystancji i zwarć między
poszczególnymi wyprowadzeniami G8 płytki PEDASK. Przeprowadzony pomiar jest
propozycją ćwiczenia dla studentów na tym stanowisku.
Na drugim schemacie zilustrowano fizyczne połączenia poszczególnych faz silnika, przejście przez okablowanie oraz wyjście faz ze sterownika silnika krokowego
SMC81RP. Zaznaczono gniazda G12, G13 wraz z bocznikami prądowymi na fazach
silnika. Przy wykonywaniu pomiarów należy bezwzględnie zastosować się do uwag
zamieszczonych w rozdziale 3.12.
1
A
2
3
4
A
Faza - A
Faza - A/
P0FAZA
Faza
- 0B B
P0FAZA- 0 B/
B/
Faza
Ustawienie
wyłączników:
B*/
B/
B
A*/
L3
P0L402
P0L301
Inductor
10mH
SZER./ JEDNO
RÓWN. UZW.
D
B*
L4
P0L401
A*
A/
L2
P0L302
P0L201
Inductor
10mH
A
L1
P0L202
P0L101
Inductor
10mH
P0L102
Inductor
10mH
Ustawienie
wyłączników:
SZER./ JEDNO
RÓWN. UZW.
D
G
B*/
B*
B/
L4
P0L401
B
A*/
L3
P0L402
A*
A/
L2
P0L301
Inductor
10mH
P0L302
Inductor
10mH
P0L201
A
L1
P0L202
P0L101
Inductor
10mH
P0L102
Inductor
10mH
D
B
B
Ustawienie
wyłączników:
B*/
D
B*
L4
P0L401
SZER./ JEDNO
RÓWN. UZW.
Inductor
10mH
B/
B
A*/
L3
P0L402
P0L301
A*
A/
L2
P0L302
P0L201
Inductor
10mH
A
L1
P0L202
P0L101
Inductor
10mH
Inductor
10mH
G
Ustawienie
wyłączników:
P0L102
B*/
G
B*
L4
P0L401
SZER./ JEDNO
RÓWN. UZW.
B/
B
A*/
L3
P0L402
Inductor
10mH
A*
A/
L2
P0L301
P0L302
Inductor
10mH
P0L201
A
L1
P0L202
P0L101
Inductor
10mH
P0L102
Inductor
10mH
G
C
C
Położenie przełączników opisane powyżej na schemacie połączeń:
D - dół,
G - góra
odpowiadają stanowi dwóch przełączników umieszczonych na
płytce PEDASK.
Title
D
Size
D
Połączenie uzwojeń na PEDASK
Number
Revision
A4
Date:
File:
1
2
2007-01-30
Sheet of
W:\work_studia\..\przelaczanie_uzwojen.schdoc
Drawn By:
3
Rysunek 3.13: Konfiguracja połączeń uzwojeń silnika
4
Anna Cieśnik
45
3.5. Płytka edukacyjna do analizy silnika krokowego — PEdASK
1
2
3
4
Q?
NPN
Q?
NPN
P0Q?03
P0Q?03
P0Q?02
Q?
PNP
Q?
PNP
P0Q?01
P0Q?02
P0Q?01
P0Q?02
P0Q?01
P0Q?01
Q?
PNP
P0Q?01
P0Q?02
P0Q?02
P0Q?03
P0Q?03
P0Q?03
Q?
PNP
Q?
NPN
P0Q?03
P0Q?03
P0Q?02
P0Q?01
P0Q?02
Q?
NPN
P0Q?03
P0Q?02
P0Q?01
A
P0Q?01
A
SMC81RP
B
G 12
2
1
P0G 1301
P0G 1302
2
1
OUT
P0G 1201
P0G 1202
B
G 13
OUT
G9
R18
P0R1801
Faza -P0FAZA
A 0 A
Faza -P0FAZA
A/ 0 A/
Faza -P0FAZA
B 0 B
Faza -P0FAZA
B/ 0 B/
P0ZASIL0SMC81 32V
0
Zasil.SMC81
32V
P0ZASIL0SMC81 32V
+
Zasil.SMC81
32V
+
P0R1802
P0R1901
P0R1902
R19
W9 P/B
6
5
4
P0G903 3
P0G902 2
P0G901 1
P0G906
P0G905
P0G904
6
5
4
3
2
1
P0W9 P/B06
P0W9 P/B05
P0W9 P/B04
P0W9 P/B03
P0W9 P/B02
P0W9 P/B01
A 0 CZERWONY
FAZA P0FAZA
A - CZERWONY
FAZA A/ - ZÓŁTY
FAZA B - BRĄZOWY
FAZA B/ - ZIELONY
P0GND 0 NIEBIESKI
GND - NIEBIESKI
Vcc - CZERWONY
R18 = 0,1 Ohm /2W IN: SMC 81 Header 6
R19 = 0,1 Ohm /2W OUT: ZN 100
C
PRZEWODY PODŁĄCZONE NA STAŁE Z GNIAZDEM 6-PINOWYM
C
P0L102
R20 = 0,1 Ohm /2W G10 PWR2.5
1P0G1001A
P0G1001
P0R2001
P0R2002
P0G1001B
3P0G1003A
P0G1003
P0G1003B
R20
2P0G1002A
P0G1002
P0G1002B
IN: ZN 100
P0L101
L1
Inductor
10mH
P0L202
M
P0L201
L2
Inductor
10mH
G8
0 CZERWONY
A P0A- Czerwony
0 ¯ó³TY
A/ P0A/
- Żółty
0 NIEBIESKI
A*P0A*- Niebieski
0 CZARNY
A*/P0A*/
- Czarny
0 BR¹ZOWY
B P0B- Brązowy
0 ZIELONY
B/ P0B/- Zielony
0 BIA³Y
B* P0B*
- Biały
0 FIOLETOWY
B*/P0B*/
- Fioletowy
D
L3
1
2
P0G803 3
P0G804 4
P0G805 5
P0G806 6
P0G807 7
P0G808 8
P0G801
L4
P0L301
P0L302
P0L401
Inductor
10mH
P0G802
P0L402
Inductor
10mH
D
OUT: 57 BYG 081
P0K102
P0K101
P0K103
P0K105
P0K104
VCC = 5V
P0K106
K1
3P0S803S8
RÓWNOLEGLE UZW.
P0K108
Relay-DPDT
SZEREGOWO UZW.
P0D101
P0K202
P0K302
P0K203
P0K303
P0K205
P0K305
P0K206
P0K306
P0K201
P0D102
E
P0S802
2
1P0S801
SW-SPDT
P0K107
D1
Diode 1N4148
P0K204
P0K304
P0D201
P0D202
K2
P0K207
D2
Diode 1N4148
E
P0K301
K3
P0K208
P0K308
Relay-DPDT
P0K307
Relay-DPDT
JEDNO UZW.
3P0S903S9
P0S902
2
1P0S901
SW-SPDT
F
PEDASK
RÓWNOLEGLE UZW.
F
G
G
Wycinek płytki z elementami do przełączania uzwojeń silnika
Title
H
H
Przełączanie uzwojeń silnika - przekaźniki
Size
Number
Revision
A3
Date:
File:
1
2
3
2007-02-01
Sheet of
W:\work_studia\..\silnik przełączniki.SCHDOC
Drawn By:
Anna Cieśnik
4
Rysunek 3.14: Schemat połączeń uzwojeń silnika z fragmentem opisu płytki
drukowanej
3.5. Płytka edukacyjna do analizy silnika krokowego — PEdASK
46
3.5.6 Wyprowadzenie sygnałów typu OC
Rysunek 3.15: Schemat wyjścia typu otwarty kolektor [2]
Wykorzystany w budowie płytki PEdASK układ SN74LS05N zawiera cześć inwerterów z wyjściem typu otwarty kolektor OC ang. Open Collector. Wiadomo
również, że pozostawienie „w powietrzu” wejść bramek serii TTL jest równoważne
ze stanem wysokim. Aby ta zasada była utrzymana dla wysokich częstotliwości
przełączania stanów, należy za wyjściem bramki z otwartym kolektorem umieścić
rezystor podciągający (ang. pull-up resistor) [11]. Oporność tego rezystora powinna
wynosić 4, 7kΩ [10]. Bez niego układ będzie działał, jednak nie przy wysokich
częstotliwościach.
Układ taki jest wymagany w przypadku wykorzystania portów kontrolnych jako
piny wejściowe ([10]). Rozwiązuje to konflikt, który miałby miejsce w przypadku
bezpośredniego połączenia zewnętrznego układu, który dawałby stan logiczny „1”
na wejście portu, a ten z kolei próbowałby ściągną potencjał do stanu logicznego
„0”. Groziłoby to uszkodzeniem układu lub poru LPT.
W ogólności bramki z otwartym kolektorem mają przydatną zaletę — pozwalają
na zrealizowanie funkcji AND lub OR „na drucie” ([11]), (ang. wired-AND lub
ang. wired-OR). Jest to własność dawniej często stosowana w układach.
Rezystory podciągające
Zasadniczą funkcją rezystorów podpiętych na wejściu układów logicznych oraz
na wejściu portu LPT komputera jest zapewnienie „czystego” stanu logicznego dla
potencjału 5V. Rezystory podciągające drabinkowe 4, 7kΩ świetnie nadają się do
tego typu zastosowań.
3.5.7 Zasilanie układu
Zasilanie układu powinno być utrzymane w standardzie TTL (+5V). Zrealizowano je na układzie (U11) µA7805 — wykorzystywany m.in w zestawie edukacyj-
47
3.6. Dokumentacja elektroniki PEdASK
nym ZL1MCS51 [22]. Dobór wartości pojemności na podstawie sugestii zawartych
w dokumentacji technicznej [24]. Wejściowy potencjał jest w zakresie 9 − 12V,
w zależności od obciążenia.
3.6 Dokumentacja elektroniki PEdASK
Spis elementów płytki drukowanej zamieszczono w tabelach 3.11..3.12. W dodatku A.3 umieszczono skrócony opis wykorzystanych układów scalonych sporządzony na podstawie instrukcji Texas Instruments [24]. Pozostałe elementy można
odszukać w katalogu np. ELFA [3].
Tablica 3.11: Spis układów scalonych użytych do montażu płytki drukowanej
PEdASK
Nazwa
Opis elementu
Numer elementu
Element biblioteki
SN74HC05N
SN74HC00N
SN74LS75N
SN74HC74N
Hex Inverter with Open-Drain Outputs
Quadruple 2-Input Positive-NAND Gate
4-Bit Bistable Latch
Dual D-Type Positive-Edge-Triggered
Flip-Flop with Clear and Preset
4-Bit Magnitude Comparator
Quadruple 2-Line to 1-Line Data
Selector/Multiplexer
U1
U2, U3
U4
U5
SN74HC05N
SN74HC00N
SN74LS75N
SN74HC74N
1
2
1
1
U6
U7, U8, U9
SN7485N
SN74HCT157N
1
3
U10
U11
U12, U13, U14
Component 1
µA78L05CPKR
Optoisolator1
1
1
3
SN7485N
SN74HCT157N
ULN2803A
µA7805
PC814
Positive-Voltage Regulator
Optoisolator
Ilość
3.7 Płytka drukowana
3.7.1 Zasady projektowania płytki drukowanej
Odsprzęganie zasilania
Wszelkie układy cyfrowe pobierają prąd zasilający w sposób impulsowy, dlatego
zapewniono szerokie i możliwie krótkie ścieżki zasilania i masy. Są one szerokie,
nawet na kilka milimetrów, a masa została rozprowadzona po szerokim paśmie wokół
układu na płytce drukowanej.
Przy projektowaniu płytki drukowanej zalecany jest zwarty montaż układów cyfrowych. Miniaturyzacja i upakowanie są zalecane [11]. Ze względu na zastosowaną
technologię płytki dwustronnej ze złączówkami i edukacyjny charakter płytki, bardziej skondensowana architektura nie była możliwa.
W celu zredukowania impulsów prądu, które popłyną podczas przełączania, zastosowano lokalne kondensatory odsprzęgające o małej pojemności przy pomiędzy
ścieżką zasilania i masy dochodzącą do układu scalonego.
Zalecane jest w niektórych źródłach montowanie jednego kondensatora filtrującego w pobliżu każdego układu scalonego (np. kondensator ceramiczny o pojemności
48
3.7. Płytka drukowana
Tablica 3.12: Spis pozostałych elementów do montażu płytki drukowanej PEdASK
Nazwa
Opis elementu
Numer elementu
Element biblioteki
Cap Pol1
Cap
Polarized Capacitor (Radial)
Capacitor
Cap Pol1
Cap
3
10
Diode 1N4148
+5V
A
C
B
LED5
LED6
STOP
M3
M2
M1
DIR
ENR
CLK
/CLK
LPT - PC
High Conductance Fast Diode
Typical INFRARED GaAs LED
Typical INFRARED GaAs LED
Typical INFRARED GaAs LED
Typical INFRARED GaAs LED
Typical INFRARED GaAs LED
Typical INFRARED GaAs LED
Typical INFRARED GaAs LED
Typical INFRARED GaAs LED
Typical INFRARED GaAs LED
Typical INFRARED GaAs LED
Typical INFRARED GaAs LED
Typical INFRARED GaAs LED
Typical INFRARED GaAs LED
Typical INFRARED GaAs LED
Receptacle Assembly,
25 Position, Right Angle
Receptacle Assembly,
9 Position, Right Angle
Receptacle Assembly,
9 Position, Right Angle
Receptacle Assembly,
9 Position, Right Angle
Receptacle Assembly,
9 Position, Right Angle
Low Voltage Power Supply Conn.
Header, 8-Pin
Header, 6-Pin
Low Voltage Power Supply Conn.
Header, 8-Pin, Dual row
Header, 2-Pin, Right Angle
Dual-Pole Dual-Throw Relay
Typical INFRARED GaAs LED
4K7
Resistor
C1, C2, C3
C4, C5, C6, C7,
C8, C9, C10, C11,
C12, C13
D1, D2
DS1
DS2
DS3
DS4
DS6
DS7
DS8
DS9
DS10
DS11
DS12
DS13
DS14
DS15
G1
Diode 1N4148
LED0
LED0
LED0
LED0
LED0
LED0
LED0
LED0
LED0
LED0
LED0
LED0
LED0
LED0
D Connector 25
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
G2, G3
D Connector 9
2
G4
D Connector 9
1
G5
D Connector 9
1
G6
D Connector 9
1
G7
G8
G9
G10
G11
G 12, G 13
K1, K2, K3
PC
R1, R2, R3, R4
R5, R6, R7, R8,
R9, R10, R11, R12,
R13, R14, R16, R17,
R18, R19, R20, R21,
R22, R23, R24, R25,
R26
S1
S2
S3
S4
S5
S6
S7
S8, S9
PWR2.1
Header 8
Header 6
PWR2.5
Header 8X2
Header 2H
Relay-DPDT
LED0
RezDrab 8x
Res2
1
1
1
1
1
2
3
1
4
21
SW-PB
SW-PB
SW-SPST
SW-SPST
SW-SPST
SW-SPST
SW-SPST
SW-SPDT
1
1
1
1
1
1
1
2
LP 100/MD 100
MOK 40
ZD 100 (2)
ZD 100 (1)
PWR2.1
OUT: 57 BYG 081
IN: SMC 81
PWR2.5
OUT: SMC 81
OUT
Relay-DPDT
DS5
8x
Res2
SW-PB2
SW-PB1
EN
M1
M2
M3
STOP
SW-SPDT
Switch
Switch
Single-Pole, Single-Throw Sw.
Single-Pole, Single-Throw Sw.
Single-Pole, Single-Throw Sw.
Single-Pole, Single-Throw Sw.
Single-Pole, Single-Throw Sw.
SPDT Subminiature Toggle Sw.,
Right Angle Mounting,
Vertical Actuation
Ilość
47..100nF). W urządzeniach z układami 74HC lub 74HCT wskazany jest jeden kondensator elektrolityczny o pojemności 10..100/muF na pięć układów scalonych oraz
jeden kondensator ceramiczny dla każdego układu [11].
49
3.7. Płytka drukowana
3.7.2 Projekt PCB płytki drukowanej PEdASK
Do wykonania całości projektu – schematu układu oraz schematu PCB, wykorzystano rozbudowane narzędzie Altium Designer 6.0, którego licencja została indywidualnie wykupiona na rok na potrzeby wykonania pracy inżynierskiej. Projekt
płytki PCB został wykonany przez nałożenie kilku warstw oznaczonych kolorami,
m.in.
niebieski – ang. bottom layer, warstwa mozaiki ścieżek,
czerwony – ang. top layer, połączenia górnej warstwy (złączówki),
żółty – ang. top overlay, elementy układu pobrane z biblioteki programu z opisami,
P0G70265
P0G70271
P0G801
P0G802
P0G803
G8
C4
P0C402
P0U1103
C2
P0K30175
P0K30180
P0C10+
P0R1802
P0R1902
P0C401
P0K30176
C1
K3 P0K30177
P0R104
P0K30181
P0K30182
P0C201
P0C202
P0U1102
P0C100
P0R409
P0R408
P0R407
P0R103
R4
P0G804
U11
P0G805
G7
P0G806
P0G70268
P0G70266
P0G70269
P0R502
P0G807
P0DS10K
P0DS10A
R6
P0R102
P0R403
P0R401
P0R601
P0R406
P0R101 P0R1001
P0G70272
P0G70267
P0G70273
P0U1101
P0R1201
P0R405
DS5
P0R501
P0R404
P0R1702 P0R1701
P0R402
P0G101
P0G1014
P0G102
P0G1015
P0G103
P0G1016
P0G104
P0G1017
P0G105
P0G1018
P0G106
P0G1019
P0G107
P0G1020
P0G108
P0G1021
P0G109
P0G1022
P0G1010
P0G1023
P0G1011
P0G1024
P0G1012
P0G1025
P0G1013
P0R1101
P0DS50A
R10
P0R1002
P0G70270
G6
R5
DS1
P0R1102
P0R1202
R17
P0DS50K
P0G60
P0G808
R11
R12
P0R602
DS4
DS3
P0G50
G5
P0R901
R9
P0G605
P0G609
P0G604
P0G608
P0G603
P0G607
P0G602
P0G606
P0G601
P0G505
P0G509
P0G504
P0G508
P0G503
P0G507
P0G502
P0G506
P0G501
P0G40
G4
P0R902
P0R801
P0G30
G3
P0DS40K
P0R802
DS2
P0G405
P0G409
P0G404
P0G408
P0G403
P0G407
P0G402
P0G406
P0G401
P0G305
P0G309
P0G304
P0G308
P0G303
P0G307
P0G302
P0G306
P0G301
R8
P0DS40A
P0DS20A
P0DS20K
P0R701
P0DS30A
P0G20
G2
R7
P0R105
DS8
DS9
DS10
DS11
DS12
DS13
DS14
DS15
P0R106
P0DS110A
P0DS120A
P0DS130A
P0DS140A
P0DS150A
P0R108
P0DS80K
P0DS90K
P0DS100K
P0DS110K
P0DS120K
P0DS130K
P0DS140K
P0DS150K
P0K30179
P0D201
D2
R1
P0K20184
P0U3013
P0U303
P0R1401
P0U302
P0U1014
P0U101
P0U2014
P0U201
P0U3014
P0U301
U10
P0C702 P0C601
P0U305 P0R1301
P0R1402
P0U304
P0U908
R14
U5
P0U8015
P0C1101
P0K10177
P0K10181
P0K20180
P0U803
P0U8014
P0U804
P0U8013
P0U805
P0U8012
P0U806
P0U8011
P0U807
P0U8010
P0U808
P0U809
P0K20175
P0K10180
K1
K2
P0G903
P0G902
P0R2002
P0U505
P0U5011
P0U504
P0U404
P0U5012
P0U503
P0U4014
P0U403
P0U5013
P0U502
P0U4015
P0U402
P0U5014
P0U501
P0U4016
P0U401
P0G1101
P0U506
P0U5010
P0U405
P0U4013
P0G100273
P0G100267
P0G100272
P0G100268
P0G100266 P0G100270
P0G100265
P0G100269
P0G100271
G10
P0R309
P0U509
P0U406
P0U4012
P0G901
G9
R20
P0R308
P0U407
P0U4011
P0G905
P0K10175
P0U507
P0U4010
R19
P0R1901
R18
P0K10176
P0K10182
P0K20176
P0K20177
P0R2001
P0R307
P0U508
P0U8016
P0U802
P0R301
P0U408
P0C1102
P0U801
P0R305
C5
P0C501
U4
P0U909
U8
P0C502
P0U409
P0U10010
P0U3012
P0U202
P0U10011
P0U203
P0U2013
P0U1009
P0U2012
P0U102
P0U1008
P0U103
P0U1013
P0U10012
P0U1012
P0U10013
P0U3011
P0U10014
P0U3010
P0U204
P0U10015
P0U205
P0U2011
D1
P0K10184
P0G904
P0U1007
P0U2010
P0U104
P0U9010
P0U1006
P0U105
P0U1011
P0U9011
P0U907
P0U1005
P0U1010
P0U906
P0U1004
P0U306
P0U9012
P0U10016
P0C701
P0U307 P0R1302
P0U309
P0U905
P0K20181
P0U1003
P0U308
P0U206
P0D101
P0G906
P0K20182
P0U10017
P0U207
P0U209
P0U9013
P0U10018
P0U208
P0U106
P0U904
P0U1002
P0U107
P0U109
P0U9014
P0U1001
P0U108
P0U9015
P0C1001
P0U903
C11
U3
P0U9016
P0U902
P0R304
P0C801
U2
P0K30184
P0C1002
P0U901
P0R303
P0C802
P0DS60K
P0R302
C8
P0DS60A
P0DS70K
C7
R13
C6
U1
G1
DS6
P0DS70A
P0C602
P0R209
P0R208
P0R207
P0R206
P0R205
P0R204
P0R203
P0R202
P0R201
DS7
C10
U9
R2
P0G100
P0K20179
P0R109
P0R1801
P0DS100A
P0D102
P0DS90A
P0K10179
P0DS80A
P0D202
P0R107
P0R306
P0R702
P0DS30K
P0G205
P0G209
P0G204
P0G208
P0G203
P0G207
P0G202
P0G206
P0G201
Złożenie wszystkich warstw na jednym schemacie zamieszczono na rys. 3.16
R3
P0G1102
P0G1103
P0G1104
P0G1105
P0G1106
U7
P0G1107
P0G1108
P0U6012
P0U605
P0U7012
P0U705
P0U6013
P0U604
P0U7013
P0U704
P0U6014
P0U603
P0U7014
P0U703
R16
P0U6015
P0U602
P0U7015
P0U702
P0R1602
P0U6016
P0U601
P0S101
P0S101A P0U7016
P0U701
P0S102
P0S102A
P0C1301
S2
P0S201
P0S201A
P0S202
P0S202A
P0S30298
P0S30
C13
P0C1302 P0S30295P0S30293
P0S30299
P0S40295P0S40293
P0S50295P0S50293
P0S40296P0S40298
P0S50296
P0S40294P0S40299
P0S40
P0S50294 P0S50
P0S60295P0S60293
P0S60296
P0S60294 P0S60
P0G11011
P0G11012
P0S70295P0S70293
P0S70
P0G11013
P0G11014
P0S70298
S8
P0C1202
P0S80295P0S80293
P0S90295
P0C1201
P0S80296P0S80298
P0S90296P0S90298
P0S80294P0S80299
P0S80
P0S90294 P0S90
P0R1601
C3
S9
P0S70299
P0S90293
P0U706
P0S90299
P0U707
P0U7011
P0S70294P0S70296
P0U708
P0U7010
P0U606
P0S60299P0S60298
P0U709
P0U607
S1
S7
C12
P0C302
S6
S5
P0S50299P0S50298
P0U608
P0U6011
P0C901
P0C301
C9
S4
P0G1109
P0G11010
P0U609
P0U6010
P0S30294P0S30296
U6
P0C902
S3
P0G11015
P0G11016
P0G1100
G11
Rysunek 3.16: Projekt PCB płytki drukowanej PEdASK wykonany za pomocą programu Altium Designer 6.0
3.7.3 Wizualizacja płytki
Przed przystąpieniem do fizycznego wykonania układu, dzięki wykorzystywanemu oprogramowaniu Altium Designer 6.0 otrzymano wizualizację płytki drukowanej z naniesionymi elementami. Obraz ten dał przestrzenne wyobrażenie budowanego układu i rozmieszczenia elementów.
3.7. Płytka drukowana
50
Rysunek 3.17: Wizualizacja płytki PEdASK w programie Altium Designer 6.0
3.7.4 Technologia wykonania płytki drukowanej
Proces wytwarzania płytki drukowanej2
1. Przygotowanie „kliszy mozaiki płytki” — wykorzystano środowisko Altium
Designer schemat PCB.
2. Wydruk na drukarce laserowej mozaiki ścieżek na folii bezbarwnej w taki sposób, aby metodą „stykową” można było naświetlić warstwę światłoczułą lakieru naniesionego na część miedzianą laminatu płytki.
3. Przygotowanie laminatu obejmuje:
• wycięcie z marginesem około 2cm wokół przewidywanego obszaru naświetlania płytki,
• odtłuszczenie części miedzianej laminatu i naniesienie sprajem „Pozitiv”
cienkiej równomiernej warstwy w przyciemnionym pomieszczeniu,
• poddanie suszeniu płytki z naniesioną warstwą światłoczułą w ciemni
(np. szczelnym pudełku kartonowym),
• suszenie — przebiega ono 1h w temp. 70o C lub dobę w temperaturze
pokojowej;
4. Zestaw do naświetlania składa się z lampy halogenowej reflektorowej (prostokątna) z żarnikiem o mocy 400W. Czoło lampy należy umieścić na wysokości
2
Wykonano płytkę w przedstawionej technologii pod kierunkiem i nadzorem Technika Elektronika z Uprawnieniami Mistrzowskimi
3.7. Płytka drukowana
51
około 45cm nad blatem, na którym umieszcza się materiał do naświetlenia.
Wypraktykowany czas naświetlenia wynosi około 50min. Stosowany jest minutnik fotograficzny.
5. Teraz wszystkie operacje należy wykonać w dobrze przyciemnionym pomieszczeniu:
• ułożyć laminat na blacie warstwą światłoczułą w kierunku lampy oświetlającej,
• położyć na laminacie (precyzyjnie) „klisze” w taki sposób, aby „toner”
był od strony warstwy światłoczułej (ogranicza to błąd paralaksy),
• „Kliszę” docisnąć cienką szybą (większa niż pole płytki).
6. Włączyć minutnik fotograficzny z określonym czasem naświetlania.
7. Gdy naświetlanie zakończy się, wychłodzić płytkę (10min.).
8. Przygotować roztwór do „wywoływania” warstwy światłoczułej. Rozpuścić
płaską małą łyżeczkę Wodorotlenku Sodowego (sprzedawany w sklepach AGD
jako „Krecik”, „Mr.Mysz”) w 1 litrze wody.
9. Przygotowany roztwór o temp. 20o C wlać do kuwety o powierzchni większej
niż płytka.
10. W przygotowanym roztworze zatopić płytkę i poruszając delikatnie za pomocą
pensety plastikowej czekać na „wywołanie” warstwy światłoczułej. Naświetlone (niezakryte) powierzchnie ulegają rozmyciu.
11. Wypłukać i wysuszyć płytkę.
12. Wytrawić w roztworze chlorku żelazowego (stężenie optymalne — tak aby to
trwało około godziny w temp. 20o C).
13. Nawiercić otwory rozpoczynając od najmniejszej średnicy wiertła.
14. Zmyć pozostałą część lakieru światłoczułego.
15. Nanieść lakier — topnik (SK10 — ang. Protektor solder active) na stronę
miedzianą płytki i wysuszyć.
16. Wlutować elementy
3.8. Zasada działania układu
52
Rysunek 3.18: Fotografia PEdASK od strony mozaiki ścieżek
3.8 Zasada działania układu
3.8.1 Możliwe konfiguracje układu
Praca na stanowisku do badania własności silnika krokowego jest możliwa w czterech konfiguracjach, których montaż zostanie opisany szczegółowo w dalszej części
tej pracy. Wymieniony jako pierwszy tryb pracy nie wymaga zastosowania płytki
PEdASK. Całość sterowania i pomiarów odbywa się w tym trybie zerowym (wyjściowym) za pomocą urządzeń przemysłowych. Kolejne konfiguracje, to kombinacja
pracy płytki PEdASK z komputerem oraz urządzeniami przemysłowymi.
0 sterowanie z zadajnika (lub komputera — oprogramowanie firmowe WinSMC),
pomiary na licznikach LP100 i MD100;
1 sterowanie z zadajnika (oraz firmowego programu WinSMC), pomiar na licznikach;
2 sterowanie z zadajnika (lub komputera — WinSMC), pomiar na komputerze;
3 sterowanie oraz pomiar przez oprogramowanie inżynierskie;
3.8. Zasada działania układu
53
3.8.2 Opis działania układu PEdASK
Rysunek 3.19: Fotografia płytki PEdASK
Począwszy od pracy na samych urządzeniach zewnętrznych, wszystkie sygnały
zostały przeniesione na płytkę drukowaną, umożliwiając ostatecznie przejście ze
sterowaniem i pomiarami na komputer.
Podczas pracy na urządzeniach przemysłowych — zadajniku ZD100 i licznikach
MD100 i LP100, możliwa jest zmiana mikrokroku dla SMC81RP za pomocą wygodnych ang. DIP-switch’y na płycie PEdASK, co ogranicza ryzyko uszkodzenia układu
przez użytkownika przy przedkładaniu zworek w sterowniku.
Przewidziany jest tryb ang. PC Host’a (gospodarza). Wówczas wszystkie sygnały
sterujące dla SMC81RP pochodzą z komputera (przez rejestr danych portu LPT).
W obu wypadkach — sterowania z programu WINSMC lub stworzonego programu inżynierskiego, komputer ma możliwość pobierania sygnałów z przetwornika
obrotowo-impulsowego MOK40.
Gdy sterowanie przejmuje zadajnik ZD100, dostępna jest również analiza sygnałów pochodzących z enkodera (kanał A, kanał B) oraz sygnałów sterujących dla
sterownika SMC81RP (DIR, CLK).
Tryb PC Host umożliwia wygodną zmianę wszystkich trybów pracy sterownika
silnika krokowego SMC81RP z komputera, wszystkich możliwych sygnałów sterujących
DIR — kierunek obrotu silnika,
3.8. Zasada działania układu
54
CLK — sygnał taktujący,
EN — sygnał zezwolenia,
STOP — sygnał blokowania
M1, M2, M3 — ustawienie kroku pracy silnika
oraz analizę sygnałów przychodzących z enkodera MOK40
kanał A, kanał B — przebiegi prostokątne, przesunięte w fazie,
kanał C — sygnał kontrolny.
Dla umożliwienia obserwacji, zostały wbudowane w układ diody LED dla wszystkich sygnałów docierających do sterownika SMC81 oraz pobieranych z przetwornika
obrotowo-impulsowego MOK40. Jedną diodę świecącą (DS5) wykorzystano jako
wskaźnik rodzaju pracy PEdASK (PC/ZD100).
DS6 wskazuje żądanie obsługi przerwania IRQ, DS7 — przepełnienie IRQ, zaznaczony jako ERR (gdy nastąpiły zmiany, a komputer jeszcze nie jest gotowy do
obsługi kolejnego przerwania). Przycisk S1 służy do ręcznego skasowania przepełnienia, S2 do sprawdzenia układu, czy generuje IRQ poprawnie.
Dostępne są również przełączniki uzwojeń silnika krokowego — szeregowo, równolegle, po jednym uzwojeniu których szczegółowe działanie zostało przedstawione
na schemacie 3.13. Zainstalowane są również rezystory boczniki (0, 1Ω/2W) do
pomiarów prądu w uzwojeniach i prądu zasilania. Bezpieczny dostęp do boczników prądowych, pokazany na rys. 3.20, na uzwojeniach został wyprowadzony na
dwa gniazda G12 i G13, aby zmniejszyć ryzyko uszkodzenia sterownika przy zwarciu
dwóch faz. Dodatkowe informacje na ten temat zostaną opisane w rozdziale dotyczącym zasad użytkowania płytki. Masa układu do pomiarów zastała wyprowadzona
Rysunek 3.20: Widok gniazd G12 i G13 płytki PEdASK
na metalową podpórkę w prawym dolnym rogu płytki PEdASK.
Jak już zostało wyżej wspomniane, możliwa jest praca w czterech konfiguracjach.
Pracę z płytką PEdASK można jednak ograniczyć do dwóch: z/bez komunikacji
z komputerem przez port LPT.
3.8. Zasada działania układu
55
Rysunek 3.21: Widok płytki PEdASK od strony gniazda DB25
Bez połączenia z komputerem
Płytka z odłączonym komputerem pracuje tylko jako listwa połączeniowa. Multipleksery sygnałów są ustawione w pozycji sterowania z zadajnika ZD100. Umożliwia
to przeprowadzenie dotychczasowych ćwiczeń bez zmian, z wyjątkiem sygnałów sterujących SMC81RP — M1, M2, M3, EN, STOP, które teraz znajdują się na płycie
jako DIP-switch’e.
Ponadto wygodnie wyeksponowano punkty pomiarowe sygnałów do badania
oscyloskopem.
Rysunek 3.22: Rozmieszczenie elementów na płytce drukowanej PEdASK
3.9. Montaż układu w poszczególnych konfiguracjach
56
W połączeniu z komputerem przez port LPT
Wszystkie sygnały dla sterownika SMC81RP pochodzą z rejestru danych portu
LPT. Dostarczane są do multiplekserów, a następnie do sterownika. Wolny bit
rejestru danych został wykorzystany do sterowania przełączaniem multiplekserów
w tryb pracy PC Host/ZD100.
Multiplekser pobierania sygnałów (U7) teraz pobiera sygnały z enkodera (kanał
A, B, C) i dostarcza je do rejestru zatrzaskowego (U4) gdzie dalej sygnał trafia do
złącza LPT.
Układ wyzwalania przerwania IRQ dla komputera został zbudowany w oparciu
o komparator danych (U6), rys. A.1. W dwóch portach tego układu (P i Q) porównywane są dane 4-bitowe, przed rejestrem ’75 i po rejestrze ’75. Gdy dane różnią się,
komparator ’85 na wyjściu zgodności wystawia stan „0”. Ten sygnał podlega negacji
w bramce NAND (U3B) i steruje wpisem nowej aktualnej wartości do ’75. Komparator danych rozpoznaje ten stan rzeczy i wystawiając „1” powoduje zatrzaśnięcie
informacji w ’75. Zostanie w ten sposób wygenerowane zbocze narastające, które
w detektorze zbocza narastającego, steruje przerzutnikiem RS (układy U2A, U2B).
Pobrany sygnał po zanegowaniu dostarczany jest do LPT na pin 10-ty jako żądanie obsługi przerwania sprzętowego. Dioda DS6 wskazuje ten stan. Sygnał powinien
zostać obsłużony, czyli porcja danych pobrana i w odpowiedzi wystawiona przez
port LPT na pinie 1-wszym sygnał ze zboczem narastającym jako potwierdzenie
gotowości do przyjęcia następnego przerwania. Tutaj też jest detektor zbocza narastającego, który przełącza przerzutnik RS w stan oczekiwania na następną porcję
danych (czyli nowe przerwanie).
Na układzie ’74 zbudowano detektor przepełnienia IRQ. Jeżeli nastąpi następny
wpis danych do ’75 podczas przerwania, informacja zostanie dostarczona do komputera i zaświeci diodę DS7 ERR. W ten sposób można określić maksymalną częstotliwość pobierania danych bez przekłamań. Oczywiście prędkość ta jest już zależna od
podłączonego komputera, systemu operacyjnego i oprogramowania inżynierskiego.
3.9 Montaż układu w poszczególnych konfiguracjach
3.9.1 0 tryb pracy — praca wyłącznie na urządzaniach
przemysłowych
Aby było możliwe łatwe przełączanie układu do pozostałych konfiguracji, opracowano i wykonano nowe okablowanie. Dzięki temu jednoznacznie oznaczono wtyki
i gniazda poszczególnych urządzeń. Nadano odpowiednie oznaczenia na schemacie
montażowym i przewodach.
3.9. Montaż układu w poszczególnych konfiguracjach
57
Opis działania
Rysunek 3.23: Fotografia stanowiska w 0 trybie pracy
W tej konfiguracji układu nie jest używana płytka PEdASK. Można przeprowadzać ćwiczenia na tym stanowisku bez żadnych zmian.
Montaż
Sygnały sterujące z zadajnika ZD100 (2) wyprowadzić na złącze sterujące sterownika silnika krokowego SMC81RP za pomocą zworek i końcówek oznaczonych
kolorami. Parę przewodów zielony z czarnym należy połączyć odpowiednio z pinem
2 i 1 — sygnał taktowania CLK. Parę przewodów czerwony z czarnym, załączyć odpowiednio do pinu 6 i 5 — sygnał kierunku obortu silnika DIR. Pojedynczy czarny
przewód wyprowadzić na masę sterownika, czyli najlepiej na pin 15. Zezwolenie na
pracę sterownika ustawić przez zwarcie pinu 4 do masy — pin 3 (za pomocą zworki).
Mikrokrok obrotu silnika ustawić za pomocą zworek na parach pinów: 7, 8 – M1;
9, 10 – M2, 11, 12 – M3. Podział kroku jest opisany dokładnie w instrukcji do
sterownika SMC [27]. Sygnał STOP zostawić niepodłączony. Zwarcie go do masy
spowoduje blokowanie sygnału taktowania. Podczas ćwiczeń z wykorzystaniem pro-
58
3.9. Montaż układu w poszczególnych konfiguracjach
gramu WINSMC, należy jeszcze podłączyć kabel do 4 gniazda zadajnika i połączyć
z komputerem.
Sygnały wyjściowe ze sterownika oraz zasilanie zostanie doprowadzone przez
przejściówką W8UA−W9UB podłączając odpowiednio wtyk W9UB do W9U (oznaczony na schemacie) oraz W8UA do W8U wyprowadzonego bezpośrednio ze silnika
i zasilacza jako wspólne gniazdo.
Należy zwrócić szczególna uwagę na prawidłowe połączenie przewodów, ponieważ
przesunięcie o jedno miejsce może spowodować uszkodzenie układu. Kolory przewodów dochodzących i wychodzących z punktów łączonych mają być takie same
3.25.
Ostatni przewód z czterema gniazdami DB9, należy połączyć liczniki oraz enkoder. Wtyk W4A połączyć z W4U enkodera, W3A i W3B w dowolnej kolejności
z licznikami LP100 (1), i MD100 (1). W tej konfiguracji odgałęzienie W3C nie jest
wykorzystane.
Schemat połączeń
Schemat poszczególnych połączeń wraz ze szczegółowym opisem gniazd i kolorów
przedstawia rys. 3.24.
1
2
3
4
5
6
7
ZASILACZ ZN100L
SMC81RP
PRZEWODY PODŁĄCZONE NA STAŁE Z GNIAZDEM 6-PINOWYM
+32V
A 0 CZERWONY
FAZA P0FAZA
A - CZERWONY
P0FAZA
A/ 0 ZÓ£TY
FAZA A/
- ZÓŁTY
P0FAZA
B 0 BR¥ZOWY
FAZA B
- BRĄZOWY
P0FAZA
B/ 0 ZIELONY
FAZA B/
- ZIELONY
P0GND 0 NIEBIESKI
GND - NIEBIESKI
P0VCC 0 CZERWONY
Vcc - CZERWONY
GND
P0W9 U01
P0W9 U02
P0W9 U03
6
5
4
3
2
1
2) PRACA BEZPOŚREDNIA (B):
-> WTYCZKA ŁĄCZONA DO WTYKU
PRZEJŚCIÓWKI ( W9 UB )
P0W9 U04
1) PRACA Z PŁYTKĄ (P):
-> WTYCZKA ŁĄCZONA DO PŁYTKI
( G9 )
P0W9 U05
ZASILACZ NIESTABILIZOWANY
ZN 100L
2A/4A peak
+36V DC
P0W9 U06
A
8
6
5
4
3
2
P0Header 601
1
P0Header 606
P0Header 605
P0Header 604
P0Header 603
P0Header 602
A
STEROWNIK SILNIKA
KROKOWEGO
SMC 81RP
max 1,5A / faze +10...36V DC
# 05-001087
Header 6
W9 U
Header 6 - F
PRZEJŚCIÓWKA (ZASILANIE + FAZY SILNIKA) ZN100L I 5BYG081D Z SMC81RP
BEZPOŚREDNIE POŁĄCZENIE STEROWNIKA DO SILNIKA
PRACA SILNIKA NA POJEDYNCZYM UZWOJENIU
W9 UB Header 6 - M
1
3
2
W10 PC
P0W10 PC01
P0W10 PC01B
PC01A
P0W10 PC03
P0W10 PC03B
PC03A
P0W9 UB01
PWR2.5
P0L101
P0L301
L1
L2
P0L102
Inductor
10mH
P0L201
P0L202
Inductor
10mH
1
2
P0W8U03 3
P0W8U04 4
P0W8U05 5
P0W8U06 6
P0W8U07 7
P0W8U08 8
P0W8U09 9
P0W8U010
10
Header 10 - F
C
W8 PA
1 P0W8 PA01
2 P0W8 PA02
3 P0W8 PA03
4 P0W8 PA04
5 P0W8 PA05
6 P0W8 PA06
7 P0W8 PA07
8 P0W8 PA08
9 P0W8 PA09
10 P0W8 PA010
PWR2.5
P0G1002B
P0G1002A
6
5
4
3
2
1
P0G902
P0G901
P0G903
P0G904
P0G905
P0G906
P0L401
P0L302
W8U
P0W8U01
P0W8U02
P0VCC 0 CZARNY
Vcc - CZARNY
0 CZAR+CZERW
GND -P0GND
CZAR+CZERW
W8 PB
P0A
0 CZERWONY
A - CZERWONY
P0A/ 0 ¯Ó£TY
A/ - ŻÓŁTY
P0A* 0 NIEBIESKI
A* - NIEBIESKI
P0A*/ 0 CZARNY
A*/ - CZARNY
P0B
0 BR¥ZOWY
B - BRĄZOWY
P0B/ 0 ZIELONY
B/ - ZIELONY
P0B* 0 BIA£Y
B* - BIAŁY
P0B*/ 0 CZAR+CZERW
B*/ - CZAR+CZERW
Header 10 - M
1
P0W8 PB02
2
P0W8 PB03
3
P0W8 PB04
4
P0W8 PB05
5
P0W8 PB06
6
P0W8 PB07
7
P0W8 PB08
8
P0W8 PB01
1
2
3
4
5
6
7
8
P0G801
P0G802
P0G803
P0G804
P0G805
P0G806
P0G807
P0G808
P0R1802
P0R1902
P0L402
R18
0.1R
G8
0 CZERWONY
Vcc - P0VCC
CZERWONY
0 NIEBIESKI
GND -P0GND
NIEBIESKI
P0A
0 CZERWONY
A - CZERWONY
P0A/ 0 ¯Ó£TY
A/ - ŻÓŁTY
P0A* 0 NIEBIESKI
A* - NIEBIESKI
P0A*/ 0 CZARNY
A*/ - CZARNY
P0B
0 BR¥ZOWY
B - BRĄZOWY
P0B/ 0 ZIELONY
B/ - ZIELONY
P0B* 0 BIA£Y
B* - BIAŁY
P0B*/ 0 FIOLETOWY
B*/ - FIOLETOWY
P0R2002
B
0.1R
Header 10 - M
L3
Inductor
10mH
R20
P0B
0 BR¥ZOWY
B - BRĄZOWY
P0B/ 0 ZIELONY
B/ - ZIELONY
L4
Inductor
10mH
M
G10
Header 6 - M
P0R2001
P0R1901
B
0 CZERWONY
Vcc - P0VCC
CZERWONY
0 NIEBIESKI
GND -P0GND
NIEBIESKI
P0A
0 CZERWONY
A - CZERWONY
P0A/ 0 ¯Ó£TY
A/ - ŻÓŁTY
P0R1801
1 P0W8 UA01
2 P0W8 UA02
3 P0W8 UA03
4 P0W8 UA04
5 P0W8 UA05
6 P0W8 UA06
7 P0W8 UA07
8 P0W8 UA08
9 P0W8 UA09
10 P0W8 UA010
1
3
P0G1003
P0G1003B
P0G1003A
2
P0G1002
W8 UA
P0G1001
P0G1001B
P0G1001A
P0W9 UB02
P0W9 UB03
P0W9 UB04
P0W9 UB05
P0W9 UB06
6
5
4
3
2
1
P0W10 PC02
P0W10 PC02B
PC02A
OUT: ZN100 / IN: SMC81
A A/ B B/ GND Vcc
G9
R19
0.1R
AP0A
P0A/
A/
P0A*
A*
P0A*/
A*/
BP0B
P0B/
B/
P0B*
B*
P0B*/
B*/
OUT: 57 BYG 081
Header 8 - M
P0K102
P0K101
P0K103
Header 8 - F
P0K105
SILNIK KROKOWY 2-FAZOWY
57BYG 081D
1.8 5V 1A 55N cm 5 Ohm
A CZERWONY
A\ ŻÓŁTY
A* NIEBIESKI
A*\ CZARNY
B BRĄZOWY
B\ ZIELONY
B* BIAŁY
B*\ FIOLETOWY
C
P0K104
PRZEJŚCIÓWKA DO PRACY Z PŁYTKĄ ( STEROWANIE Z PC LUB ZD100 )
P0K106
K1
P0K107
P0K108
Relay-DPDT
P0K202
P0K302
P0K203
P0K303
P0K205
P0K305
P0K206
P0K306
P0K201
P0K301
P0K204
P0K304
K2
P0K207
P0K208
Relay-DPDT
D1
P0D101
P0D102
Diode 1N4148
Vcc P0VCC
+5V+5VDC
DC
D
SZEREGOWO UZW.
S8
3P0S803
P0S802
2
1P0S801
SW-SPDT
K3
P0K308
P0K307
Relay-DPDT
D2
P0D202
P0D201
Diode 1N4148
S9 PO 1 UZW.
3P0S903
P0S902
2
1P0S901
PO 2 UZW.
SW-SPDT
D
RÓWNOLEGLE UZW.
Title
Schemat połączeń uzwojeń silnika w pracy bezpośredniej lub z płytką
PEDASK
Size
Number
Revision
A3
Date:
File:
1
2
3
4
5
6
2007-01-26
Sheet of
W:\work_studia\..\uzwojenia_sil_ster.schdocDrawn By: Anna Cieśnik
7
Rysunek 3.24: Schemat połączeń uzwojeń silnika do pracy w trybie 0
8
3.9. Montaż układu w poszczególnych konfiguracjach
59
Okablowanie
Dokładny opis sygnałów i przewodów wraz z zaznaczeniem kolorów znajduje się
na rys. 3.25.
3.9.2 1 tryb pracy — sterowanie z ZD100, pomiary na licznikach
Ta konfiguracja wykorzystuje płytkę edukacyjną jako listwę złączeniową. Wszystkie sygnały zostają wyprowadzone na PEdASK. Zaletą tego układu jest możliwość
obserwacji sygnałów sterujących SMC81RP na diodach DS8 − DS15, m.in. sygnał
kierunku DIR i taktowania CLK pochodzące z zadajnika. Dodatkowo przełączanie
mikrokroku (M1 − M3) oraz zmiana stanu sygnału zezwolenia EN i STOP’u została przeniesiona na wygodne przełączniki na płytce drukowanej. Dużym atutem
w stosunku do 0-wego trybu pracy jest przełączanie uzwojeń silnika, co wcześniej
nie było możliwe. Stosowne przełączniki znajdują się po prawej stronie PEdASK.
Wyprowadzenie kanałów A ,B i C z przetwornika obrotowo-impulsowego MOK40
steruje diodami DS7 − DS9 oznaczającymi stan logiczny tych sygnałów.
Montaż stanowiska
Gniazdo G4 połączyć z wtykiem W3C, natomiast pozostałe rozgałęzienia kabla pozostawić jak w 0-wym trybie pracy — W4A z W4U, W3A z MD100 (1),
W3B z LP100 (1), przy czym ostanie dwa można połączyć zamiennie. Pod żadnym pozorem nie podłączać innego wtyku tego rozgałęzionego przewodu do płytki
poza wtykiem W3C, ponieważ spowoduje uszkodzenie elektorniki PEdASK. Sygnały
sterujące z zadajnika ZD100 (2) wyprowadzić na płytkę, przez podłączenie wtyku
W5A do złącza ZD100 (2) oraz W5B z G5 płytki drukowanej. Doprowadzić zasilanie dla płytki zewnętrznym zasilaczem ZN9/300 do gniazda G7. G8 połączyć
z W8PB, drugi koniec W8PA z W8U — wyprowadzonymi uzwojeniami silnika. Kolory przewodów po obu stronach złącza powinny się zgadzać. Zasilanie z ZN100L
wprowadzić do układu przez podłączenie W10PC z G10. Przypadkowa zamiana obu
zasilań nie spowoduje uszkodzenia, ponieważ przekrój złącza PWR został dobrany
w ten sposób, aby nie było możliwe załączenie wyższego napięcia na płytkę niż dopuszczalne. Gniazdo G9 wprowadza sygnały sterowania fazami silnika przez wtyk
W9U. Natomiast sterowania do SMC81RP należy doprowadzić przez taśmę, zwracając szczególną uwagę na oznaczenia pierwszego pinu na płytce (czarną kropką) —
W11A do gniazda G11, a drugi koniec taśmy W11B do złącza sterującego sterownika silnika krokowego, po uprzednim wyciągnięciu ewentualnych zworek. Listwa
zaciskowa powinna w obu przypadkach kierować taśmę na zewnątrz urządzenia.
Szczegółowy opis pinów znajduje się na rys. 3.26.
3.9. Montaż układu w poszczególnych konfiguracjach
60
Okablowanie
Do montażu należy wykorzystać okablowanie z rys. 3.26.
3.9.3 2 tryb pracy — jednoczesne wykorzystanie komputera
i urządzeń do sterowania/pomiarów
Do tego trybu pracy należy podłączyć jeszcze jeden przewód do łącza LPT komputera. Zasadniczo tą konfigurację można podzielić na dwa przypadki: sterowanie
z komputera za pomocą portu LPT i oprogramowania inżynierskiego, przy pomiarach prowadzonych na licznikach. Wystarczy wówczas tylko połączyć G1 z PC,
reszta połączeń pozostawić jak w 1-wszym trybie pracy. Drugi przypadek polega
na sterowaniu z zadajnika i dokonywaniu pomiarów na komputerze, przy czym nie
jest konieczne odłączanie przewodów z zadajnika. Ogólny schemat połączeń został
przedstawiony na rys. 3.27.
Montaż stanowiska
Dodatkowo w stosunku do trybu drugiego należy połączyć gniazdo G1 z wtykiem
W1A, natomiast drugi koniec W1B z portem LPT komputera.
Okablowanie
Do montażu należy wykorzystać okablowanie z rys. 3.26.
3.9.4 3 tryb pracy — sterowanie i pomiar na komputerze
Montaż stanowiska
Montaż układu w tej konfiguracji jest analogiczny do poprzedniego trybu pracy,
za wyjątkiem połączenia z zadajnikiem, które jest całkowicie zbędne oraz połączeniem enkoder – PEdASK, gdzie należy bezpośrednio połączyć wtyk W4U z gniazdem G4. Przetwornik obrotowo-impulsowy jest teraz zasilany z płytki. Kompletny
opis wszystkich połączeń do pracy w tej konfiguracji, stanowiącej ostateczną wersję
nowego stanowiska został przedstawiony na schemacie montażowym (rys.3.28).
Okablowanie
Do montażu należy wykorzystać okablowanie z rys. 3.26.
3.10. Zbudowane stanowisko do badania własności silnika krokowego
61
3.10 Zbudowane stanowisko do badania własności silnika
krokowego
Fotografia w pełni funkcjonalnego stanowiska w ostatecznym połączeniu zamieszczono na rys. 3.29 Konfiguracja połączeń jest zgodna z opisem z rozdziału 3.9.4 oraz
schematem montażowym 3.28.
Rysunek 3.29: Fotografia zbudowanego stanowiska do badania własności silnika
krokowego
3.11 Pomiary i ograniczenia
Zbadano sygnał taktujący CLK generowany przez zadajnik ZD100 na wejściu
sterownika silnika krokowego SMC81RP. Ma on przebieg typowo impulsowy (rys.
3.30), natomiast ten sam sygnał na wejściu portu LPT, po odfiltrowaniu wysokich
częstotliwości przez układ PEdASK ma o wiele ładniejszy, wygładzony przebieg
z wyraźnym stanem logicznym na poziomie 0V (rys. 3.30). Niestety impulsy te
trwają zbyt krótko, aby odczytać je na komputerze z aktualnym systemem.
Sterowanie impulsowe okazuje się bardzo dobrze sprawdzać, zwłaszcza przy dużych częstotliwościach.
Sygnał taktujący generowany przez komputer (oprogramowanie inżynierskie) ma
przebieg prostokątny o zmiennym czasie wypełnienia, ściśle zależnym od obciążenia
systemu innymi zadaniami. Błędy w opóźnieniach sygnałów oraz nawet ich chwilowy
3.11. Pomiary i ograniczenia
62
zanik może powodować drgania silnika, którego praca jest uzależniona od sygnałów
sterujących i bezwładności przy niezerowej masie silnika, które można zaniedbać
przy odpowiednim sterowaniu.
Rysunek 3.30: Pomiar sygnału sterującego CLK pomiędzy zadajnikiem a sterownikiem SMC81RP
Rysunek 3.31: Pomiar sygnału sterującego CLK na wejściu portu LPT
Natomiast analiza stanów logicznych na porcie LPT w czasie trwania pracy
układu sterowanego z zadajnika umieszczono poniżej (rys. 3.32). Jednoznacznie widać przebieg sygnałów z obu kanałów pochodzących z enkodera MOK40. W ostatnim wierszu tego wykresu sygnał umieszczono przebieg obsługi przerwania. Czas
obsługi przyjęcia pojedynczej porcji danych jest wyznaczony czasem trwania stanu
„L”.
3.12. Zalecenia użytkowania układu
63
Rysunek 3.32: Pomiar sygnałów w monitorze portu LPT
Wyznaczanie przebytej drogi i położenia silnika opiera się zliczaniu impulsów,
a kierunek obrotu jest wyznaczony przez przesunięcie fazowe tych dwóch kanałów
pochodzących z przetwornik obrotowo-impulsowego (rys. 3.33).
Rysunek 3.33: Zmiana kierunku obrotu silnika
3.12 Zalecenia użytkowania układu
Do zezwolenia pracy sterownika SMC81RP należy ustawić przełączniki STOP
w stan logiczny „1”, natomiast ENABLE „0”, zgodnie z zaleceniami w dokumentacji
sterownika silnika krokowego [27].
Przed przystąpieniem do pomiarów należy podpiąć sondę lub specjalne „żabki”,
ustawić maksymalny zakres pomiarów na przyrządzie pomiarowym dopiero wtedy
załączy zasilanie do układu i poszukiwać odpowiednich ustawień.
3.13. Wnioski
64
Przy dokonywaniu pomiarów na bocznikach prądowych R19 i R20 oscyloskopem,
należy zwrócić szczególną uwagę, aby nie zewrzeć tych dwóch sygnałów. W celu
zabezpieczenia układu przed takimi ewentualnościami, wyprowadzono odpowiednie
potencjały na gniazda pomiarowe G12 i G13.
W żadnym przypadku nie wolno załączać dwóch kanałów jednoczenie do jednego
oscyloskopu, ponieważ grozi to uszkodzeniem sterownika. Jest to związane z typową
budową oscyloskopów, bez separacji galwanicznej kanałów. Pomiary te można wykonywać tylko na wyraźne polecenie prowadzącego. Do przeprowadzania pomiaru
na jednym oscyloskopie należy wykorzystać specjalne sondy pomiarowe, które ze
względu na specyfikę nie są jeszcze zawarte w zestawie tego stanowiska.
3.13 Wnioski
Układ PEdASK został zaprojektowany jako uniwersalny układ do pracy w wielu
konfiguracjach na tym stanowisku. Jego zasada działania jest względnie prosta,
a wykonanie stosowne do charakteru pracy. Dużym atutem tego układu było wykorzystanie w kolejnych etapach powstawania projektu.
W dalszej części rozwijania zagadnienia sterowania silnikami krokowymi należałoby się jednak skupić na miniaturyzacji układu, zapewnia sprzętowego wspomagania przy sterowaniu (pamięć układu). Idąc w drugim kierunku – pomiarów,
wskazane jest wykorzystanie zegara i pamięci zewnętrznej, aby czas zmiany sygnałów i ich stan był zapisany niezależnie od obciążenia systemu operacyjnego. Wykorzystanie układów FPGA do w.w. celów jest możliwe i umożliwia uniezależnienie
dokonywania zmian w budowie samej płytki drukowanej od wprowadzania kolejnych
udoskonaleń i funkcji pomiędzy stałą liczbą połączonych portów we/wy.
65
3.13. Wnioski
1
2
URZĄDZENIA
3
4
PRZEWODY
URZĄDZENIA
SMC81 IN
M1, M2, M3 - ustawianie
ZŁĄCZE - TAŚMA DO SMC81 mikrokroku,
ENABLE zwarte do masy 16
zezwolenie na pracę
GND
sterownika,
STOP
ZD100 ZłĄCZE WYJŚCIOWE STERUJĄCE
PORTY WYJŚCIOWE OPTOIZOLOWANE
ZD100 (2)
P0ZD100
5 (2)05
KOLEKTOR OUT6P0KOLEKTOR OUT6
P0ZD100
9 (2)09
P0GND EMITER OUT(306)
GND EMITER OUT(3-6)
P0ZD100
4 (2)04
KOLEKTOR OUT5P0KOLEKTOR OUT5
P0ZD100
8 (2)08
KOLEKTOR OUT4P0KOLEKTOR OUT4
P0ZD100 (2)010
P0ZD100
3 (2)03
10
KOLEKTOR OUT3P0KOLEKTOR OUT3
P0ZD100
7 (2)07
P0CLK/ (GND)
CLK/ (GND)
P0ZD100 (2)011
P0ZD100
2 (2)02
11
P0CLK
CLK
P0ZD100
6 (2)06
P0DIR
DIR
P0ZD100
1 (2)01
P0DIR/ (GND)
DIR/ (GND)
G2
5
9
4
P0G208
8
P0G203
3
P0G207
7
P0G202
2
P0G206
6
P0G201
1
P0G205
P0G204
P0G2010
10
P0G2011
11
DB9 - F
A
P0GND
P0G209
P0STOP
P0GND 0 CZARNY
GND - CZARNY
15
P0CLK/ (GND)
0 CZARNY
CLK/ (GND)
- CZARNY
0 ZIELONY
CLK P0CLK - ZIELONY
P0DIR/ (GND) 0 CZARNY
DIR/ (GND)
- CZARNY
0 CZERWONY
DIR P0DIR - CZERWONY
M3
M2
M1
DIRP0DIR
EN
P0CLK
CLK
1
2
5
6
1
N0GND
A
DB9 - M
Bez płytki PEDASK
niezbędne są zworki.
Przy podłączeniu płytki
należy zdjąć wszystkie
zworki z M1, M2, M3 oraz
ENABLE i nałożyć taśmę.
GND
SILNIK KROKOWY 57BYG081
W8U
P0VCC 0 CZERWONY
Vcc - CZERWONY
P0GND 0 NIEBIESKI
GND - NIEBIESKI
P0A
0 CZERWONY
A - CZERWONY
A/ - ŻÓŁTY P0A/ 0 ¯Ó£TY
P0A* 0 NIEBIESKI
A* - NIEBIESKI
P0A*/ 0 CZARNY
A*/ - CZARNY
P0B
0 BR¥ZOWY
B - BRĄZOWY
P0B/ 0 ZIELONY
B/ - ZIELONY
B* - BIAŁY P0B* 0 BIA£Y
P0B*/ 0 FIOLETOWY
B*/ - FIOLETOWY
B
W8 UA
1
2
3
P0W8U04 4
P0W8U05 5
P0W8U06 6
P0W8U07 7
P0W8U08 8
P0W8U09 9
P0W8U010
10
1 P0W8 UA01
2 P0W8 UA02
3 P0W8 UA03
4 P0W8 UA04
5 P0W8 UA05
6 P0W8 UA06
7 P0W8 UA07
8 P0W8 UA08
9 P0W8 UA09
10 P0W8 UA010
P0W8U01
P0W8U02
P0W8U03
Header 10 - F
SMC81 ZŁĄCZE WYJŚCIOWE, ZASILANIA
P0VCC 0 CZERWONY
Vcc - CZERWONY
0 NIEBIESKI
GND -P0GND
NIEBIESKI
P0A
0 CZERWONY
A - CZERWONY
P0A/ 0 ¯Ó£TY
A/ - ŻÓŁTY
W9 UB
W9U
6
P0W9 UB05
5
P0W9 UB04
4
P0W9 UB03
3
P0W9 UB02
2
P0W9 UB01
1
6
5
4
3
2
1
P0W9 UB06
P0B
0 BR¥ZOWY
B - BRĄZOWY
P0B/ 0 ZIELONY
B/ - ZIELONY
Header 6 - M
B
P0W9U06
P0W9U05
P0W9U04
P0W9U03
P0W9U02
P0W9U01
Faza - P0FAZA
A 0 A
Faza -P0FAZA
A/ 0 A/
Faza - P0FAZA
B 0 B
Faza -P0FAZA
B/ 0 B/
P0ZASIL0SMC81 GND
Zasil.SMC81
GND
P0ZASIL0SMC81 32V
+
Zasil.SMC81
32V
+
SMC 81
Header 6 - F
Header 10 - M
ENKODER MOK40
W4 U
5 U05
P0W4
P0GND
0 NIEBIESKI
- NIEBIESKI
9 U09
P0W4
4 U04
P0W4
P0KANA£ B 0 BIA£Y
KANAŁ B - BIAŁY
8 U08
P0W4
3 U03
P0W4
P0KANA£ A 0 CZARNY
KANAŁ A - CZARNY
7 U07
P0W4
2 U02
P0W4
P0KANA£ C 0 POMAR0
KANAŁ C - POMAR.
6 U06
P0W4
1 U01
P0W4
Vcc - BRĄZOWYP0VCC 0 BR¥ZOWY
C
GND
P0W4 A09
P0GND
P0KANA£
0 A
KANAŁ
-A
KANAŁ - C
P0KANA£ 0 C
D
P0VCC +12V
Vcc +12V
10
P0W4 A010
11
P0W4 A011
P0W4 U010
P0W4 U011
10
11
LP100 (1)
5
9 (1)09
P0LP100
4 (1)04
P0LP100
8 (1)08
P0LP100
P0LP100 (1)010
3 (1)03
10
P0LP100
7 (1)07
P0LP100
P0LP100 (1)011
2 (1)02
11
P0LP100
6 (1)06
P0LP100
1 (1)01
P0LP100
GND
MD100 (1)
5
9
4
8 (1)08
P0MD100
P0MD100
3 (1)03
10(1)010
P0MD100
7 (1)07
P0MD100
P0MD100
2 (1)02
11(1)011
P0MD100
6 (1)06
P0MD100
1 (1)01
P0MD100
P0KANA£
0 C
KANAŁ
-C
Vcc +12V
P0VCC +12V
10
P0W3 B010
11
P0W3 B011
P0SZARY
SZARY
C
10
P0W3 C010
11
P0W3 C011
DB9 - F
5
P0W3
9 B09
P0W3
4 B04
P0W3
8 B08
P0W3 B03
3
P0W3 B07
7
P0W3 B02
2
P0W3
6 B06
P0W3
1 B01
P0ZIELONY
ZIELONY
P0CZERWONY
CZERWONY
P0¯Ó£TY
ŻÓŁTY
P0SZARY
SZARY
P0BIA£Y
BIAŁY
D
DB - M
W3 A
5
9
4
8
P0W3
3 A03
P0W3
7 A07
P0W3
2 A02
P0W3
6 A06
P0W3
1 A01
P0W3 A05
Przy połączeniu bezpośrednim urządzeń, należy podłączyć przewody jak na schemacie.
P0W3 A09
P0W3 A04
P0MD100 (1)04
DB9 - F
P0¯Ó£TY
ŻÓŁTY
P0W3 B05
P0MD100 (1)09
P0KANA£
0 A
KANAŁ
-A
P0W3 C04
W3 B
P0MD100 (1)05
P0GND
P0KANA£
0 B
KANAŁ
-B
P0W3 C09
P0CZERWONY
CZERWONY
DB9 - M
DB9 - F
MD100
P0W3 C05
P0ZIELONY
ZIELONY
P0W4 A04
P0LP100 (1)05
P0KANA£
0 B
KANAŁ
-B
5
9
4
P0W4 A08
8
P0W4 A03
3
P0W4 A07
7
P0W4 A02
2
P0W4 A06
6
P0W4 A01
1
P0W4 A05
DB9 - F
LP100
W3 C
5
9
4
8 C08
P0W3
3 C03
P0W3
7 C07
P0W3
2 C02
P0W3
6 C06
P0W3
1 C01
P0W3
W4 A
GND
P0W3 A08
10
P0W3 A010
11 A011
P0W3
Należy zwrócić uwagę na przewód z czterema gniazdami DB9.
Przy pracy układu bez płytki PEDASK, jeden przewód (najdłuższy) pozostaje
niepodłączony - W3 C.
Zamienienie wtyków W3 A, W3 B nie ma znaczenia.
Zasilanie do enkodera MOK jest doprowadzone z liczników przez wtyk W4 A.
DB9 - M
E
E
F
F
G
G
Title
H
H
Przewody i połączenia do pracy bezpośredniej
Size
Number
Revision
A3
Date:
File:
1
2
3
2007-01-26
Sheet of
W:\work_studia\..\kabelki_bez_plytki.schdocDrawn By: Anna Cieśnik
4
Rysunek 3.25: Opis przewodów do montażu stanowiska w 0 trybie pracy
66
3.13. Wnioski
1
2
URZĄDZENIA
ENKODER MOK40
W4 U
5
9
4
P0W4
8 U08
P0W4
3 U03
P0KANA£ A 0 CZARNY
KANAŁ A - CZARNY
P0W4
7 U07
P0W4
2 U02
P0KANA£ C 0 POMAR0
KANAŁ C - POMAR.
P0W4
6 U06
P0W4
1 U01
P0VCC
0 BR¥ZOWY
Vcc - BRĄZOWY
GND
P0GND
- NIEBIESKI
10
P0W4 A010
11
P0W4 A011
P0W4 U011
10
11
LP100 (1)
5
9
4
P0LP100
8 (1)08
P0LP100 (1)010
P0LP100
3 (1)03
10
P0LP100
7 (1)07
P0LP100 (1)011
P0LP100
2 (1)02
11
P0LP100
6 (1)06
P0LP100
1 (1)01
P0KANA£ 0 C
C
KANAŁ
B
+12V
Vcc P0VCC
+12V
10
P0W3 B010
11
P0W3 B011
P0KANA£ 0 C
C
KANAŁ
+12V
Vcc P0VCC
+12V
CZERWONY
P0CZERWONY
P0G3010
10
P0¯Ó£TY
ŻÓŁTY
P0G3011
11
P0SZARY
SZARY
P0BIA£Y
BIAŁY
5
9
4
8
P0W3 A03
3
P0W3 A07
7
P0W3 A02
2
P0W3 A06
6
P0W3 A01
1
11
P0W3 A011
DB9 - F
+12V
VccP0VCC
+12V
GND P0GND
P0KANA£ 0- BB
KANAŁ
P0KANA£ 0- AA
KANAŁ
P0KANA£ 0- CC
KANAŁ
B
G2
Zaleca się stosować bezpośrednie połączenie enkodera MOK40
z płytką PEDASK:
- wtyk W4U do gniazda G4, bez korzystania z dodatkowego
okablowania
- liczniki LP100 i MD100 nie są wówczas wykorzystywane
- enkoder w takim połączeniu zasialny jest z płytki.
P0W3 A08
10
P0KANA£ 0- CC
KANAŁ
LP 100/MD 100
OUT: A B C GND
Po lewej stronie schematu zaznaczono złącza urządzeń, po
prawej stronie, gniazda w płytce PEDASK.
P0W3 A04
P0W3 A010
A
P0KANA£ 0 A
KANAŁ
-A
5P0G305
9P0G309
4P0G304
8P0G308
3P0G303
7P0G307
2P0G302
6P0G306
1P0G301
P0ZIELONY
ZIELONY
P0W3 A09
P0MD100 (1)08
P0KANA£ 0 B
KANAŁ
-B
MOK 40
IN: A B C, OUT: Vcc GND
5P0G205
9P0G209
4P0G204
8P0G208
3P0G203
7P0G207
2P0G202
6P0G206
1P0G201
P0W3 A05
P0MD100 (1)04
GND P0GND
G3
5
9
4
P0W3 B08
8
P0W3 B03
3
P0W3 B07
7
P0W3 B02
2
P0W3 B06
6
P0W3 B01
1
W3 A
P0MD100 (1)09
P0KANA£ 0 A
A
KANAŁ
11
DB - M
MD100 (1)
5
9
4
8
P0MD100 (1)010
3 (1)03
10
P0MD100
7 (1)07
P0MD100
P0MD100 (1)011
2 (1)02
11
P0MD100
P0MD100
6 (1)06
P0MD100
1 (1)01
P0GND
P0KANA£ 0 B
B
KANAŁ
11
P0G4011
P0W3 B04
P0MD100 (1)05
GND
P0G4010
10
DB9 - F
P0W3 B09
DB9 - F
MD100
P0SZARY
SZARY
10
P0W3 C011
P0W3 B05
P0LP100 (1)04
P0KANA£ 0 A
A
KANAŁ
P0¯Ó£TY
ŻÓŁTY
P0W3 C010
W3 B
P0LP100 (1)09
KANAŁ - B
P0W3 C04
DB9 - M
P0LP100 (1)05
P0GND
5P0G405
9P0G409
4P0G404
8P0G408
3P0G403
7P0G407
2P0G402
6P0G406
1P0G401
P0W3 C09
P0CZERWONY
CZERWONY
P0W4 A08
P0W4 U010
G4
P0W3 C05
P0ZIELONY
ZIELONY
P0W4 A04
DB9 - F
P0KANA£ 0 B
5
9
4
8
P0W4 A03
3
P0W4 A07
7
P0W4 A02
2
P0W4 A06
6
P0W4 A01
1
P0W4 A09
P0W4 U04
GND
W3 C
5
9
4
P0W3
8 C08
P0W3
3 C03
P0W3
7 C07
P0W3
2 C02
P0W3
6 C06
P0W3
1 C01
P0W4 A05
P0W4 U09
LP100
4
PEDASK
W4 A
P0W4 U05
0 NIEBIESKI
P0KANA£ B 0 BIA£Y
KANAŁ B - BIAŁY
A
3
PRZEWODY
10
P0G2010
11
P0G2011
DB9 - M
GND P0GND
P0KANA£ 0- BB
KANAŁ
P0KANA£ 0- AA
KANAŁ
LP 100/MD 100
OUT: A B GND
ZD100 ZłĄCZE WYJŚCIOWE STERUJĄCE
C
PORTY WYJŚCIOWE OPTOIZOLOWANE
ZD100 (2)
5 (2)05
P0ZD100
P0KOLEKTOR OUT6
KOLEKTOR OUT6
9 (2)09
P0ZD100
P0GND EMITER OUT(306)
GND EMITER OUT(3-6)
4 (2)04
P0ZD100
P0KOLEKTOR OUT5
KOLEKTOR OUT5
8 (2)08
P0ZD100
P0KOLEKTOR OUT4
KOLEKTOR OUT4
P0ZD100
3 (2)03
10(2)010
P0ZD100
P0KOLEKTOR OUT3
KOLEKTOR OUT3
7 (2)07
P0ZD100
P0CLK/ (GND)
CLK/ (GND)
P0ZD100 (2)011
2 (2)02
11
P0ZD100
P0CLK
CLK
6 (2)06
P0ZD100
P0DIR
DIR
1 (2)01
P0ZD100
P0DIR/ (GND)
DIR/ (GND)
DB9 - F
W5 A
5
9
4
P0W5 A08
8
P0W5
3 A03
P0W5
7 A07
P0W5 A02
2
P0W5 A06
6
P0W5 A01
1
W5 B
5
9
4 B04
P0W5
8 B08
P0W5
3 B03
P0W5
7 B07
P0W5
2 B02
P0W5
6 B06
P0W5
1 B01
P0W5
P0W5 A05
10
P0W5 A010
11
P0W5 A011
C
G5
5P0G505
9P0G509
4P0G504
8P0G508
3P0G503
7P0G507
2P0G502
6P0G506
1P0G501
P0W5 B05
P0W5 A09
P0W5 A04
P0W5 B09
P0BIA£Y
BIAŁY
P0¯Ó£TY
ŻÓŁTY
P0ZIELONY
ZIELONY
P0CZERWONY
CZERWONY
P0SZARY
SZARY
10
10
P0G5010
11
11
P0G5011
P0W5 B010
P0W5 B011
DB9 - F
DB9 - M
GND
P0GND
(GND)
CLK/P0CLK/
(GND)
CLK P0CLK
DIR P0DIR
(GND)
DIR/P0DIR/
(GND)
ZD 100 (2)
DB9 - M
PC - LPT
W1A
13
25
12
240 25 F024
P0DHP8
110 25 F011
P0DHP8
230 25 F023
P0DHP8
100 25 F010
P0DHP8
220 25 F022
P0DHP8
P0DHP890 25 F09
210 25 F021
P0DHP8
P0DHP880 25 F08
200 25 F020
P0DHP8
P0DHP870 25 F07
190 25 F019
P0DHP8
P0DHP860 25 F06
180 25 F018
P0DHP8
P0DHP850 25 F05
170 25 F017
P0DHP8
P0DHP840 25 F04
160 25 F016
P0DHP8
P0DHP830 25 F03
150 25 F015
P0DHP8
P0DHP820 25 F02
140 25 F014
P0DHP8
P0DHP810 25 F01
P0W1A025
P0DHP8 0 25 F025
P0W1A012
P0DHP8 0 25 F012
D
E
W1 B
13
P0W1 B013
25
P0W1 B025
12
P0W1 B012
24
P0W1 B024
11
P0W1 B011
23
P0W1 B023
10
P0W1 B010
22
P0W1 B022
9 B09
P0W1
21
P0W1 B021
8 B08
P0W1
20
P0W1 B020
7 B07
P0W1
19
P0W1 B019
6 B06
P0W1
18
P0W1 B018
5 B05
P0W1
17
P0W1 B017
4 B04
P0W1
16
P0W1 B016
3 B03
P0W1
15
P0W1 B015
2 B02
P0W1
14
P0W1 B014
1 B01
P0W1
13
25
12
P0W1A024
24
P0W1A011
11
P0W1A023
23
P0W1A010
10
P0W1A022
22
P0W1A09
9
P0W1A021
21
P0W1A08
8
P0W1A020
20
P0W1A07
7
P0W1A019
19
P0W1A06
6
P0W1A018
18
P0W1A05
5
P0W1A017
17
P0W1A04
4
P0W1A016
16
P0W1A03
3
P0W1A015
15
P0W1A02
2
P0W1A014
14
P0W1A01
1
P0W1A013
P0DHP8 0 25 F013
P0DHP8 0 25 F026
26
26
P0W1A026
27
27
P0W1A027
P0DHP8 0 25 F027
DHP8 - 25 F
DHP8 - 25 M
G1
13
25
12
24
P0G1011
11
P0G1023
23
P0G1010
10
P0G1022
22
9P0G109
P0G1021
21
8P0G108
P0G1020
20
7P0G107
P0G1019
19
6P0G106
P0G1018
18
5P0G105
P0G1017
17
4P0G104
P0G1016
16
3P0G103
P0G1015
15
2P0G102
P0G1014
14
1P0G101
P0G1013
P0A < MOK40
A < MOK40
P0G1025
P0G1012
P0B < MOK40
B < MOK40
P0G1024
26
26
P0G1026
27
27
P0G1027
P0W1 B026
P0W1 B027
DHP8 - 25 F
D
< ZD100/PC
CLKP0CLK
< ZD100/PC
IRQ <
P0IRQ <
> SMC81
CLK >P0CLK
SMC81
> SMC81
EN > P0EN
SMC81
> SMC81
DIR >P0DIR
SMC81
> SMC81
M1 > P0M1
SMC81
M2 > P0M2
SMC81
> SMC81
OVR < P0OVR <
> SMC81
M3 > P0M3
SMC81
P0OVR CLR
OVR CLR
>>
> SMC81
STOPP0STOP
> SMC81
TEST IRQ
IRQ < <
DIR/P0DIR/
TEST
A/B > P0A/B >
E
IRQ CLR
P0IRQ >
CLR >
LPT - PC
DHP8 - 25 M
N0GND
SMC81 ZŁĄCZE WYJŚCIOWE, ZASILANIA
W9U
6
5
4
3
P0W9U022
P0W9U011
6
5
4
3
2
1
P0W9U06
P0W9U05
P0W9U04
P0W9U03
SMC 81
Header 6 - F
F
SILNIK KROKOWY 57BYG081
W8U
Vcc - CZERWONY
P0VCC 0 CZERWONY
GND - NIEBIESKI
P0GND 0 NIEBIESKI
A - CZERWONY
P0A
0 CZERWONY
A/ - ŻÓŁTY
P0A/ 0 ¯Ó£TY
A* - NIEBIESKI
P0A* 0 NIEBIESKI
A*/ - CZARNY
P0A*/ 0 CZARNY
B - BRĄZOWY
P0B
0 BR¥ZOWY
B/ - ZIELONY
P0B/ 0 ZIELONY
B* - BIAŁYP0B* 0 BIA£Y
B*/ - FIOLETOWY
P0B*/ 0 FIOLETOWY
1
3
2
Vcc - CZARNY
P0VCC 0 CZARNY
GND -P0GND
CZAR+CZERW
0 CZAR+CZERW
1
2
P0W8U03 3
P0W8U04 4
P0W8U05 5
P0W8U06 6
P0W8U07 7
P0W8U08 8
P0W8U09 9
10
P0W8U010
P0W8U01
P0W8U02
Header 10 - F
W10 PC
P0G902
P0G901
G10
F
2
3
1
P0G1002B
P0G1002A
P0G1003B
P0G1003A
P0G1001B
P0G1001A
GND
P0GND
Vcc
+32V
P0VCC
+32V
PWR2.5
G8
1
2
3
4
P0W8 PB04
5
P0W8 PB05
6
P0W8 PB06
7
P0W8 PB07
8
P0W8 PB08
1
2
3
4
5
6
7
8
P0W8 PB01
P0W8 PB02
P0W8 PB03
Header 10 - M
P0G903
P0W10 PC02
P0W10 PC02B
PC02A
W8 PB
A - CZERWONY
P0A
0 CZERWONY
A/ - ŻÓŁTY
P0A/ 0 ¯Ó£TY
A* - NIEBIESKI
P0A* 0 NIEBIESKI
A*/ - CZARNY
P0A*/ 0 CZARNY
B - BRĄZOWY
P0B
0 BR¥ZOWY
B/ - ZIELONY
P0B/ 0 ZIELONY
B* - BIAŁY
P0B* 0 BIA£Y
B*/ - CZAR+CZERW
P0B*/ 0 CZAR+CZERW
P0G904
P0W10 PC03
P0W10 PC03B
PC03A
PWR2.5
1 P0W8 PA01
2 P0W8 PA02
3 P0W8 PA03
4 P0W8 PA04
5 P0W8 PA05
6 P0W8 PA06
7 P0W8 PA07
8 P0W8 PA08
9 P0W8 PA09
10 P0W8 PA010
P0G905
IN: SMC 81
Header 6 - M
P0W10 PC01
P0W10 PC01B
PC01A
W8 PA
Faza - P0FAZA
A 0 A
Faza -P0FAZA
A/ 0 A/
Faza - P0FAZA
B 0 B
Faza -P0FAZA
B/ 0 B/
Zasil.SMC81
GND
P0ZASIL0SMC81 GND
Zasil.SMC81
32V
+
P0ZASIL0SMC81 32V
+
P0G906
P0G1001
P0G1003
P0G1002
Faza -P0FAZA
A 0 A
Faza P0FAZA
- A/ 0 A/
Faza -P0FAZA
B 0 B
Faza P0FAZA
- B/ 0 B/
Zasil.SMC81
GND
P0ZASIL0SMC81 GND
Zasil.SMC81
+
P0ZASIL0SMC81 32V32V
+
G9
Header 8 - F
P0G801
P0G802
P0G803
P0G804
P0G805
P0G806
P0G807
P0G808
A P0A
A/P0A/
A*
P0A*
A*/
P0A*/
B P0B
B/P0B/
B*
P0B*
B*/
P0B*/
OUT: 57 BYG 081
Header 8 - M
G
G
SMC81 GNIAZDO WEJŚCIOWE
ZŁĄCZE - TAŚMA DO SMC81
G11
CLK
P0CLK
ENP0EN
DIR
P0DIR
M1
P0M1
M2
P0M2
M3
P0M3
STOP
P0STOP
1
2
P0Header
8X2 0 M01
3
4
P0Header
8X2 0 M03
6
P0Header 8X2 5
0 M06
P0Header
8X2 0 M05
8
P0Header 8X2 7
0 M08
P0Header
8X2 0 M07
P0Header 8X2 09M010 10
P0Header 8X2 0 M09
12 8X2 0 M011
P0Header 8X2 11
0 M012 P0Header
14 8X2 0 M013
P0Header 8X2 13
0 M014 P0Header
16 8X2 0 M015
P0Header 8X2 15
0 M016 P0Header
P0Header 8X2 0 M02
/CLK
P0/CLK
P0Header 8X2 0 M04
Header 8X2 - M
W11 A
W11 B
/DIR
P0/DIR
/CLK
P0/CLK
P0Header 8X2 0 M01
/DIR
P0/DIR
P0Header 8X2 0 M05
2
1P0Header 8X2 0 M02
4
3P0Header 8X2 0 M04
6
5P0Header 8X2 0 M06
8
7P0Header 8X2 0 M08
100 M09 P0Header
9
P0Header 8X2
8X2 0 M010
P0Header 8X212
0 M01111
P0Header 8X2 0 M012
P0Header 8X214
0 M01313
P0Header 8X2 0 M014
P0Header 8X216
0 M01515
P0Header 8X2 0 M016
P0Header 8X2 0 M03
2
1
P0Header
8X2 0 F02
3
P0Header 8X2 4
0 F03
P0Header
8X2 0 F04
5
P0Header 8X2 6
0 F05
P0Header
8X2 0 F06
7
P0Header 8X2 8
0 F07
P0Header
8X2 0 F08
9
P0Header 8X210
0 F09 P0Header
8X2 0 F010
11 8X2 0 F012
P0Header 8X2 12
0 F011 P0Header
13 8X2 0 F014
P0Header 8X2 14
0 F013 P0Header
15 8X2 0 F016
P0Header 8X2 16
0 F015 P0Header
1
2
P0Header
8X2 0 F01
4
P0Header 8X2 3
0 F04
P0Header
8X2 0 F03
6
P0Header 8X2 5
0 F06
P0Header
8X2 0 F05
8
P0Header 8X2 7
0 F08
P0Header
8X2 0 F07
P0Header 8X2 9
0 F010 10
P0Header 8X2 0 F09
P0Header 8X211
0 F01212
P0Header 8X2 0 F011
P0Header 8X213
0 F01414
P0Header 8X2 0 F013
P0Header 8X215
0 F01616
P0Header 8X2 0 F015
P0Header 8X2 0 F01
P0Header 8X2 0 F02
Header 8X2 - F
P0Header 8X2 0 M07
CLK
P0CLK
ENP0EN
DIR
P0DIR
M1P0M1
M2P0M2
M3P0M3
STOP
P0STOP
Header 8X2 - M
Header 8X2 - F
N0GND
N0GND
Title
H
H
Przewody i połączenia do pracy z płytką PEDASK
Size
Number
Revision
A3
Date:
File:
1
2
3
2007-01-10
Sheet of
W:\work_studia\..\kabelki_z_plytka.schdoc Drawn By: Anna Cieśnik
4
Rysunek 3.26: Opis przewodów do montażu stanowiska w 1, 2 i 3 trybie pracy
67
3.13. Wnioski
1
2
3
4
Vcc 230V 50Hz
ZASILACZ NIESTABILIZOWANY
ZN 100L
A
(2/3)
DB9 - F (1)
PRZETWORNIK
OBROTOWO-IMPULSOWY
SILNIK KROKOWY
2-FAZOWY (HYBRYDOWY)
(4/5)
STEROWNIK
SILNIKA KROKOWEGO
SMC81
Header2x8 - F
W11 A
DB9 - M (2)
A
1
A B C
(6)
M
D E F G H I
MOK 40
LP 100
PRĘDKOŚCIOMIERZ
A B C
D E F G H I
1
(3)
1
57BYG 081D
ZERO
220VAC
220VAC
GND
GND
+32V
+32V
1
DB9 - F (1)
ZD100
ZADAJNIK
+VCC
GND
/B
B
/A
A
(4)
Header10 - M
(2/3)
B
(4)
A B C
Vcc - CZERWONY
GND - NIEBIESKI
A - CZERWONY
A/ - ŻÓŁTY
A* - NIEBIESKI
A*/ - CZARNY
B - BRĄZOWY
B/ - ZIELONY
B* - BIAŁY
B*/ - FIOLETOWY
DB9 - F (1)
D E F G H I
1
W8 PA
B
W8 U
Header10 - F
MD 100
LICZNIK UNIWERSALNY
DB9 - F
W4 U
PWR2.1
W7 U
Header8 - F
W8 PB
C
C
W1 B
DHP8 - 25 M
W1 A
Header6 - F
W9 U
DHP8 - 25 F
A 0 CZERWONY
FAZA P0FAZA
A - CZERWONY
FAZA A/ - ZÓŁTY
FAZA B - BRĄZOWY
FAZA B/ - ZIELONY
GND - NIEBIESKI
Vcc - CZERWONY
W10 PC
PWR2.5
Title
D
Schemat blokowy - sterowanie i pomiary na PC
W11 B
Header2x8 - F
Size
Number
D
Revision
A4
Date:
File:
1
2
2007-01-26
Sheet of
W:\work_studia\..\schemat_blokowy_z.schdoc
Drawn By:
3
Anna Cieśnik
4
Rysunek 3.27: Schemat montażowy stanowiska do łączonej pracy komputera
i urządzeń sterujących/pomiarowych
1
2
3
4
Vcc 230V 50Hz
ZASILACZ NIESTABILIZOWANY
STEROWNIK
SILNIKA KROKOWEGO
SMC81
Header2x8 - F
W11 A
A
A
ZERO
220VAC
220VAC
GND
GND
+32V
+32V
+VCC
GND
/B
B
/A
A
1
ZN 100L
PRZETWORNIK
OBROTOWO-IMPULSOWY
SILNIK KROKOWY
2-FAZOWY (HYBRYDOWY)
Vcc - CZERWONY
GND - NIEBIESKI
A - CZERWONY
A/ - ŻÓŁTY
A* - NIEBIESKI
A*/ - CZARNY
B - BRĄZOWY
B/ - ZIELONY
B* - BIAŁY
B*/ - FIOLETOWY
B
M
MOK 40
Header10 - M
W8 PA
B
W8 U
Header10 - F
57BYG 081D
W4 U
DB9 - F
PWR2.1
W7 U
Header8 - F
W8 PB
C
C
W1 B
DHP8 - 25 M
W1 A
Header6 - F
W9 U
DHP8 - 25 F
A 0 CZERWONY
FAZA P0FAZA
A - CZERWONY
FAZA A/ - ZÓŁTY
FAZA B - BRĄZOWY
FAZA B/ - ZIELONY
GND - NIEBIESKI
Vcc - CZERWONY
W10 PC
PWR2.5
Title
D
Schemat montażowy - sterowanie i pomiary na PC
W11 B
Header2x8 - F
Size
Number
Revision
A4
Date:
File:
1
2
3
2007-01-26
Sheet of
W:\work_studia\..\schemat_blokowy_z_min.schdoc
Drawn By:
Anna Cieśnik
4
Rysunek 3.28: Schemat montażowy stanowiska do pracy z komputerem przez
układ PEdASK
D
Rozdział 4
Oprogramowanie
4.1 Ogólny opis
Oprogramowanie składa się z programu głównego oraz ze sterownika programowego portu LPT komputera. Program główny został napisany w języku C++
przy pomocy środowiska Borland Builder 6 [36, 20, 23]. Sterownik natomiast został
stworzony w języku C przy pomocy środowiska Windows Driver Development Kit.
Oprogramowanie umożliwia sterowanie i analizowanie, poprzez port LPT oraz
układ zewnętrzny, pracy silnika krokowego.
Aplikacja może zostać uruchomiona tylko i wyłącznie na komputerze z 32 bitowym procesorem kompatybilnym z Intel i386, na 32 bitowym systemie Microsoft
Windows XP, wymagane jest konto z uprawnieniami administratora. Ograniczenia
te wynikają z zastosowanego sterownika systemowego, który został opracowany dla
wymienionego systemu. Możliwe, że program może także pracować poprawnie pod
innymi systemami NT, jednakże nie zostało to sprawdzone.
4.2 Założenia
Oprogramowanie powstawało równolegle z układem zewnętrznym. Na początku
zostały ustalone informacje i sygnały jakimi wymieniają się te dwa składniki systemu sterowania. Jednym z założeń do oprogramowania było umożliwienie dużej
dokładności pomiaru. Z tego powodu zdecydowano się na wykorzystanie przerwania
dostępnego w porcie LPT. Jako, że komputery w laboratorium mają zainstalowany
system Microsoft Windows XP problemem okazał się dostęp do portu. Problem
ten wynika z zabezpieczeń systemu [18]. Niemożliwe jest bezpośredni zapis i odczyt
danych z tego portu. Można było wykorzystać darmowe biblioteki dostępne w Internecie. Jednakże po zaznajomieniu się z kilkoma z nich okazało się, że co prawda
umożliwiają one bezpośredni dostęp do rejestrów portu, jednak żadna nie umożliwia obsłużenia przerwania generowanego przez port. Na podstawie opisów bibliotek
68
69
4.3. Opis portu LPT
komercyjnych obsługujących przerwanie okazało się, że wymagany dostęp do rejestrów portu oraz obsługę przerwania można zrealizować wykorzystując sterownik
urządzenia pracujący w trybie jądra systemu [18].
4.3 Opis portu LPT
Rejestr bazowy portu LPT znajduje się pod adresem 378h lub 278h w zależności od ustawień BIOS’u komputera. Także przypisane do portu przerwanie można
zmienić (IRQ5 lub IRQ7). [17] W naszym oprogramowaniu wykorzystujemy adres
portu 378h i przerwanie IRQ7, i tylko przy takich ustawieniach możliwa jest współpraca oprogramowania z układem elektronicznym. Dodatkowo port powinien być
ustawiony w tryb Output only lub ECC 1.7. Natomiast w zakładce dotyczącej portu
LPT Menedżera urządzeń należy zaznaczyć opcję Korzystaj z dowolnego przerwania
przypisanego do portu. Napięcia na pinach portu wynoszą odpowiednio, dla jedynki
logicznej 2–5,5V, natomiast dla zera logicznego 0–0,8V — zgodnie ze standardem
TTL.
STROBE
1
1
14
AUTO-LINEFEED
D0
14
ERROR
D1
INIT
D2
SELECT
D3
D4
IRQ CLR ⇒
BOARD ⇐
A/B ⇒
DIR ⇐ ZD100 / IRQ TEST ⇐
STOP ⇒ SMC81
OVF CLR ⇒
M3 ⇒ SMC81
OVF ⇐
M2 ⇒ SMC81
M1 ⇒ SMC81
D5
DIR ⇒ SMC81
D6
EN ⇒ SMC81
D7
CLK ⇒ SMC81
ACK
IRQ ⇐
BUSY
CLK ⇐ ZD100 / C ⇐ MOK40
P-ERR
A ⇐MOK40
25
ONLINE
25
13
(a) Rozmieszczenie pinów w porcie
LPT
B ⇐MOK40
13
(b) Wykorzystanie pinów w porcie
LPT
Na rysunkach przedstawiono wykorzystanie poszczególnych pinów portu LPT
oraz kierunki przepływu danych.
Sygnały odbierane przez płytkę:
IRQ CLR — Sygnał kasowania przerwania zgłoszonego przez płytkę.
A/B — Ustawienie płytki w odpowiedni stan pracy.
70
4.3. Opis portu LPT
Tablica 4.1: Opis pinów oraz wykorzystania portu równoległego w zastosowanej
komunikacji PC–PEdASK
Numer pinu
(D 25)
Przydzielone
sygnały w proj.
Kierunek
In/out
Rejestr
Numer
bitu rej.
Negacja
sprzętowa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18–25
IRQ CLR ⇒
A/B ⇒
STOP ⇒ SMC81
M3 ⇒ SMC81
M2 ⇒ SMC81
M1 ⇒ SMC81
DIR ⇒ SMC81
EN ⇒ SMC81
CLK ⇒ SMC81
IRQ ⇐
CLK ⇐ ZD100 / C ⇐ MOK40
B ⇐ MOK40
A ⇐ MOK40
BOARD
DIR ⇐ ZD100 / TEST IRQ
OVR CLR ⇒
OVR ⇐
GND
In/Out
Out
Out
Out
Out
Out
Out
Out
Out
In
In
In
In
In/Out
In
In/Out
In/Out
Gnd
Kontrolny
Danych
Danych
Danych
Danych
Danych
Danych
Danych
Danych
Statusowy
Statusowy
Statusowy
Statusowy
Kontrolny
Statusowy
Kontrolny
Kontrolny
0
0
1
2
3
4
5
6
7
6
7
5
4
1
3
2
3
tak
tak
tak
tak
STOP — Sygnał stopu (patrz opis płytki).
M1, M2, M3 — Sygnały podziału kroku.
DIR — Sygnał kierunku ruchu silnika.
CLK — Sygnał zegarowy sterujący pracą silnika.
OVF CLR — Sygnał kasowania przepełnienia w płytce.
Sygnały odbierane przez komputer:
ACK — Przerwanie generowane przez płytkę.
CLK ZD100 — Sygnał zegara generowany przez ZD100.
A — Sygnał kanału A enkodera.
B — Sygnał kanału B enkodera.
BOARD — Sygnalizacja obecności płytki.
DIR ZD100 — Sygnał kierunku ruchu generowany przez ZD100.
OVF — Sygnał przepełnienia generowany przez płytkę.
W oprogramowaniu nie zaimplementowano obsługi sygnałów: C enkodera MOK40,
BOARD, OVF, OVFCLR, TESTIRQ. Niemożliwe okazało się wykorzystanie sygnału
CLK ZD100. Sygnał C enkodera MOK40 nie jest niezbędny do poprawnego działania opracowanego systemu. Sygnał OVF nie jest obsługiwany ze względu na odczyt
danych z portu w momentach wystąpienia przerwania. Obecne ustawienie sygnału
OVFCLR uniemożliwia zgłoszenie przez płytkę przepełnienia.
71
4.4. Przeznaczenie sterownika systemowego
Dostęp do poszczególnych pinów jest realizowany poprzez trzy rejestry, pierwszy znajduje się pod adresem bazowym, a następne są przesunięte względem niego
odpowiednio o +1 i +2 [17].
Tablica 4.2: Rejestr danych portu LPT, źródło [17]
bit 7 6 5 4 3 2 1 0
pin 9 8 7 6 5 4 3 2
Tablica 4.3: Rejestr statusowy portu LPT, źródło [17]
bit
pin
7 6 5 4
11 10 12 13
3 2
15 -
1 0
- -
Tablica 4.4: Rejestr kontrolny portu LPT, źródło [17]
bit 7
pin -
6 5
- dir
4
3
int 17
2
16
1 0
14 1
4.4 Przeznaczenie sterownika systemowego
Sterownik jest odpowiedzialny za komunikację pomiędzy programem a układem
elektronicznym.
Zadania jakie wykonuje sterownik:
• przekazuje sygnały sterowania z programu głównego do portu,
• obsługuje przerwanie generowane przez płytkę PEdASK,
• dokonuje podstawowego przetworzenia otrzymanych danych.
Za podstawową komunikację programu ze sterownikiem (od strony sterownika) odpowiedzialne są tzw. funkcje IOCTL (ang. Input/Output Controls) [16]. Zarówno
w programie głównym jak i w sterowniku definiowane są nazwy poszczególnych
funkcji oraz struktury danych, które będą wykorzystywane w trakcie komunikacji.
Każda funkcja IOCTL jest 32-bitowym numerem. Są one definiowane przy pomocy
dyrektywy #define. Funkcje te umożliwiają zapisywanie i odczyt danych z poszczególnych rejestrów. Są one używane gdy nie zachodzi potrzeba szybkiej wymiany
informacji. Od strony programu głównego wykorzystujemy funkcję Windows API:
DeviceIoControl podając w jej argumentach nazwę funkcji sterownika, którą chcemy
wywołać oraz odpowiednie struktury danych [16].
4.4. Przeznaczenie sterownika systemowego
72
Za komunikację programu głównego ze sterownikiem w trakcie odczytu enkodera
i/lub sterowania silnikiem odpowiedzialne są funkcje Write oraz Read. Są to standardowe funkcje sterownika, dla których dostarczamy implementacji. [15] Umożliwiają one szybką komunikację ze sterownikiem i portem LPT (są wywoływane
bezpośrednio, a nie tak jak funkcje IOCTL poprzez dodatkową funkcję). Funkcja
Write służy do zapisu danych do rejestru danych portu LPT (możliwe linie, które
można zmienić przy pomocy tej funkcji to DIR, CLK oraz ENABLE). Funkcja
Read jest używana do odczytu danych w trakcie działania przerwania. Od strony
programu głównego wywołanie tych funkcji sterownika następuje za pomocą funkcji
WriteFile oraz ReadFile.
Funkcja obsługi przerwania [13] jest najważniejszą funkcją sterownika programowego. Odpowiada ona za generowanie danych przesyłanych do programu głównego.
W momencie przyjścia przerwania od portu LPT odczytuje ona dokładny, aktualny
czas z zegara(licznika) dużej rozdzielczości (funkcja KeQueryPerformanceCounter
[14]) . Wpisując wartość 0 do czwartego bitu rejestru kontrolnego, zabraniamy
generowania przerwań. Następnie porównujemy stan poprzedni odpowiednich sygnałów ze stanem aktualnym. Jeśli wykryjemy zbocze na sygnale A lub B enkodera
to zwiększamy/zmniejszamy zmienną odpowiedzialną za wartość drogi enkodera.
Cały kod sterownika powstał na podstawie [15, 16, 13, 8]. Funkcje pobrane w
całości z wymienionych źródeł zostały wyróżnione w kodzie źródłowym sterownika.
Ponieważ funkcja obsługi przerwania powinna być wykonywana w jak najkrótszym czasie, przesłanie danych do programu głównego odbywa się w innej funkcji
[9]. W obsłudze przerwania jedynie zaznaczamy, że powinna ona zostać wykonana
(umieszczamy ją w kolejce do wykonania). Następnie umożliwiamy dalsze odbieranie przerwań.
Przy pomocy oscyloskopu zostały przeprowadzone pomiary czasu obsługi przerwania (czas pomiędzy zmianami stanu sygnału kasowania przerwania). Uzyskany
czas na komputerze zainstalowanym w laboratorium wyniósł ok. 9µs.
Odczyt sterowania ZD100 okazał się niemożliwy ze względu na bardzo krótkie
impulsy tego sygnału (1µs). Przerwanie jest generowane lecz gdy rozpocznie się jego
obsługa stan sygnału jest już taki jak przed przerwaniem, co powoduje, że sterownik
nie zauważa zmiany, która nastąpiła.
Rozwiązanie które zostało wybrane okazało się, że bardzo dobrze sprawdza się
w projekcie ponieważ system Windows XP nie jest systemem czasu rzeczywistego
[25] i niemożliwe jest, aby pogram główny nadążał za zmieniającymi się sygnałami
na porcie LPT z tak dużą częstotliwością. Jednakże mamy sprzętowo zapewnione
wywołania przerwania, dlatego w sterowniku programowym jest zabezpieczone ciągłe przetwarzanie danych. Nawet jeżeli program główny nie będzie mógł w danym
momencie odczytać sygnałów z enkodera, wewnętrzne zmienne enkodera będą zawierały poprawny, aktualny obraz danych.
4.5. Moduły aplikacji
73
4.5 Moduły aplikacji
Główne elementy aplikacji to trzy następujące obiekty:
• obiekt obsługi komunikacji ze sterownikiem,
• obiekt przetwarzający zebrane dane,
• obiekt generujący trajektorię sterowania.
4.5.1 Obiekt obsługi sterownika
Obiekt obsługi sterownika jest odpowiedzialny za ładowanie sterownika do pamięci, rejestrację sterownika w systemie i utrzymywanie uchwytu (ang. handle) do
niego (wykonanie powyższych działań jest możliwe tylko na koncie z uprawnieniami
administratora). Są w nim zaimplementowane takie ogólne funkcje jak np.: odczyt
i zapis całych rejestrów portu LPT, a także funkcje szczegółowe odpowiedzialne
już za sterowanie PEdASK oraz całym układem (zmiana podziału kroków, zmiana
trybu pracy układu PCHost/ZD100).
4.5.2 Obiekt przetwarzania danych
Obiekt przetwarzania danych zawiera struktury zbierające dane w czasie pomiarów, oraz funkcje je przetwarzające. Umożliwia także zapis i odczyt pobranych
danych do/z plików.
4.5.3 Obiekt generujący trajektorię
Obiekt generujący trajektorię to najbardziej rozbudowany obiekt. Zawiera wiele
funkcji odpowiedzialnych za generowanie odpowiednich danych, składających się na
zadany ruch silnika. Jest on maksymalnie przystosowany do łatwej obsługi przy pomocy elementów graficznych, ponieważ wchodzi on w największą interakcję z użytkownikiem.
4.6 Współpraca elementów
W programie głównym, sterowanie i odczyt danych jest przeprowadzany przy
pomocy osobnych wątków.
4.6. Współpraca elementów
74
4.6.1 Odczyt danych ze sterownika
Wątek odczytu pobiera z obiektu obsługi sterownika „uchwyt” ( ang. handle )
do sterownika. „Uchwyt” umożliwia przeprowadzanie operacji na sterowniku. Operacje te mogą zostać przez sterownik zawieszone. Wątek odczytu działa w pętli,
w której wysyła do sterownika za pomocą funkcji ReadFile żądanie przesłania danych. Sterownik domyślnie zawiesza wykonanie tej operacji (zwraca status STATUS PENDING). Pętla przechodzi do funkcji WaitFor czekając na przesłanie danych. Gdy to nastąpi, te dane są odkładane do wektora znajdującego się w obiekcie
przetwarzania danych.
Gdy odczyt danych zakończy się, następuje wywołanie funkcji przetwarzania
danych.
4.6.2 Zapis danych do sterownika
Wątek sterowania pobiera dane z obiektu generującego trajektorię silnika i przy
pomocy funkcji WriteFile wysyła je do sterownika, a ten dalej na port LPT. Dużym problemem okazało się odmierzanie czasu pomiędzy kolejnymi zapisami. Czas
ten powinien być dokładnie tym czasem, który został określony w danej pobranej
z obiektu trajektorii. Niemożliwe okazało się wykorzystanie tutaj ang. timer’ów systemowych ze względu na ich niską rozdzielczość. Zdecydowano się na zwykłe pętle
powiązane z odczytem dokładnego czasu za pomocą funkcji QueryPerformanceCounter. Nie są one idealnie dokładne, ale jest to lepsze rozwiązanie niż wykorzystanie
ang. timer’ów. Udało się także powiązać je z danym komputerem, tak że czas ich
wykonania jest na każdym komputerze zbliżony, niezależnie od rozdzielczości posiadanego zegara.
W trakcie sterowania, po wysłaniu na port zbocza narastającego sygnału CLK
odczytujemy aktualny czas zajścia zdarzenia i odkładamy jego wartość do obiektu
przetwarzania danych. Umożliwia to zobrazowanie rzeczywiście zadanego sterowania.
4.6.3 Praca programu w trybie ZD100
W trybie tym działa tylko i wyłącznie wątek odczytu danych z PEdASK. W każdej chwili poprzez naciśnięcie przycisku Stop możliwe jest przerwanie pomiaru.
Pomiar należy przeprowadzać w następującej kolejności:
1. Naciśnięcie przycisku Start w programie.
2. Rozpoczęcie sterowania z zadajnika ZD100.
3. Zakończenie sterowania z zadajnika ZD100.
4.6. Współpraca elementów
75
4. Naciśnięcie przycisku Stop w programie.
Po czasie liniowo zależnym od ilości zebranych danych zostaną one przedstawione
na wykresach. Użytkownik jest o tym informowany przez komunikaty ukazujące się
na pasku stanu aplikacji.
4.6.4 Praca programu w trybie PCHost
W tym trybie działa zarówno wątek sterowania jak i odczytu. W każdej chwili
można przerwać sterownie oraz odczyt naciskając przycisk Stop. W przypadku
dużej prędkości (powyżej 10000 imp/s) możliwe są odstępstwa pomiędzy prędkością
żądaną, a rzeczywiście zadaną.
4.6.5 Możliwe błędy
W trakcie prób sterowania silnikiem w trybie PCHost pojawiły się problemy
z przełączaniem podziału kroków w sterowniku silnika krokowego SMC81RP, rysunek 4.1. Objawiało się to tym, że pomimo przełączenia się PEdASK na żądany
podział (co jest widoczne na diodach M1, M2 i M3), sterownik nie przełączał się
natychmiast lecz po wykonaniu przez silnik kilku kroków jeszcze w poprzednim podziale. Zachowanie takie jest łatwe do zauważenia na powstałych z takich pomiarów
wykresach. Nie zaobserwowano takiego zachowania silnika przy sterowaniu z zadajnika ZD100.
Rysunek 4.1: Błędy po przełączeniu kroków
Jako, że system Microsoft Windows XP nie jest systemem operacyjnym czasu
rzeczywistego, mogą pojawić się problemy z przesyłaniem danych pomiędzy sterownikiem systemowym, a programem głównym. Tylko najważniejsze zadania systemu
są wykonywane w czasie rzeczywistym. Należy do nich także obsługa przerwań.
4.7. Interfejs użytkownika
76
Dzięki temu, że podstawowe obliczenia są przeprowadzane bezpośrednio w funkcji
Rysunek 4.2: Moment braku komunikacji
obsługi przerwania sterownika systemowego, możemy mieć pewność uzyskiwanych
wyników pomiaru przemieszczenia enkodera. Przesłanie danych pomiędzy sterownikiem a programem głównym nie zawsze jest możliwe. Powoduje to utratę punktów pomiarowych w programie głównym, co jest przedstawione na rysunku 4.2. Ze
względu na obliczenia prowadzone bezpośrednio w sterowniku, jego dane są aktualne
i program główny także otrzymuje aktualne dane.
4.7 Interfejs użytkownika
4.7.1 Opis elementów graficznych
Interfejs użytkownika został stworzony przy pomocy biblioteki VCL znajdującej się w pakiecie Borland Builder [36].
Składa się on z dwóch głównych okien.
Pierwsze z nich jest dostępne natychmiast po uruchomieniu programu. Większość jego powierzchni zajmuje wykres, na którym po wykonaniu pomiaru wykreślane są przebiegi jak na rysunku 4.3.
W tej części interfejsu znajdują się również następujące kontrolki:
• Przycisk Start/Stop odpowiedzialny za początek/koniec odczytu lub odczytu
i sterowania.
• Panel diod (ang. Check box’y) obrazujące stan diod na płytce. Zaznaczony
ang. check box oznacza diodę zaświeconą.
77
4.7. Interfejs użytkownika
Rysunek 4.3: Widok okna głównego
• Wybór rodzaju pracy przy pomocy ang. radio box’ów. Zaznaczony ang. radio
box ZD100 oznacza, że program tylko odczytuje dane dostarczane na port.
Sterowanie silnikiem odbywa się wtedy za pomocą zadajnika ZD100. Zaznaczony PC Host oznacza, że sterowanie odbywa się przy pomocy komputera.
Komputer wysyła sterowanie na port LPT oraz odczytuje dostarczane sygnały.
• Przełącznik podziału kroków. Jest on aktywny tylko wtedy, gdy zaznaczony
jest tryb pracy PC Host. Umożliwia on zmianę podziału kroków sterownika
SMC81RP.
Pasek ikon zawiera skróty do niektórych operacji.
Pierwszy od lewej to nowy plik. Jego naciśnięcie powoduje powstanie nowego
pliku pomiaru. Polecenie to kasuje wszystkie dane zebrane we wcześniejszych pomiarach oraz czyści wykresy.
Następny to otwarcie pliku pomiaru. Dzięki niemu możemy wczytać do programu
wcześniejsze pomiary i zobaczyć je na wykresie.
Dyskietka oznacza zapis pliku danych do określonej lokalizacji i pod określoną
nazwą. Ścieżka dostępu do pliku jest wyświetlana na pasku tytułowym programu.
Pasek menu zawiera następujące elementy:
• Dane,
4.7. Interfejs użytkownika
78
• Wykres,
• Pomoc,
• O programie,
• Koniec.
Menu Dane zawiera polecenia:
• Nowy plik,
• Zapis danych,
• Otwarcie danych.
Menu Wykres:
• Zapis wykresu,
• Opcje wykresu,
• Drukowanie.
Zapis wykresu umożliwia zapis wykresu w aktualnej postaci w pliku BMP (mapa bitowa). Opcje wykresu umożliwiają podstawową zmianę wyglądu przebiegów. Drukowanie umożliwia wydrukowanie wykresów. Drukowanie odbywa się na stronie
formatu A4, w pozycji poziomej.
Zaznaczenie sterowania PC Host powoduje pojawienie się drugiego okna. Jest
ono odpowiedzialne za przygotowanie trajektorii sterowania. Składa się ono z trzech
głównych elementów:
• zbioru przycisków,
• okna edycji,
• oraz pola wykresów.
Przyciski umożliwiają stworzenie pożądanej trajektorii. Naciskając je wstawiamy
w pole edycyjne kolejne polecenia generujące trajektorię. Po naciśnięciu przycisku
Oblicz sterowanie i wyświetl wyrysowywane są wykresy obrazujące aktualny wygląd
trajektorii przygotowany na podstawie komend zawartych w polu edycji.
Znajdujące się u góry okna przyciski umożliwiają wyczyszczenie danych trajektorii (nowy plik), otwarcie pliku trajektorii (otwórz plik) oraz jej zapisanie (zapisz
plik). Przycisk wyjście powoduje zamknięcie całego programu. W pasku tytułowym
okna znajduje się ścieżka dostępu do aktualnego pliku trajektorii.
Program został wyposażony w podstawową pomoc w postaci podpowiedzi (tzw.
chmurek) oraz plik pomocy, który można otworzyć przy pomocy klawisza F1, lub
wybierając z paska menu. Pomoc zawiera podstawowy opis poszczególnych okien
programu oraz sposób tworzenia trajektorii.
4.7. Interfejs użytkownika
79
Rysunek 4.4: Widok okna przygotowania trajektorii
4.7.2 Opis użytkowania
Po uruchomieniu programu możemy natychmiast przystąpić do pomiarów. W trybie ZD100 najpierw klikamy przycisk Start, a następnie uruchamiamy sterowanie
z zadajnika ZD100. Po zakończeniu sterowania należy nacisnąć przycisk Stop (jest
to ten sam przycisk co Start, został zmieniony napis).
W zależności od długości pomiarów oraz prędkości obrotowej silnika pomiary
mogą się pojawić dopiero po pewnym czasie, przez który przeprowadzane są obliczenia.
W trybie PC Host pojawia się okno przygotowania trajektorii. Trajektorię wczytujemy z wcześniej przygotowanego pliku lub tworzymy przy pomocy zestawu przycisków. Po wygenerowaniu trajektorii (musi być ona widoczna na wykresach, jej
przygotowanie odbywa się po naciśnięciu przycisku Oblicz sterowanie i wyświetl)
przechodzimy do okna głównego. Ustalamy żądany podział kroków sterownika
SMC81RP. Następnie wciskamy przycisk Start. Rozpocznie się proces sterowania,
co jest uwidocznione komunikatem na pasku stanu okna oraz zmieniającym się stanem diod na PEdASK. Silnik powinien pracować. Zatrzymanie sterowania następuje
po zakończeniu wykonania trajektorii lub po wciśnięciu przycisku Stop (ten sam co
Start — zmieniony napis).
80
4.7. Interfejs użytkownika
Rysunek 4.5: Widok okna pomocy
Zamknięcie programu w trakcie odczytu/sterowania jest niemożliwe. Jego zamknięcie przy pomocy menedżera zadań Windows spowoduje po jego ponownym
uruchomieniu pojawienie się błędu „ERORR SERVICE ALREADY RUNING”. Jest
to ostrzeżenie o tym, że sterownik portu LPT jest już załadowany i zarejestrowany
w systemie. Normalne zamknięcie aplikacji zamknie sterownik poprawnie.
4.7.3 Opis funkcji przycisków okna przygotowania trajektorii
Prędkość startowa — jest to prędkość od jakiej silnik rozpoczyna ruch, a także
prędkość na jakiej kończony jest ruch silnika. Komendę tę można umieszczać
w dowolnym miejscu programu sterowania. Jest ona wymagana na początku
każdego programu sterowania.
Prędkość maksymalna — jest to prędkość wykorzystywana przy wykonywaniu komendy ruchu Znajdź pozycję.
Przyśpieszenie — jest to ilość kroków wykonywana przez silnik przy zmianie prędkości (np. po wydaniu komendy Stała prędkość).
Stała prędkość — komenda ta powoduje, że silnik rozpędza się od prędkości startowej lub końcowej poprzedniego ruchu, do prędkości zadanej, w ilości kroków
określonej przez Przyśpieszenie. Rozkazy te mogą następować jeden po drugim. Nie jest konieczne zatrzymywanie silnika pomiędzy nimi. Niemożliwa
81
4.7. Interfejs użytkownika
Rysunek 4.6: Prędkość startowa
Rysunek 4.7: Prędkość maksymalna
jest zmiana prędkości silnika na ujemną, musi to zostać poprzedzone wyhamowaniem silnika.
Czekaj — możliwe są dwie opcje dla tej komendy. Rozkaz ten może być wykonany
z lub bez ruchu silnika. Określany jest czas ruchu w sekundach. Jak widać na
rysunku 4.10 czas oczekiwania równy 1s przy prędkości 30 kroków/s powoduje
wygenerowanie 30 kroków. Bezpośrednio przed i za tą komendą mogą się
znaleźć dowolne rozkazy.
Hamuj — silnik hamuje od aktualnej prędkości do prędkości startowej w ilości kroków określonych przez Przyśpieszenie po czym zatrzymuje się.
Zerowanie pozycji — komenda ta zeruje licznik pozycji, który jest uaktualniany
przy każdym rozkazie ruchu.
Znajdź pozycję — rozkaz ten powoduje, że silnik wykonuje następującą sekwencję
ruchów. Rozpędza się od prędkości startowej do maksymalnej, następnie po-
82
4.7. Interfejs użytkownika
Rysunek 4.8: Przyspieszenie
Rysunek 4.9: Przyspieszenie = 10 kroków Prędkość startowa = 20 kroków/s
Stała prędkość = 30 kroków/s
rusza się z prędkością maksymalną, a w momencie znalezienia się w odległości
równej Przyśpieszeniu od pozycji zadanej rozpoczyna hamowanie i zatrzymuje się na zadanej pozycji. W przypadku, gdy pozycja zadana znajduje się
bliżej niż dwie odległości Przyśpieszenia silnik osiąga prędkość maksymalną
i natychmiast zaczyna hamować. Gdy zadana pozycja jest bliżej aktualnej niż
jedna odległość Przyśpieszenia, silnik wykonuje przyśpieszanie i zatrzymuje się
na zadanej pozycji. Wykonanie tej komendy musi zostać poprzedzone zatrzymaniem silnika.
Ustaw licznik — komenda ta ustawia licznik programowy dzięki któremu wraz z komendą Skocz do linii można wykonywać pewne zadania w pętli.
Skocz do linii — rozkaz ten korzysta z wewnętrznego licznika programu. Po napotkaniu tej komendy zawartość licznika jest zmniejszana o jeden. Jeżeli nie
zostało osiągnięte zero program skacze do linii określonej jako argument rozkazu. Jeżeli zero zostało osiągnięte wykonywany jest rozkaz następujący po
4.7. Interfejs użytkownika
83
Rysunek 4.10: Przyspieszenie = 10 kroków Prędkość startowa = 20 kroków/s
Stała prędkość = 30 kroków/s Czekaj = 1s
Rysunek 4.11: Przyspieszenie = 10 kroków Prędkość startowa = 20 kroków/s
Stała prędkość = 30 kroków/s Czekaj = 1s
Rysunek 4.12: Przyspieszenie = 10 kroków Prędkość startowa = 10 kroków/s
Prędkość maksymalna = 40 kroków/s Znajdź pozycję = 40
Skocz do linii.
Koniec — w momencie napotkania tej komendy program kończy działanie. Wszelkie rozkazy znajdujące po komendzie Koniec są pomijane.
Edytuj — umożliwia edycję wcześniej wprowadzanych rozkazów. Edycji podlega
4.8. Formaty plików
84
Rysunek 4.13: Przyspieszenie = 10 kroków Prędkość startowa = 10 kroków/s
Prędkość maksymalna = 40 kroków/s Znajdź pozycję = 15
Rysunek 4.14: Przyspieszenie = 10 kroków Prędkość startowa = 10 kroków/s
Prędkość maksymalna = 40 kroków/s Znajdź pozycję = 7
zaznaczona w oknie programu linia.
Usuń — usuwa zaznaczoną komendę.
Oblicz sterowanie i wyświetl — następuje obliczenie trajektorii na podstawie wprowadzonej sekwencji rozkazów. W przypadku błędów użytkownik jest o nich
informowany odpowiednimi komunikatami. Zaznaczana jest linia, w której
prawdopodobnie znajduje się błąd.
4.8 Formaty plików
4.8.1 Plik trajektorii
Plik trajektorii posiada rozszerzenie tra. Jest on jednak plikiem tekstowym.
Zawartość pliku stanowią trzy kolumny. Pierwsza kolumna to reprezentacja rozkazu
używana wewnątrz programu ( zmienna typu enum ). Druga kolumna to tekstowe
przedstawienie rodzaju rozkazu. Trzecia to argument rozkazu. Dodatkowe dwie
4.9. Przetwarzanie danych
85
Rysunek 4.15: Przykładowa zawartość pliku trajektorii
kolumny występują dla komendy Czekaj jest to związane z tym, że przyjmuje ona
dwa argumenty.
4.8.2 Plik danych pomiarowych
Plik wynikowy zawierający zebrane dane pomiarowe jest plikiem tekstowym.
Jako pierwsze zapisywane są dane pochodzące z enkodera. Podawana jest ilość
rekordów, wypisywane są nazwy kolumn: Czas, Droga, Prędkość chwilowa, a poniżej
kolejne wartości.
Następnym elementem są dane sterowania. Podawana jest ich ilość, nazwy kolumn: Czas, Droga, Prędkość, a poniżej ich wartości.
Kolejnym elementem pliku jest średnia prędkość enkodera. Dane te są umieszczone na końcu pliku ponieważ ich ilość nie jest w ścisły sposób związana z ilością
próbek drogi enkodera.
4.9 Przetwarzanie danych
4.9.1 Dane sterowania
W trakcie sterowania jest odczytywany dokładny czas jego zadania. Umożliwia
to późniejsze wykreślenie rzeczywiście zadanego sterowania. Podstawową funkcją
przetwarzania danych jest obliczanie czasu wystąpienia zdarzenia. Droga sterownika
jest bezpośrednio obliczana w trakcie sterowania, natomiast czas zadania kroku
w późniejszej funkcji ObliczDrogeS.
Prędkość sterownika jest obliczana jako zmiana drogi w czasie pomiędzy każdymi
dwoma krokami sterowania.
4.9.2 Dane enkodera
Droga enkodera jest obliczana bezpośrednio w sterowniku systemowym w funkcji obsługi przerwania. Czas zdarzenia jest zwracany jako zmienna LARGE IN-
4.9. Przetwarzanie danych
86
Rysunek 4.16: Przykładowa zawartość pliku danych
TEGER. Wymaga to przetworzenia do zmiennej typu double. W trybie PCHost
droga enkodera jest skalowana zgodnie z ustawionym podziałem kroków, umożliwia to porównanie zadanej i otrzymanej trajektorii. Współczynniki skalowania są
następujące:
Tablica 4.5: Współczynnik skalowania w zależności od podziału kroku
podział
1/1 1/2 1/4 1/8 1/16 1/32
wartość współczynnika 0,05 0,1 0,2 0,4 0,8
1,6
Natomiast w trybie ZD100 współczynnik skalowania wynosi 1, co umożliwia
porównanie otrzymanego wyniku z wynikami licznika MD100 firmy Wobit (przy
czym licznik ten musi pracować w trybie In2).
Przetwarzanie prędkości dla danych enkodera jest bardziej rozbudowane.
Prędkość chwilowa jest obliczana między każdymi dwoma punktami pomiaru.
Widoczne na rysunku nierównomierności są spowodowane różnymi czasami od przyjęcia przerwania do rozpoczęcia jego obsługi oraz nieidealnym dopasowaniem sygnałów A i B enkodera [34]. Prędkość średnia jest obliczana wg następującego algo-
87
4.9. Przetwarzanie danych
Rysunek 4.17: Prędkość chwilowa
rytmu:
• Na podstawie danych drogi enkodera tworzymy wektor danych do filtracji.
Jako, że próbki sygnału nie są zebrane równomiernie, uzupełniane są pośrednie wartości sygnału. Wektor wynikowy jest sygnałem spróbkowanym z szybkością ok. 16500 próbek/s.
• Otrzymany wektor poddawany jest filtracji filtrem cyfrowym dolnoprzepustowym drugiego rzędu. Jest to filtr IIR Butterwothh’a, częstotliwość graniczna
15Hz. Filtr został zaprojektowany przy wykorzystaniu pakietu Matlab
• Następnie obliczamy prędkość obliczając różnicę pomiędzy próbkami odległymi o 200 pozycji (ze względu na duże zwiększenie ilości próbek w pierwszym
punkcie).
W wyniku powyższych działań otrzymujemy przybliżoną prędkość średnią silnika.
Rozdział 5
Wyniki doświadczeń
5.1 Wstęp
Doświadczenia dokonywano poprzez wykorzystanie zaprojektowanego programu
oraz liczników LP100, MD100. Do pomiarów przemieszczeń wykorzystano optoelektroniczny przetwornik obrotowo-impulsowy MOK40 firmy WObit, który posiada
rozdzielczość 1000 działek na obrót. Tryb zliczania impulsów przez MD100 (zlicza
zbocza narastające i opadające w pracy kwadraturowej) powoduje zwiększenie rozdzielczości czterokrotnie. Oprogramowanie inżynierskie również zapewnia przynajmniej 4000 impulsów na 1 obrót enkodera, dzięki układowi wyzwalania przerwania
przy każdej zmianie sygnałów kanału A, B, CLK, DIR.
Można stwierdzić, że silniki krokowe są przetwornikami informacji cyfrowej na
dyskretnie zmieniające się położenie kątowe, co powoduje, że są one stosowane do
napędzania różnego rodzaju urządzeń pozycjonujących. Dlatego ważnym aspektem
doświadczeń jest zbadanie dokładności pozycjonowania silnika w różnych trybach
pracy. Analizując pracę silnika można także zaobserwować szczególne cechy sterowania oraz zauważyć zalety i wady badanego napędu elektrycznego.
5.2 Zadawanie trajektorii
Dzięki zastosowaniu komputera było możliwe zadawanie trajektorii, z uwzględnieniem wykonania danej liczby kroków, pracy silnika z daną prędkością przez ustalony okres, rozpoczęcie pracy silnika z odpowiednią prędkością.
Zadano trajektorię zgodnie, z którą silnik miał pracować z prędkością stałą
50 kroków/s przez okres 5 s, z przyspieszeniem1 równym 5 kroków. Wykres położenia wirnika przedstawiono na rysunku 5.1.
1
Przez przyspieszenie należy rozumieć ilość kroków jaka musi zostać wykonana, by wirnik
osiągnął daną prędkość
88
5.3. Prędkość chwilowa
89
Rysunek 5.1: Wykres położenia wirnika w zadanej trajektorii
Odczytana trajektoria za pomocą enkodera do komputera zgadzała się z zadaną
trajektorią, a położenie wirnika potwierdziło dużą dokładność pozycjonowania.
5.3 Prędkość chwilowa
Przy pomocy przetwornika optoelektronicznego możliwe było zmierzenie prędkości chwilowej. Silnik był załączony w trybie pracy pełnokrokowej, przy połączeniu
szeregowym z dwoma uzwojeniami. Zadano prędkość stałą równą 50 kroków/s przez
okres 5 sekund. Praca silnika krokowego w zastosowanym trybie odznacza się zauważalnymi oscylacjami położenia wirnika.
5.3. Prędkość chwilowa
90
Rysunek 5.2: Przedstawienie prędkości chwilowej silnika w małym okresie
Na rysunku 5.2 oraz jego powiększeniu 5.3 zauważono bardzo duże wahania
prędkości chwilowej w porównaniu z zadaną prędkością. Oscylacje pokrywają się
z oscylacjami położenia wirnika. Można także zaobserwować, że prędkość chwilowa
fluktuuje wokół zadanej stałej prędkości.
Rysunek 5.3: Przedstawienie prędkości chwilowej silnika w małym okresie (powiększenie)
91
5.4. Badanie przebiegów sterowania
5.4 Badanie przebiegów sterowania
Zadanie polegało na obserwacji przebiegów sterowania za pomocą oscyloskopu.
Badanie prądu możliwe było dzięki zastosowaniu boczników na przewodach zasilających cewki silnika krokowego. Zatem obserwacja prądu była możliwa poprzez
pomiar spadków napięć na rezystancji, co potwierdza zależność:
R·i = u
(5.1)
Rysunek 5.4: Zbadany przebieg sterowania na uzwojeniach silnika bipolarnego
Przebiegi zmierzone zgadzają się z teoretyczną analizą i potwierdzają przesunięcie o π/2rad pomiędzy dwoma kanałami sterowania. Dzięki badaniom, można było
zaobserwować także wpływ indukcyjności uzwojeń na przebieg napięcia.
5.5 Ustalanie się pozycji rotora
Zgodnie z rozdziałem 3.5.5 można stwierdzić, że podczas pracy wirnika w trybie
pełnokrokowym powstają oscylacje przy ustalaniu się położenia wirnika. Dzięki zastosowaniu przetwornika obrotowo-impulsowego możliwe było sczytanie dokładnych
wartości najmniejszych przemieszczeń.
5.5. Ustalanie się pozycji rotora
92
Małe prędkości silnika
W doświadczeniu zadano pracę przy stałej prędkości α̇ = 10 kroków/s (3 obr/min),
w szeregowym połączeniu cewek. W pierwszym trybie pracy ustawiono silnik ze
sterowaniem pełnokrokowym. Zarejestrowana trajektoria zgadzała się z zadaną, co
potwierdziło dokładność pracy i pozycjonowania. Powiększono wykres odczytów,
by móc zaobserwować ustalanie się rotora w kolejnych taktach pracy — co jest
przedstawione na rys. 5.5.
Rysunek 5.5: Ustalanie się pozycji rotora w trybie pełnokrokowym
Można zauważyć analogię do rysunku 2.21, która potwierdza duże oscylacje rotora, w każdym takcie podczas pracy pełnokrokowej. Następnie ustawiono pracę silnika ze sterowaniem półkrokowym, o tej samej prędkości 10 kroków/s czyli 20 mikrokroków/s.
Powiększony wykres trajektorii przedstawiono na rysunku 5.6.
Rysunek 5.6: Ustalanie się pozycji rotora w trybie półkrokowym
Na podstawie powyższego rysunku można stwierdzić, że sterowanie półkrokowe
5.5. Ustalanie się pozycji rotora
93
zmniejszyło względną amplitudę oscylacji. Przetestowano silnik także w pracy mi1
krokrokowej z podziałem 16
i wyniki przedstawiono na rysunku 5.7.
Rysunek 5.7: Ustalanie się pozycji rotora podczas sterowania mikrokrokowego
Praca mikrokrokowa znacznie zmniejszyła oscylacja i mimo występujących pojedynczych wahań, silnik nadal pracuje z dużą dokładnością.
Zwiększenie prędkości silnika
W doświadczeniu zadano pracę przy stałej prędkości α̇ = 50 kroków/s (15 obr/min),
w równoległym połączeniu cewek. Zarejestrowana trajektoria pozycji silnika sterowanego półkrokowo zgadzała się z zadaną, co potwierdziło dokładność pracy i pozycjonowania. Powiększono wykres odczytów, by móc zaobserwować ustalanie się
rotora w kolejnych taktach pracy — co jest przedstawione na rys. 5.8.
Rysunek 5.8: Ustalanie się pozycji rotora podczas sterowania półkrokowego przy
α̇ = 100 mikrokroków/s
5.6. Badanie dokładności pozycjonowania
94
Oscylacje pozycji rotora wyraźnie zmniejszyły się podczas pracy silnika półkrokowej z większą prędkością, mimo, że silnik nie był sterowany mikrokrokowo. Następnie zadano pracę silnik ze stałą prędkością α̇ = 800 mikrokroków/s (120 obr/min).
Rysunek 5.9: Ustalanie się pozycji rotora podczas sterowania półkrokowego przy
α̇ = 800 mikrokroków/s
Można zaobserwować, że w wyniku pracy mikrokrokowej i dużych prędkości silnika, oscylacje nie występują.
Konkluzja
1. Praca mikrokrokowa wyraźnie zmniejsza amplitudę oscylacji położenia
2. Wzrost prędkości powoduje natychmiastowe przełączanie się wirnika do kolejnych pozycji, co także powoduje zmniejszanie się oscylacji położenia.
3. Pomimo oscylacji przy ustalaniu się pozycji rotora przy sterowaniu pełnokrokowym i półkrokowym, skoki są precyzyjne a rotor obraca się z zadanym
kątem.
5.6 Badanie dokładności pozycjonowania
Dokonano badania dokładności pozycjonowania za pomocą liczników LP100 oraz
rejestrowaniu odczytów z przetwornika obrotowo-impulsowego. Wszystkie odczyty
zadawanych pozycji przy jakichkolwiek prędkościach, osiąganych przez hybrydowy
silnik BYG57 081D, zgadzały zgadzały się z zadanymi wartościami zarówno na
zewnętrznym liczniku tudzież na komputerze.
Nie udało się także zarejestrować histerezy pozycji spoczynkowych. Błąd pozycjonowania silnika podawany przez producenta wynosił 1, 8o — co odpowiadało
5.7. Propozycje ćwiczeń dla studentów
95
jednemu impulsowi sygnału enkodera. Podczas zadawania niektórych trajektorii
licznik LP100 nie zliczał 1 impulsu, lecz jednak w kolejnej trajektorii go uwzględniał
— spowodowane to było zliczaniem narastających i opadających zboczy sygnałów
przetwornika obrotowo-impulsowego.
5.7 Propozycje ćwiczeń dla studentów
Propozycje ćwiczeń dla studentów do przeprowadzenia na zbudowanym stanowisku do badania własności silnika krokowego:
• Zbadać połączenia uzwojeń silnika przy zmianie konfiguracji przełączników na
płytce edukacyjnej, wykorzystując pomiar rezystancji między odpowiednimi
punktami gniazda G8. Ćwiczenie wykonać pod nadzorem prowadzącego. Do
tego celu należy podłączyć uzwojenia silnika do gniazda G8 oraz załączyć
zasilanie płytki G7.
• Badanie zachowania i dynamiki pracy silnika przy zmianie konfiguracji połączeń uzwojeń, wykorzystując przełączniki na płytce edukacyjnej. Pomiary
i obserwacje przeprowadzić wykorzystując oprogramowanie inżynierskie.
• Zbadać sygnały taktujące sterownik silnika krokowego pochodzący z zadajnika
oraz komputera oraz innych sygnałów sterujących.
Można przeprowadzić również pomiary opisane w powyższym rozdziale przy zmianie
mikrokroku silnika.
Rozdział 6
Zakończenie
Cel pracy określony we wstępie został osiągnięty. Stanowisko badawcze zostało
rozbudowane i obecnie umożliwia analizę systemu sterowania silnikiem krokowym
w układzie otwartym. Pierwotne urządzenia znajdujące się na stanowisku zostały
włączone do systemu.
Zbudowany układ elektroniczny — PEdASK — umożliwia, bez fizycznych zmian
w połączeniach, prowadzenie pomiarów i sterowania silnikiem w kilku konfiguracjach, zarówno na komputerze jak i z wykorzystaniem licznikach przemysłowych.
Umożliwia to studentowi na porównanie dedykowanego sterowania do zastosowań
przemysłowych jak i opartego na systemie komputerowym.
Opracowana aplikacja pozwala na zadanie różnych trajektorii, graficzne przedstawienie wyników pomiarów oraz ich archiwizację.
Wykonane pomiary potwierdziły zalety silnika krokowego (hybrydowego) jako
urządzenia umożliwiającego precyzyjne sterowanie w pętli otwartej oraz dokładność
i poprawne działanie opracowanego systemu.
Okazało się, że pomiary wykonywane na komputerze przy pomocy stworzonej
płytce edukacyjnej do analizy silnika krokowego oraz zaimplementowanego oprogramowania z wykorzystaniem przerwania sprzętowego w ramach niniejszej daje jednakowe wyniki jak dedykowane urządzenia przemysłowe. Dają one jednak dużo większe możliwości ze względu na edukacyjny charakter układu elektroniczengo i komputerową wizualizację wyników.
Potencjalne możliwości projektu inżynierskiego — uniwersalność układu PEdASK, rozbudowa układu o kolejne urządzenia, możliwość przystosowania oprogramowania pod system operacyjny czasu rzeczywistego Linux — stanowią źródło
dalszych aspiracji i mogą stać się tematem dalszej pracy.
Integralną częścią pracy są również dodatki i załączniki — płyta CD-ROM zawierająca stworzone w ramach niniejszej pracy programy, aplikacje i projekty.
96
Dodatek A
Dokumentacja techniczna
A.1 Płytka drukowana PEdASK
Rysunek A.1: Rozmieszczenie elementów na płytce drukowanej PEdASK
97
A.1. Płytka drukowana PEdASK
Rysunek A.2: Mozaika ścieżek na płytce drukowanej PEdASK
Rysunek A.3: Połączenia łączówek na płytce drukowanej PEdASK
98
A.2. Wzory opisu na pleksie
A.2 Wzory opisu na pleksie
Rysunek A.4: Wzór wycięcia i graweru górnej części pleksy
Rysunek A.5: Wzór wycięcia dolnej części pleksy
99
A.3. Skrócony katalog układów scalonych wykorzystanych do budowy płytki
drukowanej PEdASK
100
A.3 Skrócony katalog układów scalonych wykorzystanych
do budowy płytki drukowanej PEdASK
Skrócony opis układów scalonych powstał w oparciu o informacje i ilustracje
z dokumentacji firmy Texas Instruments [24].
SN74HC00 — Quadruple 2-Input Positive-NAND Gate
Wejścia
A
B
H
L
X
Wyjście
Y
H
X
L
L
H
H
SN74LS05N— Hex Inverter with Open-Collector Outputs
Wejście
A
Wyjście
Y
H
L
L
H
SN74LS75N — 4-Bit Bistable Latch
Wejścia
D
C
L
H
X
Qo — stan poprzedni
H
H
L
Wyjścia
Q
Q
L
H
Qo
H
L
Qo
A.3. Skrócony katalog układów scalonych wykorzystanych do budowy płytki
drukowanej PEdASK
SN74HC74 — Dual D-Type Positive-Edge-Triggered Flip-Flop with Clear and Preset
PRE
L
H
L
H
H
H
Wejścia
CLR
CLK
H
L
L
H
H
H
X
X
X
↑
↑
L
D
X
X
X
H
L
X
Wyjścia
Q
Q
H
L
H!
H
L
Qo
L
H
H!
L
H
Qo
H! — stany niestabilne
SN74HC85N — 4-Bit Magnitude Comparator
A3, B3
A3>B3
A3<B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
A3=B3
Porównywane wejścia
A2, B2
A1, B1
X
X
A2>B2
A2<B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
A2=B2
A0, B0
Operacja porównania
A>B
A<B
A=B
Wyjścia
A>B
A<B
A=B
X
X
X
X
A1>B1
A1<B1
A1=B1
A1=B1
A1=B1
A1=B1
A1=B1
X
X
X
X
X
X
A0>B0
A0<B0
A0=B0
A0=B0
A0=B0
X
X
X
X
X
X
X
X
H
L
L
X
X
X
X
X
X
X
X
L
H
L
X
X
X
X
X
X
X
X
L
L
H
H
L
H
L
H
L
H
L
H
L
L
L
H
L
H
L
H
L
H
L
H
L
L
L
L
L
L
L
L
L
L
L
H
A1= B1
A1= B1
A1= B1
A0= B0
A0= B0
A0= B0
X
H
L
X
H
L
H
L
L
L
L
H
L
L
H
H
L
L
Równoległe połączenie
A3= B3
A3= B3
A3= B3
A2= B2
A2= B2
A2= B2
101
A.3. Skrócony katalog układów scalonych wykorzystanych do budowy płytki
drukowanej PEdASK
SN74HC157 — Quadruple 2-Line to 1-Line Data Selector/Multiplexer
Wejścia
G
Wybór
A/B
H
L
L
L
L
X
L
L
H
H
Wyjścia
Dane
A
B
Y
X
L
H
X
X
L
L
H
L
H
X
X
X
L
H
ULN2803A — Darlington Transistor Array [24]
PC814 — AC Input Photocoupler [24]
1
2
3
4
–
–
–
–
Anoda, Katoda
Anoda, Katoda
Emiter
Kolektor
102
Literatura
[1]
Podstawy obróbki CNC. Wydawnicto REA s.j., Warszawa, 1999.
[2]
Circuits. [on-line] http:
//content.honeywell.com/sensing/prodinfo/solidstate/technical/mr˙chapter4.pdf,
2004.
[3]
Katalog ELFA 52. ELFA Sp. z o.o., Warszawa, 2004.
[4]
CNC Forum. [on-line] http://www.cnc.info.pl/, 2006.
[5]
Silniki krokowe. [on-line] http://www.akcesoria.cnc.info.pl/silniki˙krokowe.htm,
2006.
[6]
Kazimierz Bisztyga. Sterowanie i regulacja silników elektrycznych. Wydawnictwa
Naukowo-Techniczne, Warszawa, 1989.
[7]
Maciej Bodnicki. Mikrosilniki elektryczne. Państwowe Wydawnicto Naukowe,
Warszawa, 1991.
[8]
Brian W. Kernigham, Dennis M. Ritche. Język ANSI C, Klasyka Informatyki.
WNT, Warszawa, 2002.
[9]
Windows Hardware Developer Center. How much time is your driver spending in
its DPCs and ISRs? [on-line]
http://www.microsoft.com/whdc/Driver/tips/DPC˙ISR.mspx, 2005.
[10] Craig Peacock. Interfacing the Standard Parrarel Port. [on-line]
http://www.senet.com.au/˜cpeacock, 1998.
[11] Piotr Górecki. Układy cyfrowe pierwsze kroki. Wydawnictwo BTC, Warszawa, 2004.
[12] Boris Alekseevič Ivobotenko. Dyskretne napędy elektryczne z silnikami skokowymi.
Wydawnictwa Naukowo-Techniczne, Warszawa, 1975.
[13] Tams Kroly. Exchange data between device drivers and user applications. [on-line]
http://www.codeproject.com/system/KernelToUserMode.asp, 2005.
[14] Microsoft. KeQueryPerformanceCounter. Microsoft Windows Driver Development
Kit Introduction, 2005.
103
104
[15] Toby Opferman. Driver Development Part 1: Introduction to Drivers. [on-line]
http://www.codeproject.com/system/driverdev.asp, 2005.
[16] Toby Opferman. Driver Development Part 2: Introduction to Implementing
IOCTLs. [on-line] http://www.codeproject.com/system/driverdev2.asp, 2005.
[17] Craig Peacock. Interfacing the Standard Parallel Port. [on-line]
http://www.beyondlogic.org/spp/parallel.htm, 2005.
[18] Craig Peacock. PortTalk - A Windows NT I/O Port Device Driver. [on-line]
http://www.beyondlogic.org/porttalk/porttalk.htm, 2005.
[19] Leszek Potocki. Silniki krokowe od podstaw. Elektronika dla Wszystkich.
AVT-Korporacja, Warszawa, 2002.
[20] Stephen Prata. Szkoła programowania, język C++. Wydawnictwo Robomatic,
Wrocław, 2003.
[21] Ryszard Sochocki. Mikromaszyny elektryczne. Oficyna Wydawnicza Politechniki
Warszawskiej, Warszawa, 1996.
[22] Tomasz Starecki. Mikrokontrolery 8051 w praktyce. Wydawnictwo BTC, Warszawa,
2002.
[23] Bjarne Stroustrup. Język C++, Klasyka Informatyki. WNT, Warszawa, 2002.
[24] Texas Instruments. [on-line] http://www.ti.com, 2006.
[25] Dr. Ir. Martin Timmerman. Windows NT as Real-Time OS? [on-line]
http://www.dedicated-systems.com/magazine/97q2/winntasrtos.htm, 2005.
[26] Witold Ober, WObit. Zasilacze silników krokowych ZNXXXL. [on-line]
http://www.wobit.com.pl, 2002.
[27] Witold Ober, WObit. Instrukcja obsługi SMC81 — Sterownik silników krokowych
bipolarnych dwufazowych. [on-line] http://www.wobit.com.pl, 2003.
[28] Witold Ober, WObit. Instrukcja obsługi Zadajnik ZD 100 z programem WINSMC.
[on-line] http://www.wobit.com.pl, 2003.
[29] Witold Ober, WObit. Optoelektroniczny przetwornik obrotowo-impulsowy, seria
mok40. [on-line] http://www.wobit.com.pl, 2003.
[30] Witold Ober, WObit. Przetworniki optoelektroniczne. [on-line]
http://www.enkodery.com, 2003.
[31] Witold Ober, WObit. Silniki krokowe, seria 57BYG. [on-line]
http://www.wobit.com.pl, 2003.
105
[32] Witold Ober, WObit. Licznik jednoosiowy z opcją łącza szeregowego, MD100.
[on-line] http://www.wobit.com.pl, 2004.
[33] Witold Ober, WObit. Uniwersalny licznik prędkości LP100. [on-line]
http://www.wobit.com.pl, 2004.
[34] Witold Ober, WObit. Mok40. [on-line]
http://www.wobit.com.pl/download/pdf/przetworniki/mok40.pdf, 2005.
[35] Witold Ober, WObit. Podstawy teoretyczne. [on-line]
http://www.wobit.com.pl/download/pdf/silniki/podstawowe%20informacje.pdf,
2006.
[36] Andrzej Zalewski. Programowanie w językach C i C++ z wykorzystaniem pakietu
Borland C++. Wydaw. NAKOM, Poznań, 2003.
© 2007 Anna Cieśnik
Dawid Jasiak
Łukasz Szulc
Katedra Inżynierii Komputerowej, Wydział Informatyki i Zarządzania
Politechnika Poznańska
Skład przy użyciu systemu LATEX i czcionki Computer Modern.
BibTEX:
@mastersthesis{ key,
author = ”Anna Cieśnik
Dawid Jasiak
Łukasz Szulc”,
title = ”{System sterowania silnikiem krokowym w układzie otwartym}”,
school = ”Poznan University of Technology”,
address = ”Pozna{\’n}, Poland”,
year = ”2007”,
}

Podobne dokumenty