Forum: Mikrocontroller und Digitale Elektronik PLL per Software


von Fabian W. (fabi)


Lesenswert?

Hallo, allerseits

ich würde gerne mein Selbstbauradio mit einer PLL nachrüsten um einen 
Senderspeicher hinzufügen zu können. Kann mir vielleicht jemand bitte 
sagen ob das überhaupt möglich ist eine Pll komplett in Software 
aufzubauen oder brauche ich unbedingt noch weitere Externe Beschaltung,
ich hab nämlich nicht mehr viel Platz auf der Platine. Eine genauere 
Beschreibung des Aufbaus gibt es am Ende des folgenden Threads 
Beitrag "Einfaches Radio basteln". Als MC nehm ich nen Atmega 
16.

Dankeschön schon mal im Voraus an alle die hier antworten.

von Falk (Gast)


Lesenswert?

Eine PLL zur Erzeugung von Radiofreqeunzen (88-108 MHz) geht nur in 
Hardware.

MFG
Falk

von jmoney (Gast)


Lesenswert?

Naja zumindest die Steuerfrequenz für die PLL kann man von einem MC 
digital ausgeben. Müsste denk ich mit einem 16bit timer sogar elegant in 
hardware machbar sein mit der benötigten Auflösung. Diese relativ 
niedrige Frequenz dann mit entsprechendem Teiler in die hardware-PLL..

von Fabian W. (fabi)


Lesenswert?

hmm schade, kennst du ne möglichst platzsparende Möglichkeit um das 
aufzubauen?

Ich hab mir auch schonmal ein paar Datasheets angeschaut, und bin beim 
LM7001 stehengeblieben, aber ich wurde aus der Schaltung die da 
angegeben ist nicht ganz schlau. (Notes on Pll Ic usage). Nen DAC und 
nen ADC wären schonmal vorhanden. Wie müsste ich dann das ganze an das 
Pollin Tuner Modul anschließen?

von jmoney (Gast)


Lesenswert?

Kann sein, dass ich grade zu kurz gedacht habe. Wenn man die vollen 16 
bit Auflösung nutzen wollte, hätte man bei 20MHz eine kleinste Frequenz 
von 305 Hz. Das wird wohl einer PLL zu wenig sein. Also muss man die 
Auflösung so weit reduzieren, dass man in Größenordnungen kommt, die die 
PLL braucht. bei 8bit hätte man schon >3MHz. Ich weiß aber nicht, wie 
groß solche Vorteiler für PLL maximal sein dürfen..

von Falk (Gast)


Lesenswert?

@ Fabian Wolf (fabi)

Was willst du mit ne DAC und ADC?
Weiss du überhaupt, wie ein PLL funktioniert?

@ jmoney (Gast)

Du redest wirr. An dich stelle ich die gleiche Frage.
Weiss du überhaupt, wie ein PLL funktioniert?
Von einer rein digitalen mal ganz zu schweigen.

MFG
Falk

von 1. Rahul nach Moiré (Gast)


Lesenswert?

Gegenfrage:

Falk, weist du, wie eine PLL funktioniert? Leite doch grad mal alles 
erforderliche her...

[] Du weist, wie eine PLL funktioniert.

von Fabian W. (fabi)


Angehängte Dateien:

Lesenswert?

Ich poste mal die Datenblätte, sorry das ich das vergessen habe.

von Fabian W. (fabi)


Angehängte Dateien:

Lesenswert?

das zweite vom Tunermodul

von Fabian W. (fabi)


Lesenswert?

@ Falk so einigermaßen schon.

aber bevor der Thread jetzt wieder in Streitereien ausartet, beantwortet 
doch bitte einfach meine Fragen.

Denn DAC hab ich im Moment zur Abstimmung, aber der zweite Kanal ist 
noch frei. Und den ADC vom Mega zur Feldstärkerkennung.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Der Pollintuner braucht eine Feste Spannung!
Also entweder, DAC... oder PWM. beides mit dem µC realisierbar.

von Fabian W. (fabi)


Lesenswert?

Danke für deinen Post Läubi, wie hast du das mit dem Frequenzdrift denn 
bei deinem Radio gelöst?

Hast du auch nen Senderspeicher eingebaut?

von Falk (Gast)


Lesenswert?

@ 1. Rahul nach Moiré

>Gegenfrage:

>Falk, weist du, wie eine PLL funktioniert? Leite doch grad mal alles

Aber sicher, Eure hochwohlgeborene Interferenz ;-)

>erforderliche her...

PLL, Phase Locked Loop, zu gut deutsch Phasenregelkreis.

Ein lokaler Oszillator wird in in seiner Phaseenlage an die Pahsenlage 
eines Teferenzsignals gekoppelt . . .blabla

Ich hab zu dem Thema (digitale PLLS) meine Diplomarbeit geschrieben. Ist 
schon ne Weile her.

@ Fabian Wolf

>Denn DAC hab ich im Moment zur Abstimmung, aber der zweite Kanal ist
>noch frei. Und den ADC vom Mega zur Feldstärkerkennung.

Na wenn ich das solesem dann geht es eher um ein Tunermodul, das ist 
etwas mehr als ne PLL.

MFG
Falk


von Michale U. (Gast)


Lesenswert?

Hallo,

das angehängte Datenblatt des Tuners hat den Nachteil, daß nichts 
drinsteht... ;)

Wenn Oscillator Output die Oszillatorfrequenz direkt (ohne Vorteiler) 
ausgibt, kannst Du einen LM7001 ranhängen. Der braucht diese und liefert 
mit der Ladungspunpe die Abstimmspannung. Die muß dann natürlich so 
dimensioniert sein, daß das zum Abstimmbereich des Tuners passt.

Programmiert wird der LM7001 dann vom ATMega.

Mir war das alles zuviel HF-Kram, um es "mal schnell" selbst zusammen zu 
basteln. Meine beiden Versionen sind daher immernoch:

DRU-100 USB-Radio bei ebay beschaffen, USB-Chip runter und die nötigen 
Leitungen zum Atmel ran.

Da ist der TEA5757 drauf, der hat alles im Chip. Tuner, ZF, 
Stereo-Dekoder und eben die komplette PLL mit VCO.

Variante 2 ist eine ISA-Radiokarte (Radio-Boostar o.ä.), GAL runter und 
die Leitungen zum Atmel ran.

Da ist TEA5712 als Tuner, ZF, Stereodekoder drauf, LM7000 als PLL, dazu 
ein LC7534 als Lautstärkeregler und ein 2x1W NF-IC (irgendein TDA).

Mit beiden Versionen bin ich erstmal auf der Programmier-Seite für 
Suchlauf, Speicher, Frequenzanzeige usw. und ärgere mich im Momnet nicht 
mit der HF-Geschichte rum.

PS: hab mir gestern noch eine ISA-Radio-Boostar bei ebay für 1 Euro 
geholt, auf die Dinger bietet ja sonst keiner mehr. :)

Gruß aus Berlin
Michael

von Fabian W. (fabi)


Lesenswert?

Danke für eure Posts

@Falk
das Radio ist ja schon fertig aufgebaut ich will halt jetzt noch die Pll 
hinzufügen, um den Senderspeicher einzubauen, jedesmal nach dem Ein und 
Ausschalten nochmal alles manuell einzustellen ist ziemlich nervig.

@Michale
Wie muss den die Außenbeschaltung des LM 7001 aussehen ?

von Michael U. (Gast)


Lesenswert?

Hallo,

zum Lm7001: die Dinger sind ja mittlerweile uralt, es ist ja genau mein 
Problem, daß ich im Netz keinerlei aussagekräftige Applikationen oder 
wenigstens ein Radio-Schaltbild gefunden habe, wo der eingesetzt 
wurde...

Deshalb ja mein ausweichen auf real existierende lösungen, da kann ich 
zumindest den Schaltplanauszug rauszeichnen.

Zu Deinem Radio: ich habe das nicht mehr sonderlich verfolgt, aber so, 
wie ich es hier jetzt verstehe, hast Du ja den Tuner in Gang und 
erzeugst die Abstimmspannung per DAC?

Wo ist dann eigentlich Dein Problem? Ich weiß ja nicht, wie stabil der 
Tunerbaustein ist, aber Senderspeicher würde für mich doch dann erstmal 
heißen, daß ich die Werte für die Sender im Atmel speicher und fertig?

Den Rest muß der Atmel per Feldstärke nachstimmen bzw. die AFC 
erledigen.

Sonst würde mir noch der Weg einfallen, die Oszillatorfrequenz zu messen 
(externer Vorteiler, für UKW reicht ja ein 50kHz-Raster. Dann eben den 
Atmel durchstimmen lassen, bis die gewünschte Frequenz passt oder die 
Abstimmspannung aus dem Speicher setzen und nach der aktuellen Frequenz 
korrigieren.
Wäre dann eine digitale AFC mit erweitertem Fangbereich und in Software 
zu machen (außer Vorteiler). Müßte man mal den nötigen Vorteiler 
ausrechnen, damit man mit dem Atmel noch genau genug messen kann und 
schauen, ob es schnell genug ist, Torzeit von 0,1s sollte eigenlich noch 
Sinn ergeben.

Gruß aus Berlin
Michael

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

DU kannst den Wert für den DAC / PWM speicher.
Dann baust du eine "autofinetune" Funktion die innerhalb dieser Frequenz 
das Maximum der Signalstärke sucht (über den ADC).
ALternativ kannst du auch Zielfrequenz mitspeichern dun dann mittels 
Teiler http://www.rowalt.de/mc/avr/avrboard/09/avrb09.htm auf den Input 
eines Zähler und dann kanste ggf nachregeln.

von Fabian W. (fabi)


Angehängte Dateien:

Lesenswert?

Dankeschön für deine Antwort

So zuerst mal der Rest des Db.

Also mein Problem ist folgendes, ich würde eben gerne in das Radio noch 
nen Senderspeicher einbauen. Wenn ich aber nun den passenden Sender 
gefunden habe per Sendersuchlauf und ihn dann per Tastendrücke fein 
abstimme geht ja noch alles, den kleinen Frequenzdrift kann ich ja 
einfach per nachstellen korrigieren.

Schalte ich nun das Radio aus, dann sollte er den zuletzt eingestellten 
Sender speichern. Aber wird er jetzt wieder eingeschalten, dann ist er 
natürlich durch den Frequenzdrift verstellt und ich darf alles nochmal 
machen, das ist ziemlich nervig und solang nichtmal das funktioniert, 
bringt es ja nichts nen richtigen Senderspeicher einzubauen. Deshalb 
brauch ich eben irgendein Regelkreis der mir die Tuningspannung 
stbilisiert.

von jmoney (Gast)


Lesenswert?

Falk:

Ich habe ehrlich gesagt noch keine einzige PLL aufgebaut, aber ich habe 
mich mal kurzzeitig damit beschäftigt. Tut mir leid, wenn ich ohne 
Zusammenhang einfach Begriffe in den Raum geworfen habe und das 
möglicherweise auch noch falsch.
Ich beziehe mich auf http://www.uoguelph.ca/~antoon/gadgets/pll/pll.html 
unter Fig. 5. Der Oszillator wäre in dem Fall der MC. Die 
Divide-by-2-Stufe kann man nach meinem Verständnis durch einen 
beliebigen anderen Zähler oder zumindest 2^n-Teiler ersetzen. Ob das mit 
einem divide-by-100 auch noch (frequenzstabil) funktioniert, wage ich 
aber mal zu bezweifeln. Diese Grenze kenne ich nicht.

Ich hoffe, meine Ausführungen weiter oben werden jetzt etwas 
verständlicher.

von Hannes L. (hannes)


Lesenswert?

@Fabian:

Geht es immer noch um das Radio, für das die Fernbedienung umgebastelt 
wurde?

...

von Michael U. (Gast)


Lesenswert?

Hallo,

also normalerweise sind die Dinger nicht unbedingt so instabil, daß man 
einen Sender nicht wiederfindet.

Die Abstimmspannung muß natürlich reproduzierbar sein, also gut 
stabilisiert und der DAC darf auch nur möglichst wenug Fehler 
produzieren...

Ansonsten liefert eigentlich das Stop-Signal den richtigen Abstimmpunkt.
Jedes (alte) Radio mit Stationstasten hat den Sender beibehalten, die 
Feinabstimmung mußte die AFC erledigen.
Sollte hier genauso sein, die AFC mußt Du aber wohl digital mit dem 
Atmel lösen, der Tuner scheint für eine externe PLL gebaut zu sein.

Abstimmspannung etwas unter dem Sollwert setzen und erhöhen, bis Stop 
die richtige Abstimmung anzeigt.
Wenn er rausläuft, sollte eigentlich Stop wieder auf H gehen, dann ist 
nachstimmen angesagt. Das Problem ohne PLL ist es, die Richtung zu 
erkennen, in die er weggelaufen ist...
Schon deshalb würde ich über Frequenzmessung nachdenken.

Gruß aus Berlin
Michael

von Fabian W. (fabi)


Lesenswert?

@hannes jo ist noch immer das gleiche.

@ Michael danke für deine Antwort kannst du vielleicht bitte noch deine 
Idee etwas konkreter ausführen? Ich nehm zur Abstimmspannung nen 7810 
und für die Steuerung nen 7805. Vielleicht nützt es etwas wenn ich mein 
bisher genutztes Programm hier reinstelle, das ist von RDSAnfänger.

von Hannes L. (hannes)


Lesenswert?

Fabian Wolf wrote:
> @hannes jo ist noch immer das gleiche.

Na soviel ich mitbekommen habe, steuerst Du das Teil durch Taster bzw. 
die modifizierte Pollin-Fernbedienung. Wo und wie willst Du da mit einer 
PLL-Schaltung ansetzen? Und was soll das bringen?

...

von Fabian W. (fabi)


Lesenswert?

@ Hannes guck mal weiter oben, ich hab eben das Problem das er denn 
eigentlich eingespeicherten Sender nach dem nächsten Einschalten nicht 
richtig widerfindet.

Im Anhang das Prog.

von Fabian W. (fabi)


Angehängte Dateien:

Lesenswert?

Programm ist in Bascom

von Hannes L. (hannes)


Lesenswert?

Fabian Wolf wrote:
> @ Hannes guck mal weiter oben, ich hab eben das Problem das er denn
> eigentlich eingespeicherten Sender nach dem nächsten Einschalten nicht
> richtig widerfindet.

Das hatte ich gelesen...

>
> Im Anhang das Prog.

Damit kann ich nichts anfangen. Da fehlen die Kommentare, sinnvolle 
(sprechende) Variablennamen usw. Ich habe es mir aber nur im Texteditor 
angeschaut, BASCOM installiere ich aus Prinzip nicht.

Jetzt habe ich aber noch ein Verständnisproblem. Du warst mit der 
umgestrickten Fernbedienung zufrieden, also gehe ich davon aus, dass sie 
Deinen Radio-Baustein (um den ich mich nicht weiter gekümmert habe, da 
ich nicht 'radioaktiv' bin) richtig steuert. Welche Aufgabe hat denn nun 
noch der Mega16 mit dem konfusen BASCOM-Programm??

...

von Michael U. (Gast)


Lesenswert?

Hallo,

zum Programm kann ich hannes nur zustimmen.

Dazu fehlt ein Schaltplan, um überhaupt zu verstehen, was Du damit 
machst.

Über die Erzeugung der Abstimmspannung wissen wir immernoch genau 
nichts.
Ob ein 7810 dafür sinnvoll ist, kann ich im Moment nicht sagen, wie 
erzeugts Du die Abstimm-Spannung überhaupt (DAC)?

Der Tuner hat eine recht hohe Abstimm-Steilheit, 6V für 20MHz sind 
3,3MHz/V.
Für 50kHz Verstimmung reichen also 15mV Änderung unter der 
Vorraussetzung, daß die Abstimmung linear ist. Ist sie normalerweise 
nicht, unten ist sie steiler, da reichen dann vermutlich schon 5-10mV.
Wie genau ist Dein DAC überhaupt? Der müßte ja etwa 10Bit sicher 
auflösen können, um überhaupt übder den Bereich sinnvoll abstimmen zu 
können?
20000kHz (88...108MHz) / 1024 = 19,5kHz / Bit

Gruß aus Berlin
Michael


von Fabian W. (fabi)


Angehängte Dateien:

Lesenswert?

Er übernimmt die eigentliche Abstimmung, das Programm für die FB war nur 
zum steuern da. Ich werde mal eine Beschreibung des Programms 
nachliefern.

von Fabian W. (fabi)


Angehängte Dateien:

Lesenswert?

weitere Beschreibung. Der DAC hat eien auflösung von 16Bit

von Michael U. (Gast)


Lesenswert?

Hallo,

der TDA1543 ist ein typischer Audio-DAC, das kann er sicher auch gut. Ob 
der stabil in einer Gleichspannungs-Anwendung ist, wage ich etwas zu 
bezweifeln. Einfach deshalb, weil er für NF, also Wechselspannungs-, 
Anwendungen etwickelt wurde. Da zählt Kanalgleichheit und 
Klirrfaktorarmut (Schaltflanken usw.) mehr als der langzeitstabile 
Absolutwert der Ausgangsspannung. Der wird in seiner eigentlichen 
Anwendung sowieso irgendwo im Signalweg ausgefiltert.

Wenn ich mich da irre, mag man mich korrigieren.

Ich würde wohl eher als Spannungserzeugung eine Z-Diode mit 
Stromquellenspeisung nehmen, dazu ein R-2R-Netzwerk und einen OPV 
dahinter.

Dabei bleibt noch die Frage, wie stabil der Tunerbaustein ist.
Es gab fpr die Entwickler vermutlich auch da wenig Grund, allzuviel 
Aufwand zu treiben. Nach den Anschlüssen zu urteilen, war er für eine 
externe PLL und damit war es auch nicht nötig, daß er sonderlich stabil 
sein mußte.

Mach die Abstimmspannung statt mit dem DAC mit einem guten Poti in der 
sonst gleichen Schaltung. Wenn er da nach Ausschalten und morgen wieder 
einschalten noch gut auf dem Sender steht, ist der Tuner ok und Deine 
DAC-Geschichte klemmt.
Wenn der Tuner auch dabei zu weit wegläuft, bleibt nur Frequenzzähler 
ran und PLL oder Digital-AFC bauen.

Gruß aus Berlin
Michael


Gruß aus Berlin
Michael

von Hannes L. (hannes)


Lesenswert?

> Wenn der Tuner auch dabei zu weit wegläuft, bleibt nur Frequenzzähler
> ran und PLL oder Digital-AFC bauen.

Michael, erkläre bitte mal, was DU unter AFC verstehst. Hintergrund: 
Fabian und ich waren da unterschiedlicher Meinung und hatten dadurch 
arge Missverständnisse. Kann aber gut sein, dass ich da falsch liege, 
denn ich bin nicht "radioaktiv", soll heißen, ich habe mich nie für 
Radiobastelei interessiert.

Falls sich jemand für den Quelltext für den Pollin-Fernbedienempfänger 
in Fabians Radau-Jo interessiert, so kann ich ihn gerne hier 
veröffentlichen.

...

von Michael U. (Gast)


Lesenswert?

Hallo,

AFC - automatic frequenz control oder so ähnlich. ;)

Ursprünglich wurde die Ratio-Richtspannung eines symmetrischen 
Ratio-Detektors benutzt. Die ist 0V, wenn die ZF der Mittenfrequenz des 
Filters entspricht (üblicherweise 10,7MHz). Bei Abweichung geht die 
entweder Richtung positiv oder negativ. Röhrengeräte brachten es auf +/- 
10V bei Verstimmung, Transistor-Empfänger weniger. Bei weiterer 
Verstimmung geht sie wieder gegen 0.

Damit wurde wurde eine Kapazitätsdiode gespeist, die parallel zum 
Oszillatorkreis lag. Hauptabstimmung war üblicherweise ein Drehko.

Bei Verstimmung steuerte die Ratiospannung durch die C-Diode entgegen 
und hilt die Abstimmung möglichst stabil.

Es ist keine PLL, nur eine Regelschleife mit Restfehlern im Bereich 
einer 100Hz.
Später wurde C-Dioden als Hauptabstimmung eingebaut und die AFC-Spannung 
einfach drauf addiert (Oszillator-C-Diode Masse-Ende an die 
AFC-Spannung, anderes Ende an der Abstimmspannung.

Die Funktion blieb genauso.

Bei seinem Tuner gibt es leider keinen Ausgang mit der Ratio-Spannung, 
nur Feldstärke und ein intern irgendwie erzeugtes Stop-Signal.
Feldstärke-Maximum ist aber zu ungenau für eine saubere Abstimmung, das 
Stop-Signal scheint aber die Diskriminator-Spannung intern auszuwerten, 
um einer PLL die genaue Abstimmung zu signalisieren. Geht mit einer PLL, 
weil die nur ein- oder ausgerastet sein kann. Wenn die bei Stop 
einrastet, bleibt die ja auch da phasenstarr.

Digita-AFC ist nur eine Umschreibung dafür, wie man die AFC-Spannung ind 
die Abstimmspannung reinbekommt und wo manb sie herbekommt, ist aber 
keine PLL.

Oszillatorfrequenz zählen und die Abstimm-Spannung so angleichen, daß 
man möglichst nahe an der Sollfrequenz landet, wäre eben AFC, keine PLL.

Hoffentlich war das auf die Schnelle verständlich genug...

Gruß aus Berlin
Michael




von Hannes L. (hannes)


Lesenswert?

> Hoffentlich war das auf die Schnelle verständlich genug...

Erstmal vielen Dank...

Ja es war verständlich genug. Es ist halt doch etwas komplexer als mein 
damaliger Kristalldetektor mit Nadel zur Sendersuche und 
Militär-Kopfhörer, dafür aber ohne Batterien oder Netzteil...

Gruß vom westlichen Ende der B246,
Hannes

von Michael U. (Gast)


Lesenswert?

Hallo,

sag das mal nicht, frag doch mal jemanden, wie der Kristalldetektor 
funktioniert oder nur, wie der magnetische Kopfhörer geht... :-)))

Ich sage es mal so: mir ist die Komplextät klar und die Funktion auch.
Ich könnte den UKW-Empfänger mit PLL auch komplett aufbauen.
Aaaaber: es ist so komplex, daß ich mir die Zeit dafür im Moment nicht 
nehme. Es soll dann ja auch spielen, daß bedingt aber auch passende 
Verdrahtung und Layout und Dimensionierung.
Wenn man statt des Senders die PLL oder die Frequenzanzeige hört, macht 
das auch wenig Spaß.
Mein letztes komplettes Gerät war so erste Hälfte der 80er.
Tuner gekauft, ZF, Stereodekoder mit MPX-Filter, NF mit TDA730/740 und 
2x 25W Sinus mit µA709 und 2x2N3055 hinten dran.
Dazu Frequenzanzeige mit Vorteiler (74S112), Zähler in CMOS mit 
LED-Multiplexanzeige.
Fernbedienung wieder als Original (RFT), Empfänger dazu auch, Decoder 
wieder Eigenbau.

Am schlimmsten war der ca. 1kHz Multiplex der LED-Anzeigen. Die 
Oberwellen waren sehr gut zu hören.

Bis das alles richtig lief..........

Lebt leider nicht mehr, das Teil.

Aus all diesen Gründen mein Vorschalg an ihn, sich ein DRU-100 oder eine 
ISA-Sound-Booster zu ersteigern.
Da stimmt das Layout, der Empfänger spielt und man kann sich um das 
Drumherum kümmern, Sendersuchlauf, Speicher, RDS anbauen usw. usw.

Wenn dann die Selbstbau-Wut für den Empfänger mit PLL durchbrechen 
sollte (auf die warte ich bei mir noch ;)), hat man wenigstes brauchbare 
Anhaltspunkte für Leitungsführung und Dimensionierung zum Abschauen.

Ist bei mir auch nur Spaß an der Freude, wenn es die Zeit zuläßt.

Weckradio UKW-Stereo, RDS ran, Atmel für DCF77, evtl. noch SD-Cardslot 
und einen MAS3507 (liegt hier noch irgendwo) zum MP3-Spielen oder 
irgendsowas schwebt mir da noch vor.

Gruß aus Berlin
Michael

von Hannes L. (hannes)


Lesenswert?

Nunja, Radiobasteln interessierte mich nie. Allerdings hatte ich Ende 
der 60er, Anfang der 70er einige Rohrenverstärker für unsere Instrumente 
gebaut bzw. umgebaut / instantgehalten.

Beste Grüße,
Hannes

von Fabian W. (fabi)


Lesenswert?

Danke für eure Antworten
@Michael das mit dem Poti hab ich schon getestet, am Anfang hab ichs 
Manuell abgestimmt und erst später hab ich dann den Sendersuchlauf 
nachgerüstet.
Da hatte er auch nach dem Einschalten den Sender nichtmehr.

kennst du denn noch nen gut geeignetten DAC, nen Pinkompatiblen wirds 
wohl leider nicht geben. Oder vielleicht noch nen anderen Pll Chip, den 
es bei Reichelt gibt und wozu es ausführliche Dokumentation gibt. Von 
Philips müsste es doch bestimmt einen geben? Die Lösung mit dem AFC wird 
wegen dem Senderspeicher ja wahrscheinlich auch nichts nützen.

von alfsch (Gast)


Lesenswert?

lm7001 , reichelt 0,97eu
genau für deinen zweck...
wo liegts problem?

von Fabian W. (fabi)


Lesenswert?

Danke für den Post aber genau denn habe ich schon vorher erwähnt, er 
fiel raus weil er nicht genügend gut dokumentiert ist.

von alfsch (Gast)


Lesenswert?

was fehlt dir denn?

pll info: http://www.peter-geisler.de/

von jack (Gast)


Lesenswert?

@alfsch
Jetzt bin ich aber gespannt, was ihm dazu noch einfällt.
Schade daß dieser hervorragende Link nicht schon früher aufgetaucht ist
und diesen albernen Thread überflüssig gemacht hat.

von Christoph Kessler (db1uq) (Gast)


Lesenswert?

Die einfachste Lösung ist hier keine PLL, sondern nur eine einfache 
Frequenznachregelung. "AFC" heißt eher die analoge Nachregelung 
innerhalb eines Empfangskanals. Hier spricht man manchmal von FLL also 
Frequenz-Regelschleife. Ein Mikrocontroller, der über einen Vorteiler 
die Oszillatorfrequenz mißt und die Abstimmspanung üner DAC nachzieht. 
Das kann ein paarmal pro Sekunde geschehen, die Stabilität des Tuners 
sollte ausreichen.
Die Spannung am Oszillatorausgeng ist vermutlich noch nicht auf 
TTL-Pegel, außerdem sind es Frequenzen bis 118 MHz ( 10,7 MHz oberhalb 
der Empfangsfrequenz), also ein empfindlicher Vorteiler nötig, Reichelt 
hatte mal den U664 oder U893, das wären passende Kandidaten.

von Christoph Kessler (db1uq) (Gast)


Lesenswert?

Reichelt-Preise
U 666B  = U 891  1.50 €
U 813 BS SI  TV Circuit, SIP-6  0.86 €
U 829B  IC-SCHALTUNG 0.26 €

 Ich habe neulich erst Datenblätter gepostet:
Beitrag "Datenblätter zu alten Telefunken-Frequenzteilern"

von Christoph Kessler (db1uq) (Gast)


Lesenswert?

Nein U829 ist ein TV-Tondecoder, der gehörte hier nicht rein.
Der U666B teilt nur durch 256, nicht umschaltbar 64/128/256 wie der 
U891, die Aussage von Reichelt stimmt daher nicht ganz.
Alle drei haben ECL-Ausgang, da gehört also noch mindestens ein 74xx14 
Schmitt-Trigger dahinter, um auf TTL Pegel zu kommen.
Mit Teiler durch 256 werden aus den max 118 MHz etwa 500 kHz das ist 
kein Problem für den Timereingang eines AVR. Den DAC könnte man durch 
gut gefilterte PWM ersetzen. Immerhin ist für Stereoempfang eine saubere 
Niederfrequenz bis 57 kHz nötig. Der PWM-Takt sollte darüber liegen.

von Fabian W. (fabi)


Lesenswert?

Danke für eure Antworten, auf den Link weiter oben von alfsch bin auch 
mal schon vorher gestoßen, den SAA1057 gibt es aber leider nicht bei den 
gängigen Händlern zu kaufen (Kessler, Reichelt) ist der LM7001 den 
Pinkompatibel?

Von der Homepage hab ich ja auch das Datenblatt, aber ich werde daraus 
nicht über die Außenbeschaltung schlau?

von alfsch (Gast)


Angehängte Dateien:

Lesenswert?

steht doch fast alles im 7001 datenblatt..
bis auf den var.spg.ausgang...etwa wie bild...

von Fabian W. (fabi)


Lesenswert?

Falls sich noch jemand für einen DDS Regelkreis interessiert, sollte er 
mal hier gucken http://www.g4gxo.cwc.net/new_page_17.htm  ich finde die 
Seite sehr gut. Ist mir beim durchstöbern des I-nets aufgefallen.

Das mit dem AFC ist garnichtmal sonne schlechte Idee, die werde ich mal 
ausprobieren, ich hab noch nen U813 rumliegen den werde ich nehmen. Das 
Problem wird wohl nur die Software sein. Es wäre nett, wenn ihr noch 
Tipps habt, wie ich das weiter oben gepostete Programm umschreiben kann? 
Die Lösung wird wohl den geringsten Platzbedarf haben. Wie muss ich den 
den Schmitt-Trigger dimensionieren? Schaltplan wäre optimal.

von Fabian W. (fabi)


Lesenswert?

Hallo alle nochmal,
ich hab noch ne etwas dumme Frage, wie erzeuge ich aus der Frequenz, die 
der DDS oder eben der PLL-Synthesizer ausgibt meine Abstimmspannung? Bei 
Pll erfolgt das ja über die Ladungspumpe aber wie bei DDS?

von alfsch (Gast)


Lesenswert?

dds is zum erzeugen von signalen...sinus usw...
hier brauchste eben sowas wie den 7001
basta

von Christoph Kessler (db1uq) (Gast)


Lesenswert?

Man kann den Referenzquarz einer PLL durch den DDS ersetzen, damit hat 
man eine sehr feine Abstufung bei gleichzeitig hoher Vergleichsfrequenz.

Aber wie gesagt, ich halte eine PLL für diesen Tuner für überflüssig, 
eine langsame Nachregelung ist gut genug, dafür reichen ein 
Mikrocontroller mit Vorteiler und am PWM-Ausgang noch ein 
Tiefpassfilter.

von Fabian W. (fabi)


Lesenswert?

Hi ich bins wieder,

Danke für eure Antworten, ich denke die geschickteste Lösung wird wohl 
die Abstimmung per PWM mit AFC sein. Dann kann ich ja auch den DAC und 
den OPV runterbauen und krieg dadurch mehr Platz auf der Platine. Habt 
ihr zufällig noch Links wie ich das am besten in Bascom realisiere und 
wie ich die nötigen Parameter für die Abstimmspannung 1,5-7,5V berechnen 
kann? Ich würde das ganze gerne in Bascom schreiben, da wir in der 
Schule mit Visual Basic programmieren und ich so schonmal ein bisschen 
Erfahrung habe. Als Ausgabeschaltung würde ich die von Läubi nehmen, 
dankeschön.

von Fabian W. (fabi)


Angehängte Dateien:

Lesenswert?

So hier die Schaltung komisch warum das vorher nicht ging. Als Transen 
würde ich den BC550 und BC560 nehmen. Aber mit 10V Betriebspannung vom 
7810. Der MC ist nen Mega16 ich würde gerne den internet 1 Mhz Quarz für 
den Takt nehmen. Rest siehe weiter oben.

von Fabian W. (fabi)


Lesenswert?

*abo

von Fabian W. (fabi)


Lesenswert?

Wie muss ich denn den Lowpassfilter am Timer Ausgang 1 dimensionieren?

Der muss ja noch vor Läubis Schaltung oder?

von Fabian W. (fabi)


Angehängte Dateien:

Lesenswert?

Hier mein Entwurf für die Abstimmung, getestet mit einer Led hat es 
funktioniert. Da hatte ich an Pd4 nen Taster dran.

Wenn ich die Taster rauf an Pd2, runter an Pd3  drücke dann wird die 
Abstimmspannung solange erhöht bzw gesenkt, bis er an PD4 ein High 
Signal bekommt solange wie er sucht zeigt eine zweite Led den 
Suchvorgang an.
An PD4 will ich dann das Stopsignal vom Tunermodul anschließen.
Würde das so funktionieren?
Oder kann ich mit dem Stopsignal nichts anfangen.
Die AFC muss ich später noch hinzufügen.

Noch eine weitere Frage, kann ich die Schaltung von Läubi unverändert 
für meine Schaltung mit 10V verwenden, oder muss ich sie noch anpassen?
Außerdem würde ich gerne den BC550 und BC560 als Transistoren nehmen, 
kann ich das einfach so machen?

Danke für eure Antworten.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Joar das ist wurscht.
Ich würde aber eher die Feldstärke mittels ADC einlesen das Stopsignal 
ist nix fürs finetuning

von Michael U. (Gast)


Lesenswert?

Hallo,

@Läubi: der Feldstärkewert ist für FM normalerweise zu ungenau, der 
Nulldurchgang des Demodulators wäre das Kriterium, das Signal steht bei 
diesem Tuner aber nach außen nicht zur Verfügung.
Das Stopsignal wird aber laut Datenbalt aus Feldstärke UND Nulldurchgang 
intern erzeugt, damit wäre es merklich genauer.

Das eigetnliche Problem bleibt aber, daß ein Weglaufen nicht erkannt 
werden kann, weil weder aus dem Stopsignal noch aus der Feldstärke die 
RICHTUNG des weglaufens erkannt werden kann...

Gruß aus Berlin
Michael

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

ALso ich hab das Modul hier aufgebaut und der ADC wert leigt für nen 
getunen sender bei etwa 222 das Stop signal kann man sehr wohl verwenden 
wurde doch hier im Forum sogar schonmal mit nem DAC gemacht!

von RDSAnfänger (Gast)


Lesenswert?

ich habe auch zuerst mit dem Stopsignal gearbeitet, doch leider habe ich 
es nicht geschaft die Eingangsempfindlichkeit einzustellen, deswegen bin 
ich auf die Feldstärke umgeschwänkt. Das mit dem Nachtunig mit der 
Feldstärke habe ich auch schon ausprobiert, das war aber ein Flop, da 
die Feldstärke nach einstellen des Senders auch dann schwankt, wenn die 
Fequenz sich nicht ändert. Das einzige Problem mit der Feldstärke bei 
mir war, dass ich ein haufen Sender habe auf denen gar nichts kommt 
(also auch kein Rauschen) bei denen hält er bei mir auch an.

von RDSAnfänger (Gast)


Lesenswert?

Hallo

mir sind gerade noch die Tuner aufgefallen, die im Markt angeboten 
werden. Die haben ja alles schon drinnen, oder braucht man noch 
irgendwas?
Hat den schonmal jemand aufgebaut?

von Fabian W. (fabi)


Lesenswert?

Dann wär es wohl am besten, wenn man das Stopsignal verwendet und 
zusätzlich noch den Frequenzteiler für die AFC nimmt oder?

Das Problem ist nur, dass ich nicht weiß, wie man das mit dem 
Frequenzteiler und der AFC am besten in Software macht, hat jemand 
vielleicht ne gute Idee? Auch Pseudocode ist erwünscht.

@Läubi muss man das Stopsignal denn vorher noch in den ADC einspeisen 
oder nicht, ich dachte das kann nur High oder Low werden und nimmt keine 
unterschiedlichen Spannungswerte an?

Dein Post weiter oben hat mich da etwas verwirrt.

@RDSAnfänger, dass mit den Sendern auf denen nichts kommt kann ich auch 
bestätigen, sind auch bei mir einige mit dabei.

Per zweiter Pwm dürfte es ja auch möglich sein, die Lo/Dx Spannung 
einzustellen und somit auch die Eingansempfindlichkeit zu regeln.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Das STOP Signal hat nur High oder Low... aber du hast noch nen 
Feldstärkenausgang

von Jens (Gast)


Lesenswert?

> Hat den schonmal jemand aufgebaut?

Ja, ich! I2C, Antenne und Aktivboxen wegen der Lautstärkeregelung, 
fertig.


von Fabian W. (fabi)


Lesenswert?

Hi ich bins nochmal,

ich hab noch ne weitere Frage, wann hat das Stopsignal denn nen Sender 
gefunden? Wenn es H oder L ist?
Ich bin gerade etwas verwirrt. Active Low heißt doch das es die meiste 
Zeit low ist oder??

von Michael U. (Gast)


Lesenswert?

Hallo,

aua... ;))

Naja, wenn er immer auf dem Sender steht, ist er die meiste Zeit Low...

Es geht auf Low, wenn die Abstimmung korrekt ist.

Gruß aus Berlin
Michael

von Fabian W. (fabi)


Lesenswert?

Mist ich hab gerade die DAC Abstimmung gegen die Pwm ausgetauscht, 
leider tut sich am Radio nichts, ich hab auch die Tuningspannung 
gemessen, sie ändert sich aber nur manchmal und selbst wenn sie dann im 
Abstimmbereich ist tut sich nichts. Brauche ich noch zufällig zu Läubis 
Abstimmsschaltung nen extra Tiefpass am Timerausgang?

von Fabian W. (fabi)


Lesenswert?

Wenn es mit Bascom nicht tut, kann mir dann vielleicht jemand ein 
Programm ähnlich wie oben in Assembler schicken oder liegt es an etwas 
anderem?

von RDSAnfänger (Gast)


Lesenswert?

Hallo

wenn du zwischen Radio und PWM Ausgang keinen Kondensator hast kann es 
gar nicht gehen. Ist denn wenn du das teil anmachst ein Pfeifen oder so 
zu hören? Dann brauchst du noch einen Tiefpass. (Oder die Frquenz ist so 
hoch, dass du sie gar nicht hörst. dann braucht man den glaube ich 
nicht. (Oder doch?). An Bascom liegt es bestimmt nicht. Poste doch 
einfach nochmal das aktuelle Programm.

von Fabian W. (fabi)


Lesenswert?

Hi danke für deine Antwort zuerstmal das von mir verwendete Programm.
Wie muss der Kondensator denn angeschlossen werden, parallel zwischen 
Läubis Schaltung, Pwm und des Abstimmpins oder in reihe?

Jo ich hör pfeifen
Weißt du denn zufällig wie ich den Tiefpassfilter dimensionieren muss 
bzw kennst du ne Formel, der muss doch dann an Pwm von Läubis Schaltung 
gehängt werden oder?

von Fabian W. (fabi)


Angehängte Dateien:

Lesenswert?

Lol warum hat er es nicht angehängt, naja hier ist es.

von Michael U. (Gast)


Lesenswert?

Hallo,

nimm Dir doch mal 5 Minuten und versuche Dir vorzustellen, was eine PWM 
macht.

Dann vursuch Dir vorzustellen, weshalb eine angeschlossen LED die 
Helligkeit ändert.
Weil sich deren Spannung ändert? NEIN.
Weil sich das Verhältnis von LED an und LED aus ändert.

Die Mittelwerte der Helligkeit bilder Dein träges Auge...

Jetzt stell Dir vor, wie ein Tuner mit Abstimmung duch Kapazitätsdioden 
funktioniert.
Richtig, die Kapazität der Dioden ändert sich mit der anliegenden 
Spannung und damit ändert sich die Frequenz des Schwingkreises und damit 
stimmt er den Sender ab.
Was passiert wohl mit dem Tuner, wenn Du da ganz schnell 0V und 5V im 
Wechsel anlegst, die Deine PWM liefert?

Auch richtig, der Tuner wird schnell zwischen Frequenz 1 und Frequenz 2 
hin- und her abgestimmt.

Du brauchst aber eine Spannung, die sich mit der PWM verändert läßt.
Genau das erledingt ein passend dimensionierter Tiefpaß, indem er den 
Mittelwert bildet, der dem Tastverhältnis der PWM entspricht.
Genau, wie Dein Auge mit der LED...

Alles sehr stark vereinfacht...

PS: ich habe mir inzwischen noch 3 ISA-Radio-Karten ersteigert, pro 
Stück rund 5 Euro inclusive Versand.

Den Radio-Boostar kenne ich schon, da ist als PLL der LM7000 drauf.
Die ESS hat einen schönen kleinen GEMTEK-Tuner drauf gehabt, PLL ist 
eine BU2614.
Die dritte ist eine Audio-Surfer. Das Modul macht einen sehr guten 
Eindruck, diskreter Tuner mit vermutlich 2 abgestimmten Vorkreisen, 
Stereo-Dekoder mit MPX-Filter usw.
Als Zugabe ist ein RDS-Dekoder drauf, ein NF-Prozessor mit I2C 
(Höhen/Tiefen/Lautstärke/4 Stereo-Eingänge umschaltbar) und ein 2x1W 
BF-Verstärker.

Wenn diese Karte nicht so riesengroß wäre, würde ich da vermutlich nur 
die PLL-Steuerleitungen , das RDS-Signal und den I2C an einen AVR hängen 
und die Software dazu schreiben...

Der Vorteil dabei ist, der Kram spielt prinzipiell erstmal komplett.
Datenblätter der ICs sind im Netz zu finden, die benötigten 
Steuerleitungen lassen sich damit gur finden, auftrennen und an einen 
AVR hängen. Normalerweise läuft der Kram mit den 5V vom PC-Bus, also 
noch Spannung an den ISA-Stekverbinder gelötet.

Naja, mein Weg zum Experimentieren mit "Radios". ;)

Gruß aus Berlin
Michael


von Fabian W. (fabi)


Lesenswert?

Danke für deine Antwort Michael,
wie kann ich den Tiefpass den jetzt passend berechnen?

Da das Radio halt schon so gut wie fertig ist und schon in nem Gehäuse 
sitzt würde ich den gerne fertig bauen, wär ja schade drum wenn es 
deshalb in der Bastelkiste verschwinden würde. Ich bin eben eher an der 
Schaltung an sich  als an der Software interessiert (bin vom Bastelvirus 
befallen :D).

von Hannes L. (hannes)


Lesenswert?

Dein Tiefpass muss ein Kompromiss zwischen zwei Gegensätzen werden.

Einerseits soll sich die Gleichspannung am Tiefpass-Ausgang so langsam 
ändern, dass die PWM-Frequenz keinen Einfluss mehr hat.

Andererseits soll sich die Gleichspannung aber schnell genug ändern, 
dass der Tuner spürbar auf Tastgradänderungen reagiert (und nicht erst 
einige Sekunden später).

Die Zeitkonstante Tau berechnet sich aus R * C.

Nun kommt es noch darauf an, wie hochohmig Dein Tiefpass sein darf, also 
wieviel Strom in den Abstimmeingang hinein fließt.

Weiter oben stellst Du die Frage, ob Du "den Kondensator" (also den 
einen Teil des Tiefpasses) in Reihe oder parallel schalten sollst. Das 
tut weh, das sollte man eigentlich wissen, wenn man Radios bastelt. Beim 
Tiefpass liegt nunmal der Widerstand in Reihe und der Kondensator gegen 
GND.

Noch eine kurze Bemerkung zu Deinen hier veröffentlichten Programmen. 
Wenn ich so an Deinen Fernbedienungsempfänger herangegangen wäre, würde 
der nächstes Jahr noch nicht funktionieren. Du musst zuerst ganz konkret 
wissen, WAS das Programm machen soll, also auf welche Inputs es mit 
welchen Outputs reagieren soll. Das muss klar definiert sein, ansonsten 
wird Dir niemand das Programm schreiben können. Ich habe den Eindruck, 
dass Du selbst nicht weißt, was das Programm tun soll.
Denke an meinen Mehraufwand bei Deinem Fernbedienungsempfänger aufgrund 
der Missverständnisse dank der unklaren Aufgabenstellung.

...

von Fabian W. (fabi)


Lesenswert?

Hi danke Hannes für deinen Post,

kannst du vielleicht die Tiefpassberechnung noch etwas genauer 
erläutern, ich weiß leider immer noch nicht genau wie ich den berechne?

Als Kondensator hab ich noch nen 100nf rumliegen, denn würde ich gerne 
nehmen, welchen Wert muss den dann der Widerstand haben?

Ich denke das Programm oben wird schon funktionieren, nur hab ich halt 
den Tiefpass vergessen.

Grüße Fabian

von Läubi .. (laeubi) Benutzerseite


Lesenswert?


von Fabian W. (fabi)


Lesenswert?

Hey danke Läubi für den Link

von Michael U. (Gast)


Lesenswert?

Hallo,

warum sollte das Radio in der Bastelkiste verschwinden müssen?
Ich kenne Deine Konstruktion ja nicht und weiß somit nichts über 
Anordnung, Aufteilung, Platzverhältnisse.

Als Beispiel: die Platine des DRU-100 (mein Favorit, nur leider kaum 
noch unter 15Euro zu bekommen...) ist 45mm x 55mm groß und hat eine 
Bauhöhe von 15mm wenn man die Cinch-Antennebuchse runterlötet und ein 
Kabel anlötet.
Oder man läßt die Buchse gleich als Antennenbuchse durch die Rückwand 
schauen.

Das dürfte also nicht merklich mehr Platz beanspruchen als Dein 
Pollin-Tuner.

Anschlüsse brauchst(hast) Du dort GND, +5V, NF-Out L, NF-Out R auf einem 
Ministecjverbinder, den man aus dem DRU-100 recyclen kann.
Für den AVR sind dann noch 6 Portleitungen nötig für Clock, DataIn, 
DataOut, MPX-Out, Feldstärke und Stereo-Anzeige.

Der tuner, den ich hier gerade beim Wickel habe, ist eine Blechbüchse 
mit 50mm x 35mm und 10mm höhe mit 2x 13Pin Stiften an den beiden 
Schmalseiten.
Bei den Anschlüssen bin ich noch beim Sortieren. ;)
GND, +5V, NF-L, NF-R stehen fest, genauso die PLL-Leitungen Clock, CE, 
DataIn.
Feldstärke, Stereoanzeige sind auch irgendwo, muß ich noch klären.
Erstmal muß er einen Ton von sich geben. ;)

Es würde mich wundern, wenn Dein Radio gleich mit dem ertsen "Inhalt" so 
spielen würde, wie Du es willst.

Gerade wenn Du mehr an der Schaltung als an der Software interesiert 
bist, solltest Du über die Funktionsweise eines Empfängers und über 
etliche Grundlagen, die man dabei zwangsläufig braucht, mehr wissen.

"Was man nicht in Assembler programmieren kann, daß muß man löten" ;-))

Die Entscheidung, welche Teile man in Software erledigen kann und will 
und welche man in Hardware macht, hat man immer wieder.
Software kostet Zeit und Wissen um die Zusammenhänge, Hardware auch.
Man kann die gleiche Geschichte oft sowohl als auch realisieren, hängt 
von Möglichkeiten, Wissen, Kosten, Beschaffbarkeit, oft auch von Lust 
und Laune ab.

Den Rest hat Hannes ja schon geschrieben.

Gruß aus Berlin
Michael

von Fabian W. (fabi)


Lesenswert?

danke an alle für eure Antworten, die Abstimmung tut jetzt.
jetzt muss ich nochmal schauen welcher Pwm Frequenzwert am besten ist.

Kann mir vielleicht trotzdem bitte noch jemand genauer sagen wie man 
einen Tiefpass berechnen kann?

von Fabian W. (fabi)


Lesenswert?

Hi nochmal so die Software läuft jetzt einigermaßen ich hab aber wohl 
leider noch nen Masseproblem. Wenn ich das Gerät einschalte hört sich 
das an wie ne laufende Bohrmaschine oder nen Staubsauger. Liegt das an 
der Masse oder was könnte noch dafür verantwortlich sein? Zur Abstimmung 
hab ich jetzt das Stop Signal genommen, das geht ganz gut.

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

mach mal nen LC Filter rein.
(in die versorgungsspannung)

von Fabian W. (fabi)


Lesenswert?

Danke für deine Antwort Läubi
Nen Lc Filter 100µH Spule und 100nF Kondensator hab ich bereits bei 
beiden Spannungsversorgungszweigen drin 5V 7805 und 10V 7810. Davor wird 
die Spannung noch mit 1000µ pro Spannungsregler gefiltert.

Die Pwm Spannung hab ich mit zwei Tiefpässen 100k und 100nF gefiltert.
Woran könnte es noch liegen?

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Schlechte Massenführung?
Benuzt du nen Stereodecoder?
Kannst du das ganze ggf in einer Metallbox unterbringen.

von Fabian W. (fabi)


Lesenswert?

Ok dann wirds wohl an der Masse liegen. Hab ich wohl etwas geschlampt, 
mit dem DAC hatte ich keine Masseprobleme, hilft wohl nur neu vebinden.

Stereodecoder ist ein MC1310 (A290)

Ich habs in ner Alu box drinnen, ich weiß ist net optimal für die 
Abschirmung aber ich hab kein anderes Gehäuse da.

von RDSAnfänger (Gast)


Lesenswert?

bleibt der sender jetzt besser erhalten? (nach dem Ausschalten?)

von Fabian W. (fabi)


Lesenswert?

Nen Senderspeicher hab ich leider noch nicht eingebaut. So ich hab jetzt 
gerade die Masseführung geändert leider ist das Geräusch immer noch da? 
Was kann ich noch tun?

von Fabian W. (fabi)


Lesenswert?

Komisch das Geräusch tritt nur im Stereo Betrieb auf?

von RDSAnfänger (Gast)


Lesenswert?

Das Stereosignal liegt ja auf einer höheren Frequenz, villeicht wird die 
ja durch die PWM gestört

von Fabian W. (fabi)


Lesenswert?

Wie könnte ich die Pwm denn noch besser entstören?

von Michael U. (Gast)


Lesenswert?

Hallo,

NF-Band bis 15kHz bei Rundfunk.
19kHz Pilotton für Stereo
38kHz Stereo-Hilfsträger und die Seitenbänder +-15Khz, also 23...53kHz
57kHz RDS

darüber ist dann Ruhe. ;)

Wenn Du die PWM drüber legen kannst, hast Du es einfacher.
Betriebsspannung von Tuner/Stereodekoder usw. sauber von dem 
Digital-Kram trennen, gut entkoppeln, Masseführung beachten usw. usw.

Gruß aus Berlin
Michael


von Peter Geisler (Gast)


Lesenswert?

Hallo PLL Freunde,
habe diesen thread gefunden, weil ein Funkfreund da mal eine Frage
zum LM7001 hatte. Vor zwei Jahren habe ich angefangen, ein PC Programm
zur Steuerung der zwei hier genannten PLL Schaltkreise zu schreiben.
Das Prgrammgerüst ist für beide IC's gleich, beides sind 
programmierbare,
über quasi I2C Steuersignale ansteuerbar. Deshalb habe ich sowohl per
Parallelport als auch über den RS232 Port die Ansteuerung realisiert, 
momentan im Programm nur noch der RS232, das Ganze momentan unter XP.
Zum Testen ist die Demoversion gut geeignet, d.h. um die PLL für den
angeschlossenen Tuner überhaupt erst einmal zum 'Leben zu erwecken'.
Wer also Lust hat, kann mich ruhig anschreiben, es gibt dann die entspr.
Software personalisiert für Selbstkosten 5,00€ plus Versand 1,20.
Momentan habe ich auch eine Entwicklung über USB am Laufen, wo man 
sowohl
über USB vom PC, als auch über einen Mikrocontroller, egal welchen Typs, 
an einen SAA1057 zur Steuerung ankoppeln kann. Kompatibel ist die MC - 
Seite zum OOPIC, hierzulande wenig bekannt, aber äußerst effektiv zu 
programmieren, nämlich objektorientiert. Soweit meine 'Eigenwerbung'.
Zum  Problem der PLL - und DDS Problematik möchte ich nur anmerken, dass 
die PLL grundsätzlich eine Frequenzregelung beinhaltet und die DDS 
grundsätzlich eine Steuerung darstellt, d.h. die DDS beinhaltet 
keinerlei Rückkopplung (feedback auf neudeutsch) zum Objekt, in diesem 
Falle des Hochfrequenz-Oszillators des entspr. Empfängers.
Die Pll beinhaltet einen Frequenz-Zähler für den ISTWERT der Frequenz 
und gleichzeitig ein Register für den Sollwert. Die Intelligenz des PLL 
IC besteht also darin, den übergebenen Sollwert entsprechend zum zu 
steuerenden Oszillator zu übertragen (Gleichspannung sinnrichtig auf die 
Kapazitätsdiode des Oszillator-Schwingkresi geben) und anschließend die 
erfolgte Änderung der daraus resultierenden Frequenzänderung zu messen 
und mit dem Wert im Sollwert-Register zu vergleichen. Bei Gleichheit ist 
der Vorgang abgeschlossen. In diesem Fall spricht man von einem 
digitalen Regler und von keiner einfachen (rückkopplungs-freien) 
Steuerung wie beim DDS Verfahren.

Viel Spass weiterhin mit dem Hobby - der Funkbazillus möge sich 
entfalten :-)

Peter Geisler / DL6CLM
http://www.peter-geisler.de

von Fabi (Gast)


Lesenswert?

Danke für deine Antwort Michael ich werde mir mal nen 4MHZ Quarz 
besorgen um die Pwm mit ner höheren Frequenz laufen zu lassen, 
vielleicht hilft das ja schon. Momentan nehm ich den internen 1MHZ Quarz 
des Atmega, vielleicht hilft das ja schon, bei der DAC Abstimmung hatte 
ich keine großen Masseprobleme und ich hab ja nur die Platine mit dem 
Tuner geändert und an den Platinen mit Stereo, RDS Decoder hab ich ja 
nichts geändert.

von Fabian W. (fabi)


Lesenswert?

Sorry für die Tippfehler. Bei meinem oben geposteten Programm hab ich 
die Frequenz noch nicht angepasst, ich hab das Programm nämlich vorher 
mit nem Experimentierboard von Pollin getestet, da war nen 8 MHZ Quarz 
drauf.

von Hannes L. (hannes)


Lesenswert?

> Momentan nehm ich den internen 1MHZ Quarz
> des Atmega,

Es gibt keinen ATmega mit internem Quarz.

...

von Fabian W. (fabi)


Lesenswert?

Würde es für die Entstötung vielleicht noch etwas bringen wenn ich die 
zwei Tiefpassfilter näher am Pwmout des Atmegas platziere?
Momentan hab ich sie hinter Läubis Schaltung eingebaut. Außerdem werde 
ich noch nen paar kleine Pufferelkos auf der Tunermodulplatine 
platzieren.

von Hannes L. (hannes)


Lesenswert?

> paar kleine Pufferelkos

'n paar kleine Kerkos könnten da mehr bringen. Aber ein verhuntztes 
Layout kann man damit auch nicht reparieren.

Hast Du an sternförmige Masseverbindung gedacht?
Und auch an sternförmige Verteilung der Betriebsspannung (Trennng 
Digital und Analog, Siebkette bei Analog)?

...

von Fabian W. (fabi)


Lesenswert?

Alle Gnd Leitungen einer Platine (sind insgesamt 3 Platinen Tunermodul, 
Stereo Decoder und RDS Decoder alle auf Lochraster) hab ich in einem 
Punkt auf der Platine verbunden und dann an die Netzteilplatine 
angeschlossen.

Das Netzteil hab ich folgendermaßen aufgebaut:
12V Trafo, dann Gleichrichter, dann zwei 1000µF Elkos und dann 7810 und 
7805 , jede Ausgangsspannung der Spannungsregler wird mit nem LC glied 
100µH und 100n noch gefiltert. Der 7805 versorgt eigentlich nur den 
Digitalteil, der 7810 nur den Analogteil

von Fabian W. (fabi)


Lesenswert?

Hi nochmal,
ich habe das Radio vorhin noch getestet, und hab mal nur einen Kopfhörer 
direkt an den Mpx Out angeschlossen, die Störgeräusche sind leider 
trotzdem noch da, immerhin grenzt sich dadurch die Fehlersuche ein. Es 
kann wohl nur an der Tunerplatine liegen. Was mir auch noch eingefallen 
ist, wäre eine falsche Dimensionierung des Tiefpasses, kann mir 
vielleicht noch jemand ne Formel geben um ihn richtig zu berechnen als 
ich die Gleichung für fc (Wikipedia) mit dem 1oonF Kondensator 
durchgerechnet habe, kam ein unmöglich kleiner Widerstand raus deshalb 
hab ich einfach 100K ohm und 100nf genommen. Die Pwm Frequenz beträgt 1 
MHZ, 1MHZ interner Ozillator des Megas und Prescaler eins.
Wenn die Pwm Frequenz nicht stimmt sagt es bitte. Bestimmt hab ich 
wieder was übersehen. Als ich mal mit dem Prescaler experimentiert habe 
und ihn auf 8 stellte, hat das Tuning garnicht mehr getan.

von WarKacken (Gast)


Lesenswert?

Kopfhörer an MPX-Out, was soll das bringen?

von Fabian W. (fabi)


Lesenswert?

Um zu testen ob die Störgeräusche auch im Mono Betrieb auftreten bzw ob 
am Stereo Decoder ein Fehler vorliegt ? Mpx ist der Ausgang des Fm 
Demodulator...

von Hannes L. (hannes)


Lesenswert?

> Die Pwm Frequenz beträgt 1
> MHZ, 1MHZ interner Ozillator des Megas und Prescaler eins.

Irrtum...
Dein Timer rattert mit 1 MHz, nicht die PWM...
Wieviele Timerschritte braucht Deine PWM für eine "Runde"?

Bei 8-Bit-PWM wären es 256 Timerschritte, da wäre die PWM-Frequenz dann 
etwa 4 kHz. Wenn Du mit höherer Bitbreite (Auflösung) arbeitest, dann 
wird es entsprechend langsamer...

...

von Fabian W. (fabi)


Lesenswert?

Danke für deine Klarstellung
Er braucht 1024 Timerschritte, läuft im 10bit Modus um genügend 
Genauigkeit beim Abstimmen zu haben.

Wie kann ich den im 10bit Modus über 57KHz Frequenz kommen hab mal alles 
so durchgerechnet und das höchste waren gerade mal 20khz bei 16MHZ Quarz 
?

von ernst (Gast)


Lesenswert?

also 1khz pwm...versuch mal statt 100k / 100nf , 100k / 100nf+10uf , 
dann sollte es besser gehen

von Fabian W. (fabi)


Lesenswert?

Danke Ernst ist das nen Erfahrungswert oder wie hast du das berechnet?

von ernst (Gast)


Lesenswert?

100k, 100nf gibt etwa 40db reduktion des 1khz pwm signals, das is 
zuwenig.
mit 10u gibts etwa 80db, das könnte bei geringen ansprüchen grade mal 
reichen...

von Hannes L. (hannes)


Lesenswert?

> Wie kann ich den im 10bit Modus über 57KHz Frequenz kommen hab mal alles
> so durchgerechnet und das höchste waren gerade mal 20khz bei 16MHZ Quarz
> ?

Gar nicht...
Bei 16 MHz Quarz sind es auch keine 20 kHz, sondern nur 15,625 kHz...

...

von Fabian W. (fabi)


Lesenswert?

Danke ich hab jetzt zwei 10µF Elkos in die zwei Tiefpässe eingebaut, 
leider hab ich jetzt das Problem das die Frequenz nicht stabil bleibt, 
die Störgeräusche scheinen aber jetzt weg zu sein. Ich werde mal ein 
Elko rausbauen, vielleicht bleibt die Spannung dann konstant.

@Hannes Hast ja recht wer den Taschenrechner richtig lesen kann ist klar 
im Vorteil. Ich denke 255 Schritte werden aber nicht genau genung sein.

Edit die Störgeräusche sind wirklich weg habs gerade in Stereo getestet, 
danke Ernst. Bei einem Sender hör ich immer noch ein bisschen etwas, ich 
werde mal noch nen grösseren Elko nehmen dann gehts da vielleicht auch.

von Axel R. (Gast)


Lesenswert?

MAn müsste den AVR nach dem erfolgreichem Sendersuchlauf abschalten 
können, um die Störungen abzustellen. Wäre das eine Idee?

von Fabian W. (fabi)


Lesenswert?

@ Axel War das ne Fangfrage, wenn man den Avr abschaltet dann laufen 
weder Timer noch Compare Unit also kann er auch den Port nicht ein 
ausschalten und somit auch nicht tunen oder seh ich das falsch?

@ Ernst meinst du 47µ würde auch noch gehen oder wär das schon wieder 
zuviel?

von RDSAnfaenger (Gast)


Lesenswert?

@ Axel

Bleibt natuerlich die frage zu klaeren, wie du das PWM Signal erzeugen 
willst, wenn der uC aus ist.

@Fabian

hast du schon einen Sendesuchlauf?

von Axel R. (Gast)


Lesenswert?

>wie du das PWM Signal erzeugen willst, wenn der uC aus ist.

janun, wenn der Sender gefunden wurde, wurde doch schon hinreichend 
ge"pwm"mt.
Der Siebkondensator (der 10uF am PWM Ausgang) hat sich auf die Spannung 
aufgeladen, welche benötigt wurde, um den Sender korrekt abzustimmen. 
Nun kann man doch aufhören, den Kondensator über den Vorwiderstand vom 
PWM-Pin umzuladen.
Geht natürlich nicht mehr mitm 'Schnulli'Elko aus der Bastelkiste. Bei 
diesem dürfte der Leckstrom zu hoch sein...


von Fabian W. (fabi)


Lesenswert?

Ja hab ich der funktioniert auch einigermaßen, ich hab nur irgendwie das 
Problem, das nicht der volle Tuningbereicht ausgenutzt werden kann, AFN, 
107.7 , DLF krieg ich irgendwie net rein, weiß auch nicht warum. Ab und 
zu muss man aber nochmal auf ne Taste draufdrücken, damit er nen Sender 
findet. Ich benutze das Stopsignal das geht ganz gut.

von Michael U. (Gast)


Lesenswert?

Hallo,

Testroutinen für ATMega16 für TEA5757, LM7000, BU2614 und seit eben auch 
LC7218 in Assembler kann ich auch noch anbieten.
Es sind !Testroutinen!, man kann damit die jeweiligen Tuner in Gang 
bekommen und sich dann Gedanken machen, was weiter...

LM7000: RadioBoostar ISA-Karte. Bei ebay normalerweise für 1 Euro zu 
bekommen, gibt etliche baugleiche Typen.
Karte mit elektronischem Lautstärkeregler (nur 16 Stufen) und 2x1W 
Verstärker.

TEA5757: DRU-100 USB, leider etwas teuer gehandelt
Nur Empfängermodul.

BU2614: Tunermodul der ESS-ISA-Soundkarte, wohl recht selten.
Nur Empfängermodul, sehr klein, hat wohl keine Stop-/Feldstärkeausgänge.

LC7218: Miro PCM20 Radio oder Kathrein Radio-Surfer.
Große ISA-Karte mit Tunermodul, RDS-Decoder, Audio-Prozessor und 2x 1W 
Verstärker.
Dieser Tuner läuft seit vorhin und hat eine ausgezeichnete Qualität!
So nebenbei hat er offenbar noch MW drauf, das wird nirgends bei den 
Karten genutzt.

Alle Module haben selbstverständlich Stereodecoder mit drauf.

Für besagte Karten/Module stelle ich auf Anfrage gern Anschlüsse/nötige 
Änderungen zur Verfügung.

Auf dem Bild mein "Radiobastelbrett" ;)
Das Tunermodul ist das Alps von der Miro/Kathrein-Karte, die kleine 
Leiterplatte ist ein Kopfhörer-Verstärker.
Der AVR ist ein Mega16 mit 8MHz getaktet.
Auf dem Display wird zum Test bisher nur der PLL-Teilerwert angezeigt.

Keinerlei Störungen, auch mit den anderen Modulen liefen die 
Drahtverhaue absolut sauber.

Stromversorgung ist ein 5V 1A stabilisiertes Netzteil eines 
IOMEGA-ZIP-LW und ein 12V 0,5A unbekannter Herkunft mit einem 7809 
dahinter, weil dieser Tuner 5V und 9-12V braucht.

Gruß aus Berlin
Michael




von Michael U. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

Bild vergessen.... :(

Gruß aus Berlin
Michael

von Fabian W. (fabi)


Lesenswert?

@Michael Nen bissle Offtopic hat Kathrein jemals den Radiokarten für PCs 
produziert?

von Michael U. (Gast)


Lesenswert?

Hallo,

@Fabian Wolf: produziert vermutlich nicht, ich denke, es ist eine 
umgelabelte miro-Karte. Das "Handbuch" weist Kathrein als Hersteller 
aus, aber das sagt ja nichts...

Gruß aus Berlin
Michael


von Fabian W. (fabi)


Lesenswert?

Hi ich bins wieder,
ich hab gerade das blöde Problem, dass die Pwm nur bis 4,60V, geht, 
somit kann ich viele Sender garnicht empfangen was muss ich ändern damit 
sie auch bis 7,5V geht ? Sonst sind die Sender aber gut abgestimmt und 
Störgeräusche hör ich auch nicht mehr.

Freundliche Grüße Fabian

von Michael U. (Gast)


Lesenswert?

Hallo,

nicht invertierenden OPV mit Verstärkung von 1,xx fach dahinter.
Wenn Du mit der Abstimmspannung für 87,5MHz sehr weit runter mußt, ist 
ein Rail-to-Rail In/Out nötig, wenn Du ohne negative Hilfsspannung 
auskommen willst.

Was macht die Stabilität und die Wiederkehrgenaugkeit der Geschichte 
denn so?
Oder hast Du da jetzt schon über Zähler und Auswertung nachgedacht?

Gruß aus Berlin
Michael


von Fabian W. (fabi)


Lesenswert?

Hi danke für deine Antwort,
am Anfang driftet die Frequenz, dann bleibt sie aber ganz stabil. Nen 
Senderspeicher hab ich noch nicht eingebaut, deshalb kann ich über die 
Wiederkehrgenauigkeit noch keine Aussagen machen.

Beim Zähler hab ich das Problem wie ich das am besten in Software 
umsetzte, mit dem U813 dahinter nen Schmitt Trigger und dann an den 
Counter aber wie realisiere ich dann am besten die Nachstimmung?

Nen Opv hab ich ja noch von der DAC Abstimmung, meinst du für R2 220 ohm 
und R1 390 ohm wären passende Werte ich komme somit auf ne Verstärkung 
von 1,5?
Siehe Wikipedia OPV Elektrometerverstärker.

von RDSAnfaenger (Gast)


Lesenswert?

Hallo

ich hab mal in einem anderen Threat gelesen, dass auch die Frequenz des 
internen 10,7Mhz Oszi abdriftet, stimmt das? Dann wuerde das mit dem 
nachtunen ja gar nichts bringen.

@Fabian

genau das Problem habe ich auch. Ich vermute dass im Radio erst 
irgendetwas auf Betriebstemperatur kommen muss, bevor sich die Frequenz 
Stabilisiert. Das ist ja auch das Problem beim Abspeichern, nach dem 
Abspeichern muss sich das Radio vermutlich erst wieder aufheizen bevor 
es geht. Villeicht muss man einfach ein Paar Minuten warten, bis der 
Sender wieder da ist. Oder ne Heizung einbauen? (sowas hat mein alter 
Verstaerker)

von Fabian W. (fabi)


Lesenswert?

Der opv ist nen NE5532Ap von Ti, aber das dürfte ja eigentlich egal 
sein, da die meisten ja sowieso ziemlich ähnlich aufgebaut sind. Aber 
wahrscheinlich werde ich sowieso nen Rail to Rail Opv brauchen, da 1,5V 
untere Tuninggrenze extrem wenig sind. Hast du zufällig ne 
Chipempfehlung?

von Michael U. (Gast)


Lesenswert?

Hallo,

es gibt keinen 10,7MHz Oszi, der driften könnte.

Die Oszillatorfrequenz liegt um 10,7MHz über der Empfangsfrequenz.
Beides wird gemischt, das ergibt z.B. bei 100MHz fe und 110,7MH fosc 
einmal fosc-fe = 10,7MHz und einmal fosc+fe = 210,7MHz.
Dahinter ist der ZF-Verstärker, der ist auf die 10,7MHz abgestimmt und 
verstärkt diese und hinten werde sie demoduliert.
Prinzipiell wandert natürlich auch Mittenfrequenz der dazu üblicherweise 
benutzten Keramik-Filter mit der Temperatur, das kann man aber 
vernachlässigen. Diese Änderung ist auch nicht im Empfänger zu erfassen 
und damit auch nicht zu korrigieren.
Alle üblichen Empfänger verlassen sich darauf, daß diese Werte konstant 
sind und sorgen nur dafür, daß der Oszillator stabil ist.

Theoretisch müßten ältere Empfänger mit AFC da sogar besser wegkommen, 
die regeln mit dem Null-Durchgang der Demodulatorkurve. Damit würde ein 
wegdriften des Demodulators mit kompensiert werden.

Ist aber mehr theoretisch, da der Restfehler der AFC sowieso grüßer sein 
dürfte als die thermische Drift.

Gruß aus Berlin
Michael


von Fabian W. (fabi)


Lesenswert?

@RDSAnfänger

Kannst du mir vielleicht noch beim Tuningprogramm helfen und zwar hab 
ich noch folgendes kleineres Problem, die Led zur Tuningsanzeige 
leuchtet nur solange wie ich eine der Tasten rauf runter gedrückt halte, 
sie soll aber solange leuchten bis er den nächsten Sender gefunden hat. 
Das gleiche Problem habe ich mit dem Audiomuting, (MuteOff).

Zweites Problem wie sage ich dem MC, dass er bei jedem Tastendruck zum 
Senderspeichern einen anderen Speicherplatz im EEPROM belegt und den 
alten nicht überschreibt. Wenn die Sendespeichertaste länger gedrückt 
gehalten wird, dann soll er den gerade eingestellten Sender (also die 
Variable A) im EEPROM ablegen, wenn ich nun die Speichertaste kurz 
drücke dann soll er in den EEPROM gehen und ich kann dann die 
eingespeicherten Sender mit den Tasten fürs Tuning auswählen. Drücke ich 
nun die Senderspeichertaste erneut kurz, dann soll er denn Senderpeicher 
verlassen und ich kann wieder ganz normal mit den Tasten rauf, runter 
tunen. Die Tuningled soll dann anzeigen wenn man sich im Senderspeicher 
befindet.

Danke für alle Antworten

von Fabian W. (fabi)


Angehängte Dateien:

Lesenswert?

Hier mein verwendetes Programm, die Led hängt an Portd.6

von RDSAnfänger (Gast)


Lesenswert?

ich würde mal versuchen das Automuting und die Led zwischen das If und 
Do zu setzen (und das wieder Ausschalten zwischen das until und end if 
also da hin

If Pind.4 = 1 Then
...
               Do

von Fabian W. (fabi)


Lesenswert?

@RDSAnfänger
Hi,

Schade dein obengeposteter Tipp hat leider nicht funktioniert, kannst du 
mir vielleicht bitte auch noch bei der 2ten Frage (Senderspeicher) 
helfen?

von RDSAnfänger (Gast)


Lesenswert?

was hat denn nicht funktioniert?

so ungefär hab ich mir das vorgestellt:
1
   If Pind.3 = 1 Then                                       'Wenn Taster gedrückt...
2
  Portd.1 = 0
3
        Portd.6 = 1
4
      Do
5
6
7
         If A < 1023 Then
8
            A = A + 1                                       'Abstimmspannung um 1 Stufe erhöhen
9
            
10
            Compare1a = A
11
            Waitms 20
12
            Loop Until Pind.2 = 0 Or Pind.4 = 1
13
14
           End If
15
      Portd.6 = 0                                     'Led zeigt das laufende Tuning an
16
            Portd.1 = 1                                     'Audio muting einschalten
17
18
   End If


von Fabian W. (fabi)


Lesenswert?

So hab ichs auch gemacht, es hat sich aber zum vorherigen Zustand nichts 
verändet. Led leuchtet immer noch nur solange ich den Taster gedrückt 
halte.
Aber das ist jetzt eher net so schlimm ein funktionierender 
Senderspeicher wäre mir noch lieber.

von RDSAnfänger (Gast)


Lesenswert?

so das andere

es ist zwar nicht gut fertige sachen zu servieren, aber villeicht kannst 
du es ja daran erschließen.(villeicht geht es ja auch nicht und du musst 
dir das ganze noch genauer ansehen.
1
Dim E(10) As Eram Integer
2
Dim Zaler As Byte               'muss beides oben hin
3
  If Pind.0 = 1 Then
4
   Waitms 35
5
   If Pind.0 = 1 Then
6
   Zaler = 0
7
  Do
8
  Zaler = Zaler + 1
9
  If Zaler = 10 Then Goto Tuning
10
  Loop Until E(zaler) = 0
11
  E(zaler) = A
12
  Goto Tuning
13
   Else
14
   Zaler = 0
15
  Do
16
  If Pind.0 = 1 Then Goto Tuning
17
  If Pind.3 = 1 Then
18
   Zaler = Zaler + 1
19
   If Zaler = 10 Then Zaler = 1
20
   Compare1a = E(zaler)
21
   End If
22
   If Pind.4 = 1 Then
23
   Zaler = Zaler - 1
24
   If Zaler > 10 Then Zaler = 1
25
   Compare1a = E(zaler)
26
   End If
27
   Loop
28
   End If
29
30
 Portd.6 = 0
31
32
 End If

von RDSAnfänger (Gast)


Lesenswert?

hallo

das Programm oben hat nen kleinen fehler, den ich erst noch beheben 
muss!

von Fabian W. (fabi)


Lesenswert?

jo danke erstmal für das Programm die Fehler sind mir auch gerade beim 
Kompilieren aufgefallen :D.

von RDSAnfänger (Gast)


Lesenswert?

ist portd.6 gegen masse mit einem taster beschaltet?

von RDSAnfänger (Gast)


Angehängte Dateien:

Lesenswert?

ich gehe jetzt mal davon aus, dass er gegen + beschaltet ist.

von Fabian W. (fabi)


Lesenswert?

Danke jetzt gehts kompilieren, ich denke ich habe jetzt schon verstanden 
wie so ein Senderspeicher realisiert wird und hab mir fleißig Kommentare 
dazugeschrieben. Dann fehlt nur noch der Frequenzteiler und die AFC und 
der Empfänger ist fertig. Mal sehen wie sich die am besten realisieren 
lässt.

von RDSAnfänger (Gast)


Lesenswert?

ich würde erstmal probieren obs geht. Die Wartezeiten hab ich noch 
eingefügt, damit nich der gleiche Sender zweimal hintereinander 
abgespeichert wird. Die kann man unter umständen noch ein bisschen 
verändern.

von Fabian W. (fabi)


Lesenswert?

Hi ich habs gerade getestet. Leider funktioniert das mit dem Audiomuting 
und der Led immer noch net hab das gleiche Problem wie vorher, der 
Senderspeicher scheint auch nicht zu funkionieren, wenn ich in den 
Senderspeicher gehe leuchtet die Led leider nicht und der tunt normal 
weiter, geh ich wieder raus, dann kann geht garnichts mehr ich kann auch 
nicht mehr tunen und die Led fürs Tuning leuchtet garnicht mehr. Woran 
könnte das den liegen? Ich hab dein oben gepostetes Programm benutzt. 
Als Pull Down Widerstand für den neuen Anschluss hab ich nen 15k ohm 
genommen. Ich werde das jetzt mal mit nur einem Senderspeicherplatz 
testen vielleicht gehts dann, wenn nicht dann hab ich wohl was falsch 
angeschlossen.

von Fabian W. (fabi)


Lesenswert?

Weißt du zufällig warum der Mc wenn er eingeschaltet wird, erstmal 
ständig tunt bis man ein paar mal eine der Tuningtasten gedrückt hat? 
Das gleiche macht er wenn ich in den Senderspeicher gehe...

von Christian (Gast)


Lesenswert?

Da hier im Thread ja ISA-Radiokarten erwähnt wurden: Ich habe eine 
übrig, Noname (wurde iirc einst unter dem Namen Aimslab verkauft) mit 
LM7000-PLL und TEA5712-Tuner. Bevor ich sie wegwerfe, biete ich sie 
geschenkt gegen Portoübernahme (1,65EUR als Warensendung innerhalb 
Deutschlands) an.
Bei Interesse: czietz(at)gmx.net

von Michael U. (Gast)


Lesenswert?

Hallo,

na?
Wer noch ein Klo-  Bad-  Küchen-  Weck-  Werkstattradio bauen 
will...

AVR, Display und ein paar Tasten ran und und fertig.
Na gut, etwas Software noch. ;)

Gruß aus Berlin
Michael

von RDSAnfänger (Gast)


Lesenswert?

Hallo

scheint ja doch nicht ganz so einfach zu sein. Wie hast du Portd.0 
beschaltet? Den schalterausgang an Minus und dann den Pullup in richtung 
+, oder anderstrum?
und wie die LED, ist die an Minus oder an Plus angeschlossen?

von RDSAnfänger (Gast)


Angehängte Dateien:

Lesenswert?

so jetzt hab ichs nochmal überarbeitet! Aber das mit den LEDs verstehe 
ich nicht ganz, denn bei mir im Simulator hat das reibungslos 
Funktioniert. (Ich vermute mal Portd.6 ist die LED)

von Fabian W. (fabi)


Lesenswert?

Hi Led Kathode an masse und Anode an Portd.6, ich hab bei Portd.0 nen 
Pull down eingebaut, also nen Widerstand gegen Masse und den Taster dann 
gegen +.

von RDSAnfänger (Gast)


Lesenswert?

dann probier mal das Programm

von Fabian W. (fabi)


Lesenswert?

Tut leider immer noch nicht, habs gerade getestet. Vielleicht wärs 
geschickter wen wir ersmal nur einen Senderspeicherplatz einbauen um das 
zu testen.

von RDSAnfänger (Gast)


Lesenswert?

was geht nicht?

von Fabian W. (fabi)


Lesenswert?

Der Senderspeicher, die Led leuchtet zwar wenn ich den Taster gedrückt 
halte, aber drücke ich den dann nochmal kurz, dann geht sie aus und er 
tunt die ganze Zeit weiter, dann muss ich ihn erst wieder per 
Tastendrücke einfangen. Drück ich dann nochmal, also um den Speicher 
wieder zu verlassen, dann kann ich wieder per Tastendrücke tunen. Und 
die Sache mit der Led und dem Audiomuting, geht auch noch nicht, dass 
lustige ist, am Anfang wenn er ohne Tastendrücke meinerseits, die ganze 
Zeit die Sender wechselt dann funktioniert das Audiomuting und die Led 
leuchtet beim Senderwechsel. Drück ich dann auf eine Taste um ihn wieder 
einzufangen, dann geht beides wieder nicht.

von RDSAnfänger (Gast)


Lesenswert?

hast du gesehen, dass du um einen seder abzuspeichern den taster länger 
als eine Sekunde drücken musst?

mach mal folgendes hintereinander:
- sender suchen
-abspeichern (portd.0 länger als eine Sekunde drücken)
-anderen sender einstellen
-abspeichern
-anderen sender einstellen
-portd.0 kurz drücken
- portd.3 kurz drücken (und loslassen)
->sender einestellt?

von RDSAnfänger (Gast)


Lesenswert?

ok ein fehler ist drinnen: bei dem untersten loop until muss es pind.4 
und nicht pind.3 heißen

von RDSAnfänger (Gast)


Angehängte Dateien:

Lesenswert?

ok noch nen versuch

von Fabian W. (fabi)


Lesenswert?

Es tut nicht wenn ich den Sender gespeichert habe, dann wechselt er 
erstmal ständig die Sender durch ohne anzuhalten wie nach dem 
Einschalten, ohne das ich was gedrückt habe. Drück ich nun den Taster 
kurz dann passiert garnichts die Led leuchtet auch nicht und er wechselt 
wieder ständig die Sender durch.
Vielleicht tut es wegen dem selbständigen Senderwechsel nicht?

von RDSAnfänger (Gast)


Lesenswert?

dann hast du vermutlich zu kurz gedrückt (hast du das neuste programm 
verwendet?)

von Fabian W. (fabi)


Lesenswert?

Weißt du zufällig wie man, dass mit dem selbständigen Tuning am Anfang 
beheben kann?

von RDSAnfänger (Gast)


Lesenswert?

hast du das Programm mal simuliert?
von selbständigen tunen steht im Programm nichts drinnen nichts drinnen.
Sind alle deine Schalter gleich angeschlossen?
(Alktiv=high)?

von Fabian W. (fabi)


Lesenswert?

Alle sind gleich angeschlossen. Sind alle mit Pull Down an den Mc 
angeschlossen, wenn sie gedrückt werden dann liegen +4V am MC an, 
eigentlich müssten es 5V sein, aber ich glaube kaum das der 7805 bereits 
überlastet ist...

von RDSAnfänger (Gast)


Lesenswert?

Hallo also ab Programm kann es eigentlich wirklich nichtmehr liegen. Nur 
ein winziger Bug ist mir noch aufgefallen. Nach dem Einschalten ist das 
Automuting zunächst aktiv. das ist jedoch nicht weiter schlimm, weil 
sobald man einen sender einstellt das Problem behoben wird. Das die LED 
jedoch ausgeht, sobald man den Taster losläst ist mir unerkärlich. Davon 
ist zumindes in der simulation nichts zu merken. Ob der 7805 überlastet 
ist merkt man ganz einfach an der Hitzeentwicklung. Die Spannung sinkt 
glaube ich fast nie. Villeicht ist irgendein Widerstand in der Leitung, 
oder die Eingangsspannung zu gering.

von Fabian W. (fabi)


Lesenswert?

Hi,
kann mir vielleicht jemand zufällig ein Ponyprog Screenshot von den 
Standart Fusebit Einstellungen eines Atmega16 schicken. Ich hab die bei 
mir nämlich geändert jetzt funktioniert das Programm nichtmehr. 
Ausgesperrt habe ich mich aber nicht.

von Hannes L. (hannes)


Lesenswert?

Die Standard-Einstellungen der Fusebits stehen doch im Datenblatt jedes 
AVRs. Zwar nicht alle an einer Stelle, aber da muss man eben etwas 
suchen.

...

von RDSAnfänger (Gast)


Lesenswert?

die stehen irgendwo im Einfaches Radio basteln therath

von RDSAnfaenger (Gast)


Lesenswert?

wie siehts jetzt eigentlich aus?

von Fabian W. (fabi)


Lesenswert?

Hi es tut einigermaßen,

aber die Tasten müssen noch entprellt werden. Wenn ich nämlich per 
Fernbedienung den Sender wechsle, dann leuchtet die Led bis er nen 
Sender gefunden hat, das Audio Muting scheint solange auch zu tun. Der 
Senderspeicher jedoch noch nicht. Wäre es den nicht geschickter, wenn 
man das Erkennen des Senderspeicherknopfdruck mit nem Timer machen würde 
(Wenn der Senderspeicherknopf gedrückt wird, dann zählt der Timer 
solange hoch bis eine Sekunde vergangen ist. Wird nach der Zeispanne 
immer noch gedrückt dann soll er den Sender speichern.)

Wie mache ich das eigentlich, dass er nach dem erneuten Einschalten den 
zuletzt eingestellten Sender voreingestellt hat. Ich würde erstmal 
vorschlagen einen Senderspeicherplatz einzubauen, den kann man dann ja 
später auch noch auf mehrere Speicherplätze "aufrüsten".

Dazu kommt der automatische Senderwechsel beim Einschalten des Radios. 
Dass ist extrem nervig, dann muss ich solange auf die 
Senderwechseltasten drücken bis er anhält.

von RDSAnfänger (Gast)


Lesenswert?

ich würde erstmal alle Tasten entprellen, villeicht verschwindet da noch 
so manch anderes Phänomen. Das mit dem Sender wiederhohlen ist ganz 
einfach, von daher solltest du das auch alleine hinbekommen... das mit 
der Schleife als Wartezeit ist übrigens nur noch aufwendiger und bringt 
nur minnimal gesteigerten komfort.

von Michael U. (Gast)


Lesenswert?

Hallo,

eigentlich wpllte ich mich hier nicht mehr melden, aber irgendwie 
interessierte mich Euer Fortschritt dann doch. ;)

Auch wenn es mich nichts angeht, wie Fabian und Du da vorgeht, ich sag 
trotzdem mal was dazu:

ich habe mal in den letzten Code reingeschaut, weil mich interessierte, 
wie die Probleme, die Fabian hat, eigentlich zustande kommne.

Leider kann man als Außenstehender da kaum helfen.

Config Pind.5 = Output                                      'Pwm out
Config Portd.6 = Output
Config Portd.1 = Output                                     'Led
Config Pind.3 = Input
Config Pind.4 = Input
Config Pind.2 = Input                                       'Anschluss 
für das Stoppsignal vom Tunermodul
Config Pind.0 = Input

Es werden im Programm alle Portleitungen irgendwo benutzt, leider ist 
aber nicht bei allen kommentiert, was da wo dranhängt...

Zum Tsaten-Entprellen sage ich nichts, das ist logischerweise nötig.
Was mich aber verwundert: warum hast Du das Programm nicht wenigstens 
soweit strukturiert, das es halbwegs les- und wartbar ist?
Subroutinen gibt es ja wohl auch in BasCom, Goto sollte man generell 
vermeiden, es verführt zu unlesbarem Spaghetti-Code, wenn man dem 
Programmlauf folgen möchte.
Warum gibt es nicht eine Subroutine, die die Tasten abfragt und nur 
eindeutig zurückliefert, welche Tste gedrückt war und ob kurz oder lang?
Wenn kurz oder lang benutzt werden soll, kann in dieser Variante ja 
sowieso erst nach dem loslassen reagiert werden.

Ich kenne diesen Tuner selbst nicht, normalerweise ist das Stopp-Signal 
für die Abstimmung eindeutig. Abstimmung als Suchlauf könnte also auch 
sauber mit dem aktuellen Wert der PWM aufgerufen werden und kehrt 
zurück, wenn Stopp erkannt wurde.

Wie sich das Stopp-Signal verhält, bekommt Fabian am schnellsten raus, 
wenn er in Einzelschritten abstimmt, das Verhalten von Stopp beobachtet 
und sich anhört, ob die Abstimmung ok ist, wenn Stopp aktiv wird.
Es sollte eigentlich beim nächten Abstimmschritt wieder inaktiv werden. 
Wenn es über mehrere Schritte aktiv bleibt, dann ist die Schrittweite 
der Abstimmspannung sehr klein. Möglich wäre dann z.B. bei aktiv werden 
die einen Zähler mitzählen zu lassen, bis es wieder inaktiv wird, dieses 
Ergebnis durch 2 zu teilen und um soviele Schritte wieder zurückzugehen. 
Dann wäre man bestmöglichst in der Mitte.

Das kann er aber nur austesten, weil das Verhalten der Abstimmung nicht 
linear zum PWM-Wert sein dürfte, unten sollte es steiler sein als oben.

Bei mir würde das wohl etwa so aussehen:

Start:

Gosub Init     Startwerte nach Reset setzen
Loop:
Gosub Tasten   Wartet auf Taste
IF Taste1_kurz
  Gosub Suchen   nächsten Sender suchen
ELSE IF Taste1_lang
  Gosub Speichern
ELSE IF Taste2_kurz
  Gosub blabla
ENDIF
 Gosub Status  zeigt Stereo, Frequenz, Sonnenstand an ;)
 ...
ENDLOOP

Init:

Suchen:

Speichern:

blabla:

Status:

Ist jetzt kein echter Code, soll nur das Prinzip verständlich machen.

Dann gibt es nur einzelne konkrete Baustelln, ohne immer alles 
durcheinander zu bringen...

Ich hätte mir an Fabians Stelle auch die ISA-Karte von oben beschafft, 
das Porto ist sicher zu verkrafte.

Selbst wenn er die nicht komplett verwenden will, ist eine komplette PLL 
mit dem LM7000 drauf, das Zeug runtergelötet und auf 2x3cm Lochraster 
verdrahtet und an seinen Tuner gehängt...

Gut, genug rumgemault, geht mich ja eigentlich alles nichts an, also 
nicht zu böse sein. ;))

Gruß aus Berlin
Michael



von Fabian W. (fabi)


Lesenswert?

Hi RDS Anfänger,

wie entprellst du denn immer deine Tasten, einfach per Waitms oder 
benutzt du den Debounce Befehl?

von Mikrocon T. (-42-)


Lesenswert?

Fabian Wolf wrote:
> Hi RDS Anfänger,
>
> wie entprellst du denn immer deine Tasten, einfach per Waitms oder
> benutzt du den Debounce Befehl?

Beides ist Quark. Taster entprellt man im Hintergrund mittels 
Timer-Interrupt. Da ist Entprellung und Flankenerkennung 
zusammengefasst.

Recherchiere mal, wie Inline-Assembler unter BASCOM auf Variablen 
zugreift, dann kannst Du den ASM-Entprellcode von PeDa (hat Karl heinz 
im AVR-Tutorial ausführlich erklärt) benutzen. Damit sind dann die 
Tasten entprellt, die Flanken erkannt und auch die längeren Tastendrücke 
erkannt. Das ist eine echte Sorglos-Routine. Wer die nicht benutzt ist 
selber schuld.

MFG

von RDSAnfanger (Gast)


Lesenswert?

Hallo

@Michael

Mich verwirren tausend Unterprogramme immer und solang das Programm 
nicht zu lang ist. Auserdem ist es ja auch strukturiert.
ein Block fangt immer mit if taster x =1 dann dann folgt das 
unterprogramm. Mir wurde das mit dem sender verschieben auch zu blod, 
deshalb hab ich mir jetzt den Tuner aus dem Markt gegoennt.

Tasten entprelle ich immer ganz klassisch mit einem Kondensator, aber du 
kannst ja auch mal das auf Softwareebene probieren

von RDSAnfanger (Gast)


Angehängte Dateien:

Lesenswert?

ich hab jetzt mal ein paar kommentare dazugeschrieben

von Michael U. (Gast)


Lesenswert?

Hallo,

@Mikrocon Troll-er: diesen Vorschlag habe ich extra vermieden, man kann 
mit Sicherheit auch in BasCom sowas ordentlich erledigen.
Ich würde es nicht machen (ich benutze kein BasCom), Du würdest es nicht 
machen.
Das ist aber nicht das Problem. Das, was da zur Zeit meiner Meinung nach 
rauskommen soll, kann man prinzipiell zu Fuß machen, es gibt keinerlei 
wirklich zeitkritische Geschichten, es gibt keine intern unabhängig 
ablaufenden Sachen.

Es wird nur auf einen Tastendruck gewarte, es läuft dann eine Reaktion 
ab, die theoretisch ewig dauern kann und danach wird wieder auf einen 
Tastendruck gewartet.

Insofern schreit das Projekt bis jetzt geradezu nach BasCom. ;))

Trotzedem gibt es offenbar diverse seltsame Effekte, die es eigentlich 
nicht geben dürfte.

RDSAnfanger: spätestens, wenn ein Programm umfangreicher und komplexer 
im Zusammenspiel wird, strafst Du Dich selbst mit solch einem 
Programmierstil. Es wird letztlich Deine Zeit sein, die Du mit 
Fehlersuche an den falschen Stellen verbringst.

Ein Unterprogramm hat eigentlich 2 sinnvolle Anwendungen: es spart Code 
und Platz, wenn eine bestimmte identisch Befehlsfolge mehrmals im 
Programm benutzt wird und es erleichtert Änderungen, wenn 
Funktionsblöcke unabhängig vom Rest des Programmlaufs notfalls komplett 
umgebaut werden sollen oder müssen.

Beispiel: Ein Unterprgramm "Warte auf Tastendruck" wird aufgerufen.
In diesem wird auf eine gedrückte Taste gewartet, dann wird gewartet, 
bis die wieder losgelassen wurde und dann geht es zurück.

Zurück kommt in einer Variablen die Nummer der gedrückten Taste und in 
einer anderen der Zustand kurz oder lang gedrückt.
Der Kram wird im Hauptprogramm jetzt in Ruhe ausgewertet.

Wenn jetzt die Tastenroutine umgebaut werden muß (Software-Entprellung, 
andere Wartezeit für Lang, zusätzliche Wiederholfunktion) passiert das 
nur genau in diesem Unterprogramm.
Das Hauptprogramm merkt davon nicht, es muß mit Sicherheit an keiner 
anderen Stelle im Programm was verändert werden, man kann es also auch 
nicht vergessen.

Beispiel: Sendersuche - das Unterprogramm bekommt in einer Variablen das
Flag aufwärts oder abwärts suchen mit.
Dort wird abgestimmt, geteste, ob ein Sender gefunden wurde, die 
Such-LED geschaltet, überprüft, ob die Abstimmgrenzen beim Suchen 
erreicht wurden usw.
Zurück kommt ein Flag Sender gefunden oder nicht gefunden.
Wenn jetzt ein anderer Tuner angebaut wird, die Abstimmspannung anders 
erzeugt wird usw. muß nur in genau dieser Routine umgebaut werden.
Man kann auch schnell mehrere Versionen Testen, gibt es eben Subroutine 
Suche1, Suche2 Suche3 usw, und im Hauptprogramm wird eben die passende 
aufgerufen.
So kann man schnell vergleichen, was besser läuft, auch diretkt in 
Funktion, wenn man noch eine Taste hat und einfach von da entscheidet, 
wie gesucht werden soll.

Das ist ohne Unterprogramme so gut wie unmöglich, man vergisst eine der 
10 Stellen zu ändern, nichts geht mehr, man such ewig Fehler...

PS: RDSAnfänger - hat der Name einen konkreten Grund?

Ich habe mir gestern noch schnell einen TDA8425 geholt, ich mache aus 
meinen Tunerexperimenten nun doch ein Küchen-/Klo-/Bastelzimmer-Radio.
Entweder ich stecke am Wochenende den Kram auch noch auf das Steckbrett 
oder ich löte gleich alles soweit auf eine Lochraster und mache dann 
noch die I2C-Routinen fertig. Mal schauen... ;)

Gruß aus Berlin
Michael

von RDSAnfänger (Gast)


Lesenswert?

Der Name hatte mal einen konkreten Grund, das mit dem RDS kan ich aber 
vergessen, weil es wo ich jetzt wohne kein RDS gibt :-((((

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.