Synkronisering og timing
De første prioriteringene for enhver sanntidsapplikasjon er riktig timing, synkronisering og deterministisk systemrespons, og det må legges spesiell vekt på disse aspektene ved design.motorstyringprogramvare. I hovedsak høres prosessen veldig enkel ut: systemet leser sensorverdier, behandler kontrollalgoritmen, overvåker systemsikkerheten og styrer utgangstrinnet ved å justere driftssyklusen til PWM-utgangen.
Små tidsfeil kan føre til alvorlige systemresponsfeil, uregelmessig drift og dårlig ytelse. For å sikre at alt fungerer som forventet, er det avgjørende å holde seg synkronisert og sørge for systemdeterminisme. Her vil jeg understreke at vi har å gjøre med et «hardt sanntidssystem», og det er helt avgjørende å overholde stramme tidsfrister.
Motorstyringsprogramvaren kan implementeres som en bare-metal-løsning uten operativsystem, ved bruk av et passende RTOS (sanntidsoperativsystem), eller som en hybridløsning med flere kjerner, der noen CPU-kjerner kjører i bare-metal-modus mens andre bruker et operativsystem. Bare-metal-løsninger er alltid basert på et avbruddsdrevet design, der avbrudd håndterer tidskritiske oppgaver og sørger for at alt skjer med presise intervaller.
Enten det er en bare-metal-, RTOS- eller hybridløsning, må tidsanalyse, oppgaveprioritering og sikkerhetsanalyse utføres for å sikre effektiv og pålitelig systemytelse.
Tidsanalyse sikrer at alle oppgaver fullføres i tide. Dette inkluderer å vurdere verst tenkelig utførelsestid for hver oppgave. Noen av de viktigste kritiske oppgavene innen motorstyring inkluderer sensordatainnsamling, utførelse av kontrollalgoritmer via PWM-signalgenerering, feildeteksjon og -håndtering, nødstopp og sikkerhetsfunksjoner, sanntidskommunikasjon med andre systemkomponenter og synkronisering med eksterne systemer.
Operativsystem i sanntid (RTOS)
Å velge riktig RTOS for motorstyringsapplikasjonen din er avgjørende for å sikre høy ytelse, pålitelighet og sikkerhet. Viktige hensyn inkluderer RTOS-ens sanntidsytelse, ressurseffektivitet, inkludert minneavtrykk og CPU-bruk, og prioritetsbasert preemptiv planleggingsbehandling. Effektive og raske avbrudd, samt systempålitelighet og robusthet, er også viktige faktorer. Leverandørstøtte og dokumentasjon, kompatibilitet med maskinvare og tilgjengeligheten av utviklingsverktøy (som IDE-er, feilsøkingsprogrammer og analysatorer) og økosystemer (inkludert biblioteker og kodeeksempler) spiller en viktig rolle. Til slutt bør også lisensvilkårene og kostnadene for RTOS-en vurderes.
Med tanke på de ulike faktorene og spesifikke kravene til motorstyringsapplikasjoner, er FreeRTOS, et populært sanntidsoperativsystem med åpen kildekode kjent for sin effektivitet og allsidighet, et utmerket valg. Dette valget er spesielt fordelaktig i scenarier der kostnadseffektivitet, driftseffektivitet, systemfleksibilitet, pålitelighet og robusthet, brukervennlighet, omfattende maskinvarestøtte og ressurseffektivitet er viktige hensyn.
Publisert: 08. mai 2024
