Skocz do zawartości

Rekomendowane odpowiedzi

Opublikowano

Jakiś już czas temu, przymierzałem się do opracowania metody przetestowania jakości "trzymania" parametrów drążków i przełączników pod kątem drgań własnych.

Celem było wybranie z pośród posiadanych aparatur, tych z najlepszymi potencjometrami oraz przełącznikami, a te najgorsze oczywiście do pudeł i do piwnicy ;)

Jednakże, po wykonaniu całego szeregu testów, okazało się że nie tylko jakość potencjometrów i przełączników można ocenić - także typ modulacji transmisji, co akurat dla mnie okazało się być dość sporym zaskoczeniem.

 

Do wykonania i przeprowadzenia testów, posłużyłem się płytką Arduino - jako moduł odczytu PWM z wyjść odbiorników, oraz darmowym oprogramowaniem Processing, do wyświtlenia wyników w komputerze.

Processing do pobrania ze strony https://processing.org/

 

Przygotowanie

 

Poniżej sposób połączenia

AOFHJQa.jpg

 

Arduino podłączone poprzez USB do komputera, a odbiornik do BEC.

Połączenie odbiornika z Arduino dwoma przewodami: masa oraz sygnał z badanego kanału do wejścia Arduino, w przedstawionym przykładzie pin 12.

 

Poprzez IDE Arduino, załadowany został poniższy program do modułu Arduino Uno

/*
  Read PWM data from the pin port and assign it to a variable and send to serial. 
  Arduino Uno
  
  @author  AndyCopter
  @version 0.1.5
  @date    151201  
*/

const byte inputPin = 12;  // Arduino Uno Pin to read pwm signal from receiver

void setup() {
  pinMode( inputPin, INPUT);
  Serial.begin(115200);
}

void loop() {
  int pwm = pulseIn( inputPin, HIGH);
  Serial.println( pwm );
  delay( 90 ); // serial delay
}

Następnie dla środowiska Processing, załadowany został poniższy kod

/*
  Read PWM data from the serial port and assign it to a variable. 
  Processing

  @author   AndyCopter
  @version  0.1.5
  @date     151201
  @licence  OpenSource
*/

import processing.serial.*; 
 
Serial port;
byte LF = 10;

PWMRead pwm = new PWMRead();  

void setup() { 
  background(0);
  size(600, 600); 
  noStroke(); 
  frameRate(20); // Run 20 frames per second
  // Open the port that the board is connected to and use the same speed (9600 - 115200 bps) 
  port = new Serial(this, Serial.list()[1], 115200);
} 

void draw() {   
  if (0 < port.available()) {    // If data is available to read
    String sval = port.readStringUntil(LF);
    if (sval != null)   
      if (sval.length() > 2) 
        pwm.Display(sval);
  } 
} 

class PWMRead {
  int value;
  int valueMin;
  int valueMax;
  int fgColor;
  int x;
  int y;
  int lastPointX;
  int lastPointY;

  PWMRead () {
    value = 0;
    valueMin = 1500;
    valueMax = 1500;
    fgColor = #F6FF00;  
    x = 0;
    y = 0;
    lastPointX = x;
    lastPointY = y;
  }
  
  void Display (String sValue) {
      value = int( sValue.substring( 0, sValue.length()-2) );
      if (value < valueMin) valueMin = value;
      if (value > valueMax) valueMax = value;
      fill(fgColor);
      rect ( 0, 0, 600, 40);
      textSize(32);
      fill(0);
      sValue = "PWM => " + value + " min=" + valueMin + " max=" + valueMax;
      text( sValue, 10, 30); 
      // only for debug
      println(sValue);        
 
      strokeWeight(8);      
      y = int( map (value, valueMin, valueMax, 200, 600));
      stroke(fgColor); 
      point (x++, y);
      lastPointX = x;
      lastPointY = y;
      if (x > 600) x = 0;

      strokeWeight(1);
      stroke(0); 
      line (x+5, 195, x+5, 600);
      noStroke();  
  }
}

W powyższym kodzie, użyty został port szeregowy nr 1 (numeracja od 0), dlatego jeśli posiadacie inną ilość portów, należy zmodyfikować wiersz zawierający poniższy kod, podając właściwy numer portu szeregowego usb, do którego podłączone jest Arduino.

port = new Serial(this, Serial.list()[1], 115200);

 

 

Uruchomienie

 

po załadowaniu programu do Arduino Uno, wykonaniu odpowiednich połączeń i wgraniu programu do Processing, uruchomiona została aparatura będąca przedmiotem testów, a na koniec uruchomiony został program w Processing.

 

 

Rezultaty

 

Program dla Processing, jest dość trywialny, wyświetla wartości PWM na ekranie komputera, przekazywane z odbiornika RC poprzez Arduino, oraz w skali min-max bieżącą wartość.

 

Wyniki

 

W programie Processing, podczas odczytu wartości PWM, rysowana jest wartość odczytu PWM. Wynik bardzo dobry, to linia płaska.

 

Wnioski

 

Po przeprowadzeniu całego szerego testów z różnymi aparaturami i odbiornikami, okazuje się, że powodem wahań odczytywanych wartości PWM, są nie tylko słabej jakości potencjometry drążków czy miernej jakości przełączniki, ale także i same zestawy mogą okazać się wyjątkowo mierne, stosujące przestarzałe techologie modulacji. Szczególnie gdy przetestowana została aparatura dość droga, z dość popularnym logo.

 

Program jaki zamieściłem dla Processing jest uproszczoną wersją posiadanego. Można rozbudować go o zapis danych np. do pliku arkusza kalkulacyjnego, dodać obsługę przycisków Reset, Calibrate itp.,  oraz obliczanie bardziej zaawansowanych odchyleń wartości jak również do zliczania ilości zmian wartości dla wskazanego przedziału czasu.

 

Powyższe testy, możecie przeprowadzić samodzielnie, i sami dokonać własnej oceny posiadanego sprzętu.

 

Program działa w każdym środowisku dla komputerów PC zawierającym Java, zarówno dla Mac jak i Linux oraz windows.


Jeśli dla badanej aparatury z odbiornikiem, zobaczycie na wykresie zamiast linii poziomej coś podobnego do poniższego, czas porozglądać się za nową aparaturą ;)

 

qXnnE9p.jpg

Opublikowano

Właśnie wyszło mi , że moja aparatura za kilka tysięcy złotych z popularnym logo jest kiepska. Co mam zrobić ? Lepiej się czułem przed testami nieświadomy tego co mam a latało się cały sezon wyśmienicie-żadnych zakłóceń itd .Aparatura jest nowa.

  • Lubię to 1
Opublikowano

Andy, a tak poza tym to wszystko w porzadku :D ?

 

Roh, a mi po tescie wyszedl wynik w nadajniku symulatora o takiej tresci:

 

WESOLYCH SWIAT :))))))

  • Lubię to 2
Opublikowano

Andy, a tak poza tym to wszystko w porzadku :D ?

 

Roh, a mi po tescie wyszedl wynik w nadajniku symulatora o takiej tresci:

 

WESOLYCH SWIAT :))))))

Sprawdziłem jeszcze raz i faktycznie otrzymałem taki sam wynik jak ty z dopiskiem-myśl i rób swoje

  • Lubię to 1
Opublikowano

Jedno dodam jeszcze. Aparatura spisała się na medal ! Odbiornik czyli ja nieco gorzej bo boli łeb ale w normie. Fuzli nie czuć !

A widzisz :) bo to o taka aparature wlasnie pewnie chodzilo ;) Odbiorniki znaczy- odbiorcy, test, testerzy i wszystko jasne :)

Ale ta technika poszla do przodu- wystarczy podlaczyc i juz wiadomo czy aparatura jest dobra czy tez trzeba kupowac nowe gary i rurki :D

Opublikowano

Jak zainwestujesz na początku w sprzęt z popularnym logo to służy latami bez problemów. Ja zainwestowałem w szklane komponenty i chłopie laboratorium-jakość pod kontrolą.

No! Wiadomo ! Technologię też trzeba mieć. Ja używam oprogramowania 1410.Działa od Grunwaldu.

1 kilo cukru z polskiej cukrowni o popularnym logo

4 dkg drożdży

10l  wody 

  • Lubię to 1
Opublikowano

Jak zainwestujesz na początku w sprzęt z popularnym logo to służy latami bez problemów. Ja zainwestowałem w szklane komponenty i chłopie laboratorium-jakość pod kontrolą.

No! Wiadomo ! Technologię też trzeba mieć. Ja używam oprogramowania 1410.Działa od Grunwaldu.

1 kilo cukru z polskiej cukrowni o popularnym logo

4 dkg drożdży

10l  wody 

Na koniec tarte skórki z pomarańczy. Działa. Sprawdzone :D .

  • Lubię to 1
Gość Jerzy Markiton
Opublikowano

W tym roku do oprogramowania 1410 dopisałem kilka linijek kodu zawierających tarninę i laskę cynamonu. Efekt - genialny !

Żałowałem, że podjąłem zobowiązanie iż w adwencie nie będę niczego testował......

Wesołych Świąt !

- Jurek

Andy - jak chcesz sprawdzać potencjometry czy wyłączniki - to najlepszy jest oscyloskop ! Spróbuj kiedyś i porównaj wyniki. N/b - kiedyś porządne aparatury miały potencjometry cermetowe a dziś ?

Opublikowano

Jak zainwestujesz na początku w sprzęt z popularnym logo to służy latami bez problemów.

Najbardziej popularne to jest chyba Turnigy co?

Ale polecieliście z OT :)

Opublikowano

Najbardziej popularne to jest chyba Turnigy co?

Ale polecieliście z OT :)

Robert, u mnie we klubie jest ponad 80 osob i tylko dwie osoby maja Turningy....

Ale tak naprawde to trzeba by zapytac Balcerka- on sie na tym zna..

Opublikowano

Najbardziej popularne to jest chyba Turnigy co?

 

Jak model duży i drogi to nie ma żartów. Turingy jest zabawowym radiem jak dla mnie i nie używam.

  • 1 miesiąc temu...
Opublikowano

witam

przeprowadziłem testy według w/w instrukcji

a oto efekty

1 z ciągłym machaniem drążkiem

post-4218-0-92732700-1424421803_thumb.jpg

 

2bez dotykania drążków

post-4218-0-54294000-1424421856_thumb.jpg

 

3 jedno ruszenie drążkiem

post-4218-0-59021100-1424421895_thumb.jpg

 

 

Opublikowano

Drążkami trzeba ruszać bo machanie robi większe zamieszanie,pamiętaj o tym w locie. :D

Drążkami można bezpiecznie se pomachać na symulatorze. :D

Opublikowano

heh no właśnie nie wiem

miałem nadzieję że autor tematu będzie mógł to rozszyfrować :)

A może to jest zrzut gruszek bergamutek, aby nic nie było czuć :) .

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.