BESTURING LENZE FREQUENTIEREGELAAR VIA PROFILAB.
Ik heb een voorbeeld gemaakt hoe je een frequentieregelaar aan kunt sturen via Profilab Expert 4.0. We gebruiken hiervoor de PC als MMI, (man machine interface) op deze manier geven we commando’s aan een controller via de PC. Voor het versturen van de commando’s gaan we weer gebruikmaken van de usb poort van de PC. Dit doen we weer via een usb serieel adapter met FTDI chipset. De data versturen we weer via optocouplers voor de galvanische scheiding. Het schema van de interface staat op de eerste pagina van het topic.
Als frequentieregelaar maak ik gebruik van een LENZE regelaar van het type 33.8202-E. Dit is een 230VAC naar 3 X 230VAC frequentieregelaar, deze regelaar kan dus gewoon uit een 1 fase net gevoed worden.
De regelaar heeft optisch gescheiden ingangen en kan dus met 5VDC aangestuurd worden. Voor het regelen van het toerental kun je kiezen uit een spanning van 0 tot 5VDC, 0 tot 10VDC of 4 tot 20mA. De keuze kun je instellen via een jumper, deze jumper kun je vinden onder het display, deze is verwijderbaar van de frequentieregelaar.
Dan heb je nog een aantal digitale ingangen die gebruikt kunnen worden voor de vrijgave, jog-functie, keuze 20, 30, 40Hz, links/rechts en een paar alarm contacten.
Voor het regelen van het toerental maken we gebruik van de 0 tot 10VDC instelling, omdat we een pwm naar analoog converter gebruiken die op 10VDC aangesloten is.
Voor de converter wordt er gebruik gemaakt van een rail to rail opamp van het type TLV271. Het pwm signaal gaat eerst door een low-pass filter, (R1 en C1) daarmee wordt een 0 tot 5VDC signaal gemaakt en twee maal versterkt door de opamp. De versterking wordt bepaald door R2 en R3.
Op deze manier krijgen we dus een analoge uitgang op de controller en die hebben we nodig om het toerental van de motor te regelen die aangesloten zit op de frequentieregelaar.
Hieronder een tekening van de regelaar.
Nog even iets over de aansluitingen die we gaan gebruiken op de regelaar. Klem-7 is de 0VDC, klem-8 is de ingang voor de 0 tot 10VDC, klem-39 is de 0VDC voor de digitale ingangen, Klem-E4 is voor links en rechtsom, klem-E3 is voor de rem, klem-E2 is voor de jog functie, klem-E1 is voor de keuze 20, 30 of 40Hz en klem-28 en klem-20 is voor de vrijgave van de regelaar. Dan hebben we nog de klemmen voor de motor aansluiting, W, V, U, en de klemmen voor de netspanning en de aarde PE.
De klemmen -UG en +UG zijn voor het aansluiten van een remchopper, maar die gebruiken we nu niet.
Hieronder het totale schema hoe het aangesloten is op de controller.
Op poort A.0 tot A.3 van de controller zit de bediening voor links en rechtsom, rem, jog-1 en jog-2 en poort C.1 is de pwm uitgang voor het regelen van het toerental. Poort C.6 en poort C.7 is voor de communicatie met de PC. De rest wijst voor zich lijkt mij.
We gaan nu kijken naar het programma gemaakt in Profilab.
Dit is eigenlijk het zelfde opgezet als het programma van de K16F887 interface die ook hier in het topic staat, er wordt gebruik gemaakt van een potmeter en vier drukschakelaars om het geheel te bedienen.
Dit zijn de gebruikte componenten:
De gegenereerde stuklijst is wel in het Duits.
4x Schalter logisch, 1x Taster logisch, 1x Einsteller analog (Potentiometer), 6x AND, 2 Eingänge, 6x OR, 2 Eingänge, 1x OR, 5 Eingänge, 5x RS-FlipFlop, 3x Taktgenerator 1Hz...1kHz, 1x Simulation Stop, 1x Formel universell, 5x Mittelwert, 1x D/A-Wandler, 8 Eingänge, 6x LED, 1x Numerisches Display, 5x COM String senden, 1x COM Byte lesen, 5x $Character, 15x Analog- Vergleicher en 10x Festwert.
Hieronder de frontplaat.
Hier kun je de potmeter zien, de drukknoppen, de lampen en het display die het aantal Hz aangeeft. Als de potmeter op nul staat knippert het run lampje, zodra de potmeter iets verdraait wordt gaat het run lampje continu branden.
Het data lampje knippert als de potmeter verdraaid wordt of als er een drukknop ingedrukt wordt, dit ten teken dat er communicatie is met de controller.
Als je bijvoorbeeld de knop L/R indrukt dat krijg je een terugmelding van de controller die de lamp L/R aanstuurt boven de drukknop en dat zelfde gebeurd ook bij de andere drukknoppen.
Dan hebben we nog de drukknop afsluiten, hiermee sluiten we het programma mee af.
We hebben ook nog een stukje software voor de controller, daar gaan we nu naar kijken.
pic basic code:
Device 16F887
Xtal 10
Asm
CONFIG_REQ
__CONFIG _CONFIG1, HS_OSC & WDT_OFF & DEBUG_OFF & FCMEN_OFF & LVP_OFF & IESO_OFF & BOR_OFF & CPD_OFF & CP_OFF & MCLRE_OFF & PWRTE_ON
__CONFIG _CONFIG2, WRT_OFF & BOR40V
EndAsm
All_Digital true
Declare Hserial_Baud 9600
Declare Hserial_RCSTA %10010000
Declare Hserial_TXSTA %10100110
Declare Hserial_Clear = On
Declare CCP2_Pin PORTC.1
Symbol FREQUENTIE = 1000
Symbol UIT_1 = PORTA.0
Symbol UIT_2 = PORTA.1
Symbol UIT_3 = PORTA.2
Symbol UIT_4 = PORTA.3
Dim DATA_IN As Byte
Dim ADRES As Byte
DelayMS 1000
Clear
PORTA = %000000
TRISA = %000000
PORTB = %000000
TRISB = %000000
PORTC = %00000000
TRISC = %00000000
PORTD = %00000000
TRISD = %00000000
PORTE = %000
TRISE = %000
RUN:
HSerIn 100, UIT, [ADRES]
DelayMS 1
If ADRES = 1 Then
GoSub ADRES_1
EndIf
If ADRES = 2 Then
GoSub ADRES_2
EndIf
If ADRES = 3 Then
GoSub ADRES_3
EndIf
If ADRES = 4 Then
GoSub ADRES_4
EndIf
If ADRES = 5 Then
GoSub ADRES_5
EndIf
UIT:
If ADRES = 2 Then
If UIT_1 = 1 Then
HSerOut [5]
Else HSerOut [10]
EndIf
EndIf
If ADRES = 3 Then
If UIT_2 = 1 Then
HSerOut [15]
Else HSerOut [20]
EndIf
EndIf
If ADRES = 4 Then
If UIT_3 = 1 Then
HSerOut [25]
Else HSerOut [30]
EndIf
EndIf
If ADRES = 5 Then
If UIT_4 = 1 Then
HSerOut [35]
Else HSerOut [40]
EndIf
EndIf
GoTo RUN
ADRES_1:
HSerIn [DATA_IN]
DelayMS 1
HPWM 2,DATA_IN,FREQUENTIE
Return
ADRES_2:
HSerIn [DATA_IN]
DelayMS 1
If DATA_IN > 2 Then
UIT_1 = 1
Else UIT_1 = 0
EndIf
Return
ADRES_3:
HSerIn [DATA_IN]
DelayMS 1
If DATA_IN > 2 Then
UIT_2 = 1
Else UIT_2 = 0
EndIf
Return
ADRES_4:
HSerIn [DATA_IN]
DelayMS 1
If DATA_IN > 2 Then
UIT_3 = 1
Else UIT_3 = 0
EndIf
Return
ADRES_5:
HSerIn [DATA_IN]
DelayMS 1
If DATA_IN > 2 Then
UIT_4 = 1
Else UIT_4 = 0
EndIf
Return
End
Zoals je kunt zien is het programma het zelfde opgesteld als het programma voor de K16F887 interface. Het is het afvragen van data die door Profilab verstuurd wordt en het bevestigen door de controller als er data ontvangen is. De baudrate staat weer op de standaard instelling van 9600, dit is meer dan snel genoeg voor dit doel. Er hoeft maar weinig data verzonden en ontvangen te worden. De ontvangen data wordt verwerkt door de controller en deze voert de opdrachten uit, niet meer en niet minder.
Hier nog een filmpje, Er staat alleen een stom type foutje bij de rem drukknop, dat moet uiteraard BRAKE zijn.
https://www.youtube.com/watch?v=_L4_cu7U0Pk&pp=ygURaGFycnkgdmFuIHp…