EKSEMPLER PÅ KONTROLSOFTWARE
9. juli 2018|
Visning: 1220Nedenfor finder du nogle små stykker kode, primært i C/C++, og nogle i assemblersprog til forskellige processorer og mikrocontrollere. Denne kode er på ingen måde fuldstændig, men gives kun for at give en grundlæggende forståelse af den software, der er involveret i styring af steppermotorer både med og uden brug af et hardware-oversætterkredsløb.
Advarselsord:
Når du opretter forbindelse til enten en pc-parallelport eller I/O-benene på en mikrocontroller, skal du sørge for at isolere motoren godt. Høje spændingsspidser på flere hundrede volt er mulige som mod-EMK fra steppermotorens spoler. Brug altid klemdioder til at kortslutte disse spidser tilbage til motorens strømforsyningsbus. Brugen af optiske isoleringsenheder (optoisolatorer) vil tilføje endnu et lag eller beskyttelse mellem den følsomme styrelogik og de højspændingspotentialer, der kan være til stede i effektudgangstrinnet. Brug, når det er muligt, separate strømforsyninger til motoren og translatoren/mikrocontrolleren. Dette reducerer yderligere risikoen for, at destruktive spændinger når controlleren, og reducerer eller eliminerer strømforsyningsstøj, der kan introduceres af motoren.
Hvis du bruger en computer med en parallelport som en del af dens indbyggede I/O, kan du overveje at købe et parallelportkort i stedet. Jeg har set dem for så lidt som $9,99 hos Fry's Electronics og andre computerbutikker. Dette reducerer ikke kun risikoen for permanent skade eller ødelæggelse af dit bundkort (det skete for en ven af mig!), men det giver dig også mulighed for at eksperimentere uden at skulle bytte kabler eller vende en switchboks, når du vil bruge din parallelle printer, da dine eksperimenter ikke deler dens port. Det er meget billigere at smide et parallelportkort til $10,00 ud end at udskifte dit bundkort!
Fuld softwarekontrol:
Under fuldstændig softwarekontrol er der intet oversætterkredsløb eksternt til parallelporten eller mikrocontrolleren. Denne ordning reducerer antallet af dele, komponentomkostningerne og gør printkortdesignet enklere. På den anden side placerer den ansvaret for at generere alle sekventeringssignalerne på softwaren. Hvis pc'en eller mikrocontrolleren ikke er hurtig nok (på grund af kodeineffektivitet eller langsom processorhastighed), eller hvis for mange motorer drives samtidigt, kan tingene begynde at blive langsommere. Afbrydelser og andre systemhændelser kan plage styresoftwaren mere i dette tilfælde. På trods af ulemperne ved at adressere en steppermotor direkte på denne måde, er det absolut den nemmeste og mest ligefremme tilgang til at styre en steppermotor. Denne metode til at styre en motor kan også være nyttig, hvor hardwaren ikke er kritisk i starten, og en simpel grænseflade er nødvendig for at give mere tid til at udvikle softwaren, før hardwaren forfines.









