Mariss nya CPLD krets. (geckodrive)
Vilket i så fall skulle betyda att chopper är frekvensstyrning (dvs. att man genom att ändra frekvensen och använder lämpligt filter får olika spänningsnivåer) och PWM är just pulsbreddsmodulerat, inte samma sak alltså... (pulsbreddsmodulerat ändrar inte frekvensen utan bara förhållandet mellan pulsernas höga och låga tid) När man kör PWM brukar man också kontrollera strömmen istället för spänningen vilket ger skarpare flanker till stegmotorn... (= snabbare respons). Jag vet inte om man också kan kontrollera strömmen med frekvensstyrning?
-
- Inlägg: 7101
- Blev medlem: 31 augusti 2006, 16:42:43
- Ort: Jamtland
PeterH: De chopper styrningar jag har tittat på har alla startat sin puls med en fast periodicitet dvs frekvensen ändras inte.
Meduza En kontroller kan orska olika missljud i motorn, dels undertoner från switchningen som orskas av brus och störningar, dels mekaniska vibrationer/resonans på grund av ojämn gång. Finns säkert några till. Vad tänkte du på?
Har funderat lite kring PWM vs chopper styrning.
Kan det vara så att i en så kallad PWM styrning så utgår man från en pulskvot innan pulsen startar och i efterhand återkopplas/moduleras kvoten mot uppmätt ström?
Meduza En kontroller kan orska olika missljud i motorn, dels undertoner från switchningen som orskas av brus och störningar, dels mekaniska vibrationer/resonans på grund av ojämn gång. Finns säkert några till. Vad tänkte du på?
Har funderat lite kring PWM vs chopper styrning.
Kan det vara så att i en så kallad PWM styrning så utgår man från en pulskvot innan pulsen startar och i efterhand återkopplas/moduleras kvoten mot uppmätt ström?
Denna krets har inte som bekant "morphing" till helsteg från mikrosteg. Denna finess tyckte jag var helt fantastisk med tanke på att man inte får ut mer än ca: 70% av momentet på mikrosteg.
Men nu har jag läst att andra drivare, alltså inte geckodrive, kör med strömkompensering så att det totala ändå blir 100%. Förvisso överlastar man lindningen, men sett över det hela blir ändå effekten det samma.
Vad är då finessen med "morphing"? Kan ju tänka mig att en lika hög spänning inte behövs läggas på för att nå samma effekt när den gått över till fullsteg. Men har geckodrive strömkompensering innan den övergår till fullsteg? D.v.s. typ 130% ström momentat vid mikrosteg och sen 100% ?
Men nu har jag läst att andra drivare, alltså inte geckodrive, kör med strömkompensering så att det totala ändå blir 100%. Förvisso överlastar man lindningen, men sett över det hela blir ändå effekten det samma.
Vad är då finessen med "morphing"? Kan ju tänka mig att en lika hög spänning inte behövs läggas på för att nå samma effekt när den gått över till fullsteg. Men har geckodrive strömkompensering innan den övergår till fullsteg? D.v.s. typ 130% ström momentat vid mikrosteg och sen 100% ?
Jag har fått för mig att teorin och tillämpningen är lite annorlunda.
Vid microsteg så används en sinusformad referens för önskad ström. Eftersom motorn måste kunna stanna på valfritt område av referenssignalen så blir högsta värdet för referensen det som motsvarar motorns maximala ström vid drift.
När motorn väl har börjat rotera (microstegstyrning) så kommer den faktiska beordrade medelströmmen till motorn vara effektivvärdet av referenssignalen. dvs Ieff = Itop / sqrt(2) = Itop * 71 %. Då motorn har mycket högre vridmoment vid låga varv än vid höga så gör ju detta inte så mycket vid låga varv.
Begränsningrana börjar komma när motorn skall köras snabbt. Då motorn är en induktiv last så kommer styrningen med ökad hastighet på motorn få svårt att hålla den exakta energinivån i motorn som referenssignalen motsvarar vid olika tidpunkter. Dvs det är ingen större idé att försöka styra motorn efter en sinusformad signal när den inte kommer att lyckas med det. Motorn kommer även vid detta tillstånd ha en mängd rörelseenergi vilket verkar som ett filter mot oprecis styrning. Det är i detta läge idé att byta till helsteg i stället.
Vad är då finessen med "morphing"?
Öka mängden tillförd energi till motorn, för att öka vridmomentet.
Men har geckodrive strömkompensering...
Vet ej , men man kan ju spekulera lite. Man kan ha nytta av en höjning för att få bra acceleration, men det är ju ändå så att motorn har 4 ggr högre vridmoment vid lägre varv än vid maxvarv så den stora begränsningen kanske inte är att motorn endast ger 71 % av vad den kan vid låga varv
Vid microsteg så används en sinusformad referens för önskad ström. Eftersom motorn måste kunna stanna på valfritt område av referenssignalen så blir högsta värdet för referensen det som motsvarar motorns maximala ström vid drift.
När motorn väl har börjat rotera (microstegstyrning) så kommer den faktiska beordrade medelströmmen till motorn vara effektivvärdet av referenssignalen. dvs Ieff = Itop / sqrt(2) = Itop * 71 %. Då motorn har mycket högre vridmoment vid låga varv än vid höga så gör ju detta inte så mycket vid låga varv.
Begränsningrana börjar komma när motorn skall köras snabbt. Då motorn är en induktiv last så kommer styrningen med ökad hastighet på motorn få svårt att hålla den exakta energinivån i motorn som referenssignalen motsvarar vid olika tidpunkter. Dvs det är ingen större idé att försöka styra motorn efter en sinusformad signal när den inte kommer att lyckas med det. Motorn kommer även vid detta tillstånd ha en mängd rörelseenergi vilket verkar som ett filter mot oprecis styrning. Det är i detta läge idé att byta till helsteg i stället.
Vad är då finessen med "morphing"?
Öka mängden tillförd energi till motorn, för att öka vridmomentet.
Men har geckodrive strömkompensering...
Vet ej , men man kan ju spekulera lite. Man kan ha nytta av en höjning för att få bra acceleration, men det är ju ändå så att motorn har 4 ggr högre vridmoment vid lägre varv än vid maxvarv så den stora begränsningen kanske inte är att motorn endast ger 71 % av vad den kan vid låga varv
>>Vad är då finessen med "morphing"?
>Öka mängden tillförd energi till motorn, för att öka vridmomentet.
Okej... men det går ju lika bra med strömkompensering, eller? Fördelen är ju förstås att man inte behöver gå över strömgränsen, som naturligtvis kräver högre spänning för att få dit strömmen tillräckligt snabbt.
En fin finess... men inte något oersättligt.
>Öka mängden tillförd energi till motorn, för att öka vridmomentet.
Okej... men det går ju lika bra med strömkompensering, eller? Fördelen är ju förstås att man inte behöver gå över strömgränsen, som naturligtvis kräver högre spänning för att få dit strömmen tillräckligt snabbt.
En fin finess... men inte något oersättligt.
Okej... men det går ju lika bra med strömkompensering, eller?
Även om man strömkompenserar och höjer matningsspänningen så kvarstår fasförskjutningen mellan uppmätt ström och referens strömmen vid hög hastighet.
Spekulation ...
Vid hög hastighet skulle man kunna se det som att motorn sätter en amplitudbegräsning på vad som är möjligt hinna uppnå i strömstyrka. Denna tänkta begränsning skulle ju platta av sinusen så att den liknar en fyrkants signal. Så i detta fall borde ström och spänningskompensering ge samma resultat.
Jag har själv testat att köra med och utan morphing i min egen styrning.
* Jag satte då strömstyrkan till 50% av max för motorn och testade maxhastighet och självresonans vid microstegstyrning.
* Samma test men med helsteg.
* Gjorde sedan om microstegs testet med 70 % strömstyrka.
Resultatet blev då att det gick att hålla högre hastighet med helsteg samt att vridmomentens minskningen på grund av självresonans var mycket lägre.
Då jag redan hade designat nätdelen och kylningen för drivarna så valde jag att implementera morphing. Min styrning är en Chopperstyrning med fast synkronisering så den kanske inte ger samma resultat som Mariss styrning.
... för vilken hade varit trevligt att veta den grundläggande funktions prinsipen, så att man har möjlighet att göra en korrekt implemetation av hans krets ...
Även om man strömkompenserar och höjer matningsspänningen så kvarstår fasförskjutningen mellan uppmätt ström och referens strömmen vid hög hastighet.
Spekulation ...
Vid hög hastighet skulle man kunna se det som att motorn sätter en amplitudbegräsning på vad som är möjligt hinna uppnå i strömstyrka. Denna tänkta begränsning skulle ju platta av sinusen så att den liknar en fyrkants signal. Så i detta fall borde ström och spänningskompensering ge samma resultat.
Jag har själv testat att köra med och utan morphing i min egen styrning.
* Jag satte då strömstyrkan till 50% av max för motorn och testade maxhastighet och självresonans vid microstegstyrning.
* Samma test men med helsteg.
* Gjorde sedan om microstegs testet med 70 % strömstyrka.
Resultatet blev då att det gick att hålla högre hastighet med helsteg samt att vridmomentens minskningen på grund av självresonans var mycket lägre.
Då jag redan hade designat nätdelen och kylningen för drivarna så valde jag att implementera morphing. Min styrning är en Chopperstyrning med fast synkronisering så den kanske inte ger samma resultat som Mariss styrning.
... för vilken hade varit trevligt att veta den grundläggande funktions prinsipen, så att man har möjlighet att göra en korrekt implemetation av hans krets ...
*Samma test men med helsteg
Körde även 50 % strömstyrka vid helsteg
100% => 4,4 A
70% => 3,08 A ( 3,08 * 71 % = 2,1868 A ) ( så effektivvärdet skall matcha ganska bra med helsteg )
50% => 2,2 A
OBS ! Beräkningen är endast en grov generalisering då flera parametrar har försummats. Egentligen så skall man ju integrera varje individuell strömpuls till motorn för att beräkna effektivvärdet. Det är av denna anledning som drivare med en motor med två 4 A lindningar INTE behöver matas med 8 A. Det är bara i samband med att pulserna är höga som det går ström till drivaren, Man får dock inte glömma att lindningarna i motorn är strömtröga. Så i dem kommer initialt samma strömstyrka flyta ut ur lindningarna när pulsen går låg(tillför då energi till drivaren (fast decay) eller sluter strömkretsen i H-bryggan (slow decay).
Vad har du för drivsteg?
Egen byggd, Två st L6203 styrda av L6506, DAC, PIC, och lite kring logik.
Kanske inte den optimala konstruktionen men den sköter sitt jobb.
Körde även 50 % strömstyrka vid helsteg
100% => 4,4 A
70% => 3,08 A ( 3,08 * 71 % = 2,1868 A ) ( så effektivvärdet skall matcha ganska bra med helsteg )
50% => 2,2 A
OBS ! Beräkningen är endast en grov generalisering då flera parametrar har försummats. Egentligen så skall man ju integrera varje individuell strömpuls till motorn för att beräkna effektivvärdet. Det är av denna anledning som drivare med en motor med två 4 A lindningar INTE behöver matas med 8 A. Det är bara i samband med att pulserna är höga som det går ström till drivaren, Man får dock inte glömma att lindningarna i motorn är strömtröga. Så i dem kommer initialt samma strömstyrka flyta ut ur lindningarna när pulsen går låg(tillför då energi till drivaren (fast decay) eller sluter strömkretsen i H-bryggan (slow decay).
Vad har du för drivsteg?
Egen byggd, Två st L6203 styrda av L6506, DAC, PIC, och lite kring logik.
Kanske inte den optimala konstruktionen men den sköter sitt jobb.
Re: Mariss nya CPLD krets. (geckodrive)
Mariss svarade med den förklaringen på vad skillnaden mellan chopper och PWM var i tråden.Mariss @ CNCZONE.com skrev:Chopper sequence:
1) Cause current to increase in winding.
2) Has current reached reference? If no, go to (1).
3) Cause current to decrease in winding.
4) Wait 20uS, then go to (1).
PWM sequence:
1) 20kHz CLK causes current to increase in winding.
2) Has current reached reference? If no, go to (1).
3) Cause current to decrease for the remainder of cycle.
4) Go to (1).
The Chopper and the PWM seem very similar but they are not. The Chopper frequency is variable (20%) and depends on motor phase current. At zero current (sine = 0 degrees), the "on" time is 20uS and the "off" time is 20uS for a period of 40uS or 25kHz. At max current (sine = 90 degrees), "on" time is 30uS, "off" time is still 20us for a period of 50uS or 20kHz.
Choppers wouldn't make a sound if step motors had only a single coil. The problem is a step motor has 2 coils, which require 2 choppers, which then make / break phase-lock and produce the familiar racket. Two variable frequency free-running oscillators do that.
Two PWM circuits are required for two step motor coils. The difference is both circuits are clocked simultaneously by a common oscillator (20kHz). Both PWM circuits run at the same fixed frequency even though the PWM duty cycle is variable. No audible noise is created.
Mariss
Re: Mariss nya CPLD krets. (geckodrive)
Okay...
Det Mariss menar med PWM är alltså det som allmänt benämns som "Constant-frequency current choppers"
Till exempel den jag använder i min konstruktion
Det Mariss menar med PWM är alltså det som allmänt benämns som "Constant-frequency current choppers"
Till exempel den jag använder i min konstruktion
Vad jag har förstått så är "Constant-frequency current choppers" vanligt förekommande. Maris lösning utan dedikerade DAC:ar och extern grindlogik gör ju att konstruktionen blir mycket enklare än om en L6506 används, vilket i sin tur kan undanröja en del felkällor och strul.ST AN460 skrev:Chopper-type current control circuits improve the performance of motor drives. This note shows how
this can be done simply using the L6506 current controller IC ...
The current is sensed by monitoring the voltage across a sense resistor (Rsense) and using a Pulse Width Modulated control
to maintain the current at the desired value.
-
- Inlägg: 2
- Blev medlem: 14 januari 2009, 12:46:31
Re: Mariss nya CPLD krets. (geckodrive)
Hejsan,
jag hittade det här forumet när jag letade efter DIY stegmotordrivare.
Väldigt mycket intressant och matnyttigt här.
tinycpld är hursomhelst den seriösaste DIY drivaren jag hittat.
Så hur är det med intresset för samköp?
Synd bara att kortet som någon ritat i forumet är skräp.
Det blir till att rita ett nytt i så fall.
Finns det annars något intresse för experiment med en egen cpld-baserad kontrollkrets?
Ett fungerande schema att utgå ifrån gör ju det ganska lockande också.
jag hittade det här forumet när jag letade efter DIY stegmotordrivare.
Väldigt mycket intressant och matnyttigt här.
tinycpld är hursomhelst den seriösaste DIY drivaren jag hittat.
Så hur är det med intresset för samköp?
Synd bara att kortet som någon ritat i forumet är skräp.
Det blir till att rita ett nytt i så fall.
Finns det annars något intresse för experiment med en egen cpld-baserad kontrollkrets?
Ett fungerande schema att utgå ifrån gör ju det ganska lockande också.
-
- Inlägg: 8444
- Blev medlem: 15 april 2006, 18:57:29
- Ort: Typ Nyköping
Re: Mariss nya CPLD krets. (geckodrive)
Varför?
Hårdvarumässigt så är det ju en enkel uppgift.
Mjukvaran eller mera korrekt CPLD koden är ju det jobbiga.
Om jag har läst Mariss inlägg korrekt så har han mycket bra koll på sina inköpspriser och övriga produktionskostnader.
Dvs det finns inga pengar att tjäna i småkvantiteter.
Så för att det skall vara någon vits egentligen så skall man behöva producera egna i så stort antal att det lönar sig att investera tiden och kostnaden för några labbvändor och all tid till kodutveckling. Eller så skall den befintliga (läs Gecko) lösningen sakna något som man inte kan leva utan.
Sen kan man ju göra det bara för skojs skull, men då är det enbart hobby och så gott som alltid ett enmansprojekt för kunskapen stannar ju på bara ett ställe.
Men om du föreslår ett OPEN CPLD projekt som kutar cirklar runt Mariss produkter prestandamässigt och du har kompetensen samt gott om ledig tid att utveckla CPLD kod.
Då kan jag nog hjälpa till med schema/layout i riktiga grejor (dvs inte i ett mekanik CAD program såsom Mariss gör...).
Hårdvarumässigt så är det ju en enkel uppgift.
Mjukvaran eller mera korrekt CPLD koden är ju det jobbiga.
Om jag har läst Mariss inlägg korrekt så har han mycket bra koll på sina inköpspriser och övriga produktionskostnader.
Dvs det finns inga pengar att tjäna i småkvantiteter.
Så för att det skall vara någon vits egentligen så skall man behöva producera egna i så stort antal att det lönar sig att investera tiden och kostnaden för några labbvändor och all tid till kodutveckling. Eller så skall den befintliga (läs Gecko) lösningen sakna något som man inte kan leva utan.
Sen kan man ju göra det bara för skojs skull, men då är det enbart hobby och så gott som alltid ett enmansprojekt för kunskapen stannar ju på bara ett ställe.
Men om du föreslår ett OPEN CPLD projekt som kutar cirklar runt Mariss produkter prestandamässigt och du har kompetensen samt gott om ledig tid att utveckla CPLD kod.
Då kan jag nog hjälpa till med schema/layout i riktiga grejor (dvs inte i ett mekanik CAD program såsom Mariss gör...).
-
- Inlägg: 2
- Blev medlem: 14 januari 2009, 12:46:31
Re: Mariss nya CPLD krets. (geckodrive)
Ja, spara pengar blir nog svårt, men var inte riktigt poängen heller.
Jag har jobbat lite med kraftelektronik och mycket med cpld/fpga programmering förut, så poängen var snarare att lära mig det som jag inte jobbat tidigare med; motorstyrning, stegmotorer och cnc.
Då verkar tinycpld en bra utgångpunkt för att det ska ta rimlig tid.
Men utan samköp, om man först vill ha en fungerande lösning att testa, eller någon att samarbeta med för en helt egen kontrollerlösning, skulle det ta för mycket tid för att jag skulle tycka att det var värt det.
Det skulle förstås vara en öppen lösning, inte mycket ide att föröka konkurrera med Mariss, om jag nu skulle ha velat det.
Jag har jobbat lite med kraftelektronik och mycket med cpld/fpga programmering förut, så poängen var snarare att lära mig det som jag inte jobbat tidigare med; motorstyrning, stegmotorer och cnc.
Då verkar tinycpld en bra utgångpunkt för att det ska ta rimlig tid.
Men utan samköp, om man först vill ha en fungerande lösning att testa, eller någon att samarbeta med för en helt egen kontrollerlösning, skulle det ta för mycket tid för att jag skulle tycka att det var värt det.
Det skulle förstås vara en öppen lösning, inte mycket ide att föröka konkurrera med Mariss, om jag nu skulle ha velat det.