Frekvensomriktare "FÄRDIG"
Nu har jag lekt lite:
http://diymania.hv4all.com/VFD%20parts/ ... up/fan.AVI <- input i filmen är ca 300VAC vilket ger runt 400V ut efter likriktning.
Nu är detta bara enfas och fyrkantåg, men jag kanske testa med nån simpel pwm generator imorrn.
http://diymania.hv4all.com/VFD%20parts/ ... up/fan.AVI <- input i filmen är ca 300VAC vilket ger runt 400V ut efter likriktning.
Nu är detta bara enfas och fyrkantåg, men jag kanske testa med nån simpel pwm generator imorrn.
Har lekt lite mer:
http://diymania.hv4all.com/VFD%20parts/ ... 0motor.AVI
Test med stora motorn: http://diymania.hv4all.com/VFD%20parts/ ... 0motor.AVI
http://diymania.hv4all.com/VFD%20parts/ ... 0motor.AVI
Test med stora motorn: http://diymania.hv4all.com/VFD%20parts/ ... 0motor.AVI
Jo tack, det gick bra
Men jag har inte gjort något mer sen jag skrev sist.
Det har inte blivit någon elektronik alls den sista tiden pga av lägenhetsköp+försäljning
med allt vad det innebär. Men om någon månad hoppas jag vara på banan igen.
Open source är ju aldrig fel. Men just nu känns det inte aktuellt. Men
kanske senare nån gång, tanken har faktiskt slagit mig tidigare. Jag kan bjuda på
lite kod så länge
Jag har inte gjort något belastningstest heller. Men jag har kommit på att
de finns x antal hundra motordrifter på jobbet...

Det har inte blivit någon elektronik alls den sista tiden pga av lägenhetsköp+försäljning
med allt vad det innebär. Men om någon månad hoppas jag vara på banan igen.
Open source är ju aldrig fel. Men just nu känns det inte aktuellt. Men
kanske senare nån gång, tanken har faktiskt slagit mig tidigare. Jag kan bjuda på
lite kod så länge

Jag har inte gjort något belastningstest heller. Men jag har kommit på att
de finns x antal hundra motordrifter på jobbet...

Kod: Markera allt
//---------------------------------------------------------------------
// (de)acceleration
//---------------------------------------------------------------------
if ( tasksStatus.bits.accel != 0 ) {
tasksStatus.bits.accel = 0;
// Frequency setpoint reached
if ( parameters.frequencyOut == parameters.wFrequencySP ) {
parameters.driveStatus.acc = 0;
parameters.driveStatus.deacc = 0;
if ( parameters.driveStatus.stopping == 1 )
PWM_Stop();
// Frequency setpoint not reached
} else {
// Increase
if ( parameters.frequencyOut < parameters.wFrequencySP ) {
parameters.driveStatus.acc = 1;
parameters.driveStatus.deacc = 0;
parameters.frequencyOut += parameters.accStepSize;
if ( parameters.frequencyOut > parameters.wFrequencySP )
parameters.frequencyOut = parameters.wFrequencySP;
// Deacrease
} else {
parameters.driveStatus.acc = 0;
parameters.driveStatus.deacc = 1;
parameters.frequencyOut -= parameters.accStepSize;
if ( parameters.frequencyOut < parameters.wFrequencySP || parameters.frequencyOut > 32767 ) { // unsigned > 32767 <=> signed < 0
parameters.frequencyOut = parameters.wFrequencySP;
}
}
// Minimum output frequency
if ( parameters.frequencyOut < parameters.minFreq && !parameters.driveStatus.stopping )
parameters.frequencyOut = parameters.minFreq;
// Voltage adjustment
signed int temp;
if ( parameters.settings.useVf && parameters.frequencyOut < parameters.motorFrequency ) {
temp = MPY( parameters.motorVoltage, DivF(parameters.frequencyOut, parameters.motorFrequency) );
if ( temp < parameters.minVOut && !parameters.driveStatus.stopping ) {
temp = parameters.minVOut;
}
// Constant output voltage or fout > nom. f
} else {
temp = parameters.motorVoltage;
}
// Calculate voltage(=duty cycle)
if ( temp >= parameters.maxVOut )
parameters.vOut = 32767;
else
parameters.vOut = DivF( temp, parameters.maxVOut );
// Calculate sine table pointer add value
parameters.sinPtrAdd = parameters.newSinPtrAdd = MPY( parameters.fs, MPY(parameters.frequencyOut, 28663) );
if ( parameters.sinPtrAdd > 728 ) {// > 200Hz xxx
parameters.debug2 = 65535;
parameters.debug3 = parameters.sinPtrAdd;
parameters.debug4 = parameters.frequencyOut;
//parameters.debug5 = t;
parameters.debug6 = parameters.fs;
}
}
// Noise reduction, fs variation
if ( parameters.settings.noiseReduction ) {
Rand31();
SRbits.IPL = 7;
parameters.newPTPER = parameters.fs + MPY( rand31L, MPY(parameters.fs, parameters.fsSpread) ); //new period will be loaded at next pwm interrupt
// Calculate sine table pointer add value
parameters.newSinPtrAdd = MPY( parameters.newPTPER, MPY(parameters.frequencyOut, 14317) );
SRbits.IPL = 0;
}
}//(de)accel
Den typen av motorer med släpringsstart ger absolut den snyggaste elmotorstart jag har sett (här gällde såg), när strömmen slås på hörs det bara lite transformatorsurr, när man drar manövern i potentiometerläge så börjar motor accelerar lungt och snyggt med en tystnad som skulle göra en modern motorstyrning grön av avund - ingen pip, ingen vissel eller annat högfrekvent ofog. - det är tillåtna strömmen genom startapparatens motstånd och rotorn som bestämmer vridmomentet och därmed också strömuttaget från elnätet.peter555 skrev:Det låter bekant, man ändrar eftersläpningen med yttre resistanser. Vad händer om man lägger på lite magnetiseringsström på rotorn och driver den. Kan man inte variera vridmomentet då ?
och när motorn uppnått full fart så vreds startapparaten vidare till ett läge så att de tre ringarna kortslöts redan på rotorn och tom. lyfte borstarna så att det hela kunde tåla mycket stora lastströmmar utan att något brann.
Släpringade motorer var en förutsättning för att kunna starta och ha stora motorer på 20-40 hk ute i landsbyggdens klena nät förr i tiden...
Har man bara sett Y/D-start och halva byn blinkar i omslaget mellan Y och D, så blir man mycket imponerad när man se en 40-tals släpringsmotorstart första gången.... - nyare teknik är inte alltid lika med bättre...
Nästan samma känsla som efter ett tag ha arbetat med stegmotorstyrda penplottrar, se en DC-servostyrd A1-penplotter (HP förståss) slita iväg penhuvvudet med 4 m/s vid förflyttning och det är bara rasslet i lagren som hörs - eller se en sådan texta, ser bara ut som pennan bara far förbi lite fort, förutom klappret när pennan åker upp och ned - men har då skrivit text.
Nu tänkte jag försöka slutföra detta projekt så jag kan gå vidare och göra
en ny och bättre omformare med fler finesser.
"Plattformen" börjar kännas lite begränsande med fulla lödda experimentkort
istället för ordentliga genomtänkta pcbs. Inget fel i det då projektet
började som ett experiment utan någon som helst erfarenhet av högspänd
kraftelektronik. dsPIC, pwm, och gatedrivers var också något nytt för mig.
För nått år sen köpte jag en låda av bengt-re(tror jag) som placerades på
vinden i väntan på bättre tider. Den har jag nu tagit fram och den tror jag
blir perfekt. På högspänningskortet fick jag dock fila bort 2mm på kortsidan.
Passande nog innehöll lådan en trafo med precis lagom späning för att få
18V till gatedrivern.

Sen har påbörjat användarinterfacet för parametrisering och styrning m.m.
Styrning kommer att ske med en rotationssensor och 3-4 knappar, visning
på en 4x20 OLED-display. Det viktigaste, som bläddering/ändring av alla
parametrar och start/stopp av motorn är färdigt.

en ny och bättre omformare med fler finesser.
"Plattformen" börjar kännas lite begränsande med fulla lödda experimentkort
istället för ordentliga genomtänkta pcbs. Inget fel i det då projektet
började som ett experiment utan någon som helst erfarenhet av högspänd
kraftelektronik. dsPIC, pwm, och gatedrivers var också något nytt för mig.
För nått år sen köpte jag en låda av bengt-re(tror jag) som placerades på
vinden i väntan på bättre tider. Den har jag nu tagit fram och den tror jag
blir perfekt. På högspänningskortet fick jag dock fila bort 2mm på kortsidan.
Passande nog innehöll lådan en trafo med precis lagom späning för att få
18V till gatedrivern.

Sen har påbörjat användarinterfacet för parametrisering och styrning m.m.
Styrning kommer att ske med en rotationssensor och 3-4 knappar, visning
på en 4x20 OLED-display. Det viktigaste, som bläddering/ändring av alla
parametrar och start/stopp av motorn är färdigt.

"FÄRDIG"!
Sådärja, nu är den äntligen ihopplockad. Tyvärr är den mer eller mindre
obrukbar pga störningar, OLEDen ballar ur totalt så fort jag trycker start.
Provade att skärma av displayen som ligger precis ovanför HV-kortet, men
det hjälpte inte. Kabeln fångar väl också upp störningarna. Nu orkar jag inte pilla mer med detta så projektet får anses färdigt.
Info
Data
Uin: 1*230V (egentligen 3*230V men jag har bara en 400V glättningskondensator inkopplad)
Uut: 3*180V
Iut: 3x ca 2A (ej avprovat
, bortsett från kylning är det konstruerat för 10A )
Hårdvara
CPU: Microchip dsPIC30F4011@30MIPS
Gatedrivning: IR2136 (signaler via optokopplare 6N137)
3-fas likriktarbrygga
Mjukstart
3-fas h-brygga bestående av 6st IRFB9N60A
RS232-interface
Användarinterface, 4x20 OLED+2st knappar+rotationssensor
Mjukvara
Inställbara switchfrekvens
Noise reduction, variering av switchfrekvens för att minska upplevt oljud
PID varvtalsreglering
Val av en- eller tre-fas motor, y- eller d-koppling
Förmagnetisering
Valda parametrars värde sparas i EEPROM
PC-program
Parametrisering
Plot av parametrar i realtid
Övervakning av parametrar
Styrning, start/stop m.m.
Upp-/nedladdning av parameterinställningar



obrukbar pga störningar, OLEDen ballar ur totalt så fort jag trycker start.
Provade att skärma av displayen som ligger precis ovanför HV-kortet, men
det hjälpte inte. Kabeln fångar väl också upp störningarna. Nu orkar jag inte pilla mer med detta så projektet får anses färdigt.
Info
Data
Uin: 1*230V (egentligen 3*230V men jag har bara en 400V glättningskondensator inkopplad)
Uut: 3*180V
Iut: 3x ca 2A (ej avprovat

Hårdvara
CPU: Microchip dsPIC30F4011@30MIPS
Gatedrivning: IR2136 (signaler via optokopplare 6N137)
3-fas likriktarbrygga
Mjukstart
3-fas h-brygga bestående av 6st IRFB9N60A
RS232-interface
Användarinterface, 4x20 OLED+2st knappar+rotationssensor
Mjukvara
Inställbara switchfrekvens
Noise reduction, variering av switchfrekvens för att minska upplevt oljud
PID varvtalsreglering
Val av en- eller tre-fas motor, y- eller d-koppling
Förmagnetisering
Valda parametrars värde sparas i EEPROM
PC-program
Parametrisering
Plot av parametrar i realtid
Övervakning av parametrar
Styrning, start/stop m.m.
Upp-/nedladdning av parameterinställningar


