erstellt  12.01.2017
Frequenzrichter
Was ist ein Frequenzrichter ?
Ein Frequenzrichter erzeugt in der Regel aus einer Wechsel oder Gleichspannung ,eine Wechselspannung mit definierter Frequenz und Spannung.
Benötigt wird es unter anderen dafür, einen Wechsel oder Drehstrom  Motor der standardmäßig mit einer festen Wechselspannung und Frequenz läuft
und daher nur eine Drehzahl zu Verfügung hat, mit einer Variablen Frequenz zu versorgen um so die Drehzahl individuell anzupassen.
Wie funktioniert das nun ?
Die Versorgungsspannung die aus Wechsel oder Gleichspannung bestehen kann wird wenn nötig gleichgerichtet, somit steht auf jeden Fall eine Gleichspannung zu Verfügung ,
mit der dann anschließend mit Hilfe einer Elektronik und einer einstellbarer Frequenz ein elektronischer Schalter , oder bei Drehstrom mindestens drei Elektronische Schalter
in einer bestimmten Reihenfolge mit Hilfe von Spulen ein Magnetisches Drehfeld erzeugen.
Im Schema unten sieht man einen Kompass der bekanntlich eine Nadel besitzt deren eine Hälfte Nord- und die andere Hälfte Südpol hat.
Umgebe ich diese Nadel mit drei Magnete oder besser gesagt drei Spulen mit Eisenkern, und schalte diese in einen bestimmten Reihenfolge Ein und wieder Aus dann ergibt sich ein
magnetische Drehfeld und der Kompass Zeiger fängt an sich zu drehen.
Dazu muss ich nur die Taster in folgender Reihenfolge kurz schließen.
S1, dann S2, dann S3 und wieder vom Anfang S1-S2-S3, je nachdem wie schnell das von statten geht dreht sich die Kompass Nadel schnell oder langsam, man verändert somit die Drehzahl. 
Schema Drehfeld Drehfeld Schema Frequenzrichter
Um das nicht immer mit Taster ansteuern zu müssen, , wird ein kleiner Prozessor programmiert der diese manuelle Tastenfolge elektronisch erzeugt
Mit einer kleinen Schaltung werden drei Transistoren angesteuert , die wiederum drei Spulen mit Spannung versorgen um damit ein Drehfeld zu erzeugen.
Schaltung

 


 

Zum Programm
'--------------------- Allgemeine Prozessor Konfiguration ---------------------
$regfile "m8def.dat"          'Definiert den Atmega als Atmega8
$crystal = 1000000            'Gibt die Quarzfrequenz an in Herz
$hwstack = 32                 'Default use 32 Hardware reservierte Speicher
$swstack = 10                 'Default Software resvierung Speicher
'------------------------------------------------------------------------------
' Konfiguration fürs Display
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portb.5 , Db5 = Portb.4 , Db6 = Portb.3 , Db7 = Portb.2 , Rs = Portc.1 , E = Portc.0
'-------------------------------------------------------------------------------
Ddrd = &B10100011
Portd = &B00011100 Pull Down An Für Interrupt Eingänge Setzen
Portb = &B00000001
' ------------------------Variable deklarieren --------------------------------
Dim Kanal_aa As Byte          'Variable Für Kanal A Drehgeber
' ------------------------ Interrups festlegen --------------------------------
On Int0 Kanal_a               ' Interrupt Routine für Interrupt 1 festlegen
On Int1 Kanal_b               ' Interrupt Routine für Interupt 2 festlegen
Mcucr = &B00001110            ' int0 H/L und int1 auf L/H Flanke
Gicr = &B11000000             ' Interrupt 0 und 1 einschalten
Sreg.7 = 1                    ' Interrupts Global freischalten

'--------------------------- Voreinstellung -----------------------------------
Kanal_aa = 255                ' Mit langsamer geschwindigkeit anfangen
Deflcdchar 1 , 31 , 17 , 16 , 20 , 22 , 31 , 6 , 4       ' replace ? with number (0-7)
Deflcdchar 2 , 31 , 17 , 1 , 5 , 13 , 31 , 12 , 5       ' replace ? with number (0-7)

'---------------------------- Startbildschirm ---------------------------------
Cls
Locate 1 , 1
Lcd "Frequenzrichter"
Locate 2 , 1
Lcd "Version 1D"
'---Test der Leds
Portd.0 = 1                   ' Led mitte
Waitms 400
Portd.1 = 1                   ' Led links
Waitms 400
Portd.5 = 1                   ' Led rechts
Waitms 400
Portd.0 = 0
Portd.1 = 0
Portd.5 = 0

'##################################### Programm ###############################

Do                            ' Anfang Hauptprogramm
Gosub Anzeige

Portd.1 = 1                   ' erste Led an
Portd.5 = 1                   ' dritte led an
Portd.0 = 0                   ' zweite led aus
Waitms Kanal_aa               ' pause

Portd.1 = 1                   ' erste Led an
Portd.0 = 0                   ' zweite led aus
Portd.5 = 0                   ' dritte led aus
Waitms Kanal_aa

 Portd.1 = 1                  ' erste Led an
Portd.0 = 1                   ' zweit Led an
Portd.5 = 0                   ' dritte led aus
Waitms Kanal_aa

Portd.0 = 1                   ' zweit Led an
Portd.1 = 0                   ' erste Led aus
Portd.5 = 0                   ' dritte led aus
Waitms Kanal_aa

Portd.0 = 1                   ' zweit Led an
Portd.5 = 1                   ' dritte led an
Portd.1 = 0                   ' erste Led aus
Waitms Kanal_aa

Portd.0 = 0                   ' zweit Led aus
Portd.1 = 0                   ' erste Led aus
Portd.5 = 1                   ' dritte led an

Waitms Kanal_aa
Loop                          ' Ende Hauptprogramm

'------------------------- Routine Display anzeigen ---------------------------
Anzeige:
Portd.7 = 1                   '  Unterprogramm Displayanzeige
Cls                           ' Display Löschen
Locate 1 , 1                  ' Definiert Displayausgabe Zeile 1 Spalte 1
Lcd "A = " ; Kanal_aa         ' Displayausgabe der Variable für Kanal A
 Locate 3 , 1
Lcd Chr(1)
Locate 3 , 5
Lcd "langsamer"
Locate 4 , 1
Lcd Chr(2)
Locate 4 , 5
Lcd "schneller"

Waitms 200
Portd.7 = 0


Return                        ' Unterprogramm Ende und zurück zum Aufruf

'--------------------------- Interrupt Routine für Drehgeber--------------------

Kanal_a:
If Pind.2 = 0 And Pind.3 = 0 Then Kanal_aa = Kanal_aa - 1

Return
'-------------------------------------------------------------------------------

Kanal_b:
If Pind.2 = 1 And Pind.3 = 1 Then Kanal_aa = Kanal_aa + 1
Return
'-------------------------------------------------------------------------------


Festplatten Motor

Habe versucht einen alten Festplattenmotor, aus einer 5 1/4" Festplatte ans laufen zu bringen,

allerdings nur mit mäßigen erfolg, es handelt sich dabei um einen Drehstrom Motor.

Er besteht aus drei Spulen mit Mittelanzapfung

Der Motor konnte mittels der ganz oben beschriebenen Schaltung mit dem Atmega auch zur Rotation gebracht werden

leider aber aber nur ziemlich ruckelig und auch nur relativ langsam, so ein , zwei Umdrehungen in der Sekunde.

Bei einer Messung mit dem Oszilloskop konnte dabei festgestellt werden das die Spannung am Drain bei angeschlossenen Motor

nicht einmal annähernd auf Null Volt zurück ging.

Offensichtlich waren die Transistoren IRF 510 nicht besonders geeignet.

Bei kleinen Strömen funktionierte die Schaltung ganz gut, bei zunehmenden Strömen allerdings schalteten sie nicht mehr ganz durch.

Da ich nur mit einer Betriebsspannung von 5 V arbeite, der IRF 510 aber mindestens 3,6 Volt benötigt, war es möglicherweise etwas zu wenig.

Durch Austausch der Transistoren gegen den Typ URF 640 ( gleiche Pin Anordnung) konnten nun auch größere Ströme gezogen werden.

 

 





Aktualisiert 04.04.2021
Copyright by Ms2009