Forum: Mikrocontroller und Digitale Elektronik Modulation einer analogen Sinusspannung (Geschwindigkeitssignal)


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Vinzent J. (vinz142)


Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich möchte mittels ein Eingangssignal in der Amplitude verkleinern. Das 
Eingangssignal ist das eines analogen Geschwindigkeitsgebers, der die 
Werte mittels Amplitudenmodulation überträgt. Leider kann die gewünschte 
Tachoeinheit mit den Werten nicht viel anfangen. Daher würde ich diese 
gerne anpassen und z. B. halbieren um die Veränderung der Ungenauigkeit 
zu vergleichen.

All dies sollte im Kern mit einem ATmega328 passieren. Nur weiß ich 
nicht, wie ich zu aller erst ein einigermaßen vernünftiges Sinussignal 
ausgeben kann, um weitere Erkenntnisse zu sammeln. Ich habe mir ein 
AD9850 bestellt, leider ist dieser auf einem Board. Das wird zum testen 
kein Problem sein, wird aber zum Projektende hinderlich sein, da ich nur 
eine Platine bevorzuge.

Zu erwähnen sei noch, dass ich eigentlich ein blutiger Anfänge bin und 
nur ein Grundverständnis von Elektrik und Elektronik besitze.


Danke im Voraus!

Vinzent

von Baldrian (Gast)


Bewertung
0 lesenswert
nicht lesenswert
> Das Eingangssignal ist das eines analogen Geschwindigkeitsgebers, der die
> Werte mittels Amplitudenmodulation überträgt.

Mehr Informationen: z. B. Spannung? Frequenz?

von Vinzent J. (vinz142)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Baldrian schrieb:
>> Das Eingangssignal ist das eines analogen Geschwindigkeitsgebers, der die
>> Werte mittels Amplitudenmodulation überträgt.
>
> Mehr Informationen: z. B. Spannung? Frequenz?

Sorry, bin gerade im Büro und die meisten Sachen liegen zuhause, 
außerdem steht der Wagen zum testen 80km weit entfernt. :)

Ich meine die Spannung ging bis 100km/h nicht über 1,8 Vrms. Leider 
haben wir das notieren der Frequenz vergessen. Anbei noch ein Bild einer 
mir gerade nicht bekannten Geschwindigkeit.

von Joe F. (easylife)


Bewertung
0 lesenswert
nicht lesenswert
Vinzent J. schrieb:
> Daher würde ich diese gerne anpassen und z. B. halbieren um die
> Veränderung der Ungenauigkeit zu vergleichen.

Dafür ist eigentlich erstmal ein einfacher Spannungsteiler aus 2 
Widerständen geeignet.

von H.Joachim S. (crazyhorse)


Bewertung
3 lesenswert
nicht lesenswert
Vinzent J. schrieb:
> Das
> Eingangssignal ist das eines analogen Geschwindigkeitsgebers, der die
> Werte mittels Amplitudenmodulation überträgt.

Glaub ich nicht. Die eigentliche Information wird in der Frequenz 
stecken, die Ampitudenänderung ergibt sich als Nebeneffekt.

von m.n. (Gast)


Bewertung
1 lesenswert
nicht lesenswert
H.Joachim S. schrieb:
> Glaub ich nicht. Die eigentliche Information wird in der Frequenz
> stecken, die Ampitudenänderung ergibt sich als Nebeneffekt.

Das sehe ich genauso!

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Bewertung
0 lesenswert
nicht lesenswert
Was haben wir denn da für ein Fahrzeug? Wenn das auch nur ein wenig 
jünger als die 1980er ist, ist das mit Sicherheit ein gepulstes Signal 
und keine Analogspannung. In den Jahrzehnten davor war es eine 
Tachowelle.
Dein Fluke kann aber sowas messen, stelle es mal auf Oszilloskop.

: Bearbeitet durch User
von M. K. (sylaina)


Bewertung
1 lesenswert
nicht lesenswert
Vinzent J. schrieb:
> All dies sollte im Kern mit einem ATmega328 passieren. Nur weiß ich
> nicht, wie ich zu aller erst ein einigermaßen vernünftiges Sinussignal
> ausgeben kann, um weitere Erkenntnisse zu sammeln.

Das geht recht einfach via PWM. Du erzeugst dir eine Tabelle/Array deren 
Werte einem Sinus entsprechen.
Am Atmega konfigurierst du einen PWM-Kanal entsprechend, den Wert für 
das PWM-Register entnimmst du dem Array. Immer wenn der Timer des 
PWM-Kanals z.B. den TOP-Value erreicht hat holst du aus dem Array den 
nächsten Wert für das PWM-Register.
Am Pin des PWM-Kanals erhälst du dann eine Rechteckfolge mit sich 
verändernder Puls-Pause-Sequenzen. Dieses Signal musst du nur noch 
Tiefpass-Filtern und bekommst am Ausgang des Tiefpassfilters (ich 
benutze hier gerne einen Sallen-Key-Tiefpass, es geht auch ein 
RC-Tiefpass mit all seinen Vor- und Nachteilen) dann einen Sinus.
Es empfiehlt sich die PWM-Frequnenz (das ist nicht die Timer-Frequenz 
des PWM-Kanals ;)) mindestens 10 mal größer zu wählen als den 
gewünschten Sinus. Dann kann der Tiefpassfilter (Grenzfrequenz muss 
kleiner als die PWM-Frequenz sein aber größer als die Frequenz des 
gewünschten Sinus) die PWM recht gut filtern sodass man einen relativ 
kleinen Ripple der PWM auf den resultierenden Sinus bekommt der idR 
nicht mehr stört (einige mV zum Beispiel).

Vinzent J. schrieb:
> Ich habe mir ein
> AD9850 bestellt, leider ist dieser auf einem Board. Das wird zum testen
> kein Problem sein, wird aber zum Projektende hinderlich sein, da ich nur
> eine Platine bevorzuge.

Das ist ein Schritt, der am Ende des Projektes steht, damit brauchst du 
dich jetzt eigentlich noch gar nicht befassen, das raubt dir nur unnötig 
Zeit. Stelle dir nur mal vor du stellst fest, dass der AD9850 nicht für 
die Aufgabe geeignet ist. Wenn du da im Vorfeld eine Platine dafür 
erstellst/kaufst/produzieren lässt ist diese ganze Arbeit für die Katz. 
Daher ist dein Vorgehen, erstmal ein sogenanntes Eval-Board des AD9850 
zu benutzen genau richtig.

von Axel R. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ja genau: DDS ist hier im Artikel gut beschrieben.
Aber ersteinmal mach eine genaue Signalanalyse: vllt. brauchst Du 
garkeinen sauberen Sinus. man weis es nicht.

StromTuner

von Axel R. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
DDS macht auch unser chinesischer Freund
http://elm-chan.org/works/mxb/report.html. Dort kann man sich die 
erzeugung auchmal ansehen. Wenn vonnöten...


StromTuner

von Harald W. (wilhelms)


Bewertung
0 lesenswert
nicht lesenswert
Vinzent J. schrieb:

> ich möchte mittels ein Eingangssignal in der Amplitude verkleinern.
> All dies sollte im Kern mit einem ATmega328 passieren.

Natürlich kann man auch statt eines Spannungsteilers einen Computer
nehmen. Ich nehme auch immer einen 40t-LKW zum Brötchenholen,
anstatt mir Schuhe anzuziehen und das zu Fuß zu erledigen.

Beitrag #5114839 wurde vom Autor gelöscht.
von Vinzent J. (vinz142)


Bewertung
0 lesenswert
nicht lesenswert
Danke für die vielen Antworten!

>> Das
>> Eingangssignal ist das eines analogen Geschwindigkeitsgebers, der die
>> Werte mittels Amplitudenmodulation überträgt.
>
>Glaub ich nicht. Die eigentliche Information wird in der Frequenz
>stecken, die Ampitudenänderung ergibt sich als Nebeneffekt.

Danke für die gute Idee. Ich bekam das Fluke nur in die Hand gedrückt 
und hatte bis dato noch keine Ahnung von dem Gerät. Ich konnte eine 
Änderung wahrnehmen und hab gedacht dies sei der heilige Gral.


>Was haben wir denn da für ein Fahrzeug? Wenn das auch nur ein wenig
>jünger als die 1980er ist, ist das mit Sicherheit ein gepulstes Signal
>und keine Analogspannung. In den Jahrzehnten davor war es eine Tachowelle.
>Dein Fluke kann aber sowas messen, stelle es mal auf Oszilloskop.

Es handelt sich um einen W124 eines guten Freundes. Der Wagen ist also 
nicht jünger als die 1980er.


>Das ist ein Schritt, der am Ende des Projektes steht, damit brauchst du
>dich jetzt eigentlich noch gar nicht befassen, das raubt dir nur unnötig
>Zeit. Stelle dir nur mal vor du stellst fest, dass der AD9850 nicht für
>die Aufgabe geeignet ist. Wenn du da im Vorfeld eine Platine dafür
>erstellst/kaufst/produzieren lässt ist diese ganze Arbeit für die Katz.
>Daher ist dein Vorgehen, erstmal ein sogenanntes Eval-Board des AD9850
>zu benutzen genau richtig.

Der Plan dazu war, erstmal erfolgreich ein Sinussignal zu erzeugen, 
damit ich die mir zur Verfügung stehende Tachoeinheit testen kann. So 
kann ich dann herausfinden, welche Werte benötigt werden um welche 
Geschwindigkeit anzuzeigen.


>>>Zu erwähnen sei noch, dass ich eigentlich ein blutiger Anfänge bin und
>>>nur ein Grundverständnis von Elektrik und Elektronik besitze.
>>
>> ich möchte mittels ein Eingangssignal in der Amplitude verkleinern.
>> All dies sollte im Kern mit einem ATmega328 passieren.
>
>Natürlich kann man auch statt eines Spannungsteilers einen Computer
>nehmen. Ich nehme auch immer einen 40t-LKW zum Brötchenholen,
>anstatt mir Schuhe anzuziehen und das zu Fuß zu erledigen.

Vielen Dank für deine metaphorische Darstellung meiner Inkompetenz. :)

von m.n. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Vinzent J. schrieb:
> Der Plan dazu war, erstmal erfolgreich ein Sinussignal zu erzeugen,
> damit ich die mir zur Verfügung stehende Tachoeinheit testen kann.

Es sollte doch mittlerweile jedem klar geworden sein, daß die Kurvenform 
völlig egal ist. Sie wird aus einem Tachogenerator kommen, wo jede 
andere Kurvenform zu erzeugen, zusätzlichen Aufwand bedeuten würde.
Miss die Frequenz des Signals und erzeuge diese meinetwegen mit einem 
einfachen Rechteckgenerator: NE555 ;-)

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Bewertung
1 lesenswert
nicht lesenswert
Der Mega 328 hat einen Analog Komparator, der dir den Sinus aus dem 
Tachogenerator zum Rechteck formen kann und dabei gleich einen Interrupt 
auslöst. An einen Eingang des Komparators legst du ein Trimmpoti zur 
Einstellung der Schaltschwelle und an den anderen das Signal - begrenzt 
auf max. 5V.

Du solltest dir das Fluke nochmal in die Hand drücken lassen, den 
richtigen Messbereich einstellen (man sieht ja unten schon das Signal, 
muss nur noch gedehnt werden) und dann ein,zwei Runden drehen.
Mir ist bei Daimler schon mal aufgefallen, das die Signale der Sensoren 
sehr verdreckt sein können (war bei den ABS Kränzen an der Hinterachse 
einer C-Klasse). Es kann also sein, das da noch etwas per Tiefpass 
geputzt werden muss.

: Bearbeitet durch User
von Jacko (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Nach kurzer Suche mit "tachosignal w124 hall-geber" kommt
man auf einen Forumsbeitrag mit

"die relativ hohe Impulszahl beim Mercedes (45 Imp/m gegenüber
etwa 8-15 Imp/m bei anderen Fahrzeugherstellern)"

Bei Tempo 50 km/h legt man 13,9 m/s zurück. Das sind
625 Pulse pro Sekunde oder 12,5 Pulse / 20 ms. Bei Tempo
100 also 25 Pulse / 20 ms, was gut zum Oszillogramm passt.
Dabei sind die sichtbaren AM-Komponenten einfach nur Artefakte
der zu kleinen Samplerate des Fluke123.

Also:
Bei   1 km/h hast du 12,5 Pulse / s,
bei  50 km/h hast du  625 Pulse / s,
bei 180 km/h hast du 2250 Pulse / s.

Der Fluke123 kann doch bestimmt auch Frequenz messen!
Schau mal, ob die 45 Imp/m stimmen.  ;-)
Neuer, oder abgefahrener Reifen kann natürlich noch
einige % Fehler verursachen.

Wahrscheinlich hast du immer Pulse von +/- 2..3 V.
Über R = 47k und C = 330p gehst du in die Mitte eines
Spannungsteiler 100k/100k von V+ nach V- und an einen
Zählereingang deines µCs. Der Zähler sollte 12..16
Bit breit sein.

von Jacko (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Sorry, C = 330 nF (nicht pF), oder besser 1000 nF Cerco,
- dann sollte es ab 0,5 km/h (14 cm/s) funktionieren.

von Vinzent J. (vinz142)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

viel Zeit ist vergangen. Ich wunderte mich weshalb keins meiner 
gesendeten Signale vom Tacho angenommen wurden. Das lag daran, dass der 
UAF 0115 IC nach fast 30 Jahren den Dienst quittiert hat. Ersatz ist nun 
da und sogar in hundertfacher Ausführung. (Leider nur UAF 2115 
[angeblich baugleich])

In diesem Zuge hatte ich mir vorgenommen die gesamte Platine des Tachos 
nachzubilden. Hier haben mir die altertümlichen Bezeichnungen der 
Bauteile teilweise Schwierigkeiten bereitet. Es sind fast alle Rätsel 
gelöst.

Das letzte Bauteil jedoch lässt sich auch nach langer Arbeit mit einer 
bekannten Suchmaschine nicht identifizieren. Es handelt sich hier um das 
weiße Plättchen mit der Bezifferung "009". Bilder sind angefügt.


Danke und Grüße

von Arno H. (arno_h)


Bewertung
0 lesenswert
nicht lesenswert
Leider lässt sich anhand der Fotos nicht eindeutig erkennen, ob das BE 
zwei oder mehr Anschlüsse hat. Bei nur 2 Anschlüssen sind die 
Möglichkeiten begrenzt, der Keramikträger könnte ein Hinweis auf einen 
Widerstand sein.
Also ausbauen und messen, die 009 könnten auch 600 bedeuten.

Arno

von Joe F. (easylife)


Bewertung
0 lesenswert
nicht lesenswert
Könnte ein Shunt-Widerstand sein.
Kannst du mal ein Foto von der Platinenunterseite machen?
Dann kann man anhand des Datenblattes vom UAF0115 rausfinden, was dieses 
Teil für eine Funktion hat.

von Vinzent J. (vinz142)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Antworten!

Ein Datenblatt für den UAF 0115 habe ich leider noch nicht gefunden.

Der "009" hat 2 Anschlüsse und das Bild der Rückseite habe ich angefügt.

von H.Joachim S. (crazyhorse)


Bewertung
0 lesenswert
nicht lesenswert

von Joe F. (easylife)


Bewertung
0 lesenswert
nicht lesenswert
Hier hat jemand eine sehr ähnliche Frage (und weitere Bilder von dem 
Teil):

http://www.elektronicaforum.nl/wat-is-dit-keramisch-component-met-opdruk-009-t17405.html

Evtl. ein lasergetrimmter Präzisionswiderstand...?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.