Forum: PC Hard- und Software TTL Signal Generator gesucht


von Karl M. (knivil)


Lesenswert?

Hi,

ich suche eine Signalgenerator mit mind. 2 zur Generierung zweier 
Rechtecksignale. Frequenz 1Hz bis 500Hz, 3.3V Logik (wahlweise auch 5V). 
Knackpunkt A an der Sache: Signale sollen synchron sein. D.h. steigende 
Flanke des einen Signals mit steigender Flanke des anderen Signals 
zusammen fallen. Knackpunkt B: Beide Signale haben unterschiedliche 
Frequenz. D.h. erstes Signal laeuft beispielsweise mit Frequenz 150Hz, 
zweites mit 30Hz, also nach 5 Ticks des ersten Signals gibt es einen 
Tick des zweiten.

Ich suche dementsprechend ein Geraet wahlweise angeschlossen als USB 
oder als PCIe Steckkarte, programmierbar. Ich weiss, das allgemeine 
Funktionsgeneratoren diese Funktion abdecken, aber leider meinen 
preislichen Rahmen (sagen wir bis 250 Euro) sprengen. Auch brauche ich 
den erweiterten Funktionsumfang dieser Geraete nicht. Wieterhin sollte 
das gesuchte Geraet eher klein sein, d.h. ein Oszilloskop oder 
Oszilloskoperweiterung kommt eher nicht in Frage. Auch vorgefertigte 
Bausaetze mit analogem Drehregler sind eher ungeeignet. Kennt ihr 
ensprechende Geraete? Kann diese Funktion auch mit einem Mikrocontroller 
realisiert werden?

Hintergrund: Ich moechte 3 Industriekameras extern triggern. Die erste 
laeuft mit 150Hz (vielleicht 160Hz), die beiden anderen mit 30Hz 
(vielleicht auch 40Hz oder 50Hz). Frequenz der schnellen Kamera ist 
Vielfaches der langsameren (der Einfachheit halber). Alle sollen wie 
beschrieben synchron extern getriggert werden. Spaeter soll die 
Triggerkomponente als CPLD-Baustein realisiert werden, aber erst 
spaeter.

von Pandur S. (jetztnicht)


Lesenswert?

Am ehesten mit einem Controller. PCIe kannst du sowieso vergessen. Das 
Schreiben eines PCI Treibers ist viel zu aufwenig und zu teuer, dass es 
sich fuer kleinere Stueckzahlen von guenstigen Devices rechtfertigen 
wuerde. Zudem ist die Anforderung zu niedrig. So ein Device kann man mit 
serieller Schnittstelle, resp USB-to-serial ansteuern.

von m.n. (Gast)


Lesenswert?

Sandro S. schrieb:
> D.h. steigende
> Flanke des einen Signals mit steigender Flanke des anderen Signals
> zusammen fallen.

Wie soll das denn funktionieren? Beispielfrequenzen 160 Hz und 50 Hz.

von Teo D. (teoderix)


Lesenswert?


von Philip K. (pulsewidthmodul)


Lesenswert?

Das geht doch ganz einfach mit nem ATmegaIrgendwas, SoftPWM und ein paar 
Zeilen Code...

von Karl M. (knivil)


Lesenswert?

> Das Schreiben eines PCI Treibers ist viel zu aufwenig und zu teuer
Deswegen etwas vorgefertigtes.
> Wie soll das denn funktionieren? Beispielfrequenzen 160 Hz und 50 Hz.
Wie gesagt: Frequenz der schnellen Kamera ist Vielfaches der 
langsameren. (Ausserdem kann das KGV von 160 und 50 auch helfen, d.h. 
gemeinsame Periode waere 800).
> Das geht doch ganz einfach mit nem ATmegaIrgendwas, SoftPWM und ein paar
> Zeilen Code...
Ja, aber eine Kriterium ist, dass Entwicklungsaufwand nahezu 0 ist. Ganz 
einfach weil ich eher Softwerker bin als Hardwerker. Deswegen der 
Beitrag in PC Hard-/Software. Aber wahrscheinlich wird es in Richtung 
Mikrocontroller gehen.

von Philip K. (pulsewidthmodul)


Lesenswert?

Dann schnapp Dir ein beliebiges Arduino Board, eine SoftPWM Biliothek 
und deine C/C++ Fähigkeiten. Das sollte in nem halben Tag erledigt sein.
Mit der Arduino IDE musst du nichtmal viel von der Hardware verstehen.

Der Hardwareaufwand ist mit maximal 20 Euro auch überschaubar:

: Bearbeitet durch User
von Georg (Gast)


Lesenswert?

Sandro S. schrieb:
> Ja, aber eine Kriterium ist, dass Entwicklungsaufwand nahezu 0 ist. Ganz
> einfach weil ich eher Softwerker bin als Hardwerker. Deswegen der
> Beitrag in PC Hard-/Software

Aber gerade für die Software zum Programmieren vom PC aus ist der 
Entwicklungsaufwand keineswegs 0. Es müssen schliesslich beide Seiten 
programmiert werden, das Gerät und der PC, und noch dazu sollten sie 
korrekt zusammenarbeiten.

Georg

von Possetitjel (Gast)


Lesenswert?

Sandro S. schrieb:

> ich suche eine Signalgenerator mit mind. 2 zur Generierung
> zweier Rechtecksignale. Frequenz 1Hz bis 500Hz, 3.3V Logik
< (wahlweise auch 5V).
> [...]
> D.h. erstes Signal laeuft beispielsweise mit Frequenz 150Hz,
> zweites mit 30Hz, also nach 5 Ticks des ersten Signals gibt
> es einen Tick des zweiten.

Bis hierher: Taktgeber und zwei einstellbare Zaehler.
Aufbaubar auf Lochrasterplatine; Programmierung ueber
Maeuseklavier. Kostenaufwand <10 Euro.

> Ich suche dementsprechend ein Geraet wahlweise angeschlossen
> als USB oder als PCIe Steckkarte, programmierbar.

Das sind die Momente, in denen ich merke, dass ich nicht in
diese Welt passe. Meine Vorschlag funktioniert ohne OPC,
CORBA, JRE, JTAG, USB, PCI, OOP, HTTPS... also muss sie
voellig untauglich sein. Naja.

von Manfred (Gast)


Lesenswert?

Possetitjel schrieb:
> Das sind die Momente, in denen ich merke, dass ich nicht in
> diese Welt passe. Meine Vorschlag funktioniert ohne OPC,
> CORBA, JRE, JTAG, USB, PCI, OOP, HTTPS... also muss sie
> voellig untauglich sein. Naja.
Hier hast Du vollkommen recht!

Phasensynchron geht natuerlich nur bei ganzzahligen Vielfachen, das ist 
Sandro hoffentlich klar.

Hier bietet es sich an, eine Frequenz zu erzeugen und alle anderen 
digital aus dieser zu teilen. Ich wuerde da zum klassischen CMOS 
greifen, damit wird die Phasenstabilität um Klassen besser als bei 
µC-Basteleien.

von Dieter F. (Gast)


Lesenswert?

Manfred schrieb:
> Ich wuerde da zum klassischen CMOS
> greifen, damit wird die Phasenstabilität um Klassen besser als bei
> µC-Basteleien.

Kannst Du das für Doofies wie mich bitte mal erklären? Wenn ich 
Hardware-PWM (eines MC) nutze - inwiefern ist ist da die klassische 
CMOS-Geschichte "um Klassen besser" - bezogen auf die Phasenstabilität?

von Possetitjel (Gast)


Lesenswert?

Dieter F. schrieb:

> Wenn ich Hardware-PWM (eines MC) nutze [...]

Oben war MEHRFACH AUSDRUECKLICH von SOFT-PWM die Rede.

Hierbei muss man mit Jitter an den Flanken rechnen, auch
wenn dieser Jitter auf beiden Kanaelen synchron ist (wenn
man es intelligent einrichtet).

Wenn man genuegend Teiler/PWM-Kanaele zur Verfuegung hat,
kann man natuerlich auch die Hardware eines µC verwenden,
da habe ich nix dagegen.

Was da USB/PCIe zu suchen haben, erschlieszt sich mir
dennoch nicht.

von Dieter F. (Gast)


Lesenswert?

Possetitjel schrieb:
> Oben war MEHRFACH AUSDRUECKLICH von SOFT-PWM die Rede.

Reg Dich nicht auf - rumschreien brauchst Du auch nicht.

Ich habe auch erstmal an Zähler gedacht, weil einfacher. Wollte halt 
wissen, warum das "um Klassen besser" sei (nicht von Dir, oder?).

Übrigens hat hier genau ein (1) Arduino-Jünger Soft-PWM ins Gespräch 
gebracht ...

Philip K. schrieb:
> Dann schnapp Dir ein beliebiges Arduino Board, eine SoftPWM Biliothek

von m.n. (Gast)


Lesenswert?

Manfred schrieb:
> Hier bietet es sich an, eine Frequenz zu erzeugen und alle anderen
> digital aus dieser zu teilen. Ich wuerde da zum klassischen CMOS
> greifen, damit wird die Phasenstabilität um Klassen besser als bei
> µC-Basteleien.

Hier nun wieder würde ich einen µC bevorzugen. Ein Timer mit 2 x 
Compare-Registern erzeugt stabiles Timing und exakte Phasenlage.

> Phasensynchron geht natuerlich nur bei ganzzahligen Vielfachen, das ist
> Sandro hoffentlich klar.

Und irgendwann in der Unendlichkeit werden auch unterschiedlichste 
Frequenzen einmal eine gleichzeitige steigende Flanke gemeinsam haben 
;-)

von Dieter F. (Gast)


Lesenswert?

m.n. schrieb:
> Und irgendwann in der Unendlichkeit werden auch unterschiedlichste
> Frequenzen einmal eine gleichzeitige steigende Flanke gemeinsam haben
> ;-)

Und wahrscheinlich (TM) sogar auch die gewünschte Kombination von 
steigender und fallender Flanke :-)

von Volker S. (vloki)


Lesenswert?

Sandro S. schrieb:
> Ja, aber eine Kriterium ist, dass Entwicklungsaufwand nahezu 0 ist. Ganz
> einfach weil ich eher Softwerker bin als Hardwerker. Deswegen der
> Beitrag in PC Hard-/Software. Aber wahrscheinlich wird es in Richtung
> Mikrocontroller gehen.

Was brauchst du denn für Signale. Einfach nur TTL-Logikpegel, kein 
nennenswerter Strom? Dann wäre der Entwicklungsaufwand für die Hardware 
ungefähr dieser -> 
https://hackaday.io/project/6258/gallery#ce5db455c4aad2b6bf7d99e26a6976f4

Software ist auch nicht sooo wild, wenn ein Demoprojekt zur Verfügung 
steht, welches die Basiskommunikation zwischen PC und uC bereitstellt. 
(Gibt es)
Was genau soll denn eigentlich vom PC aus eingestellt werden?

Das mit der Takterzeugung über PWM ist dann auch halb so wild.

von Possetitjel (Gast)


Lesenswert?

Dieter F. schrieb:

> Possetitjel schrieb:
>> Oben war MEHRFACH AUSDRUECKLICH von SOFT-PWM die Rede.
>
> Reg Dich nicht auf - rumschreien brauchst Du auch nicht.

Ich rege mich nicht auf.
Ich fand Deine Frage nur etwas aggressiv und gleichzeitig
etwas...unqualifiziert.

> Ich habe auch erstmal an Zähler gedacht, weil einfacher.

Naja, also.

> Übrigens hat hier genau ein (1) Arduino-Jünger Soft-PWM
> ins Gespräch gebracht ...

Ja, stimmt, es war zweimal derselbe. Das hatte ich nicht
bemerkt.

Ob man einen µC oder 4017+7474+7400 verwendet, haengt
davon ab, ob man lieber loetet oder lieber programmiert.

von Dieter F. (Gast)


Lesenswert?

Possetitjel schrieb:
> Ich fand Deine Frage nur etwas aggressiv und gleichzeitig
> etwas...unqualifiziert.

Was ist an PWM unqualifiziert? Aggresiv war zumindet ich nicht :)
Ist auch egal - schönen Abend noch ...

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.