Autor Beitrag
Neuling2006
Hält's aus hier
Beiträge: 4

WinXP Pro
Delphi 2005 PE
BeitragVerfasst: Fr 07.04.06 08:30 
Hallo Leute,

ich habe nun schon seit einiger Zeit hier mitgelesen und habe nun selbst auch mal eine Frage.

Ich bekomme von einem AD-Wandler an der Seriellen Schnitstelle Werte, welche ich in eine Spannung umrechne. Diese Spannungen haben immer einen Positiven Wert. Ich habe mir eine Komponente geschrieben aud der ich die Spannung als Kurven sichtbar machen will. Der Nullpunkt dieses Oszipanels liegt in der mitte. Negative Werte werden nach unten angezeigt, Positive nach oben. Bis dahin klappt auch alles. Nun zu meinem Problem. Wenn der AD-Wandler eine Sinus-Kurve aufnimmt, möchte ich das eine hälfte im Negativen Bereich angezeigt wird, so wie bei einem echten Oszi, an dem eine Wechselspannung anliegt. Ich schaffe es aber nicht den Wert so umzurechenen das er zur hälfte Negativ wird.

Als Beispiel: Spannung = 0 bis 5,4 Volt soll zu Spannung -2,7 bis +2,7 Volt werden.

Ich würde mich freuen wenn jemand helfen kann.

Danke


Moderiert von user profile iconGausi: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Fr 07.04.2006 um 10:13
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Fr 07.04.06 08:46 
Moin und :welcome: im Forum!

Ähm, du ziehst halt immer die Hälfte des Max-Wertes ab, also in deinem Beispiel 2,7... wo ist das Problem :gruebel: ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Neuling2006 Threadstarter
Hält's aus hier
Beiträge: 4

WinXP Pro
Delphi 2005 PE
BeitragVerfasst: Fr 07.04.06 08:54 
Hallo!

Neee so einfach funktioniert das auch wieder nicht. Wenn ich vom Maxwert immer die hälfte abziehe, bleibt das Ergenis ja
immer Positiv.;-)
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Fr 07.04.06 09:02 
Moin!

:?: Öhm, bei mir ist 0 - 2,7 = -2,7 ... bei dir nicht :gruebel: :D

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Neuling2006 Threadstarter
Hält's aus hier
Beiträge: 4

WinXP Pro
Delphi 2005 PE
BeitragVerfasst: Fr 07.04.06 09:11 
Ja, da hast du Recht, aber ich habe ja keine Null. Ich habe bekomme eine ganze Reihe von Werten (1000 pro Messung) alle im Positiven Bereich (minimal Null). Villeicht habe ich mich falsch ausgedrückt. Ich habe einen Messbereich der von -10 Volt bis +10 Volt reicht. Um beim alten Bsp. zu bleiben: Wenn der Wert 5,4 Volt dann sollen davon 2,7 Volt im negativen Bereich angezeigt werden und 2,7 Volt im Positiven.
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Fr 07.04.06 09:13 
Dann nimmst du
ausblenden Delphi-Quelltext
1:
2:
posWert := OriganalWert / 2;
negWert := -posWert;

_________________
We are, we were and will not be.
aim65
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 312

Win 9x, Win XP
Delphi 3pro, 7PE
BeitragVerfasst: Fr 07.04.06 10:09 
Ja, die einfachsten Sachen sind halt die schwersten...
Narses hat recht - und Du machst nur einen Denkfehler. Nach deiner Beschreibung durchläuft ja der gemessene Sinus ALLE Werte zwischen Null und dem Maxwert von 5,4Volt. Wenn Du davon die Hälfte des Maxwertes (2,7V) abziehst, erhältst Du rechnerisch alles von +2,7V bis -2,7V. der absolute A/D-Wert von 2,7V stellt dann den Nullpunkt dar. Wenn Deine Komponente ok ist, dann sollte der Wert 0 auch auf der Mittellinie landen.

@Gausi: gefährlich - funktioniert nur bei exakt symmetrischen Kurven. Du spiegelst damit nur die eine Hälfte an der Nullachse.
Neuling2006 Threadstarter
Hält's aus hier
Beiträge: 4

WinXP Pro
Delphi 2005 PE
BeitragVerfasst: Fr 07.04.06 10:27 
@aim65

Jau, jetzt habe ich es auch kapiert. Und... es funktioniert :dance2: Ich habe ständig versucht diese Rechnung auf einen Wert anzuwenden obwohl ich den Maxwert ja erst ermitteln kann wenn alle Werte im Array sind. Manchmal ist man echt wie vernagelt. :oops:

@Narses Sorry, das ich dich nicht gleich verstanden habe.

Danke
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Fr 07.04.06 10:31 
Moin!

Kein Thema. ;)

Markierst du den Thread dann noch entsprechend, wenn dein Problem gelöst ist? Danke. :)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.