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/

Podobne dokumenty