Obsługa enkodera AS5048 we Flowcode

Podobne dokumenty
Projekt MARM. Dokumentacja projektu. Łukasz Wolniak. Stacja pogodowa

Politechnika Wrocławska

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

STM32 Butterfly. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja. do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1.

Programowanie mikrokontrolerów. 8 listopada 2007

UW-DAL-MAN v2 Dotyczy urządzeń z wersją firmware UW-DAL v5 lub nowszą.

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP

Rejestratory Sił, Naprężeń.

LITEcompLPC1114. Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Sponsorzy:

MODBUS RTU wersja M1.14 protokół komunikacyjny wyświetlaczy LDN

Obługa czujników do robota śledzącego linie. Michał Wendland czerwca 2011

SiMod-X-(A1) Przetwornik parametrów powietrza z interfejsem RS485 (MODBUS RTU) oraz wyjściem analogowym (dotyczy wersji -A1)

Enkoder magnetyczny AS5040.

Wstęp Architektura... 13

Interfejs analogowy LDN-...-AN

Parametryzacja przetworników analogowocyfrowych

interfejs szeregowy wyświetlaczy do systemów PLC

PROJECT OF FM TUNER WITH GESTURE CONTROL PROJEKT TUNERA FM STEROWANEGO GESTAMI

ZL8AVR. Płyta bazowa dla modułów dipavr

Kod produktu: MP01105

Wykrywacz kłamstw. Grzegorz Puzio, Łukasz Ulanicki 15 czerwca 2008

2.2 Opis części programowej

Wbudowane układy komunikacyjne cz. 1 Wykład 10

MiniModbus 4DO. Moduł rozszerzający 4 wyjścia cyfrowe. Wyprodukowano dla. Instrukcja użytkownika

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Komunikacja w mikrokontrolerach Laboratorium

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC

dokument DOK wersja 1.0

Moduł komunikacyjny Modbus RTU do ciepłomierza SonoMeter 30

Instrukcja Obsługi. Modułu wyjścia analogowego 4-20mA PRODUCENT WAG ELEKTRONICZNYCH

Spis treści. 1 Moduł Modbus TCP 4

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

MOBOT-RCR v2 miniaturowe moduły radiowe Bezprzewodowa transmisja UART

Programowanie Mikrokontrolerów

Uproszczony schemat blokowy konwertera analogowo-cyfrowego przedstawiony został na rys.1.

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

Rozdział ten zawiera informacje na temat zarządzania Modułem Modbus TCP oraz jego konfiguracji.

Instrukcja użytkownika ARSoft-WZ1

KA-NUCLEO-Weather. ver. 1.0

Rys. 1. Schemat ideowy karty przekaźników. AVT 5250 Karta przekaźników z interfejsem Ethernet

Program EDYTOR-AS-OUX

STEROWNIK LAMP LED MS-1 Konwerter sygnału 0-10V. Agropian System

KAmodRPiADCDAC. Moduł przetwornika A/C i C/A dla komputerów RaspberryPi i RaspberryPi+

ZL9ARM płytka bazowa dla modułów diparm z mikrokontrolerami LPC213x/214x

ZL29ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

KA-Nucleo-Weather. Rev Źródło:

2. Architektura mikrokontrolerów PIC16F8x... 13

ADVANCE ELECTRONIC. Instrukcja obsługi aplikacji. Modbus konfigurator. Modbus konfigurator. wersja 1.1

Wizualizacja stanu czujników robota mobilnego. Sprawozdanie z wykonania projektu.

PRZETWORNIK ADC w mikrokontrolerach Atmega16-32

(57) Tester dynamiczny współpracujący z jednej strony (13) B1 (12) OPIS PATENTOWY (19) PL (11) PL B1. (54) Tester dynamiczny

2.1 Przesył danych między procesorem a tabelą zmiennych

Programowalne Układy Cyfrowe Laboratorium

Mini Modbus 1AI. Moduł rozszerzający 1 wejście analogowe, 1 wyjście cyfrowe. Wyprodukowano dla

SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701.

ADuCino 360. Zestaw uruchomieniowy dla mikrokontrolerów ADuCM360/361

Moduł komunikacyjny Modbus RTU w standardzie RS-485 do ciepłomierza SonoMeter 31 i przelicznika energii Infocal 9

PROGRAM TESTOWY LCWIN.EXE OPIS DZIAŁANIA I INSTRUKCJA UŻYTKOWNIKA

AN ON OFF TEMPERATURE CONTROLLER WITH A MOBILE APPLICATION

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

ZL5PIC. Zestaw uruchomieniowy dla mikrokontrolerów PIC16F887

Mini Modbus 1TE. Moduł rozszerzający 1 wejście temperaturowe, 1 wyjście cyfrowe. Wyprodukowano dla

Laboratorium Komputerowe Systemy Pomiarowe

2.1 Porównanie procesorów

Instrukcja integracji urządzenia na magistrali Modbus RTU. wersja 1.1

Instrukcja obsługi programatora AVR Prog USB v2

RS485 MODBUS Module 6TE

Interfejsy komunikacyjne pomiary sygnałów losowych i pseudolosowych. Instrukcja do ćwiczenia laboratoryjnego

RS485 MODBUS Module 6TE

projekt przetwornika inteligentnego do pomiaru wysokości i prędkości pionowej BSP podczas fazy lądowania;

ZL25ARM. Płyta bazowa dla modułów diparm z mikrokontrolerami STR912. [rdzeń ARM966E-S]

Tab. 1. Zestawienie najważniejszych parametrów wybranych mikrokontrolerów z rodziny LPC2100, które można zastosować w zestawie ZL3ARM.

Instrukcja MM-717 Tarnów 2010

POLITECHNIKA WARSZAWSKA Wydział Elektryczny Instytut Elektroenergetyki Zakład Elektrowni i Gospodarki Elektroenergetycznej

Programator układów HCS

Kod produktu: MP01105T

2. Format danych i zaimplementowane funkcje MODBUS

ZL2AVR. Zestaw uruchomieniowy z mikrokontrolerem ATmega8

Sprawozdanie z projektu MARM. Część druga Specyfikacja końcowa. Prowadzący: dr. Mariusz Suchenek. Autor: Dawid Kołcz. Data: r.

Instrukcja użytkownika ARsoft-CFG WZ1 4.0

REGULATOR PI W SIŁOWNIKU 2XI

Ciśnieniomierz typ AL154AG08.P

Pracownia Transmisji Danych, Instytut Fizyki UMK, Toruń. Instrukcja do ćwiczenia nr 10. Transmisja szeregowa sieciami energetycznymi

Instrukcja obsługi programatora AVR Prog USB v2

Funkcje sterowania cyfrowego przekształtników (lista nie wyczerpująca)

Moduł wejść/wyjść VersaPoint

Instrukcja obsługi rejestratora SAV35 wersja 10

Kod produktu: MP01611

Płyta uruchomieniowa EBX51

Generator przebiegów pomiarowych Ex-GPP2

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

Konfigurator Modbus. Instrukcja obsługi programu Konfigurator Modbus. wyprodukowano dla

Transkrypt:

Fotografia 1. Czujnik AS5048 z magnesem Obsługa enkodera AS5048 we Flowcode Czujniki położenia są szeroko wykorzystywane w systemach automatyki, aparaturze medycznej robotyce itp. Jest to element, który przetwarza przemieszczenie na wielkość elektryczną lub w bardziej rozbudowanych konstrukcjach na wielkość cyfrową. Najbardziej popularne sensory to czujniki liniowe i obrotowe. Te pierwsze wykrywają i mierzą przesuniecie liniowe, a drugie kąt obrotu. Układ scalony AS5048 jest czujnikiem mierzącym kąt obrotu z bardzo dużą dokładnością, wynoszącą 0,05 w zakresie 0 360. Nie jest to kompletny czujnik wyposażonym w obudowę z łożyskowaną osią, ale układ scalony będący zasadniczym elementem do budowy takiego czujnika. Do kompletu jest potrzebny magnes obracający się w osi prostopadłej do górnej płaszczyzny układu. Zestaw ewaluacyjny używany w tym artykule pokazano na fotografii 1. Podstawowym elementem układu jest obszar czujników Hall a wykonana w technologii CMOS. Obszar sensora Hall a umieszczony w centralnej części obudowy układu mierzy natężenie pola magnetycznego. Do konwersji natężenia pola w funkcji obrotu magnesu nad czujnikiem jest używany 14-bitowy przetwornik A/C. Daje to rozdzielczość pomiaru 360 /16384=0,02197, ale jak już wspomniałem, producent deklaruje dokładność 0,05. Rysunek 2. Zasada pomiaru obrotu i natężenia pola magnetycznego 93

Rysunek 3. Zależność pomiędzy natężeniem pola (magnitude) a działaniem AGC Sensor pozycji jest zbudowany z 4 czujników rozmieszczonych na obwodzie koła co 90 (rysunek 2). Jeżeli magnes jest w położeniu prostopadłym do czujnika i nie obraca się (jest zablokowany) to zmiana natężenia pola magnetycznego spowodowana zmianą odległości powierzchni obudowy od magnesu nie wpływa na pomiar kąta obrotu. Jest to ważna cecha tego układu, bo dopuszcza zmiany natężenia pola wynikające z ruchu magnesu równolegle do osi obrotu (ruch pionowy) oraz co również ważne ze zmiany temperatury. W praktyce, pole magnetyczne może być niezbyt silne lub podlegać czasowym fluktuacjom. Może to wynikać ze zbyt dużej szczeliny pomiędzy czujnikiem i magnesem lub ze złej jakości materiału, z którego jest wykonany magnes. Zwiększa się wtedy szum na wyjściu wzmacniaczy pomiarowych i co z tym idzie wynik pomiaru będzie obarczony większym jitterem. Żeby układ mógł wyrównać zmiany sygnału elektrycznego na wyjściu wzmacniaczy pomiarowych wynikające ze zmian natężenia pola magnetycznego, wprowadzono układ automatycznej regulacji wzmocnienia AGC stabilizujący poziom sygnału na wyjściu wzmacniaczy pomiarowych. Wartość proporcjonalna do wzmocnienia pracującego układu AGC jest dostępna w jednym z rejestrów enkodera. Firmware może go odczytywać i ewentualnie reagować przy zbyt dużym wzmocnieniu. Poziom natężenia pola można tez odczytywać bezpośrednio z rejestru o nazwie Magnitude. Zależność pomiędzy działaniem automatyki a odczytywanym poziomem pola magnetycznego przedstawia rysunek 3. Natężenie pola zmienia się w funkcji odległości czujnika od magnesu. Poziomy fragment sygnału odpowiadającego natężeniu pola jest wynikiem pracy automatyki wzmocnienia AGC. Schemat blokowy układu czujnika pokazano na rysunku 4. Sygnał elektryczny z obszaru czujników Hall a jest konwertowany na postać cyfrową. Sygnał cyfrowy z wyjścia przetworników poddaje się obróbce sygnałowej przez wbudowany procesor DSP. Blok CRDC oblicza kąt oraz wielkość sygnału pochodzącego z czujnika pola magnetycznego. Producent układu oferuje gotowy moduł, który umożliwia testowanie czujnika. Moduł składa się z płytki drukowanej z układem AS5048 i mechanizmu pozwalającego na obracanie magnesu w osi prostopadłej do górnej płaszczyzny układu scalonego. Konstrukcja mechaniczna kompletnego testowego czujnika została pokazana na rysunku 5. Oczywiście, tak nieskomplikowany mechanizm nie będzie nadawał się do wykorzystania w pomiarach bardzo precyzyjnych ruchów, ale do testowania jest zupełnie wystarczający. Cyfrową informację o kącie obrotu można odczytywać z układu za pomocą interfejsu SPI lub I 2 C. Dodatkowo jest dostępne wyjście sygnału PWM o rozdzielczości 12-bitowej. Współczynnik wypełnienia tego sygnału jest proporcjonalny do kąta obrotu. Rodzaj interfejsu komunikacyjnego jest wybierany na etapie wyboru układu scalonego. Wersja AS5048A ma Krok po kroku Kursy EP Rysunek 4. Schemat blokowy układu AS5048 Rysunek 5. Budowa modułu testowego dla czujnika AS5048 94

Rysunek 6. podłączenia modułu do zasilania i sterownika Rysunek 7. Adres slave ce testowej). Dodatkowo, są dostępne 2 wyprowadzenia wejść adresowych (A1/MOSI i A2 MISO). Dwukierunkowe linie SDA i SCL muszą być podciągane do plusa zasilania przez rezystory wymaga tego specyfikacja standardu I 2 C. Ja zastosowałem 2 rezystory o wartości 2,2 kv. Moduł może być zasilany napięciem +3,3 V lub +5 V służą do tego celu 2 osobne wyprowadzenia napięcia zasilania oznaczone VDD3V i VDD5V. Napięcie +3,3 V dołączamy do wyprowadzenia VDD3V, a wyprowadzenie VDD5V musi być zwarte z VDD3V. Kiedy chcemy zasilać moduł napięciem +5 V, to dołączamy je do VDD5V, a wyprowadzenie VDD3V powinno być zblokowane kondensatorem 10 mf do masy. Nie może pozostać niedołączone, bo powoduje to niestabilności w wewnętrznym napięciu zasilania i w rezultacie zakłócenia fazowe przy pomiarze kąta obrotu. Schemat podłączenia modułu testowego do napięcia zasilania został pokazany na rysunku 6. Wymuszając poziomy logiczne na liniach A1 i A2 można wybrać jeden z 4 dostępnych adresów na magistrali I 2 C. Umożliwia to podłączenie 4 układów do jednej magistrali. Ponieważ w zaawansowanych układach może to być zbyt mało, to producent układu zastosował nietypowe rozwiązanie polegające na możliwości programowania przez użytkownika 5 starszych bitów adresu slave. Na rysunku 7 jest pokazany domyślny adres układu dostarczanego przez producenta. Sterowanie funkcjami AS5048B i odczytywanie wyniku odbywa się przez zapisywanie i odczytywanie wewnętrznych rejestrów. Ich zestawienie zostało pokazane na rysunku 8. Dostęp do rejestrów odbywa się poprzez osobne sekwencje zapisu i odczytu. Zapis rejestru lub grupy rejestrów o adresach następujących po sobie rozpoczyna się od wysłania sekwencji Start i adresu slave z wyzerowanym najmłodszym bitem R/W. Potem jest wysyłany 8-bitylko interfejs SPI, a wersja AS5048B tylko interfejs I 2 C. Sygnał PWM jest dostępny w obu wersjach. Ponieważ w czasie testów dysponowałem tylko układem z interfejsem I 2 C, to tylko dokładnie opiszę transmisję z wykorzystaniem protokołu I 2 C. Interfejs I 2 C układu AS5048B składa się z linii danych SDA (wyprowadzenie SDA/CSn na płytce testowej) i linii zegarowej SCL (wyprowadzenie SCL/SCK na płyt- Rejestr Adres Dostęp Bity Domyślna wartośc opis Sterowanie OTP 3 dec b0 programing enable b4 burn Rejestr sterujacy programowaniem pamięci OTP Programowanie OTP 21dec b0:b4 5 starszych bitów adresu I2C 10000bin Rejestr odczytywania i programowania 5 starszych bitów adresu slave 22dec 8 starszych bitów położenia początkowego Rejestr odczytywania i programowania 8 starszych bitów rejestru położenia początkowego 23dec 6 młodszych bitów położenia początkowego Rejestr odczytywania i programowania 6 młodszych bitów rejestru położenia początkowego Rejestry danych wyjściowych 25 Odczyt 8 bitów rejestru AGC 80hex Rejestr wyjściowy układu AGC 0=Wysokie pole magnetyczne 255=Niskie pole magnetyczne 251dec Odczyt Rejestr diagnostyczny 01hex Znaczniki diagnostyczne 252dec Odczyt 8 starszych bitów rejestru magnitude Rejestr 8 starszych bitów 14 bitowego rejestru magnitude 253dec Odczyt 6 młodszych bitów rejestru magnitude 254dec Odczyt 8 starszych bitów rejestru kata obrotu 255dec Odczyt 6 młodszych bitów rejestru magnitude Rejestr 6 młodszych bitów 14 bitowego rejestru magnitude Rejestr 8 starszych bitów 14 bitowego rejestru kata obrotu Rejestr 6 młodszych bitów 14 bitowego rejestru kata obrotu Rysunek 8. Wykaz rejestrów układu 95

Rysunek 9. Sekwencja zapisu jednego rejestru do układu Krok po kroku Kursy EP Rysunek 10. Sekwencja odczytania jednego bajtu Rysunek 11. Okno ustawień interfejsu I 2 C towy adres pierwszego odczytywanego rejestru. Po nim można wysłać wartość zapisywanego rejestru. Prawidłowe zapisanie jest sygnalizowane bitem ACK ustawianym przez enkoder. Potem można zakończyć zapisywanie przez wysłanie sekwencji Stop lub wysyłać kolejne bajty, które będą zapisywane pod kolejnymi adresami. Po zakończeniu wysyłania bloku danych trzeba wysłać na magistralę sekwencję Stop. Odczyt rejestru lub grupy rejestrów jest trudniejszy do wykonania. W pierwszej części jest wysyłana sekwencja Start i adres slave z wyzerowanym bitem R/W, a po nim 8-bitowy adres odczytywanego rejestru. Żeby przestawić magistralę w tryb odczytu danych jest wysyłana powtórnie sekwencja Start, a po niej adres slave z ustawionym bitem R/W. Teraz wysyłanie sekwencji odczytu powoduje odczytywanie zawartości rejestru lub grupy rejestrów o automatycznie zwiększanych się adresach. Odczytywanie danych kończy się przez wysłanie bitu NACK po ostatnio odczytanym bajcie, a potem wysłanie sekwencji Stop (rysunek 10). Sekwencja zapisywania rejestrów są wykorzystywane do zapisywania rejestrów jednorazowego programowania OTP zawierających 5 starszych bitów adresu slave i wartość początkową, od której enkoder oblicza kąt obrotu. Ustawienie praktycznie dowolnego adresu slave daje możliwość użytkownikowi dołączenie do jednej I 2 C magistrali 128 enkoderów. Z kolei zaprogramowanie pozycji zerowej daje możliwość swobodnego mechanicznego ustawienia enkodera. Chociaż wydaje się, że tę ostatnią możliwość jest łatwo uzyskać na drodze programowej przez dodanie do wyniku odczytu stałej korekcyjnej. Kolejne czynności potrzebne do zapisywania rejestrów w pamięci OTP są dokładnie opisane w dokumentacji enkodera. Ponieważ płytka, z którą wykonywałem testy nie była moją własnością, to nie wykonywałem programowania tej pamięci i poprzestałem na próbach z fabrycznymi ustawieniami układu. Najważniejszą operacją przy obsłudze enkodera jest odczytywanie 14-bitowego rejestru obrotu Angle Register. W bardziej zaawansowanych aplikacjach można odczytywać rejestry Magnitude oraz AGC i odpowiednio reagować, gdy poziom pola magnetycznego jest nieodpowiedni. W czasie testów moduł enkodera został dołączony do wyprowadzeń portów mikrokontrolera PIC18F4550 umieszonego na module ECIO40P produkowanym przez firmę Matrix (producenta Flowcode). Mikrokontroler z ECIO40P ma fabrycznie zaprogramowany bootloader i może się łączyć z komputerem poprzez interfejs USB. Na płycie instalacyjnej Flowcode jest umieszczony odpowiedni driver i po jego zainstalowaniu można programować pamięć Flash mikrokontrolera bezpośrednio z poziomu Flowcode. Żeby można było używać makr potrzebnych do obsługi interfejsu I 2 C, trzeba na panelu umieścić element I 2 C z menu Comms. Wtedy w liście makr komponentu można wybrać funkcje obsługi magistrali I 2 C. Sam interfejs może korzystać z wbudowanego w mikrokontroler modułu sprzętowego MSSP zaprogramowanego jako I 2 C master lub może być emulowany programowo. Ja zastosowałem emulacje programową przez zaznaczenie okienka Use Software Settings. Wyboru dokonuje się Rysunek 12. Procedura odczytywania 2 rejestrów enkodera 96

b7 b6 b5 b4 b3 b2 b1 b0 CMP high CMP low COF OCF OCF offset compensation finished stan wysoki wskazuje zakończenie algorytmu Offset Compensation Algorithm COF cordic overflow stan wysoki wskazuje błąd zakresu modułu CORDIC. Kiedy ten bit jest ustawiony to dane w rejestrach kąta (angle) i magnitude nie są prawidłowe CMP Low sygnalizuje słabe pole magnetyczne. Testowanie tego bitu jest rekomendowane przy monitorowaniu poziomu pola magnetycznego (magnitude) CMP High sygnalizuje silne pole magnetyczne. Testowanie tego bitu jest rekomendowane przy monitorowaniu poziomu pola magnetycznego (magnitude) Rysunek 13. Rejestr diagnostyczny Rysunek 14. Pętla odczytywania rejestru Angle enkodera klikając prawym klawiszem myszki na oknie komponentu i wybierając z menu EXT properties (rysunek 11). Na rysunku 12 pokazano makro programowe enc_read odczytujące 2 kolejne rejestry. Sekwencja odczytywania jest tak jak na rysunku 10. Adres rejestru jest zawarty w zmiennej reg_addr. Pierwszy odczytany bajt jest zapisywany do zmiennej reg_val, a drugi do zmiennej reg_val1. Żeby przetestować działanie procedur odczytywania rejestrów obrotu do modułu ECIO40P podłączyłem standardowy wyświetlacz LCD i wyświetlałem na nim 14-bitową zawartość rejestru w postaci 4-znakowej liczby w formacie heksadecymalnym. Przy pierwszych próbach odczytywane wartości wyglądały na przypadkowe i zupełnie nie odpowiadały zmianom położenia magnesu nad układem enkodera. Okazało się, że poprawne dane mogą być odczytane z układu tylko wtedy, gdy układy wewnętrzne obrobią poprawnie sygnał z czujników Hall a. Jest to sygnalizowane przez bity rejestru znaczników diagnostycznych o adresie 251 (rysunek 13). Dane z rejestru kąta obrotu można odczytywać, gdy bit OCF jest ustawiony, a bit COF wyzerowany. Dlatego procedura odczytu rejestrów obrotu musi być poprzedzona odczytaniem rejestru diagnostycznego i testowaniem jego zawartości. Ponieważ nie interesują nas bity CMP to są one zamaskowane. Pętla odczytywania rejestru kąta obrotów i wyświetlania jego zawartości została pokazana na rysunku 14. W pierwszej kolejności jest czytana zawartość rejestru Diagnostic o adresie 251. Potem jest sprawdzany warunek czy OCF=1 i COF=0. Jeżeli nie, to jest ponownie czytana zawartość Diagnostics, aż warunek zostanie spełniony. Wtedy odczytywane są 2 kolejne rejestry od adresu 254 (0xFE). Z zawartości tych rejestrów jest składana wartość 14-bitowa odpowiadająca kątowi obrotu od wartości zerowej. Potem ta wartość jest konwertowana na znaki ASCII w formacie heksadecymalnym i wyświetlana na wyświetlaczu LCD. Przedstawiony tutaj program jest typowo testowy, ale łatwo go można zmodyfikować do konkretnego zastosowania. Zawartość rejestru obrotu można wykorzystać w algorytmach sterowania lub przesłać na przykład interfejsem USB do komputera. Tomasz Jabłoński, EP 97