Rejestrator

Aparatura pokładowa, układy pomiarowe i wykonawcze.
Awatar użytkownika
arekp
Supersonic PROFI
Posty: 139
Rejestracja: niedziela, 17 kwie 2011, 00:31
Kontakt:

Re: Rejestrator

Post autor: arekp »

Fragment danych w formacie .ods z wykresem
Ten sam fragment danych w CSV

Co masz na myśli mówiąc, że dane nie są poprawne?
Rejestrator zapisywał je oddzielając dane spacją zamiast przecinków i jeśli o to chodzi, to jest to niezgodne z formatem CSV, ale zmienię to w kolejnej wersji rejestratora. Robiłem tak dlatego, żeby łatwiej mi było parsować dane programem, który do tego napisałem, ale w wyniku zawyżonych pomiarów czujnika przyspieszenia (ten błąd o którym pisałem wcześniej, że przetwornica weszła w tryb oszczędniejszy i dała na wyjściu wyższe napięcie), program pokazuje głupie wartości. Łatwiej mi to było obrobić w OpenOffice.

BTW ciśnienie to "pressure", masz na filmiku błąd ortograficzny.
placydo
PROFI
Posty: 710
Rejestracja: niedziela, 30 sty 2011, 18:30
Lokalizacja: Kielce

Re: Rejestrator

Post autor: placydo »

Hej!
Jeśli chodzi o błąd to nic dziwnego :razz: Przerabiałem konwerter ze swoich danych i wpisałem na odwal się tam - błąd jest faktem niezaprzeczalnym :smile:

Natomiast Twój rejestrator jeśli nie podróżuje w czasie to:
478,99 510 512 482 837 438, st=2 sp=1 000 0
479,0 511 513 482 837 448, st=2 sp=1 000 0
479,1 512 513 483 837 447, st=2 sp=1 000 0
479,2 513 511 485 836 448, st=2 sp=1 000 0
479,3 509 513 483 838 438, st=2 sp=1 000 0
479,4 510 513 481 838 442, st=2 sp=1 000 0
479,5 511 511 484 836 435, st=2 sp=1 000 0
479,6 512 514 484 837 434, st=2 sp=1 000 0
479,7 513 512 484 836 436, st=2 sp=1 000 0
479,8 509 511 482 837 449, st=2 sp=1 000 0
479,9 511 511 483 840 440, st=2 sp=1 000 0
479,10 511 513 482 838 433, st=2 sp=1 000 0
479,11 511 510 484 839 442, st=2 sp=1 000 0
479,12 511 513 485 836 437, st=2 sp=1 000 0
479,13 510 512 482 837 437, st=2 sp=1 000 0
479,14 512 514 484 838 441, st=2 sp=1 000 0

Co sekundę robi błąd - zamiast zapisywać drugą liczbę po przecinku zapisuje ją jako pierwszą.
Masz dziesiętne sekundy zamiast setnych - i tak co sekundę.
Zamiast 479,00, potem 479,01 j dalej 479,02 jest jak jest czyli 479,0 i 479,1i 479,2 itd
Mnie nie przeszkadza separator między danymi. Tokenizer świetnie daje sobie z tym radę :wink:

Co do danych - to już patrzę.

Edit:
No w Twoich danych wszystko się zgadza.
Mam pytanie - czy dałoby radę do tego dołożyć prędkość i wysokość? Powstałby chyba ciekawy film do prezentacji (jeśli chcecie oczywiście).

[youtube]http://www.youtube.com/watch?v=l_jUpk-_UZo[/youtube]
Awatar użytkownika
arekp
Supersonic PROFI
Posty: 139
Rejestracja: niedziela, 17 kwie 2011, 00:31
Kontakt:

Re: Rejestrator

Post autor: arekp »

placydo pisze:Co sekundę robi błąd - zamiast zapisywać drugą liczbę po przecinku zapisuje ją jako pierwszą.
Masz dziesiętne sekundy zamiast setnych - i tak co sekundę.
Zamiast 479,00, potem 479,01 j dalej 479,02 jest jak jest czyli 479,0 i 479,1i 479,2 itd
To nie jest błędem, jeśli popatrzysz na to nie jako na jedną liczbę - czas, ale jako dwie liczby - sekundy i części setne sekund - oddzielone przecinkiem :razz: . Nie chciało mi się dodawać zera wiodącego do funkcji zapisującej dane stąd jest 479,1 zamiast 479,01 . Zauważ jednak, że po 479,9 jest 479,10 a nie 479,1 (gdyż jest to zapisana po przecinku liczba 10).
Dodam do funkcji zapisywanie zera wiodącego, żeby nie było później żadnych wątpliwości :smile: .

Dodałem prędkość i wysokość, obie wyliczone na podstawie przyspieszenia, więc po 7 sekundzie, kiedy rakieta się obraca, nie są już one miarodajne - nie wiem czy zamiast tego wpisać "-" czy zamrozić ostatnią sensowną wartość, na razie są zostawione niemiarodajne wyniki.
Fragment danych w formacie .ods z wykresem
Ten sam fragment danych w CSV

Robert, mi wyszło przyspieszenie wyższe niż tobie w tym pliku, inaczej prędkość i przyspieszenie nie chciało się pokrywać z tym obrazkiem oraz wysokością obliczoną z ciśnienia (zakładając w niższych warstwach atmosfery obniżenie ciśnienia o ok. 0,1 kPa na każde 10 metrów).
Założyłem, że na początku jest przyspieszenie 1 g a czułość akcelerometru wynosi 7 działek na g (czyli tak, jak było podczas normalnego działania rejestratora) i dopiero wtedy wszystko się zgrało. Jednocześnie wynika z tego, że pik przyspieszenia na początku wyniósł 60 g, przyspieszenia malało z ok. 30 g do 20 g, a opory powietrza po wyczerpaniu paliwa wynosiły nawet ponad 11 g.
Popraw mnie jeśli źle myślę.
knod
PROFI
Posty: 27
Rejestracja: niedziela, 30 sty 2011, 18:30
Lokalizacja: 3miasto

Re: Rejestrator

Post autor: knod »

arekp pisze:
placydo pisze:Co sekundę robi błąd - zamiast zapisywać drugą liczbę po przecinku zapisuje ją jako pierwszą.
Masz dziesiętne sekundy zamiast setnych - i tak co sekundę.
Zamiast 479,00, potem 479,01 j dalej 479,02 jest jak jest czyli 479,0 i 479,1i 479,2 itd
To nie jest błędem, jeśli popatrzysz na to nie jako na jedną liczbę - czas, ale jako dwie liczby - sekundy i części setne sekund - oddzielone przecinkiem :razz: . Nie chciało mi się dodawać zera wiodącego do funkcji zapisującej dane stąd jest 479,1 zamiast 479,01 . Zauważ jednak, że po 479,9 jest 479,10 a nie 479,1 (gdyż jest to zapisana po przecinku liczba 10).
Dodam do funkcji zapisywanie zera wiodącego, żeby nie było później żadnych wątpliwości :smile: .
proponowalbym zastapienie kolumny z czasem pojedyncza wartoscia - czestotliwoscia problowania (fs) (wstawic jako pojedyncza wartosc w pierwsyzm wierszu danych), zaoszczedzi sie miejsce na karcie, w pamieci mikrokontrolera i nerwow; na podstawie fs kazdy sam sobie przebieg czasowy wygeneruje
placydo
PROFI
Posty: 710
Rejestracja: niedziela, 30 sty 2011, 18:30
Lokalizacja: Kielce

Re: Rejestrator

Post autor: placydo »

Awatar użytkownika
arekp
Supersonic PROFI
Posty: 139
Rejestracja: niedziela, 17 kwie 2011, 00:31
Kontakt:

Re: Rejestrator

Post autor: arekp »

Znalazłem całkiem fajny ADC 12-bitowy (ADC78H89, na Farnellu kosztuje ok. 16,5 zł). 12 bitów zapewni akcelerometrowi +-50 g dokładność ok. 0,03 g, a akcelerometrom +-16 g dokładność ok. 0,014 g. Tyle chyba wystarczy :) .
Awatar użytkownika
jaskiniowiec
Administrator
Posty: 2379
Rejestracja: niedziela, 30 sty 2011, 18:30
Lokalizacja: Kraków
Kontakt:

Re: Rejestrator

Post autor: jaskiniowiec »

Wystarczy moim zdaniem. Ale musisz stosować przetwornik? Mikrokontroler jest bez wejść analogowych?
Awatar użytkownika
arekp
Supersonic PROFI
Posty: 139
Rejestracja: niedziela, 17 kwie 2011, 00:31
Kontakt:

Re: Rejestrator

Post autor: arekp »

Witam po dłuższej przerwie.
jaskiniowiec pisze:Wystarczy moim zdaniem. Ale musisz stosować przetwornik? Mikrokontroler jest bez wejść analogowych?
Jak Knod wcześniej zauważył 10 bitów wewnętrznego ADC mikrokontrolera to trochę mało, zwłaszcza jeśli uwzględnić, że ostatnie 1-2 bity to szum.

Do ADC planuję podłączyć (ADc ma 7 wejść analogowych):
1) oś X akcelerometru 3 - osiowego,
2) oś Y akcelerometru 3 - osiowego,
3) oś Z akcelerometru 3 - osiowego,
4) oś Z akcelerometru 1 - osiowego,
5) czujnik ciśnienia,
6) czujnik temperatury,
7) ew. drugi czujnik temperatury.

Ewentualne pozostałe wejścia analogowe ADC oraz 2-3 wejścia analogowe mikrokontrolera planuję wyprowadzić na złącze ARK jako dodatkowe wejścia analogowe, pod które można podłączyć coś dodatkowego.

Oś Z planuję mierzyć dwoma akcelerometrami z dwóch powodów:
1) zwiększenie dokładności pomiaru, gdy przyspieszenie jest mniejsze niż 16 g,
2) brak konieczności montowania akcelerometru jednoosiowego, jeśli układ nie będzie wykorzystywany w rakietach osiągających przeyspieszenia większe niż 16 g - koszt rejestratora mniejszy o jeden akcelerometr.

Co do czujnika temperatury - nie udało mi się znaleźć nic, co by miało stałą czasową mniejszą niż 3 sekundy (pomijając pirometr, ale nie da się go zastosować w rakiecie). Dodając do tego opóźnienie związane z nagrzewaniem się głowicy rakiety - nie da się mierzyć temperatury głowicy podczas lotu w górę. Da się natomiast bez problemu pomierzyć tą temperaturę podczas opadania, kiedy 5-10 sekund opóźnienia nie robi różnicy.
Jako czujnik temperatury myślę, że dobry byłby termistor - tani, a po wzorcowaniu go mógłby być całkiem niezłym termometrem z dokładnością poniżej jednego stopnia i stałą czasową ok. 3 sekund (nawet bez wzorcowania można sensownie temperaturę mierzyć).
Czy ktoś zna lepszy (i w miarę tani) sposób pomiaru temperatury czy też użyć po prostu termistora?
Mierzymy tylko temperaturę pomietrza (miernik temperatury na kabelkach i przyklejony w dziurze tuż przy powierzchni rakiety?), czy również temperaturę głowicy?

Co do wyzwalania zapalników z jednego czy osobnych kondensatorów - zrobiłem testy wyzwalania dwóch zapalników z jednego kondensatora. Za każdym razem najpierw był wyzwalany jeden zapalnik, 10 ms później był prąd był odcinany od zapalnika pierwszego i wyzwalany był drugi zapalnik, a kolejne 10 ms później prąd był odcinany od drugiego zapalnika. Prąd był po 10 ms odcinany z tego powodu, że niektóre zapalniki (o czym napiszę za chwilę), chociaż zostały wyzwolone, to nadal zwierały obie swoje końcówki, co by rozładowało kondensator i uniemożliwiło wyzwalanie kolejnych zapalników.

TEST 1 - kondensator 10 mF
Oba zapalniki zostały wyzwolone (widać wyzwolenie tylko jednego zapalnika, bo ustawiłem poziom wyzwalania zbyt nisko - napięcie na kondensatorze spadło jedynie o niecałe pół wolta, więc oscyloskop nie wyzwolił). Oba zapalniki po wyzwoleniu stanowiły rozwarcie.

TEST 2 - kondensator 4,7 mF
Oba zapalniki zostały wyzwolone (drugie wyzwolenie kończy się na 0,5 ms przed końcem wyzwolenia, co sprawia wrażenie, że nie widać całości), pierwszy zapalnik po wyzwoleniu stanowił rozwarcie, natomiast drugi - zwarcie.

TEST 3, 4, 5- kondensator 2,2 mF - testy sprzed ponad pół roku, kiedy je robiłem do mojej pracy dyplomowej, wyzwalany był jeden zapalnik strona 46 i 47
Każdy z zapalników został wyzwolony. Dwa pierwsze zapalniki po wyzwoleniu stanowiły rozwarcie, natomiast trzeci zapalnik po wyzwoleniu stanowił zwarcie.

Całość danych zebrałem tutaj

Wyliczyłem też energię potrzebną do każdego wyzwolenia zapalnika. Dostałem od Andrzeja dwa rodzaje zapalników - z krótkimi i z długimi przewodami. O ile dobrze pamiętam, to były one różnych producentów albo różnych dostawców. Do wyzwolenia tych z krótkimi przewodami wystarczy ok. 23 mJ energii; zapalniki te zawsze po wyzwoleniu stanowiły rozwarcie. Do wyzwolenia tych z długimi przewodami potrzeba ok. 40 mJ energii - w czasie testu 2 i 5 nie otrzymały one wystarczającej ilości energii i, chociarz wyzwoliły, to jednak po wyzwoleniu stanowiły zwarcie w dalszym ciągu rozładowując kondensator (do czasu gdy po 10 ms mikrokontroler nie odciął ich od kondensatora). Podczas testu 1 zapalnik z długimi przewodami wyzwolił i po wyzwoleniu był rozwarciem, jednak wtedy miał możliwość korzystania ze znacznie większej ilości energii.

Być może fakt większego zużycia energii zapalników z długimi kablami wynika z większej rezystacji kabli (mają większą rezystancję, bo są po prostu dłuższe), ale nie miałem wystarczająco dużo zapalników, żeby to sprawdzić. Nie bez wpływu jest również fakt, że zapalniki z długimi kablami wyzwalałem jako drugie (w przypadku testów z dwoma zapalnikami - nr 1 i 2), przez co zmniejszone napięcie na kondensatorze po wyzwoleniu pierwszego zapalnika sprawiło, że przez zapalnik przepływał mniejszy prąd, co dodatkowo zwiększyło zużywaną energię (choć TEST 5 to już do niczego nie pasuje - może coś wtedy źle zrobiłem?). Wyzwalałem najpierw te z krótszymi kablami a następnie te z długimi, bo chciałem przetestować wyzwalanie tych z dłuższymi kablami w trudniejszych warunkach.

Podsumowując można wyzwolić dwa zapalniki w odstępie 10 ms mając co najmniej kondensator 4,7 mF naładowany do napięcia co najmniej 5,2 V (postaram się, żeby rejestrator następnym razem miał ciut więcej). A więc na podstawie tego - robić jeden kondensator na wszystkie zapalniki czy też w dalszym ciągu po jendym na każdy zapalnik? Dodam, że bardzo rzadko zajdzie sytuacja, że oba zapalniki zostaną wyzwolone w tym samym czasie (można też oczywiście w oprogramowaniu dodać opóźnienie na doładowanie kondensatora).
tadeusz
PROFI
Posty: 397
Rejestracja: niedziela, 30 sty 2011, 18:31
Lokalizacja: Poznań

Re: Rejestrator

Post autor: tadeusz »

Cześć!

Może lepiej poszukać zapłonników o niższej energii wyzwalania np.3mWs i wtedy odpadnie problem
kondensatorów.Oporność takiego zapłonnika to ok.2ohmy.

Pozdrawiam.tadeusz
Awatar użytkownika
arekp
Supersonic PROFI
Posty: 139
Rejestracja: niedziela, 17 kwie 2011, 00:31
Kontakt:

Re: Rejestrator

Post autor: arekp »

Moim celem jest, aby rejestrator był maksymalnie uniwersalny - jeśli takie zapalniki wyzwoli, to nie będzie problemu z zapalnikami o niższej energii zapłonu. W zasadzie to na razie problem z zapalnikami sprowadza się do minimalnej pojemności kondensatora, który będzie w stanie wyzwolić oba zapalniki. Im mniejsza energia wyzwalania zapalnika tym potrzebny kondensator o mniejszej pojemności (ciut tańszy i trochę mniej miejsca na płytce zajmujący). Jeśli zapalniki o niskiej energii wyzwalania są łatwo dostępne, to zmniejszę kondensator, jeśli nie, to postaram się zastosować taki, z którego będzie można wyzwolić jak najwięcej różnych dostępnych dla was zapalników.
Tak więc jakie inne zapalniki są dla was łatwo dostępne?
ODPOWIEDZ