Implementera motorstyrningskonstruktioner snabbt med hjälp av en integrerad drivkrets med integrerad microcontroller
Bidraget med av DigiKeys nordamerikanska redaktörer
2020-04-08
Användningen av motorer ökar stadigt i tillämpningar som bilar, robotteknik, industristyrning och luftfarkoster. Men motorelektroniken har traditionellt sett varit tung, skrymmande, ineffektiv och svår att arbeta med på grund av den höga drivspänningen. Dagens konstruktörer står inför ett ökande behov av elektronik med lägre materialkostnader, högre effektivitet och mindre dimensioner, samt även mer flexibilitet och kortare tid till marknaden, därför krävs en högre grad av integration och användarvänlighet.
I den här artikeln introduceras STMicroelectronics STSPIN32F32F060x-familj trefasmotorstyrenheter av SiP-typ (System-in-Package) med inbyggd microcontroller, och här visas hur de kan användas till att möta utmaningarna med konstruktion, kostnader och tid till marknad.
Så körs en trefasmotor
För att kunna köra en trefasmotor måste flera maskinvarublock byggas in i konstruktionen:
- En microcontroller
- En integrerad motordrivkrets
- Högspännings-MOSFET:ar eller -IGBT:er (som utför den faktiska switchningen)
I en traditionell motorstyrkonstruktion har utvecklaren vanligtvis en särskild sektion av kretskortet för alla tre block. Normalt skickar microcontrollern pulsbreddsmodulerade signaler (PWM-signaler) till den integrerade motordrivkretsen, som noga övervakar utgångsströmmen och -spänningen som genereras vid motorstyrenhetens utgång, för att driva MOSFET:arna. Microcontrollern kommunicerar ofta med den integrerade motordrivkretsen via en I2C- eller SPI-buss för att möjliggöra anpassade funktioner, eller så kan den använda sex stycken diskreta GPIO-signaler för att styra bryggans beteende.
Utmaningen med en integrerad drivkrets med extern brygga i dagens utvecklingscykel, är att den tillför kostnader och komplexitet och tar upp värdefullt utrymme på kretskortet, för att inte tala om in- och utsignaler (I/O) på microcontrollern som annars kan användas till något annat. Det är här som en ny klass av integrerade microcontrollers och bryggkretsar förenklar motorstyrningsapplikationer och samtidigt minskar materialkostnaderna och ytan på kretskortet.
Varför använda STSPIN32F060x
Den här klassen representeras av STMicroelectronics STSPIN32F060x-serie SiP-komponenter med inbäddad microcontroller, STM32F031x6x7 Arm® Cortex®-M0, med 600 V tredubbel halvbrygga-gatedrivkrets (figur 1). Varje halvbrygga kan användas till att driva en MOSFET eller IGBT på varje fas för en borstlös DC-motor (BLDC-motor).
Figur 1: STM32F060x med integrerad STM32F031 Arm Cortex-M0 med en 600 V tredubbel halvbrygga-gatedrivkrets för att spara in kostnader, kretskortsyta och antal kretsben. (Bildkälla: STMicroelectronics)
Serien har några mycket intressanta funktioner och skydd. Delarna innehåller bland annat följande:
- En komparator med avancerad avstängningsfunktion (smartSD) som säkerställer snabbt och effektivt skydd mot överbelastning och överström
- Integrerade bootstrap-dioder med högspänning
- Korsledningsskydd
- Dödtidsskydd
- UVLO-skydd
Den inbyggda microcontrollern körs vid 48 MHz och har 32 kB flashminne med 4 kB RAM, vilket är perfekt för implementering av fältorienterad styrning (FOC).
STM32F060x har för närvarande två delar i familjen, STSPIN32F0601 och STSPIN32F0602. Huvudskillnaden mellan de två är att 0601 stödjer gatedrivströmmar på upp till 0,35 A, medan 0602 stödjer gatedrivströmmar på upp till 1,0 A.
Observera att inne i den integrerade kretsen är STM32F031 ansluten till gatedrivkretsen via flera GPIO-ledningar som är inbyggda i kretsens kapsling. GPIO PA11 används till att aktivera gatedrivkretsen och GPIO PB12 används till att detektera om det finns ett fel med bryggan. GPIO PA8 – PA10 används för gatedrivkretsens högsidesingångar och GPIO PB13 – 15 används för gatedrivkretsens lågsidesingångar. Det gör att utvecklarna inte behöver använda externa GPIO-stift för att styra en gatedrivkrets och de behöver inte heller något kretskortsutrymme för ledningsbanor till en separat integrerad krets. En integrering av båda komponenterna förenklar både maskinvaran och konstruktionen och kan ge betydligt lägre materialkostnader.
Accelerera utvecklingen med utvecklingskortet EVSPIN32F0601S1
STSPIN32F060x stöds av utvecklingskortet EVSPIN32F0601S1, en komplett startsats med trefasväxelriktare som innehåller all nödvändig elektronik för att få igång en BLDC-motor med styrenheten STSPIN32F0601 (figur 2). EVSPIN32F0601S1 är indelad i fem huvudsektioner:
- STSPIN32F0601
- En löstagbar STLINK-debugger
- Ett feedbacknätverk
- Ett effektsteg
- En strömförsörjning
Figur 2: Utvecklingskortet EVSPIN32F0601S1 innehåller all nödvändig elektronik för att få igång en BLDC-motor med styrenheten STSPIN32F0601. (Bildkälla: STMicroelectronics)
STLINK-debuggern kan tas bort från utvecklingskortet, vilket gör att utvecklarna kan krympa kortstorleken så att det kan användas i prototyper och koncepttesthöljen (PoC – proof-of-concept). Utvecklare kan fortfarande ansluta en extern STLINK-V3SET (figur 3) genom att ansluta den till SWD-stift på utvecklingskortet.
Figur 3: STLINK-V3SET-debuggern är en extern debugger som kan användas till att programmera och felsöka applikationer som skrivs med en STM32-microcontroller. (Bildkälla: STMicroelectronics)
Utvecklingskortet innehåller även ett feedbacknätverk som kan användas för motorstyrningsalgoritmer som kräver sensorer för att tillhandahålla spännings- och strömfeedback. I många moderna konstruktioner kan dessa feedbacknätverk tas bort och en FOC-algoritm kan användas. Det här är en sensorlös motorstyrningsalgoritm som kan minska materialkostnaderna och storleken på det resulterande kretskortet ytterligare.
Med strömsteget får utvecklare hög- och lågsides-MOSFET:ar eller -IGBT:er som används för att koppla om spänningen på de olika motorlindningarna. Det intressanta med kretskortsutformningen är att dimensionerna följer DPAK- eller PowerFlat-formaten, vilket gör att utvecklare kan modifiera utvecklingskortet om de vill och använda en egen MOSFET eller IGBT.
Slutligen kan strömförsörjningen ge en ingång från 50 volt upp till 280 volt DC/AC. Den inbyggda flyback-transformatorn kan också generera +15 och +3,3 volt för användning i tillämpningen.
För att kunna experimentera med utvecklingskortet måste en BLDC som QBL4208-41-04-006 från Trinamic Motion Control GmbH (figur 4) anslutas. Varje fas i BLDC-motorn är ansluten till EVSPIN32F0601S1 via lämpliga utgångsskruvplintar.
Figur 4: BLDC-motorn QBL4208-41-04-006 körs i 4 000 varv per minut och kan användas med utvecklingskortet EVSPIN32F0601S1 till att utveckla en mängd olika applikationer. (Bildkälla: Trinamic Motion Control GmbH)
Utvecklingskortet EVSPIN32F0601S1 har all nödvändig maskinvara för att driva en BLDC-motor men en trefasmotor kräver också programvara. För att kunna köra en motor kan utvecklare använda STMicroelectronics programvaruutvecklingssats för motorstyrning, X-CUBE-MCSDK. Detta bibliotek kan användas med programvarupaket som ST32CubeIDE och ST32CubeMx för att enkelt konfigurera en motorstyrningslösning.
Köra en BLDC-motor med programvara
Programvarupaketet X-CUBE-MCSDK innehåller två högnivåapplikationer: Motor Control Workbench och Motor Profiler. Med Motor Control Workbench kan utvecklaren skapa ett motorstyrningsprojekt för att enkelt köra en motor. Olika motoralgoritmer kan användas för att köra motorn, till exempel FOC, samt olika feedbacktopologier som:
- Ett shuntmotstånd
- Tre shuntmotstånd
- Två isolerade strömsensorer
Med Motor Profiler kan utvecklaren ange sina allmänna motorparametrar och sedan helt profilera motorn. Den här profileringen ger de allmänna motorparametrar som krävs av algoritmer som FOC för att köra motorn.
Det är enkelt att skapa ett projekt i Motor Control Workbench. Utvecklaren behöver öppna Motor Control Workbench och välja nytt projekt. Han eller hon kan sedan ange sina parametrar, enligt figur 5:
- Applikationstyp
- Antal motorer som kommer att styras
- Deras styrnings- och strömkonfigurationer
- Motorparametrar som poler, hastighet, spänning och märkström
Figur 5: Med Motor Control Workbench-projektkonfigurationen kan utvecklaren anpassa sina projektinställningar för maskinvaran. (Bildkälla: Beningo Embedded Group)
När informationen för projektet har valts kan utvecklaren klicka på OK och komma till Motor Control Workbench (figur 6). I verktyget kan utvecklaren anpassa hur applikationen beter sig. Det omfattar möjligheten att konfigurera:
- Inställningar för fast programvara som startprofil, körinställningar och avkänningsalternativ
- Digitala I/O-inställningar som encodergränssnitt, hallsensorer, seriell kommunikation och start- och stoppknappar
- D/A-omvandlarfunktionalitet (DAC)
- Analogingångs- och skyddsinställningar för feedback från fasström, busspänning, temperatur och PFC-steg.
Figur 6: Motor Control Workbench ger utvecklaren möjlighet att anpassa sin fasta programvara, justera microcontroller- och klockfrekvenser tillsammans med digital I/O, DAC och analogingångsskydd. (Bildkälla: Beningo Embedded Group)
Utvecklare har även möjlighet att aktivera och inaktivera inställningar genom att klicka på en kryssruta som:
- Busspänningsavkänning
- Temperaturavkänning
- Strömavkänning med överströmsskydd
- Hastighetsavkänning
Utvecklaren behöver inte ens se något API eller någon kodrad för att helt kunna konfigurera motorstyrningsapplikationen.
Sammanfattning
Utvecklare och konstruktörer av motorstyrsystem pressas allt mer av behovet av elektronik med lägre kostnader, högre effektivitet och mindre dimensioner. Som framgår minskas inte bara materialkostnaderna med STSPIN32F060x-SiP för motorstyrningsapplikationer med trefas-BLDC, utan även kretskortsytan och systemkomplexiteten. Ett effektivt ekosystem medföljer också, inklusive ett utvecklingskort och programvara som har utformats så att utvecklarna kommer igång snabbt och enkelt med motorstyrningsapplikationer.
Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.




