Rejestrator
: środa, 20 kwie 2011, 19:22
Hej
Oto jak na chwilę obecną wygląda skonstruowany przeze mnie rejestrator. Na rysunku zaznaczyłem najważniejsze oraz wysokie elementy. Dodatkowo do prawej stronie płytki (czyli tej strony, która jest skierowana w górę rakiety) dolutowuje się małą płytkę z akcelerometrami prostopadle do płytki rejestratora, czym zwiększa się długość całego rejestratora o kilka milimetrów.
Rejestrator
Oznaczenia elementów na płytce:
P1 - złącze do programatora,
P2, P3 - wyjścia do odpalenia zapalników,
P4 - wyjście zasilania z rejestratora,
P5, P6 - dodatkowe wejścia analogowe,
P7 - dodatkowe wejścia cyfrowe,
P8, P9 - zworki do ustawiania opcji,
D1 - dioda LED,
U2 - mikrokontroler,
U9 - czujnik ciśnienia,
C12 - kondensator elektrolityczny 2200 uF,
SW1 - włącznik zasilania,
cztery nieoznaczone otwory w rogach to otwory na śruby mocujące.
Aktualnie rejestrator zapisuje dane na karcie SD od chwili włączenia urządzenia do wyłączenia. Zapisywane dane to czas w sekundach i częściach setnych sekund od chwili włączenia urządzenia, przyspieszenie w trzech osiach, ciśnienie i trochę danych debugujących, żeby łatwiej było wykrywać błędy oprogramowania.
Przyspieszenie: w osi Z zapisywane przespieszenie to +- 50 g, w osiach X i Y +- 16 g.
Ciśnienie: 15 - 115 kPa.
Zarówno przyspieszenie jak i ciśnienie zapisywane jest w postaci spróbkowanego sygnału analogowego z czujników (zakres 0 - 1023), także w celu uzyskania informacji o ciśnieniu lub przyspieszeniu konieczna jest konwersja danych.
Format danych:
[sekundy],[setne części sekund],[przyspieszenie w osi X],[przyspieszenie w osi y],[przyspieszenie w osi z],[ciśnienie]
dalsze dane służą do debugowania i w wersji finalnej nie będą zapisywane.
Przykład linii danych:
206,11,514,512,458,832,394, st=1 sp=1 000 0
Zapis z pierwszego lotu próbnego z pierwszego dnia LRE (1,7 MB)
Zapis z lotu rakiety naddźwiękowej z drugiego dnia LRE (16,7 MB)
(dane w powyższych dwóch plikach są jeszcze zapisane ze spacjami zamiast przecinków, przez co nie są zgodne z formatem CSV, ale to się zmieni; niemniej jednak można je bez problemu otworzyć w np. OpenOffice Calc)
Dane zapisane są w plikach CSV, przez co można je otworzyć w każdym arkuszu kalkulacyjnym.
Przy każdym włączeniu sprawdzane jest, czy na karcie znajduje się już jakiś plik z danymi i nowy plik zapisywany jest z kolejnym, wyższym numerkiem tak, aby nie nadpisać danych, które już są zapisane (można zapisać max 99 plików).
Bogatszy o doświadczenia z ostatnich dwóch tygodni, wprowadzę następujące zmiany w rejestratorze:
- przesunąć włącznik w inne miejsce i zwiększyć go tak, aby łatwiej włączało się rejestrator,
- zwiększyć gniazda wyjść do odpalenia zapalników (ostatnio kabelki od zapalnika ledwie weszły do gniazd),
- usunąć dodatkową płytkę, a akcelerometry dołożyć do płytki głównej (akcelerometry były na płytce dodatkowej, bo nie udało mi się rok temu [kiedy robiłem dyplom] znaleźć akcelerometra, który mierzyłby przyspieszenie 50 g w osi innej niż Z [prostopadła do płaszczyzny, do której się akcelerometr przylutowuje]; teraz udało mi się taki znaleźć),
- zamienić zworki do ustawiania opcji na przełącznik dip-switch,
- dodać ustawianie zwłoki (podczas której nie nastąpi wyzwolenie spadochronu niezależnie od warunków zewnętrznych) za pomocą potencjometru, tak, aby nie trzeba było przeprogramowywać układu za każdym razem, kiedy trzeba zwłokę zmienić,
- zmniejszyć liczbę wejść cyfrowych i analogowych (wyprowadziłem wszystko, co się dało wyprowadzić z mikrokontrolera a nie było do niczego podłączone, ale i tak nawet chyba połowy tych wyjść nikt nigdy nie użyje a złącza zabierają miejsce na płytce),
- wyłączać zapis po zapisaniu jednej godziny danych (w tym czasie rakieta na pewno już dawno poleciała i wylądowała, a najwyraźniej przy tak dużych plikach pojawiają się błędy - po ponad godzinie zapisów na ostatnim locie rakiety pojawiły się błędy a dalej pojawiają się dziwne rzeczy jak tworzenie kilkudziesięciu małych nowych plików; na szczęście dane z pierwszej godziny były nienaruszone).
Są także rzeczy, nad którymi się waham:
- zasilanie - czy pobierać zasilanie z baterii 1,5 V zamontowanej na płytce czy też po prostu zamontować gniazdo na dwa kabelki i zasilanie pobierać spoza płytki (np. z baterii 9 V),
- zamontować po jednym kondensatorze 2200 uF na każde wyjście do zapalnika czy też jeden kondensator wyzwalający wszystkie wyjścia (oszczędność miejsca na płytce). W tym drugim przypadku trzeba odczekać kilka sekund na naładowanie kondensatora, choć przy zasilaniu z zewnątrz zamiast z baterii 1,5 V, kondensator ładowałby się znacznie szybciej.
Jakie zmiany jeszcze proponujecie wprowadzić w rejestratorze? Co dodać, co ująć?
Jaką nazwę nadać temu rejestratorowi?
Oto jak na chwilę obecną wygląda skonstruowany przeze mnie rejestrator. Na rysunku zaznaczyłem najważniejsze oraz wysokie elementy. Dodatkowo do prawej stronie płytki (czyli tej strony, która jest skierowana w górę rakiety) dolutowuje się małą płytkę z akcelerometrami prostopadle do płytki rejestratora, czym zwiększa się długość całego rejestratora o kilka milimetrów.
Rejestrator
Oznaczenia elementów na płytce:
P1 - złącze do programatora,
P2, P3 - wyjścia do odpalenia zapalników,
P4 - wyjście zasilania z rejestratora,
P5, P6 - dodatkowe wejścia analogowe,
P7 - dodatkowe wejścia cyfrowe,
P8, P9 - zworki do ustawiania opcji,
D1 - dioda LED,
U2 - mikrokontroler,
U9 - czujnik ciśnienia,
C12 - kondensator elektrolityczny 2200 uF,
SW1 - włącznik zasilania,
cztery nieoznaczone otwory w rogach to otwory na śruby mocujące.
Aktualnie rejestrator zapisuje dane na karcie SD od chwili włączenia urządzenia do wyłączenia. Zapisywane dane to czas w sekundach i częściach setnych sekund od chwili włączenia urządzenia, przyspieszenie w trzech osiach, ciśnienie i trochę danych debugujących, żeby łatwiej było wykrywać błędy oprogramowania.
Przyspieszenie: w osi Z zapisywane przespieszenie to +- 50 g, w osiach X i Y +- 16 g.
Ciśnienie: 15 - 115 kPa.
Zarówno przyspieszenie jak i ciśnienie zapisywane jest w postaci spróbkowanego sygnału analogowego z czujników (zakres 0 - 1023), także w celu uzyskania informacji o ciśnieniu lub przyspieszeniu konieczna jest konwersja danych.
Format danych:
[sekundy],[setne części sekund],[przyspieszenie w osi X],[przyspieszenie w osi y],[przyspieszenie w osi z],[ciśnienie]
dalsze dane służą do debugowania i w wersji finalnej nie będą zapisywane.
Przykład linii danych:
206,11,514,512,458,832,394, st=1 sp=1 000 0
Zapis z pierwszego lotu próbnego z pierwszego dnia LRE (1,7 MB)
Zapis z lotu rakiety naddźwiękowej z drugiego dnia LRE (16,7 MB)
(dane w powyższych dwóch plikach są jeszcze zapisane ze spacjami zamiast przecinków, przez co nie są zgodne z formatem CSV, ale to się zmieni; niemniej jednak można je bez problemu otworzyć w np. OpenOffice Calc)
Dane zapisane są w plikach CSV, przez co można je otworzyć w każdym arkuszu kalkulacyjnym.
Przy każdym włączeniu sprawdzane jest, czy na karcie znajduje się już jakiś plik z danymi i nowy plik zapisywany jest z kolejnym, wyższym numerkiem tak, aby nie nadpisać danych, które już są zapisane (można zapisać max 99 plików).
Bogatszy o doświadczenia z ostatnich dwóch tygodni, wprowadzę następujące zmiany w rejestratorze:
- przesunąć włącznik w inne miejsce i zwiększyć go tak, aby łatwiej włączało się rejestrator,
- zwiększyć gniazda wyjść do odpalenia zapalników (ostatnio kabelki od zapalnika ledwie weszły do gniazd),
- usunąć dodatkową płytkę, a akcelerometry dołożyć do płytki głównej (akcelerometry były na płytce dodatkowej, bo nie udało mi się rok temu [kiedy robiłem dyplom] znaleźć akcelerometra, który mierzyłby przyspieszenie 50 g w osi innej niż Z [prostopadła do płaszczyzny, do której się akcelerometr przylutowuje]; teraz udało mi się taki znaleźć),
- zamienić zworki do ustawiania opcji na przełącznik dip-switch,
- dodać ustawianie zwłoki (podczas której nie nastąpi wyzwolenie spadochronu niezależnie od warunków zewnętrznych) za pomocą potencjometru, tak, aby nie trzeba było przeprogramowywać układu za każdym razem, kiedy trzeba zwłokę zmienić,
- zmniejszyć liczbę wejść cyfrowych i analogowych (wyprowadziłem wszystko, co się dało wyprowadzić z mikrokontrolera a nie było do niczego podłączone, ale i tak nawet chyba połowy tych wyjść nikt nigdy nie użyje a złącza zabierają miejsce na płytce),
- wyłączać zapis po zapisaniu jednej godziny danych (w tym czasie rakieta na pewno już dawno poleciała i wylądowała, a najwyraźniej przy tak dużych plikach pojawiają się błędy - po ponad godzinie zapisów na ostatnim locie rakiety pojawiły się błędy a dalej pojawiają się dziwne rzeczy jak tworzenie kilkudziesięciu małych nowych plików; na szczęście dane z pierwszej godziny były nienaruszone).
Są także rzeczy, nad którymi się waham:
- zasilanie - czy pobierać zasilanie z baterii 1,5 V zamontowanej na płytce czy też po prostu zamontować gniazdo na dwa kabelki i zasilanie pobierać spoza płytki (np. z baterii 9 V),
- zamontować po jednym kondensatorze 2200 uF na każde wyjście do zapalnika czy też jeden kondensator wyzwalający wszystkie wyjścia (oszczędność miejsca na płytce). W tym drugim przypadku trzeba odczekać kilka sekund na naładowanie kondensatora, choć przy zasilaniu z zewnątrz zamiast z baterii 1,5 V, kondensator ładowałby się znacznie szybciej.
Jakie zmiany jeszcze proponujecie wprowadzić w rejestratorze? Co dodać, co ująć?
Jaką nazwę nadać temu rejestratorowi?