MSBPackage Software Library für Multiplex Sensor Bus an Arduino Plattform

Hallo Marco und alle anderen,

also die Telemetriedaten kommen über ein Mavlink-Protokoll was allgemein bekannt ist. Den entsprechenden Code zum "einlesen" gibt es auf jedenfall. Ich habe auch schon den Code gesehen, der das Mavlink-Protokoll einließt und dann ausgewählte Daten über das Frysky-Telemetrieprotokoll weitergibt. Das ist quasi das was ich erreichen möchte, nur eben mit dem MSB Bus. Die verwendete Hardware ist hier das Teensy 3.1 Board.

Kann mit jemand sagen, ob es einen nennenswerten Unterschied gibt? Das Teensyboard hat glaube ich etwas mehr Hardwarereserven und mehr Ein/Ausgänge als das Arduino Nano Board. Eine SD-Karten Erweiterung lässt sich offensichtlich leicht für beide realisieren. Ersten Recherchen nach wird das Teensyboard mit der gleichen Software bedient, wie das Arduino. Kann da jemand was zu sagen?

Gruß
Stefan
 
@ Thomas,
könnte man nicht z.B. auch den Arduino Hardware Serial für die MSB Kommunikation nehmen und den Software Serial zum PC für Debug und ggf. Konfig?

Gruß Marco

Leider unterstützt die Arduino IDE das nicht, der Download der Software geht immer über die Hardware Schnittstelle.
Debug Ausgaben kann man zwar auch über die Software Serial machen, aber dann müsste man ständig umstöpseln.
Eine Lösung wären neuere Arduinos wie Leonardo, die nutzen dem atmega32u4 und binden die IDE über USB an, dann ist der Hardware Port frei. Das Timingproblem löst die Hardware Serial aber auch nicht, dafür haben die Arduninos einfach die falsche Taktfrequenz. 38400 ist einfach kein Teiler von 8 oder 16 Mhz.

In Summe sind Arduinos und speziell die lächerliche "IDE" eben Spielzeug.

Gruß
Thomas
 
Hallo Marco und alle anderen,

Das ist quasi das was ich erreichen möchte, nur eben mit dem MSB Bus. Die verwendete Hardware ist hier das Teensy 3.1 Board.

Kann mit jemand sagen, ob es einen nennenswerten Unterschied gibt? Das Teensyboard hat glaube ich etwas mehr Hardwarereserven und mehr Ein/Ausgänge als das Arduino Nano Board. Eine SD-Karten Erweiterung lässt sich offensichtlich leicht für beide realisieren. Ersten Recherchen nach wird das Teensyboard mit der gleichen Software bedient, wie das Arduino. Kann da jemand was zu sagen?

Der Hauptunterschied ist, das Teensy 3.1 einen ARM cortex M0 Prozessor und keinen ATMEGA verwendet. Solange man nur "offizielle" Ardunio Library Funktionen verwendet, ist es zu Arduino kompatibel. Software, die direkt auf die Hardware zugreift (wie meine Library), läuft auf dem Teensy 3.1 nicht.
Hatte mir vor einiger Zeit mal das Manual für den verwendeten Mikrocontroller runtergeladen. Der ist leider deutlich komplexer als der AVR, da muss man sich schon ein paar Tage einlesen bis man die Hardware versteht.

Gruß
Thomas
 
Hi Thomas,

danke für die Infos. Ich denke ich werde mir mal für den kommenden Urlaub "Die elektronische Welt mit Arduino entdecken" mitnehmen. Wenn ich mich dann ein bischen eingelesen habe kann ich nach dem Urlaub entscheiden ob ich das Buch wieder verkaufe oder mir den Arduino Micro oder Nano hole. ;) Ich glaube ein bischen "basics" lernen/verstehen bevor man sich dann an solche Projekte traut ist nicht so verkehrt.

Gruß
Stefan
 
Nun klappt es mit den Werten

Nun klappt es mit den Werten

Hallo,
vielen Dank noch mal für den Tip mit dem TX Wert. Ich habe den Wert nur um einen Schritt verkleinert und es lief auf anhieb. Jetzt geht mein kleines Board schon in der Version 2. Kleine Anpssungen musste ich naträglich noch machen. Leider habe ich mir meinen Festspannugnsregler zerschossen und davon hatte ich nur einen. Naja der große Bruder tut es auch und fertig. Die Bauteile sind schon mal ohne Bohrung a la SMD aufgelötet. Noch ein paar Anpassungen und Testflüge und dann mache ich die Version 3 dann ganz in SMD und somit viel kleiner. Der zweite Temp. Sensor ist nicht angeschlossen, daher der seltsame Wert.

Gruß Marco

IMG_6860.JPG
IMG_6858.JPG
 
Hallo,
vielen Dank noch mal für den Tip mit dem TX Wert. Ich habe den Wert nur um einen Schritt verkleinert und es lief auf anhieb./QUOTE]
Hallo Marco,
freut mich zu hören. Da hatte ich ja den richtigen Riecher:cool:

Schön das du eine Platine machst, daran scheitert es bei mir immer. Ich verstehe zwar auch ein wenig von Elektronik, aber ich konnte mich bisher nicht überwinden in SMD Technik einzusteigen.

Ich habe die Library auch initial geschrieben, weil zwei Vereinskameraden eine Hardware Idee hatten, aber an der Software scheiterten. Ich selber habe außer einem prototypischen G-Sensor noch nichts mit der Lib gemacht. Deine Platine würde mich daher interessieren.

Gruß
Thomas
 

D-ALLA

User
Springen der Werte

Springen der Werte

Hallo leute,
zunächst großten dank an thomas für seine Arbeit und die bereitschaft diese für uns alle zugänglich zu machen.

in der Hoffnung das dieses Thema nicht nur für mich noch aktuell ist, habe ich jedoch eine frage,
wenn ich werte vom sensor ausgeben möchte die zb 4,2V darstellen sprich 42 so springt dieser Wert über vielfaches seiner selbst dieser Fehler wurde ja auch schon von anderen beschrieben, gibt es dafür schon eine Lösung?

Grüße
DALLA
 
Hallo zusammen,
da mich dieses Thema auch interessiert, habe ich beim großen C "Arduino verstehen und anwenden" geholt habe aber jetzt folgende Fragen.

Vorab noch, da ich mich mit programmieren und Elektronik nicht auskenne, einfach sagen dass ich zu weit weg bin von der Materie und mir besser etwas fertiges kaufe.

Also in einem Aufbau gibt der Temperaturwiederstand seinen Wert auf einem Display aus, das funktioniert auch, wie muss ich vorgehen wenn ich diesen Werte auf meinem Sender auszugeben möchte.

Wie funktioniert der Anschluss vom Arduino zum Empfänger, einfach eine Leitung von PIN 4 auf den Sensoranschluss am Empfänger, wie funktioniert die Stromversorgung.

Dann noch wie geht das mit dem einbinden von MSBPackage in mein vorhandenes Programm.

Eventuell hat ja jemand einen Sketch wo ich mir das ganze mal anschauen kann und auch anschließen kann.

So hoffe dass es nicht zu viel blöde Fragen waren.

Gruß Ralf

Hier noch der Sketch


// LCD Library einbinden
#include <LiquidCrystal.h>

// LCD Pins festlegen
// RS, E, D4, D5, D6, D7
LiquidCrystal lcd(11, 10, 2, 3, 4, 5);

#define Backlight 9
#define ADC_NTC 0

float temp_celsius, temp_fahrenheit;
int ADC_raw;

float Grad_to_Fahrenheit(float grad)
{
return (9.0 / 5.0) * grad + 32;
}

void setup()
{
analogWrite(Backlight, 2000);
lcd.begin(16, 2);
lcd.setCursor(0, 0);
lcd.print("THERMO - ARDUINO");
Serial.begin(9600);
delay(2000);
lcd.clear();
}

void loop()
{
ADC_raw = analogRead(ADC_NTC);
temp_celsius = (580.0 - ADC_raw) / 10;
temp_fahrenheit = Grad_to_Fahrenheit(temp_celsius);

lcd.setCursor(0, 0);
lcd.print(temp_celsius, 1);
lcd.write(223);
lcd.print("C ");

lcd.setCursor(0, 1);
lcd.print(temp_fahrenheit, 1);
lcd.write(223);
lcd.print("F ");

Serial.print("Temperatur = ");
Serial.print(temp_celsius);
Serial.print(" Grad");

Serial.print(" | ");
Serial.print(temp_fahrenheit);
Serial.println(" Fahrenheit");

delay(1000);
}
 
So,
falls doch noch jemand an den Sensoren dran ist, schreibe ich einfach mal meine Erahrungen damit.

Habe den Empänger mit Arduino uno verbunden, Pin 4 an den MSB.
Wenn ich jetzt eines der beiden Testprogramme die dabei sind starte, bekomme ich auf seriell Monitor Daten ausgegeben, am Sender steht nur 0.0 V.
Wenn ich den PIN 4 abklemme, hört die Ausgabe am serielle Monitor auf und am Sender kommt auch die 0.0 V nicht mehr

Eventuell kann mir ja jemand sagen was noch falsch ist.

Gruß Ralf
 

Bernie

User
Hallo Ralf,
hast Du denn die MSB-Library in Deinen Sketch auch eingebunden?
In der Library vom Thomas sind Beispiele dabei, wie dann ein Sketch auszusehen hat. Hast Du die mal probiert?
Stell' mal online, was Du gemacht hast. Dann kann man helfen...
Gruß, Bernie
 
Hallo Bernie,
erstmal danke fürs melden.
Also, von Empfänger Sensoranschluss ein Kabel auf PIN 4 am Arduino
Vom Empfänger Sensoranschluss Plus zum Arduino 5V
Vom Empfänger Sensoranschluss Minus auf Arduino GND

Beispielprog MSBLIBTEST hochgeladen auf Arduino, im Serialmonitor werden Daten ausgegeben am Sender Steht bei beiden Adresse 0.0 V
 

Anhänge

  • IMG_1108.JPG
    IMG_1108.JPG
    94,7 KB · Aufrufe: 67
  • IMG_1107.JPG
    IMG_1107.JPG
    95,9 KB · Aufrufe: 54
  • IMG_1106.JPG
    IMG_1106.JPG
    87 KB · Aufrufe: 61
  • IMG_1104.JPG
    IMG_1104.JPG
    99,6 KB · Aufrufe: 53
Hallo,
nur zur Info das Beispiel oben ist der orginal Beispiel Sketch ohne Änderung

Eventuell hat ja jemand eine Idee was ich falsch mache

Danke im Voraus

Gruß Ralf
 

Bernie

User
Hallo Ralf,

in der Schleife vom Sketch werden die Spannungen an A0 und A1 des Arduino ausgelesen. In Deinen Bildern sieht man, dass dort aber keine Spannung zum Messen anliegt.
Bau mal einen Spannungsteiler auf z.B. 4,7k und 10k. In der Mitte Spannung abgreifen und an A0 legen. Hast Du schonmal sowas gemacht? Weißt Du, wovon ich spreche?
Gruß, Bernie
 
Hallo Bernie,
erst mal danke für die Info, jetzt wird mir die Sache verständlicher.
Was ein Spannungsteiler ist habe ich verstanden, gebaut habe ich das noch nicht.
Werde mich übers Wochenende mal durchlesen wie man einen Spannungsteiler am Arduino aufbauen muss, falls Du eine Skizze hast wie ich das am Arduino verdrahten muss wäre super.

Danke nochmals !

Gruß Ralf
 
Hallo Bernie,
habe es eben getestet, funktioniert super.
Jetzt kann ich weiter machen und die nächsten Fragen kommen bestimmt.

Danke nochmals !

Gruß Ralf
 
Hallo,
jetzt habe ich noch eine Frage, wie kann man den die Einheiten auswählen bzw umstellen, habe einen Temperatursensor aufgebaut und im Sender steht aber noch immer "V" wie stellt man das richtig ein.

Gruß Ralf
 

D-ALLA

User
Springen der Werte

Springen der Werte

Hallo Leute, beschäftige mich seit neustem mit Arduinos und bin von diesem ansatz der Komunikation zwischen MLINK und Arduino begeistert, da es sich auf das westenliche beschränkt und auch dem Anfänger ermöglicht ergänzungen einzusetzten. Vielen dank für die Arbeit und vorallem die Veröffentlichung dieser.
Allerdings habe ich eine Frage wie bereits zuvor von anderen beschrieben springen auch bei mir die Werte zwischen verschiedenen Werten hin und her zb, 4,0V und 7,2V, gibt es hierfür schon eine Lösung?

Grüße und danke schonmal
D-ALLA
 

D-ALLA

User
Lesen Hilft

Lesen Hilft

Habe den Thread gerade noch mal durchgelesen und den bereits geäußerten Anpassungsvorschlag versucht, funktioniert dennoch nochmals Danke für das System!
 
Ansicht hell / dunkel umschalten
Oben Unten