Knöpfe für den SDR / Entscheidungshilfe

Für den Red Pitaya, RX Frontend, Filter, RX/TX Umschaltung, Endstufen, Netzteile, Gehäuse ect.
Benutzeravatar
DH1KLM
Beiträge: 122
Registriert: 26 Mär 2016, 21:12

Knöpfe für den SDR / Entscheidungshilfe

Beitragvon DH1KLM » 19 Dez 2016, 20:00

Hallo
ich möchte nun in der kalten Jahreszeit an meiner immerwährenden Baustelle
weiterarbeiten. (soll ja auch nie Fertig werden :lol: )
Der SDR soll nun Knöpfe bekommen.
Ich dachte neben dem VFO an weitere Encoder, ein 4x4 Tastenfeld für die einzelnen Bänder sowie
ein paar Taster für sonstige Funktionen.

Natürlich möchte ich das ganze wieder selbst bauen und zwar mit einem Arduino.
(Entsprechendes Material habe ich bereits im Land der aufgehenden Sonne bestellt.)

Soll dann in den Standalone eingebaut werden (Mist und schon ist das Gehäuse wieder zu klein).

Und jetzt geht's los. Welchen Ansatz sollte ich verfolgen?
Den Controller von G0ORX https://www.tapr.org/pdf/DCC2015-ArduinoCAT-Controller4HPSDR-G0ORX-1.pdf
oder besser mittels Arduino einen Midi Controller bauen.
Mir persönlich würde eine Midi Lösung mehr zusagen.
Übrigens, ein netter externer Midi-Kontroller kommt von Behringer.
https://www.thomann.de/de/behringer_cmd_pl_1_b_stock.htm?ref=search_rslt_CMD+PL-1_319056_0
Unter anderem auch hier zu sehen.
https://www.youtube.com/watch?v=GvVbu-BN708#t=4m22s


Auf was sollte man Achten?
Welche Lösung würdet Ihr bevorzugen?
Vorteile / Nachteile der beiden Ansätze?

Ich würde mich über ein paar Anregungen freuen.

73 de Sigi, DH1KLM
Zuletzt geändert von DH1KLM am 19 Dez 2016, 21:53, insgesamt 1-mal geändert.
73 de Sigi, DH1KLM
Benutzeravatar
DD8JM
Site Admin
Beiträge: 296
Registriert: 01 Dez 2014, 13:41

Re: Knöpfe für den SDR / Entscheidungshilfe

Beitragvon DD8JM » 19 Dez 2016, 21:27

Hallo Sigi,

die Midi-Variante wäre auch mein Favorit, ich habe dazu mal einen Beitrag im Blog gestellt.

Danke für den Hinweis.

Aus meiner Sicht geht das aber nur mit Zeus, da haben wir aber keine Ansteurung für unsere Peripheri wie TPF, I2C, Frontend-Umschaltung und Codec, vielleich kann man Yan Alexeenko motivieren das auch in die Zeus-Software zu implementieren.

73 Jörg

PS Ich muss mich korrigieren, es geht auch mit PowerSDR.
Die Bässe breit die Höhen schmal das ist der Funk aus Wuppertal.
Benutzeravatar
DH1KLM
Beiträge: 122
Registriert: 26 Mär 2016, 21:12

Re: Knöpfe für den SDR / Entscheidungshilfe

Beitragvon DH1KLM » 19 Dez 2016, 22:25

Hallo Jörg,

wieso sollte das nur mit Zeus funktionieren?
In PowerSDR wurde doch ein neues Midi Mapping Interface eingebaut.
http://svn.tapr.org/repos_sdr_hpsdr/trunk/W5WC/PowerSDR_HPSDR_mRX_PS/bin/Release/Midi2Cat_Instructions_V3.pdf
Es könnte natürlich sein dass PowerSDR keine Eigenbau Midi Controller erkennt.
Zuletzt geändert von DH1KLM am 28 Dez 2016, 22:32, insgesamt 1-mal geändert.
73 de Sigi, DH1KLM
Benutzeravatar
DD8JM
Site Admin
Beiträge: 296
Registriert: 01 Dez 2014, 13:41

Re: Knöpfe für den SDR / Entscheidungshilfe

Beitragvon DD8JM » 19 Dez 2016, 22:39

Sigi da könntest Du recht haben, wenn es nur in PowerSDR behandelt wird und es eine offene Schnittstelle ist.

Letztendlich hilft uns da nur der Test mit einem Red Pitaya.

Schönen Abend

73 Jörg
Die Bässe breit die Höhen schmal das ist der Funk aus Wuppertal.
Benutzeravatar
DH1KLM
Beiträge: 122
Registriert: 26 Mär 2016, 21:12

Re: Knöpfe für den SDR / Entscheidungshilfe

Beitragvon DH1KLM » 28 Dez 2016, 16:49

So,
habe mich jetzt mal ein wenig mit der Materie Selbstbau (Midi) Controller befasst.
So wie es aussieht gibt es 4 Varianten die für den geneigten Bastler in Frage kommen könnten.

1. Midi Controller auf Arduino Basis.
Da gibt es reichlich Material in Form von Sketches die man an die eigenen Gegebenheiten anpassen kann.
Vorteil der Arduino Midi Lösung: Es lassen sich Programme die eine Midi Schnittstelle haben, ohne Kenntnisse von CAT Befehlen steuern.
Nachteil: Die meisten (oder alle?) Arduinos lassen kein Midi über den USB Anschluss zu. Es gibt zwar verschiedene Ansätze das zu bewerkstelligen,
setzt aber meines Wissens wieder spezielle Programmieradapter voraus um die entsprechende Firmware zu flashen damit sich der Arduino
dem Betriebssystem gegenüber als Midi Device ausweist .

Am einfachsten funktioniert es scheinbar mit einem Midi to USB Adapter welcher an den RX/TX Pins des Arduino angeschlossen wird.
Der Adapter wird vom Betriebssystem einfach als Midi Device erkannt.

2. Midi Controller auf Teensy Basis.
Hier lassen sich im Prinzip auch die Arduino Sketches verwenden.
Vorteil der Teensy Lösung: Der Teensy bringt die Midi über USB Kompatiblität von sich aus mit, muss nur in der Arduino IDE eingeschaltet werden.
Nachteil: Der Teensy ist im Vergleich zu einem Arduino Clone ein wenig teuerer. Einen günstigen Teensy Clone habe ich bisher nicht gefunden.
/edit Teensy 2.0 Clone gibt es ab16,00 € in der Bucht. Ob die aber zu 100% mit dem Teensyduino Add on kompatibel sind?

3. CAT Controller auf Arduino Basis.
Ein CAT Controller so wie ihn John Melton g0orx/n6lyt beschreibt wäre natürlich eine feine Sache.
Vorteile: Jede Software die CAT Befehle entgegennehmen kann würde vermutlich damit funktionieren. Das muss nicht unbedingt
PowerSDR oder ZeusRadio sein.
Nachteile: Damit die Software vom Arduino gesteuert werden kann setzt diese Variante natürlich Kenntnisse der verschiedenen
CAT Befehle voraus. D.h. Wenn das Programm CAT Befehle nach Kenwood oder ICOM Norm verwendet, macht es keinen Sinn ein
Arduino Sketch mit Yaesu CAT Befehlen zu bauen. Wäre ja an sich nicht weiter schlimm wenn man nur ein Programm hat welches Yaesu versteht,
hat man aber noch ein zweites oder drittes Programm welche wieder mit anderer Norm arbeiten ist spätestens hier der Controller am ende.

4. Tastatur Controller auf Arduino Basis:
In dieser Variante wird der Arduino als virtuelle Tastatur verwendet.
Vorteile: Prinzipiell kann jede Software damit gesteuert werden welche sich über Hotkeys steuern lässt.
Nachteil: Wird vermutlich nur dann funktionieren wenn PowerSDR u.s.w. den Fokus hat. D.h. wenn z.B. Firefox im Vordergrund ist,
lässt sich PowerSDR nicht mehr über die Knöpfe/Regler bedienen. In diesem Fall würde dann Firefox bedient werden.


Nachdem meine Bestellung ja schon abgesetzt ist und ich auf den Teensy erst später gekommen bin,
versuche ich mich zu allererst an Variante 1. Wenn die Teile dann im Neuen Jahr ankommen geht's los.

Wenn jemand einen günstigen Teensy Clone findet, bitte ich um Mitteilung.

Ich möchte betonen das sich das geschriebene auf meine Einschätzung und Internetrecherche stützt.
Sollte ich mich in verschiedenen Punkten geirrt haben, bitte ich um Richtigstellung.
Ich bin über jeden konstruktiven Beitrag dankbar.

73 de Sigi, DH1KLM
73 de Sigi, DH1KLM
Benutzeravatar
DH1KLM
Beiträge: 122
Registriert: 26 Mär 2016, 21:12

Re: Knöpfe für den SDR / Entscheidungshilfe

Beitragvon DH1KLM » 01 Feb 2017, 19:06

damit es hier mal ein wenig weitergeht:

Habe einen MIDI-Controller auf Arduino Basis mit 4 mechanischen und einem optischen Encoder sowie 4 Pushbuttons aufgebaut.
Der Arduino ist bei mir ein Leonardo Pro-Micro welcher mit dem TeeOnArdu Add-on zum Midi-USB-Device gemacht werden kann. Des weiteren
ist das Teensyduino Arduino-Add-on nötig. Bei Verwendung eines Teensy kann auf das TeeOnArdu Add-on verzichtet werden da der Teensy
ab Werk, MIDI über USB beherscht. Zusätzlich habe ich die MIDI Elements Libary von Thomash Ghz installiert, diese erleichtert den Umgang mit MIDI erheblich.
Sind diese Voraussetzungen geschaffen ist es kein grosser Aufwand mehr einen funktionsfähigen Controller zu programmieren.
Ich habe für die Recherche und Beschaffung letztenendes mehr Zeit gebraucht als zum Aufbau des Controller.
Der Main VFO mit 600 P/R ist leider sehr empfindlich, da suche ich noch eine Möglichkeit das Verhalten ein wenig zu beruhigen.
Es gibt auch sicherlich noch Verbesserungspotential, da dies mein erstes Arduino/Programmier Projekt überhaupt ist.

Der MIDI-Controller ist unter Zeus Radio als auch unter PowerSDR verwendbar.

An dem Pro-Micro sind jetzt noch 4 Analoge Pins frei, da könnte man noch Potis anschliessen.
Da mir aber für ein 4x4 Keypad weitere 8 Digitale Pins fehlen, werde ich bei der nächsten Bestellung in China
einen Teensy ++2 ordern.

Code: Alles auswählen

// MIDI Elements
// by Tomash Ghz
// www.tomashg.com
// ghz.tomash@gmail.com
//
// MIDI-Controller to work with:
// ZEUS Radio https://www.hfrelectronics.com/zeus-radio
// and PowerSDR mRX PS v3.3.9.0 http://openhpsdr.org/download.php
// Sketch by DH1KLM
// InterruptPins on Leonardo Pro-Micro
// pin 0 is interrupt 2
// pin 1 is interrupt 3
// pin 2 is interrupt 1
// pin 3 is interrupt 0
// pin 7 is interrupt 4

#include <MIDIElements.h>

boolean debug=false;      // print to serial instead of midi
boolean secondary=false;  // enable secondary midi messages
int midiChannel=1;        // midi channel number
int butPin1 = 10;         // digital pin for reading first button
int butPin2 = 16;         // digital pin for reading second button
int butPin3 = 14;         // digital pin for reading third button
int butPin4 = 15;         // digital pin for reading fourth button

// declare all your components here
MIDIEncoder *enc1;        // Main Encoder 600 P/R should be mapped in SDR-Software as VFO A
MIDIEncoder *enc2;        // Encoder can be mapped to whatever you want
MIDIEncoder *enc3;        // Encoder can be mapped to whatever you want
MIDIEncoder *enc4;        // Encoder can be mapped to whatever you want
MIDIEncoder *enc5;        // Encoder can be mapped to whatever you want

Button but1(butPin1, midiChannel, 27, secondary, debug);      // button 1 on pin 10
Button but2(butPin2, midiChannel, 28, secondary, debug);      // button 2 on pin 16
Button but3(butPin3, midiChannel, 29, secondary, debug);      // button 3 on pin 14
Button but4(butPin4, midiChannel, 30, secondary, debug);      // button 4 on pin 15


void setup(){ 
enc1 = new MIDIEncoder(0,4,midiChannel,22,false,false);       // setup an encoder on pins 0 and 4
enc2 = new MIDIEncoder(1,5,midiChannel,23,false,false);       // setup an encoder on pins 1 and 5
enc3 = new MIDIEncoder(2,6,midiChannel,24,false,false);       // setup an encoder on pins 2 and 6
enc4 = new MIDIEncoder(3,8,midiChannel,25,false,false);       // setup an encoder on pins 3 and 8 
enc5 = new MIDIEncoder(7,9,midiChannel,26,false,false);       // setup an encoder on pins 7 and 9

  usbMIDI.setHandleNoteOff(OnNoteOff);              //set event handler for note off
  usbMIDI.setHandleNoteOn(OnNoteOn);                //set event handler for note on
  usbMIDI.setHandleControlChange(OnControlChange); // set event handler for CC
}

void loop(){
  // add here all the input component reads
  enc1->read(); // read encoders and send midi messages
  enc2->read();
  enc3->read();
  enc4->read();
  enc5->read();
 
  but1.read(); // read buttons and send midi messages
  but2.read();
  but3.read();
  but4.read();
 
  usbMIDI.read(); // read all the incoming midi messages
}

//====================================================================
// event handlers
void OnNoteOn(byte channel, byte note, byte velocity){
  // add all your output component sets that will trigger with note ons
}

void OnNoteOff(byte channel, byte note, byte velocity){
  // add all your output component sets that will trigger with note ons
}

void OnControlChange(byte channel, byte control, byte value){
  // add all your output component sets that will trigger with cc
}


Und so sieht der Versuchsaufbau aus.

DSC_0016.JPG


Verbesserungsvorschläge sind gerne Willkommen

https://www.arduino.cc/en/Main/Software
https://github.com/adafruit/TeeOnArdu nur für Arduino nötig. lässt sich über den Boardmanager der Arduino-IDE nachinstallieren.
https://www.pjrc.com/teensy/teensyduino.html Ist in jedem Fall nötig um MIDI über USB programmieren zu können.
https://github.com/ghztomash/MIDIElements erleichtert den Umgang mit den MIDI Befehlen, Encodern und Buttons.

73 de Sigi, DH1KLM
73 de Sigi, DH1KLM
DL2BBF
Beiträge: 137
Registriert: 05 Feb 2016, 21:37

Re: Knöpfe für den SDR / Entscheidungshilfe

Beitragvon DL2BBF » 01 Feb 2017, 20:56

hallo Sigi,
hier wären die HPSDR CAT Befehle zu finden.
ich hatte mir einen VFO Knopf und die PTT-Taste (Fußtaste) für die CAT Schnittstelle gebastelt, ebenfalls mit dem Arduino. So zum Spielen und lernen.
Danke für die Vorstellung deiner Lösung.

http://svn.tapr.org/repos_sdr_windows/PowerSDR/branches/doc/CAT/PowerSDR%20CAT%20Command%20Reference%20Guide.pdf
Zuletzt geändert von DL2BBF am 02 Feb 2017, 09:17, insgesamt 1-mal geändert.
73de DL2BBF
Hans

Mi parolas Esperanton
https://sites.google.com/site/dl2bbf/Home
Benutzeravatar
DH1KLM
Beiträge: 122
Registriert: 26 Mär 2016, 21:12

Re: Knöpfe für den SDR / Entscheidungshilfe

Beitragvon DH1KLM » 02 Feb 2017, 00:06

Hallo Hans,
Danke für deinen Beitrag, genau die CAT Befehle sind der Grund warum ich die MIDI-Lösung bevorzugt habe.
Man muss sich dabei keine Gedanken über irgendwelche CAT Befehle machen. Jeder Button/Encoder/Slider/Poti
kann beliebigen Funktionen zugeordnet werden. Das Mapping geschieht innerhalb der Software und dabei ist man wirklich
sehr flexibel.

73 de Sigi, DH1KLM
73 de Sigi, DH1KLM
Benutzeravatar
DL5BCA
Beiträge: 34
Registriert: 25 Apr 2016, 14:23

Re: Knöpfe für den SDR / Entscheidungshilfe

Beitragvon DL5BCA » 11 Sep 2017, 10:54

DH1KLM hat geschrieben:Der Main VFO mit 600 P/R ist leider sehr empfindlich, da suche ich noch eine Möglichkeit das Verhalten ein wenig zu beruhigen.


Hallo Sigi,

hast Du den 600P/R beruhigen können?

Ich habe auch einen 600P/R. Gestern das erste mal angeschlossen...
Ist tatsächlich sehr empfindlich...

73 Thomas DL5BCA
Benutzeravatar
DH1KLM
Beiträge: 122
Registriert: 26 Mär 2016, 21:12

Re: Knöpfe für den SDR / Entscheidungshilfe

Beitragvon DH1KLM » 11 Sep 2017, 19:12

Hallo Thomas,

zur Zeit verwende ich einen "Normalen" mechanischen Encoder.
Habe aber vor ein paar Tagen ein MIDI Sketch gefunden das einige Möglichkeiten bietet die "Übersetzung" zu beeinflussen.
In wie weit der 600 /R sich beeinflussen lässt weis ich aber noch nicht.

https://github.com/tttapa/MIDI_controller

Verwendest du auch einen Arduino MIDI Controller?

73 de Sigi, DH1KLM
73 de Sigi, DH1KLM
Benutzeravatar
DL5BCA
Beiträge: 34
Registriert: 25 Apr 2016, 14:23

Re: Knöpfe für den SDR / Entscheidungshilfe

Beitragvon DL5BCA » 11 Sep 2017, 21:48

Hallo Sigi,

Ich bin gerade am Testen.
Erst wollte ich die Bedienung mit einem JogShullte Pro machen.
Das war jedoch nicht sehr effizient.
Jetzt teste ich mit einem Nano und CAT Commands.
Das Steuern mit MIDI ist mir irgendwie zu viel.

73 Thomas DL5BCA
Benutzeravatar
DH1KLM
Beiträge: 122
Registriert: 26 Mär 2016, 21:12

Re: Knöpfe für den SDR / Entscheidungshilfe

Beitragvon DH1KLM » 31 Aug 2018, 16:22

Hi,
verwendet eigentlich jemand den Behringer CMD PL-1 Midi Controller?
Hätte da ein paar Fragen dazu.
73 de Sigi, DH1KLM

Zurück zu „Peripheri“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast