Adam Cellary gr.13 Dokumentacja programu na przedmiot
Transkrypt
Adam Cellary gr.13 Dokumentacja programu na przedmiot
Adam Cellary gr.13 Dokumentacja programu na przedmiot projektowania ZAP Projekt: Napisać oprogramowanie dla manipulatora sterowanego przez port szeregowy komputera PC (COM/RS232). Manipulator własnej konstrukcji. 1. folder zawiera pliki: Project1.exe Project1.bpr Project1.cpp Unit1.cpp Unik1.h Unit2.cpp Unik2.h - plik wykonywalny programu plik projektu programu główny plik c++ programu plik z funkcjami plik z nagłówkami funkcji pliku Unit1.cpp i strukturami plik z funkcjami plik z nagłówkami funkcji pliku Unit2.cpp 2. opis funkcji/działania: plik Unit2.cpp zawiera funkcje przekształcające wartość położenia i prędkości na liczby gotowe do wysłania na port COM do serwokontrolera: serwokontroler przyjmuje 4 ramki po kolej: pierwsza ma wartość 255 – tzw. Bajt synchronizacji- oznacza gotowość serwokontrolera do pracy. druga oznacza numer serwa do poruszenia (1-18) trzecia i czwarta ramka są połączone. Ze względu na to że wartość 4-ej ramki wacha się między 1-20 (prędkość), dwie pierwsze wartości binarne są 'udostępnione' dla ramki położenia dzięki czemu położenie osiąga wartości nie od 0-255, a 0-1024 co zwiększa precyzję ruchu plik Unit1.cpp zawiera główne funkcje sterujące portem RS232, oraz funkcje sterujące całym 'interface-em' programu (tj. Menu, scrollbare, itp.) 3. Jak działa program: Program po uruchomieniu wysyła każdemu z 6 stacji serw pozycję 500 (środkową). Następnie za pomocą scrollbarów, bądź przycisków klawiatury zmieniamy wartości kolejnych położeń (po każdej zmianie nowa wartość jest wysyłana do serwokontrolera) Dodatkowo każde dane położenie możemy zapisać i stworzyć ciąg położeń. Możemy również ustawić czas na wykonanie każdego ruchu i ostatecznie zapisać to wszystko do pliku txt Dzięki temu odpowiednio dobrane ruchy jesteśmy w stanie potem importować z pliku i zadać ramieniu wykonywanie cyklicznych ruchów np. Przestawiających klocki- z jednego na drugi. Postać pliku z ruchami: 2 455 5 3 500 5 4 650 5 5 200 5 6 469 5 7 34 5 1300 ......... // nr serwa / położenie / prędkość – domyślnie 5 // czas miedzy kolejnymi ruchami (ms) 4. Podsumowanie: Program napisany został w środowisku Borland C++ Builder Do budowy ramienia wykorzystałem serwokontroler SK-18 firmy sommertech Projekt ramienia bazuje na projekcie znalezionego na stronie http://www.lynxmotion.com/