Forum: Mikrocontroller und Digitale Elektronik Dynamisierung Encoder speziell für DDS


von Rudi D. (rulixa)


Angehängte Dateien:

Lesenswert?

IM Thread

Beitrag "Drehgeber mit "Gangschaltung" = Beschleunigung"

Habe ich um Hilfe gebeten und erhalten. Bei Erprobung stellte es sich 
die autom. Reduktion der Schrittweiteals als hinderlich heraus.

Ein Beispiel: man will im MW Breich Frequenzen einstellen, in Europa 
wird das 9 kHz Raster verwendet. Es wäre also praktisch diese 
Schrittweite = SCW konstant zu belassen.

Den Algorithmus habe ich wie folgt geändert: Sowohl bei schnellem incr / 
decr der Frequenz wird auch die SCW entsprechend geändert, bleibt aber 
konstant dort. Bei gewöhnlichem Drehen bleibt die eingestellte SCW 
ungeändert nur die Frequenz wird verändert.

Was ist schnell bzw. langsam. Der Encoderinterrupt läuft mit ca. 1 ms.

Die Ausführungszeit einer Frequenzänderung ist verlangsamt auf ca. 100 
ms.Es fallen also 100 Interrupts an, aber das ist Nebensache.
Innerhalb der Ausführungszeit kann man nun leicht 2...3 x die Frequenz 
ändern, was dann die SCW aktiviert.
Es funktioniert, aber man muss sich daran gewöhnen.
Im Radiomuseum.org Thread kam wird schon bei Drücken der 
Pollinencodertaste die SCW eingestellt, was keinen Lernvorgang 
erfordert.

Der Code enthält beide Varianten der SCW Einstellung. Er enthält auch 
noch Reste anderer Funktionen.

Diese Variante der DDS Ansteuerung wird für ein Radio verwendet werden 
von 100 kHz bis 30 MHZ in einem Bereich.
Auf sinnvolle Kommentare gehe ich ein.

: Bearbeitet durch User
von Tim (Gast)


Lesenswert?

Ich habe das Projekt im Forum von Ernst Erb verfolgt. Man muß dem 
Entwicklerteam schon einen gewissen Masochismus unterstellen: Möglichst 
kleinster Kontroller, möglichst wenig Flash, alles in ASM und bis aufs 
letzte Byte ausgenutzt. Dabei wäre für 20-30 Cent ein Controller mit 
doppelt oder vierfachen Flash und die Entwicklung ratz fatz in einer 
Hochsprache möglich. Aber die Behaarlichkeit finde ich gut, auch wenn 
ich es (heutzutage) nicht mehr nachmachen oder zur Nachahmung empfehlen 
würde. Auch die Anwenderschnittstelle würde ich heute wohl eher mit 
Touchscreen und simulierten Schwungrad oder Frequenzdirekteingabe 
machen.  - Bin gespannt was ihr da noch alles reinquetschen wollt. Hut 
ab!

von Falk B. (falk)


Lesenswert?

@Tim (Gast)

>Entwicklerteam schon einen gewissen Masochismus unterstellen: Möglichst
>kleinster Kontroller, möglichst wenig Flash, alles in ASM und bis aufs
>letzte Byte ausgenutzt.

Jaja, die Nachkriegsgeneration, immer sparsam bis in den Tod. 8-0

> Dabei wäre für 20-30 Cent ein Controller mit
>doppelt oder vierfachen Flash und die Entwicklung ratz fatz in einer
>Hochsprache möglich.

Eben.

> Aber die Behaarlichkeit finde ich gut,

Wirklich? Ich würde es eher Engstirnigkeit und Altersstarrsinn nennen.

> auch wenn
>ich es (heutzutage) nicht mehr nachmachen oder zur Nachahmung empfehlen
>würde.

Es ist ein "gutes" Beispiel, wie man es NICHT machen sollte!

> Auch die Anwenderschnittstelle würde ich heute wohl eher mit
>Touchscreen und simulierten Schwungrad oder Frequenzdirekteingabe
>machen.

Ansichtssache. Touch ist zwar hipp, aber nicht das allein seelig 
machende. Drehgeber mit gescheiter Dynamik haben ihre Berechtung und 
gute haptische Eigenschaften.

>  - Bin gespannt was ihr da noch alles reinquetschen wollt. Hut
> ab!

Naja.

von Rudi D. (rulixa)


Lesenswert?

Tim schrieb:
> Dabei wäre für 20-30 Cent ein Controller mit
> doppelt oder vierfachen Flash und die Entwicklung ratz fatz

Das möchte ich sehen, wie man, um den geringen Aufwand, einen linearen 
Wobbler mit 20 ms Durchlaufzeit realisieren will.

Und natürlich ratz fatz ... morgen fertig. ROFL ;-)

von Marc (Gast)


Lesenswert?

>Das möchte ich sehen, wie man, um den geringen Aufwand, einen linearen
>Wobbler mit 20 ms Durchlaufzeit realisieren will.

Was ist ein linerarer Wobbler? Kannst Du die Anforderungen genauer 
spezifizieren?

von W.S. (Gast)


Lesenswert?

Tim schrieb:
> Auch die Anwenderschnittstelle würde ich heute wohl eher mit
> Touchscreen und simulierten Schwungrad oder Frequenzdirekteingabe
> machen.

Also - erstens solltest du dir nicht vorstellen, daß allein die 
Implementierung eines Touchscrens etwas Einfaches ist. Es reicht ja bei 
weitem nicht aus, eben bloß den Lowlevel-I2C-Treiber für den 
Touch-Controller hinzukriegen. Die eigentliche Kür besteht nämlich 
darin, ein geeignetes visuelles Komponenten-System zu schreiben. Wer das 
nicht will oder kann, ist dann nämlich ganz schnell in der Ecke, daß er 
ein Android-System benötigt - und sowas verändert das ganze 
Radio-Projekt ganz gewaltig.

Als nächstes sollte man bedenken, daß man bei einem Gerät wie einem 
Radio ja doch am liebsten richtige Drehknöpfe zum anfassen haben will - 
insbesondere zur Abstimmung. Da kommen in der Haptik und in der 
Benutzbarkeit erstens virtuelle Drehknöpfe per Touch nicht mit und 
zweitens numerische Eingaben erst recht nicht.

W.S.

von Rulixa (Gast)


Lesenswert?

Marc schrieb:
> Das möchte ich sehen, wie man, um den geringen Aufwand, einen
> linearen >Wobbler mit 20 ms Durchlaufzeit realisieren will.
>
> Was ist ein linerarer Wobbler? Kannst Du die Anforderungen genauer
> spezifizieren?

S sei der Weg am Screen.  df / ds = konstant über den Hub.

von Marc (Gast)


Lesenswert?

>S sei der Weg am Screen.
In mm der m?
> df / ds = konstant über den Hub.
Welche Frequenz? Welche Amplitude? Welche Leistung? Welcher 
Frequenzbereich?
Mono, oder IQ?

von Rudi D. (rulixa)


Lesenswert?

Marc schrieb:
>>S sei der Weg am Screen.
> In mm der m?
>> df / ds = konstant über den Hub.
> Welche Frequenz? Welche Amplitude? Welche Leistung? Welcher
> Frequenzbereich?
> Mono, oder IQ?

Meter am Screen wird wohl zu Hause nicht vorliegen, wäre aber egal.
Bereich 0---31 MHZ. Hub kann auch 31 MHz sein.
Man kann aber auch NF-wobbeln. Nur ein Signalausgang, also kein IQ.
Spezifikation genau im RMorg.
https://www.radiomuseum.org/forum/gemeinschaftsprojekt_dds_heimsenderlein.html


Es gibt aber keine Bausätze mehr. Die einfache Variante hier diente nur 
zur Studie, ob eine Dynamisierung im Falle einer Verwendung als Mischer 
für Radios sinnvoll wäre.

von W.S. (Gast)


Lesenswert?

Rudi D. schrieb:
> Diese Variante der DDS Ansteuerung wird für ein Radio verwendet werden
> von 100 kHz bis 30 MHZ in einem Bereich.
> Auf sinnvolle Kommentare gehe ich ein.

Das ist aber nett.

Nun, auf sämtlichen gezeigten LP sind Bauteile, die es bei Pollin 
inzwischen nicht mehr gibt. Von daher ist das Ende dieses Projektes 
logisch.

Was mich jedoch sehr stört, ist folgendes:

Wenn man so einen rastenden Drehgeber als Abstimmung benutzt, dann hat 
man zweierlei: erstens eben diese Rastungen, die bei dem gezeigten DG 
ein richtig lautes RRRATSCH machen und die gerade für's Abstimmen 
eigentlich unangenehm sind - und zweitens eine recht niedrige 
Winkelauflösung, bei der man eigentlich sehr viel drehen müßte, was 
wiederum nicht angenehm ist.

Sicherlich gibt es auch DG, deren Rastung dezenter ist, was dann bei 
einem großen Knopf auf dem DG die Sache erträglicher macht, aber das 
andere Problem sind die wenigen Schritte, die ja zumeist im Bereich 
16..24 pro Umdrehung sind.

Nun gibt es ja schon seit vielen Jahren magnetisch arbeitende 
Winkel-Geber von Austriamicrodevices, siehe da: https://ams.com/as5030 
und andere. Hab grad mal bei Mouser.de geschaut, da gibt's welche im 
Bereich 3..5€, also noch bezahlbar. Die Dinger haben Winkel-Auflösungen 
von 8 Bit oder mehr, also kann man rein softwaremäßig da ne Menge tun in 
Sachen Dreh-Feingefühl, Beschleunigung und so weiter.

Das Einzige, was den Elektronikbastler stören dürfte ist, daß es sich um 
SMD-Chips handelt, die für einen richtigen Abstimmknopf eben noch eine 
Mechanik, einen Magneten und eine Leiterplatte brauchen.

Bevor du also weiter mit deinem vorhandenen Pollin-DG 
herumexperimentierst, wäre es m.E. sinnvoller, sich einen Abstimmknopf 
auf so einer Magnetbasis auszudenken.

W.S.

von Rudi D. (rulixa)


Lesenswert?

W.S. schrieb:
> Bevor du also weiter mit deinem vorhandenen Pollin-DG
> herumexperimentierst, wäre es m.E. sinnvoller, sich einen Abstimmknopf
> auf so einer Magnetbasis auszudenken.

Danke, ist klar, wenns dann ernst wird nehme ich einen leiseren Encoder.

von Marc (Gast)


Lesenswert?

Was ist von dem hier zu halten?:
https://www.amazon.de/dp/B07593GDB7

von Rudi D. (rulixa)


Lesenswert?

Marc schrieb:
> Was ist von dem hier zu halten?:
> https://www.amazon.de/dp/B07593GDB7

Kann nicht modulieren noch wobbeln und geht nur bis 15 MHz. Na gut, ein 
100 MHz Zähler ist dabei. Ist für andere Zwecke sicher sehr günstig.

von Tim (Gast)


Lesenswert?

Rudi D. schrieb:
> Marc schrieb:
>> Was ist von dem hier zu halten?:
>> https://www.amazon.de/dp/B07593GDB7
>
> Kann nicht modulieren noch wobbeln und geht nur bis 15 MHz. Na gut, ein
> 100 MHz Zähler ist dabei. Ist für andere Zwecke sicher sehr günstig.

Das Gerät gibt es in den Versionen 15, 30 und 40 MHz, und wobbeln sollte 
auch gehen, jedenfalls verbinde ich die "Sweep" Funktion die in der 
Artikelbeschreibung steht damit.

von Rudi D. (rulixa)


Lesenswert?

Dieses Forum wird nicht moderiert = Freiheit = gut.
Jeder, auch der, der persönlich wird, sollte bedenken, dass er damit 
seine Denkweise teilweise mitpostet. Was oft auf ein juveniles 
Obergscheitsein hinausläuft. Also Vorsicht.
Oft ist es ja so, dass diese Individuen ihre Meinung als alleinig 
richtig sehen wollen und andere Beweggründe nicht teilen wollen.
Das alles hatten wir schon öfters in der Vergangenheit.

Na ja. Programme in Assembler sind zweifelsfrei schnell und wenig 
speicherintensiv im Vergleich mit Hochsprachen. Jeder µC ist mehr oder 
weniger spezifisch, was man als Nachteil interpretieren kann.
Aber wenn's Spass macht?

von Rudi D. (rulixa)


Lesenswert?

Tim schrieb:
> Das Gerät gibt es in den Versionen 15, 30 und 40 MHz, und wobbeln sollte
> auch gehen, jedenfalls verbinde ich die "Sweep" Funktion die in der
> Artikelbeschreibung steht damit.

Ich hab nicht nachgeschaut was diese besser spez. Geräte kosten. Ich 
weiss auch nicht, ob du den DDS Bausatz, wie in RMorg beschrieben, 
erworben hast, der wohl, was Preis/Leistung betrifft, sehr gut liegen 
dürfte.
Manche Käufer haben ja wunderbar anzusehende Geräte daraus gemacht.

LD Rudi

von Rudi D. (rulixa)


Lesenswert?

Tim schrieb:
> da noch alles reinquetschen wollt. Hut
> ab!

Tim, der t2313 ist voll, aber dann kam noch der Wunsch sich die letzte 
Einstellung zu merken.
Da wurde dann der t4313 notwendig. der zur Hälfte leer ist.
Aber wir haben weiter nichts vor.

Wenn jemand hier im Forum mit dem schon erwähnten STM32 FM-Modulation 
realisiert hat und ein paar Tips geben kann, so warten wir darauf.
Aber auch da wird für die FM-Modulation selbst ein .asm Teil notwendig 
sein.
LG RUdi

von Falk B. (falk)


Lesenswert?

@ Rudi D. (rulixa)

>Dieses Forum wird nicht moderiert = Freiheit = gut.

In der Tat.

>Jeder, auch der, der persönlich wird, sollte bedenken, dass er damit
>seine Denkweise teilweise mitpostet.

Das ist der Sinn der Sache. Wir sind keine Roboter.

> Was oft auf ein juveniles
>Obergscheitsein hinausläuft. Also Vorsicht.

Jaja. Auch du könntest oder solltest dir mal das Thema Kritikkompetenz 
reinziehen und ggf. daran arbeiten.

https://de.wikipedia.org/wiki/Kritikkompetenz

>Oft ist es ja so, dass diese Individuen ihre Meinung als alleinig
>richtig sehen wollen und andere Beweggründe nicht teilen wollen.
>Das alles hatten wir schon öfters in der Vergangenheit.

OMG! Jetzt mußt du nur einen gaaanz kleinen Schritt machen, und schon 
wieder wird Godwin's Law bestätigt. Komm, trau dich!


>Na ja. Programme in Assembler sind zweifelsfrei schnell und wenig
>speicherintensiv im Vergleich mit Hochsprachen.

Was hier aber keine Sekunde zählt. Der Geschwindigkeitsvorteil von ASM 
wird durch die deutlich schlechtere Lesbarkeit sowie Nichtportierbarkeit 
aufgefressen.

>Jeder µC ist mehr oder
>weniger spezifisch, was man als Nachteil interpretieren kann.

Eben.

>Aber wenn's Spass macht?

Klar, unter dem Aspekt und der Tatsache, daß es Hobby ist, hast du 
vollkommen recht. Aber auch ebenso die Leute, welche die oben genannten 
Kritikpunkte anbringen, denn du willst ja auch, daß andere Leute es 
nachnutzen und ggf. was dabei lernen.

von Falk B. (falk)


Lesenswert?

@ Rudi D. (rulixa)

>Tim, der t2313 ist voll, aber dann kam noch der Wunsch sich die letzte
>Einstellung zu merken.
>Da wurde dann der t4313 notwendig. der zur Hälfte leer ist.

Und hornalt. Nimm einen ATmega88, der ist aktuell und hat sogar/nur 8 
Pins mehr, dafür aber den 4fachen Speicher und kostet praktisch das 
Gleiche.

>Wenn jemand hier im Forum mit dem schon erwähnten STM32 FM-Modulation
>realisiert hat und ein paar Tips geben kann, so warten wir darauf.
>Aber auch da wird für die FM-Modulation selbst ein .asm Teil notwendig
>sein.

Nö, denn die Hauptarbeit macht doch sowieso der DDS-IC. Wir reden hier 
NICHT von reinder Software-DDS! Auch C ist ausreichend schnell und 
kompakt, um eine handvoll Dollar, ähhh Bytes, über SPI in den DDS-IC zu 
schieben. Auch auf dem AVR.

von Tim (Gast)


Lesenswert?

Falk B. schrieb:
>>Wenn jemand hier im Forum mit dem schon erwähnten STM32 FM-Modulation
>>realisiert hat und ein paar Tips geben kann, so warten wir darauf.
>>Aber auch da wird für die FM-Modulation selbst ein .asm Teil notwendig
>>sein.
>
> Nö, denn die Hauptarbeit macht doch sowieso der DDS-IC. Wir reden hier
> NICHT von reinder Software-DDS! Auch C ist ausreichend schnell und
> kompakt, um eine handvoll Dollar, ähhh Bytes, über SPI in den DDS-IC zu
> schieben. Auch auf dem AVR.

Das ist richtig! Der kleine Atmel ist schnell genug eine NF über den ADC 
zu samplen und die Frequenzänderung (da FM-Modulation) über den Bus zum 
DDS-IC zu schicken. Das ist nichtmal komplex und kann auch gut in C 
implementiert werden. Die Compiler machen da schon relativ guten Code 
draus, höchstwahrscheinlich sogar besser optimiert als dein 
handgeschriebener ASM oben. (Soll keine böseartige Kritik sein!)

Eine reine Software AM, SSB oder FM-Modulation ist für einen größeren 
STM32 (Cortex 4 oder 7) genauso machbar wie deren Demodulation. Es gibt 
schon einige SDR Transmitter und Receiver auf STM32 Basis, die in C 
codiert sind. Ich habe selbst so einen Transceiver nachgebaut. Der 
Prozessor macht neben der ganzen Signalverarbeitung im Basisband auch 
noch Displayansteuerung, FFT-Darstellung, Softwareencoder und so weiter.
Keine Notwendigkeit hier direkt in ASM zu codieren, das macht die Sache 
nur wartungsunfreundlich und in der Entwicklung viel langsamer als wenn 
man das in einer Hochsprache wie C codiert.

Wenn Du dich in das SDR-Thema Einarbeiten willst Rudi D., empfehle ich 
Dir folgende Bücher:

Software Defined Radio-Systeme für die Telemetrie
Aufbau und Funktionsweise von der Antenne bis zum Bit-Ausgang
Albert Heuberger • Eberhard Gamm
ISBN 978-3-662-53233-1

und

Software Radio
Sampling Rate Selection, Design
and Synchronization
ISBN 978-1-4614-0112-4

von Falk B. (falk)


Lesenswert?

@Tim (Gast)

>> Nö, denn die Hauptarbeit macht doch sowieso der DDS-IC. Wir reden hier
>> NICHT von reinder Software-DDS! Auch C ist ausreichend schnell und
>> kompakt, um eine handvoll Dollar, ähhh Bytes, über SPI in den DDS-IC zu
>> schieben. Auch auf dem AVR.

>Das ist richtig! Der kleine Atmel ist schnell genug eine NF über den ADC
>zu samplen und die Frequenzänderung (da FM-Modulation) über den Bus zum
>DDS-IC zu schicken.

Ähhh, ich glaube DAVON war noch nie die Rede.

>Eine reine Software AM, SSB oder FM-Modulation ist für einen größeren
>STM32 (Cortex 4 oder 7) genauso machbar wie deren Demodulation.

Auch das ist hier 200% OT.

von Tim (Gast)


Lesenswert?

@Falk B.:

Das bezog sich rein auf diesen Text vom TO und dessen Behauptung das da 
unbedingt ein .asm Teil benötigt wird:


"Wenn jemand hier im Forum mit dem schon erwähnten STM32 FM-Modulation
realisiert hat und ein paar Tips geben kann, so warten wir darauf.
Aber auch da wird für die FM-Modulation selbst ein .asm Teil notwendig
sein.
LG RUdi"

von Marc (Gast)


Lesenswert?

>Ich hab nicht nachgeschaut was diese besser spez. Geräte kosten.

Die 40MHz Version ca. 120Euro. Könnte also noch im Rahmen liegen.

>Klar, unter dem Aspekt und der Tatsache, daß es Hobby ist, hast du
>vollkommen recht. Aber auch ebenso die Leute, welche die oben genannten
>Kritikpunkte anbringen, denn du willst ja auch, daß andere Leute es
>nachnutzen und ggf. was dabei lernen.

Assembler auf einem kleinen Prozessor programmieren mit kleinen 
Stückzahlen muss man wirklich als Hobby sehen:

Es ist ein wenig wie Streichholzboote bauen: kann Spaß machen, ist aber 
für allgemeinen Gebrauch zu aufwendig.

Ich würde das Ganze mit einem DDS-Breakout-Board + STM32 Arduino 
kompatiblen Board + irgendein Displayshield machen.

Treiber dafür dürfte es wohl genügend geben.

von Rudi D. (rulixa)


Lesenswert?

Marc schrieb:
>
> Ich würde das Ganze mit einem DDS-Breakout-Board + STM32 Arduino
> kompatiblen Board + irgendein Displayshield machen.
>
> Treiber dafür dürfte es wohl genügend geben.

Ein STM32 Wird wohl nötig sein, da
1. Die kleinen Atmels haben nur 10 bit ADC und brauchen doch ca. 13 µs
2. Dann muss ich den Wert umrechnen in einen Frequenzstep, wohl in 
Fixkomma, FLT wäre zu langsam
3. Die Daten, 5 Byte,  parallel rüberbringen in den AD9850 wäre das 
wenigste.
Im asm Listing, s.o. sind ja die Daten noch seriell übertragen worden.
4. Für Stereosignale klassisch, mit DAB habe ich mich nicht beschäftigt, 
ist dann doch etwa >100k Samples / sec nötig
5. Alles auf 10,7 MHz vom DDS und dann hoch mischen, bzw Oberwellen für 
den FM-Bereich.

Aber ich habe ja keine Eile ist alles nur Hobby. Siehe auch die Kainka 
Seite. Generell, weil dieses Thema auftauchte: Ich nehme nicht an, da 
nur Hobby, dass man von mir viel lernen kann, ausgenommen VideoRecorder, 
aber die sind ja tot und interessieren niemand mehr, außer Historikern.

Ich glaube der Thread kann geschlossen werden.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.