Rejestrator U I T

Projekty użytkowników forum zarówno sprzętowe, jak i związane z programowaniem w dowolnym języku.
Awatar użytkownika
danielos
Newb
Newb
Posty: 70
Rejestracja: sobota 02 sty 2016, 15:06
Lokalizacja: Pawłowice, Silesia.
Kontaktowanie:

Rejestrator U I T

Postautor: danielos » środa 23 mar 2016, 19:03

Z racji tej, że został ogłoszony konkurs gdzie do wygrania jest kubek microgeek'owy postanowiłem najpierw swój projekt tutaj przedstawić (później wyląduje na mojej stronie). Może uda mi się wygrać kubek - wszystko zależy od szanownego jury. Tyle tematem wstępu a teraz opis mojej konstrukcji.

W końcu udało się ukończyć projekt, który rozpocząłem ponad rok temu! Jest to rejestrator parametrów - U,I,T. Głównym celem wykonania urządzenia, była możliwość monitorowania zmian napięcia, prądu i temperatury w badanym układzie wraz z zapisem na kartę SD. Założenia i koncepcja zmieniała się z biegiem czasu.

Założenia ogólne:

  • Zapis danych na kartę SD;
  • Pomiar napięcia do 13VDC;
  • Pomiar prądu, do 0,5A;
  • Pomiar temperatury z wykorzystaniem DS18B20
  • Zasilanie bateryjne, bądź z zasilacza 12VDC;
  • Podłączenie przejściówki RS232, modułu bluetooth - złącze RJ45 6P;
  • Interfejs użytkownika w postaci wyświetlacza i 4 przycisków;
  • Wyświetlanie pomiaru napięcia, prądu i temperatury na wyświetlaczu;
  • Diody sygnalizujące wykonywany pomiar, oraz zapis na kartę SD;
  • 2 złącza 2 pinowe do pomiaru napięcia i prądu;
  • Czujnik temperatury podłączany poprzez złącze jack;
  • Pozostałe kanały wyprowadzone na złącze RJ46 8P;
  • Mała, przenośna obudowa.

Założenia programistyczne:

  • Możliwość zmiany nazw zapisywanych plików z poziomu UI;
  • Zmiana czasu dokonywania pomiarów (próbkowania);
  • Włączenie/wyłączenia odpowiednich kanałów pomiarowych;
  • Dane konfiguracyjne zapisywane w pamięci EEPROM;

Czytając powyższe założenia, można sobie wyobrazić ogrom pracy, jaki był, podczas wykonywania rejestratora. Gdy zabrałem się za wykonywanie projektu, myślałem że nie uda mi się wszystkich założeń wykonać tak jak planuję. Jednak udało mi się i jestem z tego efektu bardzo zadowolony.
Przedstawię krótko najważniejsze cechy i funkcjonalności urządzenia - dokładny i szczegółowy opis zająłby pewnie dużo czasu jak i objętości.

Poniżej przedstawiam schemat ideowy całego układu.

Schemat ideowy.png


Rejestrator może być zasilany z dwóch źródeł - z baterii (na chwilę obecną jest to bateria 9V - nie nadają się one jednak do takiego zastosowania bo mają zbyt małą pojemność), bądź z zasilacza zewnętrznego. Napięcie jakie panuje w wykonanym układzie wynosi 3.3V, jest ono zapewniane przez stabilizator LM1117DT-3.3. Zastosowanie napięcie 3,3V umożliwiło bezpośrednie podłączenie karty SD do mikrokontrolera bez stosowania dodatkowych układów do translacji napięcia. Komunikacja po RS232 jak i obsługa czujnika DALLAS DS18B20 jest również możliwa przy zastosowanym napięciu.

W wykonanym urządzeniu napięciem pracy jest 3.3V, więc zastosowanie typowego wyświetlacza z sterownikiem HD44780 może skutkować tym, że napisy mogą nie być prawidłowo wyświetlane z powodu zbyt małego napięcia kontrastu. Postanowiłem więc zastosować przetwornicę napięcia ujemnego i wykonać moduł do tych wyświetlaczy. Dodatkowo taki moduł wyposażyłem w złączki które ułatwią mi podłączanie tego wyświetlacza do docelowego układu.

Wyswietlacz LCD.png

płytka lcd.png

Wyswietlacz_1.jpg


Jedyny problem - raczej niedogodność - który wynikł z zastosowania napięcia 3.3V dotyczy pomiaru różnicowego napięcia oraz prądu, a dokładnie maksymalnego napięcia wyjściowego w zastosowanym wzmacniaczu operacyjnym. Według noty katalogowej LM358 napięcie wyjściowe wzmacniacza operacyjnego może wynieść maksymalnie V+ -1,5V (V+ napięcie zasilające), czyli w moim przypadku dla napięcia zasilającego 3.3V maksymalne napięcie wyjściowe wyniesie 1,8V (w rzeczywistości z pomiarów wyszło mi, że maksymalne napięcie wyjściowe może wynieść 2V). Znając ten parametr musiałem tak dobrać wzmocnienie każdego wzmacniacza aby przy maksymalnej mierzonej wartości nie przekroczyć tego napięcia - o tym troszeczkę później.

Urządzenie umożliwia pomiar napięcia na 7 kanałach, oraz pojedynczy pomiar prądu. W tych 7 kanałach do pomiaru napięcia znajduje się 6 kanałów nieskonfigurowanych (nieposiadających żadnego pomiaru różnicowego - napięcie podawane jest bezpośrednio do układu scalonego i nie może ono przekroczyć napięcia 2,56V), oraz jeden kanał umożliwiający pomiar napięcia do 13V.
Do pomiaru napięcia jak i prądu - jak już wspomniałem - wykorzystałem układ różnicowy z wzmacniaczem operacyjnym. Układ ten umożliwia pomiar spadku napięcia na danym elemencie. Poprzez odpowiedni dobór rezystorów możliwe jest uzyskanie wzmocnienia w dużym zakresie - większe jak i mniejsze od 1. Jedyny największy minus tego rozwiązania to niska rezystancja wejść wzmacniacza, co może powodować zakłócenia w badanym układzie. Dlatego starałem się zastosować rezystancje jak największe, aby wpływ ten był jak najmniejszy (im większa rezystancja to tym mniejszy prąd płynący przez rezystory w układzie różnicowym - prąd który jest "pobierany" z badanego układu). Wzmocnienie w układzie do pomiaru napięcia wynosi k=7 (wartość wzmocnienia obliczonego na podstawie rezystancji wynosi 6.67, natomiast podałem wartość wzmocnienia "rzeczywistego" - rezystancja ścieżek, dokładność 5% rezystorów i lutów w tym przypadku odegrała znaczącą rolę) - czyli dla różnicowego napięcia wejściowego 13V napięcia na wyjściu wyniesie 1,85.

Pomiar różnicowy.png


W pomiarze prądu został zastosowany rezystor, tzw. bocznik. Pomiar spadku napięcia na tym rezystorze umożliwia obliczenie z prawa Ohma prądu jaki przez ten rezystor płynie. Zastosowany rezystor posiada rezystancję 0.1ohma. Natomiast rezystory w układzie różnicowym definiują wzmocnienie o wartości k=41 (zastosowałem rezystory o dokładności 1%). Upraszczając - spadek napięcia jest wprost proporcjonalny do prądu płynącego przez rezystor w proporcjach 1 do 4.

Algorytm główny programu przedstawia się następująco:

Algorytm główny.jpg


Przedstawię jedynie kod pętli głównej, resztę ewentualnie na prośbę (ale w fragmencie) jeżeli ktoś by chciał.

Kod: Zaznacz cały

   while(1){
      
      backlight();
      return_screen();
      button_service();

      DISPLAY_EVENT(1);

      wdt_reset();

      pomiary();
      ADC_EVENT();

      zapisz_dane();

      UART_EVENT(uart_bufor);

      sygnalizacja_led();

      wdt_reset();
   }


Wykorzystanie zasobów mikrokontrolera ATmega32 przedstawia się następująco:

- FLASH - 27,848 kb tj. 85%
- RAM - 1,372kb tj. 67%
- EEPROM - 24b tj. 2,3%

Mikrokontroler taktowany jest kwarcem o częstotliwości 16MHz.

Komunikacja z komputerem odbywa się poprzez interfejs RS232, natomiast obsługę wykonuje się poprzez komendy AT z wykorzystaniem terminala. Poprzez komendy AT możliwa jest ta sama zmiana i konfiguracja parametrów co poprzez UI. Jedynie kalibracja wyświetlanych wartości napięcia i prądu na wyświetlaczu LCD, jest możliwa poprzez komendy AT (polecenie AT+CAL) - nie ma takiej możliwości z poziomu menu na wyświetlaczu. Dodatkowo do mikrokontrolera jest wgrany bootloader, który umożliwia wgranie nowego programu poprzez RS232 bez podłączania zewnętrznego programatora. Poniżej przedstawiam screeny z działania komunikacji przez RS232.

Pomiary_terminal.png

Komendy AT.png


Wyniki odczytu napięcia i prądu są podawane jako czyste wartości ADC (również w takiej formie są zapisywane na karcie pamięci). Nie stosowałem konwersji wartości pomiarowych, aby zaoszczędzić na czasie podczas zapisu danych na kartę SD. Jedynie napięcie i prąd przedstawiane na wyświetlaczu są na bieżąco przeliczane.

Wykonane pomiary zapisywane są również na karcie SD. Przed wykonywaniem pomiarów możliwa jest zmiana nazwy pliku do jakiego będą zapisywane dane, znak oddzielający kolumny, oraz ilość próbek zapisanych w pliku. Maksymalna ilość plików wynosi 99. Po przerwaniu pomiarów, a następnie rozpoczęciu nowej serii, nowe dane pomiarowe będą zapisywane do kolejnego numeru pliku.

Przykładowe pomiary.png

Pliki na karcie SD.png


W plikach nie jest zapisywany czas pomiaru. Odstęp pomiędzy pomiarami jest ustawiany wcześniej, więc znane jest próbkowanie - pominąłem ten parametr, aby nie tracić dodatkowe czasu podczas samego zapisu danych na kartę SD.

W projekcie użyłem bibliotek FatFS do obsługi kart SD.

Na potrzeby projektu, stworzyłem własne biblioteki do obsługi przycisków jak i menu. Jako ciekawostkę przedstawiam:

- rejestrację nowych przycisków:

Kod: Zaznacz cały

   //rejestracja klawiszy
   button_register(&SW_UP, &(PIN(BUTTON_PORT)), (1<<BUTTON_UP),1,20,up_menu_button,NULL);         //1
   button_register(&SW_DWN, &(PIN(BUTTON_PORT)), (1<<BUTTON_DWN),1,20,down_menu_button,NULL);      //4
   button_register(&SW_OK, &(PIN(BUTTON_PORT)), (1<<BUTTON_OK),2,200,ok_menu_button, start_button);   //2
   button_register(&SW_EXIT, &(PIN(BUTTON_PORT)), (1<<BUTTON_EXIT),2,2,exit_menu_button, NULL);      //3


- obsługę przycisków:

Kod: Zaznacz cały

//obsługa przycisków
void button_service(void){

   uint8_t i=0;         //i - numer obsługiwanego przycisku,
   enum b_st state=none;      // state stan dla danego przycisku

   for(i=0 ; i<MAX_BUTTON ; i++){
      if(button_tab[i]) {
         state = ds_button_serv(i);

         if(state == procedure)
            continue;

         if(state == button_short){
            if(button_tab[i]->short_push)         //jeżeli została przydzielona funkcja
               button_tab[i]->short_push();
            break;
         }
         else if(state == button_long){
            if(button_tab[i]->long_push)         //jeżeli została przydzielona funkcja
               button_tab[i]->long_push();
            break;
         }
      }

   }
}


- oraz strukturę przechowującą informację o przyciskach

Kod: Zaznacz cały

typedef struct {
    volatile uint8_t *PORT;      //port do którego podłączony jest klawisz, np. PINB
    uint8_t button_mask_pin;      //pin/maska pinu do którego podłączony jest przycisk, np. (1<<PB0)
    uint8_t repeat_wait_s;      //czas oczekiwania na identyfikację długiego wcisniecia      w s
    uint8_t repeat_time_ms;      //czas pomiędzy powtórzeniami   w 10ms
    void (*short_push)(void);      //funkcja obsługująca krótkie wcisnienie
    void (*long_push)(void);      //funkcja obslugująca długie wcisnięcie
} DS_BUTTON;


W programie możliwa jest szybka zmiana obsługi przycisków poprzez funkcje rejestrujące. Szczerze powiem, że jestem bardzo zadowolony z tej biblioteki - nie spodziewałem się, że może mi takie coś wyjść spod moich palców ;)

Przed przystąpieniem do pisania programu określiłem kolejność pisania kodu. Plan kodowania wygląda następująco:
  • Obsługa LCD
  • Menu i obsługa przycisków
  • Obsługa czujnika temperatury
  • Komunikacja poprzez RS232
  • Obsługa karty SD
  • Konfiguracja poprzez UI
  • Konfiguracja poprzez komendy AT
  • Obsługa ADC
  • Bootloader

Tak natomiast przedstawia się wykonany Rejestrator:
Wnetrze_1.jpg

Przod_1.jpg

Gora_1.jpg

Bok_1.jpg


Opis tego urządzenia znajdzie się też w najbliższym czasie na mojej stronie - prawdopodobnie w takiej samej formie.

Zachęcam do oceniania, komentowania i zadawania pytań.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
Można wszystko osiągnąć, wystarczy chcieć.

Awatar użytkownika
Antystatyczny
Geek
Geek
Posty: 1177
Rejestracja: czwartek 03 wrz 2015, 22:02

Re: Rejestrator U I T

Postautor: Antystatyczny » środa 23 mar 2016, 19:51

Przede wszystkim pragnę podziękować za publikację. Wykonałeś kawał roboty. Oczywiście mam pytania... Przede wszystkim pytanie o 16MHz w kontekście zasilania napięciem 3V3. Układ działa stabilnie? Nie resetuje się przy byle okazji? Następne pytanie... Dokonujesz pomiarów przy pomocy "sond" podłączanych do układu złączem RJ45. Sprawdzałeś czy to gniazdo nie ma tendencji do zakłócania wyniku pomiaru podczas poruszania wtykiem?
Następna sprawa to przetwornica na 7660. Zauważyłem, że na wyświetlaczu masz na nią miejsce, a mimo to zdecydowałeś się na zbudowanie osobnej płyty. Co przeważyło szalę na korzyść osobnej płyty?

Zerknąłem również na zaprezentowane przez Ciebie kawałki kodu i wygląda to całkiem smacznie. Struktury opisujące przyciski wyglądają u mnie dość podobnie... To całkiem wygodne rozwiązanie. Tutaj mogę podpowiedzieć/dodać, że fajnie jest mieć możliwość podłączenia osobnych callbacków w przypadku naciśnięcia klawisza, jak i jego zwolnienia. No ale to tak w ramach ciekawostki - może kiedyś Ci się to przyda.

Obudowa jest poprawna... cóż tu dodać? Czasami wykorzystuję te gotowe obudowy i muszę się pogodzić z ich dość neutralnym wyglądem. W każdym razie wykonanie jest czyste i staranne.

Być może w późniejszym czasie wypłyną jeszcze jakieś pytania... a na teraz to wszystko. Gratuluję cierpliwości i umiejętności.

Pozdrawiam
"The true sign of intelligence is not knowledge but imagination" Albert Einstein.

Awatar użytkownika
danielos
Newb
Newb
Posty: 70
Rejestracja: sobota 02 sty 2016, 15:06
Lokalizacja: Pawłowice, Silesia.
Kontaktowanie:

Re: Rejestrator U I T

Postautor: danielos » środa 23 mar 2016, 20:43

Dzięki za pochwały ;)

A teraz po kolei:

Antystatyczny pisze: Przede wszystkim pytanie o 16MHz w kontekście zasilania napięciem 3V3. Układ działa stabilnie? Nie resetuje się przy byle okazji?


Wszystko działa prawidłowo przez dłuższy okres czasu. Test działania przeprowadzałem przez prawie 5h i nie zaliczył żadnego resetu - może miałem szczęście

Antystatyczny pisze:Dokonujesz pomiarów przy pomocy "sond" podłączanych do układu złączem RJ45. Sprawdzałeś czy to gniazdo nie ma tendencji do zakłócania wyniku pomiaru podczas poruszania wtykiem?


Dla pomiaru napięcia do 13VDC oraz pomiaru prądu zastosowałem takie oto gniazda:
Wtyk 402
Zapomniałem o tym wspomnieć.

Natomiast pozostałe kanały pomiarowe jak testowałem to nie sprawdzałem podczas ruszania wtyczki, tak jak to sugerowałeś - założyłem, że badany układ jak i rejestrator podczas pomiarów będą nie ruszane (pomiary dokonywane przez dłuższy okres czasu). Głównie będę używał pomiaru napięcia poprzez pomiar różnicowy, oraz pomiar prądu - oba kanały pomiarowe mają swoje gniazda 402. Natomiast pozostałe kanały są "rezerwowe". W przyszłości mam zamiar dodać jeszcze jedną funkcjonalność dla tych kanałów rezerwowych - rejestrator stanów logicznych.

Antystatyczny pisze:Następna sprawa to przetwornica na 7660. Zauważyłem, że na wyświetlaczu masz na nią miejsce, a mimo to zdecydowałeś się na zbudowanie osobnej płyty. Co przeważyło szalę na korzyść osobnej płyty?


Ten wyświetlacz posiada takie miejsce, ale nie wszystkie je mają. Dodatkowo musiałbym mieć dwie płytki drukowane - jedną z przetwornicą a drugą bez (obie płytki ze złączami, tranzystorem do podświetlenia, oraz z potencjometrem do kontrastu) - a tak mam jedną i nie muszę się martwić która mam wykorzystać i dla jakiego napięcia bo za pomocą zworki mogę sobie wybrać czy ma działać przetwornica czy nie.

Antystatyczny pisze:Zerknąłem również na zaprezentowane przez Ciebie kawałki kodu i wygląda to całkiem smacznie. Struktury opisujące przyciski wyglądają u mnie dość podobnie... To całkiem wygodne rozwiązanie. Tutaj mogę podpowiedzieć/dodać, że fajnie jest mieć możliwość podłączenia osobnych callbacków w przypadku naciśnięcia klawisza, jak i jego zwolnienia. No ale to tak w ramach ciekawostki - może kiedyś Ci się to przyda.


Jak na razie to w żadnych projektach nie potrzebowałem wykonywać jakichś czynności, gdy przycisk zostanie zwolniony. Jeżeli będę potrzebował takiej funkcjonalności to pewnie uzupełnię o nią swoje biblioteki.

Antystatyczny pisze:Obudowa jest poprawna... cóż tu dodać? Czasami wykorzystuję te gotowe obudowy i muszę się pogodzić z ich dość neutralnym wyglądem. W każdym razie wykonanie jest czyste i staranne.


Co do obudowy - nie jestem mistrzem obróbki materiałów. Wszystkie niedociągnięcia i błędy maskuję poprzez naklejanie opisów i paneli.
Można wszystko osiągnąć, wystarczy chcieć.

Awatar użytkownika
WoodPaker
User
User
Posty: 136
Rejestracja: czwartek 17 wrz 2015, 19:23
Lokalizacja: USA
Kontaktowanie:

Re: Rejestrator U I T

Postautor: WoodPaker » środa 23 mar 2016, 20:56

A ja mam pytanie laika. Widząc jak ludzie dużo różnych rzeczy robią na świecie zastanawiam się jakie zastosowanie aplikacyjne to coś ma? Bo przyznaje się, że nie widzę sensu rejestrowania U I T żeby tylko sobie rejestrować. Także moje pytanie brzmi "Po Co?". I nie wynika ono ze złośliwości, a z niewiedzy mej :(
Life is to short to eject USB safely

Awatar użytkownika
danielos
Newb
Newb
Posty: 70
Rejestracja: sobota 02 sty 2016, 15:06
Lokalizacja: Pawłowice, Silesia.
Kontaktowanie:

Re: Rejestrator U I T

Postautor: danielos » środa 23 mar 2016, 22:14

Odpowiem jak jeden z moich prowadzących (z uśmiechem):
BO TAK!! ;)

A tak poważnie:
wykonałem to urządzenie w celu przebadania (może zbyt mocne słowo) wykonanych układów, a także sprawdzenie co się dzieje w danym momencie. Jak wygląda przebieg napięcia, prądu, a także temperatury w danym układzie w określonych ramach czasowych. Dodatkowo potrzebowałem też urządzenia przenośnego do pomiaru i rejestracji temperatury w danym pomieszczeniu.

Urządzenie to będzie mi umożliwiało łatwą diagnozę problemów z wykonanymi układami - bo przeważnie następuje jakaś zmiana, gdy się odejdzie od miernika na przysłowiową sekundę. Dużej dokładności rejestrator może i nie ma, ale będę wiedział gdzie w pewnym zakresie napięć i prądu, a także czasu mam szukać problemu.

Co mnie skłoniło do wykonania rejestratora? Takie oto zdarzenie:

Wykonałem jakiś czas temu pewien sterownik. Resetował mi się on co jakiś czas. Nie wiedząc co jest przyczyną zacząłem szukać usterki. Najpierw szukałem błędów w kodzie, następnie sprawdzałem część sprzętową. Po wyeliminowaniu błędów programowych, o resetowanie obwiniłem stabilizator - założyłem że w pewnym momencie jest zbyt duży pobór prądu i napięcie siada. W tym momencie przyszło mi do głowy, że fajnie by było mieć urządzenie, które będzie mierzyło napięcie oraz prąd przez dłuższy okres czasu, a wyniki zapisywało do pliku w celu późniejszej analizy - tak zrodził się pomysł na wykonanie rejestratora.
Uzupełniając: po wymianie stabilizatora liniowego na impulsowy, na pewien okres czasu ustąpiły resetowania, ale po pewnym czasie znowu się pojawiły. Ostatecznie (po zakomentowaniu części programu doszedłem do wniosku że jednak to wina programu) napisałem nowy kod do sterownika i problem znikł - stary program nadal mam i w ramach luzu szukam gdzie ukryła się przyczyna tego resetowania. Jak na razie nie mogę tego buga znaleźć.

WoodPaker pisze: I nie wynika ono ze złośliwości, a z niewiedzy mej :(

Tu jest mój ewidentny błąd, gdyż nie u mieściłem nigdzie w poprzednim poście, żadnej informacji po co zostało to urządzeniu wykonane :oops:
Więc dzięki za przypomnienie o tym.
Można wszystko osiągnąć, wystarczy chcieć.

Awatar użytkownika
WoodPaker
User
User
Posty: 136
Rejestracja: czwartek 17 wrz 2015, 19:23
Lokalizacja: USA
Kontaktowanie:

Re: Rejestrator U I T

Postautor: WoodPaker » środa 23 mar 2016, 22:28

Pewnie przepełnienie stosu :D to zwykle powoduje reset i dziwne zachowanie sprzętu.
W każdym razie dziekuje za szybką odpowiedź i mogę z czystym sumieniem stwierdzić, że mi się bardzo podoba pomysł jak i wykonanie.
Life is to short to eject USB safely

Awatar użytkownika
PROTON
Expert
Expert
Posty: 531
Rejestracja: czwartek 08 paź 2015, 18:35
Lokalizacja: Warszawa

Re: Rejestrator U I T

Postautor: PROTON » środa 23 mar 2016, 22:47

A mi się podoba też podejście do projektu, najpierw założenia, podział kodu na części, itp. Czyli "Dziel i zwyciężaj".
Gott weiß ich will kein Engel sein.

Awatar użytkownika
mokrowski
User
User
Posty: 190
Rejestracja: czwartek 08 paź 2015, 20:50
Lokalizacja: Tam gdzie Centymetro

Re: Rejestrator U I T

Postautor: mokrowski » czwartek 24 mar 2016, 19:36

Bardzo ciekawy projekt i czyste wykonanie. Urządzenie do zastosowań jakie opisałeś wydaje się dość uniwersalne :-)

Mam pytanie do samego projektu. Po testach, jaki najkrótszy interwał czasu zapisu próbek udało Ci się osiągnąć? Czy inaczej z jaką maksymalną częstotliwością jesteś w stanie zapisywać każdy z kanałów samodzielnie i wszystkie razem?

Niechaj moc kubka będzie z Tobą :-)
,,Myślenie nie jest łatwe, ale można się do niego przyzwyczaić" - Alan Alexander Milne: Kubuś Puchatek

Awatar użytkownika
danielos
Newb
Newb
Posty: 70
Rejestracja: sobota 02 sty 2016, 15:06
Lokalizacja: Pawłowice, Silesia.
Kontaktowanie:

Re: Rejestrator U I T

Postautor: danielos » czwartek 24 mar 2016, 22:58

mokrowski pisze:Po testach, jaki najkrótszy interwał czasu zapisu próbek udało Ci się osiągnąć? Czy inaczej z jaką maksymalną częstotliwością jesteś w stanie zapisywać każdy z kanałów samodzielnie i wszystkie razem?


Próbkowanie można ustalić na jednym z następujących poziomów:

Kod: Zaznacz cały

0,1; 0,2; 0,3; 0,4; 0,6; 0,8; 1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 20; 25; 30; 40; 60; 90; 120; 150; 180

wartości są podane w sekundach.

Nie ma rozróżnienia czy dokonywany jest pomiar tylko na jednym kanale czy na wszystkich. Pomiary z ADC są wykonywane po kolei dla każdego aktywnego kanału (pomijane są nieaktywne). Odczyt temperatury wykonywany jest przed odczytem z ADC.

Czyli odpowiadając na Twoje pytanie:
Przy testowaniu najniższego okresu próbkowania, tj 0.1s nie zauważyłem żadnych opóźnień czy problemów. Testy wykonałem przy włączonych wszystkich kanałach pomiarowych, oraz temperatury (czyli wykonywanych było 9 pomiarów). Aktywny był zapis na kartę SD (maksymalna ilość zapisywanych danych do pliku, czyli 100), oraz przesyłanie pomiarów przez RS232. Czas pomiaru wyniósł około 4 minut (plus opóźnienie z włączeniem i wyłączeniem pomiarów); ilość plików - 25; ilość próbek - 2463; czas wykonywania pomiarów według ilości próbek - 4 minuty i 6,3 sekundy.

mokrowski pisze:Niechaj moc kubka będzie z Tobą :-)

Zaprawdę wspaniały kubek jest.

PROTON pisze:Czyli "Dziel i zwyciężaj".

Nie słyszałem jeszcze o tym sposobie zarządzania. Będę sobie musiał tą maksymę zapamiętać;)
Można wszystko osiągnąć, wystarczy chcieć.


Wróć do „DIY”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 4 gości