STM32 8 verschiedene Frequenzen mit 2 Timern?

OP #5013890
Lesenswert?

Ich will auf nem STM32 8 verschiedene Frequenzen ausgeben.
Die Betonung liegt auf Frequenzen. (nicht PWM-Tastverhältnisse mit alle 
der gleichen Frequenz). Verhältnis H/L soll immer 50/50 sein, 
Periodendauer variabel. Für alle 8 Strippen unabhängig voneinander.

Mein jetziger STM hat insgesamt 4 Timer mit je 4 Channels.

Geht das mit verschiedenen Channels eines Timers verschiedene Frequenzen 
auszugeben, oder muss ich 'nen anderen Chip mit 8 Timern nehmen?

Aus dem hier (CC Einheit) bin ich nicht schlau geworden:
Beitrag "STM32 - zwei Frequenzen mit einem Timer erzeugen?"

Knulli
Gast #5014053
Lesenswert?

Knut E. schrieb:
> Ich will auf nem STM32 8 verschiedene Frequenzen ausgeben.
> ,,,
> Verhältnis H/L soll immer 50/50 sein,
> Periodendauer variabel.

Das geht, wobei bei höher werdenden Frequenzen die Abstufung immer 
gröber wird und bei niedrigen Frequenzen der Überlauf des Timers 
beachtet werden muß.
Gast #5014190
Lesenswert?

Matthias S. schrieb:
> Ein Beispiel für 2 Töne mit einem Timer ist in AVR314 enthalten, das mit
> einem Timer DTMF Tonpaare erzeugt.

Das hilft hier nicht weiter, da wohl acht Frequenzen auf separaten 
Ausgängen gleichzeitig ausgegeben werden sollen.
Hier wäre noch interessant, welcher Frequenzbereich abgedeckt werden 
soll. Da mit ISRs gearbeitet werden muß, dürfte die obere Grenze im 100 
kHz Bereich liegen.
(Firma: matzetronics) #5014211
Lesenswert?

m.n. schrieb:
> Das hilft hier nicht weiter, da wohl acht Frequenzen auf separaten
> Ausgängen gleichzeitig ausgegeben werden sollen.

Das ist wahr. Man könnte sich aber die abschliessende Addition der Werte 
sparen und diese dann getrennt rausschieben. Mir gings nur ums Prinzip.

m.n. schrieb:
> Hier wäre noch interessant, welcher Frequenzbereich abgedeckt werden
> soll.

So isses. AVR314 ist nur für NF zu gebrauchen - zumindest auf den AVRs.
OP #5014615
Lesenswert?

@TurboJ:
Es gibt nen Toggle-Mode und den hab ich schon ausprobiert. Ergebnis war: 
Es wird die Phasenlage verschoben.
Da hatte ich aber noch nix mit DMA nachgeladen. Müsste ich auch nochmal 
genauer erklärt bekommen.


@myfairtux:
Ja, die Idee hatte mein Chef (Elektroniker) auch schon. Einfach nen 
zähler laufen lassen und dann mit GPIO die Pins Wackeln lassen.
Meine Befürchtung: Die Motoren werden nicht gleichmäßig laufen, wenn 
irgendwas höher Priorisiertes (USB, RS232, ???) stört.

@ m.n. (Gast):
Frequenzen sollen zwischen 0-200 Hz mit max. 0.1 Hz Stufen einstellbar 
sein.
Damit sollen 8 Steppermotorkarten angesteuert werden, die bei jedem 
Impuls den Motor eins weiterschubst:
http://de.rs-online.com/web/p/funkentstorfilter-und-zubehor/2173611/

Da das erstmal nur einmal gebaut werden soll, "weigert" sich mein 
Elektroniker ne neue Platine zu machen.
Also vorhandene STM-Platine verwenden, die bisher nur eine Frequenz 
ausgeben musste! Der hat nen 8MHz Quarz drauf, damit komme ich auf die 
max. möglichen 72 MHz für diesen STM.

Ich werd mal die Zählergeschichte ausprobieren und mal gucken, wie doll 
das rumeiert.

Knulli
Gast #5014655
Lesenswert?

Knut E. schrieb:
> Frequenzen sollen zwischen 0-200 Hz mit max. 0.1 Hz Stufen einstellbar
> sein.

Das ist ja langweilig.
Ich habe Beipiele, wie man Compare-Ausgänge zur Impulserzeugung mit 
feiner Auflösung benutzen kann, allerdings für AVR mit 2 Kanälen. Das 
Prinzip ist aber auf den STM32xxx übertragbar.
Dabei wird die 1/2 Periodendauer ins Compare-Register geladen und per 
Hardware der Ausgang gesetzt bzw. gelöscht. Bei tiefen Frequenzen ist 
der Nachladewert zu groß, als daß er direkt ins Compare-Register passen 
würde. Da wird dann der Nachladewert in Häppchen zerlegt und erst dann 
einen Ausgangsänderung freigegeben, wenn das letzte Häppchen geladen 
wurde: http://mino-elektronik.de/Generator/takte_impulse.htm#bsp3a


> Damit sollen 8 Steppermotorkarten angesteuert werden, die bei jedem
> Impuls den Motor eins weiterschubst:
> http://de.rs-online.com/web/p/funkentstorfilter-und-zubehor/2173611/

Du hast gesehen, daß diese Karte für unipolare Stepper ist? Freiwillig 
würde ich die heutzutage nicht mehr verwenden wollen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren