Gå til innhold

Regulere en el-motor fra PC


Ekko

Anbefalte innlegg

Hei!

 

Jeg fikk et spørsmål fra en kollega om muligheten til å styre en motor vha. PC'en (jeg er faktisk ikke helt sikker på hva motoren skall brukes til)

 

Jeg er ganske grønn på hva som trengs, men han virket enda grønnere, så tenkte jeg kunne spørre.

 

La oss si vi har en motor som tar inn likestrøm i området fra ca 5v til 12v og er interessert i å kontrollere spenningen motoren får til enhver tid fra en PC. Hvordan kan dette gjøres?

 

Mitt første gjett ville jo være at man har et eller annet kort/en enhet koblet til seriell/paralell(/usb?) port på PC'en. Denne styrer så hvor mye strøm som leveres fra en ekstern strømkilde til selve motoren.

 

Jeg regner selvsagt med at dette lar seg gjøre (kanskje ikke akkurat på måten jeg har skissert, men dog noe lignende). Spørsmålet er flerdelt:

 

Hvilke deler trenger man for noe slikt?

Hvor får man kjøpt dem?

Hva ville delene til noe slikt koste?

Hvilken programvare kan man bruke?

Finnes det noe guider på nett for dette?

 

mvh Erik

Lenke til kommentar
Videoannonse
Annonse
Siden det er fra ca. 5 - 12V det er snakk om så kunne du jo enkelt å greit koblet den til et vifteuttak på hovedkortet ;) Sett at det er en 1 polet DC motor da...

 

Hvor mye støm (A) er det snakk om?

5288882[/snapback]

 

 

Som sagt så vet jeg egentlig svært lite om hvilken motor det er snakk om eller hva den skal brukes til, tenkte jeg skule spørre ham, men han er på reise denne uken.

 

Men leser litt nå på forumet og se at det er snakk om noe "hauk"-greier som kan være det jeg ser etter, jeg får lese litt på det.

Men dersom det er noen andre som har noen innspill hører jeg gjerne på dem:-)

Lenke til kommentar
Men leser litt nå på forumet og se at det er snakk om noe "hauk"-greier som kan være det jeg ser etter, jeg får lese litt på det.

Men dersom det er noen andre som har noen innspill hører jeg gjerne på dem:-)

5288922[/snapback]

 

Her er en krets som virker interessant og kanskje passer til det du skal?

 

Å bruke Hauk er ikke dumt, men noen ting å huske er at Hauk er et interface mellom PC og 'andre ting'. Det er i seg selv ikke en god motor kontroller.

 

Dersom du skal regulere motoren bør du tenke i baner som PWM, og da blir det slitsomt for reléer (av og på 100 ganger i sek f.eks.). Sats derfor på økonomiutgaven av Hauk uten relé og bruk det til å styre en H bridge.

 

My five cents...

Lenke til kommentar
å hvis man skal gjøre det enda mer avansert enn det igjen så kan man bruke en DA omformer og regulere spenninga med de 8 IO portene på parallell porten :p

5289619[/snapback]

 

Haha... dersom det var avansert, så vet ikke jeg hvor enkelt det må være.

 

Hvorfor ikke lage en DA konverter av parallellporten + 8 motstander og la den styre en transistor? Løsningene er der, man må bare lete.

Lenke til kommentar
å hvis man skal gjøre det enda mer avansert enn det igjen så kan man bruke en DA omformer og regulere spenninga med de 8 IO portene på parallell porten :p

5289619[/snapback]

 

Haha... dersom det var avansert, så vet ikke jeg hvor enkelt det må være.

 

Hvorfor ikke lage en DA konverter av parallellporten + 8 motstander og la den styre en transistor? Løsningene er der, man må bare lete.

5289745[/snapback]

hvis dette ikke er noe problem, kan du da forklare meg litt mer hvordan man skal gjøre dette?

jeg fikk litt lyst til å mekke en viftestyring av parallell porten :)

men nå har jeg så godt som ingen peiling på DA/AD omformere eller programmering til å lage softwaren...

Lenke til kommentar
hvis dette ikke er noe problem, kan du da forklare meg litt mer hvordan man skal gjøre dette?

jeg fikk litt lyst til å mekke en viftestyring av parallell porten :)

men nå har jeg så godt som ingen peiling på DA/AD omformere eller programmering til å lage softwaren...

5291251[/snapback]

 

Hvilken løsning ønsker herren? Siden jeg skisserte PWM løsningen som enkel velger jeg den... ;-)

 

Se på Hauk skjemaet. Ta vekk reléet og sett inn viften din istedet for spolen til reléet. Nå skal hastigheten på vifta variere med hvor mye tid parallell porten sender ut 1 på bitet/linja du koblet deg på. Husk at vifta kan ikke trekke mye strøm, da må du bruke en større transistor og kanskje ei kjøleribbe i tillegg til darlington driveren. 500mA er vel limiten om jeg ikke husker feeeeil...

 

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <asm/io.h>

#define base 0x378           /* printer port base address */
#define value 255            /* numeric value to send to printer port */

main(int argc, char **argv)
{
  if (ioperm(base,1,1))
   fprintf(stderr, "Couldn't get the port at %x\n", base), exit(1);

  outb(value, base);
}

Her er en liten kode-snipp som skulle fungere på LPT1 under linux. Den vil aktivere alle 8 linjene på parallell porten. Nå gjenstår bare noe nifty kode for å sørge for 'kontroll' med forholdet AV/PÅ på pulsene. (Koden er snippet herfra)

 

Når det gjelder DA konverter så kan du søke på noe som kalles så enkelt som R2R. Det er grunnleggende DA konvertering med bare motstander. Veldig basic men det gir 256 (2^8) forskjellige spenninger mellom 0 og Vcc.

 

Til slutt den enkeste koblingen. Ledning fra pin 2 på parallell porten til gate på en eller annen MOSFET som takler strøm/spenning. Dren legges til jord med en liten motstand på litt effekt for å begrense strøm i forhold til MOSFET. Source går til minus på vifta, mens pluss på vifta til 12V. Parallell koble en diode med vifta for å ta indusert spenning. :D

 

Men litt praktisk, dette er ikke egnet som viftekontroll. Det koster veldig lite å lage en viftekontroll som er temperaturstyrt og som ikke feiler pga. programmet ditt henger eller blir avsluttet. Tenk om du fikk strømbrudd og PC'n ikke starta programmet ditt korrekt etter boot....

 

VingTor har en enda bedre løsning... Ta en titt på den... :)

Endret av rozon
Lenke til kommentar

ikke dum den nei...

 

slik jeg hadde forestilt meg var at man brukte en DA omformer til å øke og synke spenninga på vifta, det var kansje en veldig dårlig ide men var noe jeg kom på i farta ;)

 

men det å få parallell porten til å sende ut puls bredde modulerte signaler hørtes ikke så dumt ut...

da vil man vel kunne styre 8 vifter med den hastigheten man vil...

 

med slik DA omformer som jeg tenkte først ville man vel bare kunne styre 1 vifte med 256 forskjellige spennigs verdier...

Lenke til kommentar
ikke dum den nei...

 

slik jeg hadde forestilt meg var at man brukte en DA omformer til å øke og synke spenninga på vifta, det var kansje en veldig dårlig ide men var noe jeg kom på i farta ;)

 

men det å få parallell porten til å sende ut puls bredde modulerte signaler hørtes ikke så dumt ut...

da vil man vel kunne styre 8 vifter med den hastigheten man vil...

 

med slik DA omformer som jeg tenkte først ville man vel bare kunne styre 1 vifte med 256 forskjellige spennigs verdier...

5291408[/snapback]

 

Stemmer. Men problemet er fortsatt programmet. Stopper det, så stopper viftene. Tørr ikke tenke resultatet... :cry:

 

Men du fikk gira meg opp på å lage en vifte kontroller. Kommer sikkert en post på dette om ikke lenge. Har vel dradd dette på grensen til off-topic... :whistle:

Lenke til kommentar

Jeg lagde et program engang for en kar som skulle styre en motor.

 

Dette programmet setter portene på parallellporten høy/lav alt ettersom hastighet man skal ha på motoren. Utgangene på parallellporten kjører man rett inn på en D/A omformer, som i sin tur kan styre en transistor eller en pwm krets.

 

Her er nå programmet. :) (gi motorkontroll.jpg og io.jpg om til .exe , io.dll skal i system32 mappen til windows)

post-2134-1134527661.jpg

post-2134-1134527674.jpg

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...