Sida 1 av 5

Vill lära mig styra sensorer och elmotorer via datorer i C

Postat: 13 september 2012, 12:24:50
av Al_Bundy
Hejsan!

Jag vill lära mig styra sensorer och elmotorer via datorer i C programspråk men jag vet inte vad jag ska börja med.
Jag vill ha liksom en elmotor som kan styras via ett USB-kort som vidare är inkopplat till USB:n i en dator. På datorn är det ett program skrivet i C. Där kan jag då välja hur motorn ska bete sig.
Skulle man gå nära motorn så bryter man en sensorstråle och då stannar allt....


Det är något som jag skulle vilja lära mig men jag vet inte vad jag ska börja med.
Det jag besitter kunskap i är:
* Löda
* Grundprogrammering i C
* Kännetecknar transitstorer, IC-kretsar, motstånd, dioder, lysdioder, transformatorer, batteri m.m i ett elschema.

Jag har även en multimeter.
Nu är det så att jag vill inte direkt hoppa till sensorer och elmotorer. Jag vill snarare bygga en grund så jag förstår hur man kan kontrollera en sensor och en elmotor, eller flera, via ett datorprogram.

Vad ska jag börja med?
/ Tackar för all hjälp.

Re: Vill lära mig styra sensorer och elmotorer via datorer i

Postat: 13 september 2012, 12:43:47
av adent
Du kan nog med fördel dela upp problemet i följande steg:

1. Bygg/köp en krets för att styra en DC-motor (En H-brygga (googla)) se till att H-bryggan kan styras med vanlig 0V/5V-logik.
(DVS, 5V på en pinne och 0V på en annan får den att få framåt, 0V på en pinne och 5V på en annan får den att gå bakåt).

2. Bygg en sensorkrets baserat på lämplig sensor och transistorer som ger 0V/5V ut.

3. Hitta ett lämpligt interfacekort till PC:en med in och utgångar, bara att koppla in korten från 1 och 2.

MVH: Mikael

Re: Vill lära mig styra sensorer och elmotorer via datorer i

Postat: 13 september 2012, 13:05:49
av Al_Bundy
Som jag fattar ditt inlägg så ska jag köpa färdiga kretsar för att programmera motorer och sensorer?
Kan jag lägga till X antal sensorer och Y antal motorer på det kortet då?

Eller blir jag begränsad?

Re: Vill lära mig styra sensorer och elmotorer via datorer i

Postat: 13 september 2012, 13:57:30
av sodjan
"Begränsad" är ett rellativt begrepp och är helt beroende på behovet.
Om något (t.ex kortet) räcker till så är det ju inte begränsande i sig.
Man kan också säga att det *alltid* kommer att finnas "gränser", frågan
är om det är rellevanta gränser eller inte. Det kan bara du avgöra.

Sen så reagerar jag lite på det det här med att du nämner "C" redan
som ett grundkrav. Språket som du programmerar i är ointressant.
Om du kan "programmera" så bör du kunna använda vad som helst
oavsett om det kallas "C" eller inte. Det som du kommer att ha problem
med är helt andra saker, t.ex hur hela kopplingen från programvara
via hårdvara till motorer/sensorer ska gå till.

Re: Vill lära mig styra sensorer och elmotorer via datorer i

Postat: 13 september 2012, 14:15:53
av Al_Bundy
Ska jag vara mer exakt så är jag bättre på python. Men C är ju mer hårdvaruanpassande så.
Jo, kommer stöta på många problem, men det är då man lär sig. Jag hade tänkt och börja enkelt.

Fick ett tips att jag skulle börja med en H-brygga för att driva en motor. Men jag vet inte hur jag ska lära mig.
Har du några förslag?

Re: Vill lära mig styra sensorer och elmotorer via datorer i

Postat: 13 september 2012, 14:33:27
av sodjan
> Ska jag vara mer exakt så är jag bättre på python.

Skulle sannolikt fungera helt OK.

> Men C är ju mer hårdvaruanpassande så.

Eftersom de hårdvarunära prylarna ändå skulle köras i något slags
"interface" (d.v.s något kort som tar kommandon från programmet
i PC'n och ser till att det översätts till något som motorerna förstår)
så spelar det mindre roll vad det som kärs på PC'n skrivs i. Däremot
så skulle kanske den processor som sitter på interface-kortet kunna
köra C, om det var det du tänkte på. Dock behöver du ju inte *själv*
programmera ett färdigt kort, om du väljer den vägen.

> Fick ett tips att jag skulle börja med en H-brygga för att driva en motor.

Och när någon nämner "H-brygga" så kan man ju alltid börja med att kolla t.ex
http://en.wikipedia.org/wiki/H_bridge (första träffen i Google på "H-bridge").
Fattar du ingenting alls av det som står där så har du mer problem.

> Men jag vet inte hur jag ska lära mig.
> Har du några förslag?

Det är väl ingen skillnad mot att lära sig något annat?
Normalt är det som behövs bara att läsa, läsa och sedan läsa lite till.

En beskrivning av H-bryggor förutsätter säkert grunder i elektronik.
Saknar men det, så läser man på om det först istället. Det går
inte att fuska. Några veckor (månader eller år) senare, beroende på
hur snabbt du lär dig nya saker, så får du säkert ihop det.

Det går inte att sammanfatta kanske 10 eller 20 års bakgrund inom elektronik
(som många här har) i 2-3 meningar på ett forum.

Hur tänkte du annars att det skulle gå till?

Re: Vill lära mig styra sensorer och elmotorer via datorer i

Postat: 13 september 2012, 15:20:42
av Al_Bundy
Jag får tacka för hjälpen.
Jag förstår elschemat. Men H-bryggan så kan man välja vilket håll man vill att motorn ska snurra. Ett enkelt men smart schema.

Detta förstår jag också. 1=På och 0=Av.
När strömbrytare S1, S4 är på och resten är av så snurrar motorn åt höger håll.

Kod: Markera allt

S1 	S2 	S3 	S4 	Result
1 	0 	0 	1 	Motor moves right
0 	1 	1 	0 	Motor moves left
0 	0 	0 	0 	Motor free runs
0 	1 	0 	1 	Motor brakes
1 	0 	1 	0 	Motor brakes
1 	1 	0 	0 	Shoot-through
0 	0 	1 	1 	Shoot-through
1 	1 	1 	1 	Shoot-through
Jag vet inte ens vad jag ska börja med :humm:
Det skulle vara riktigt intressant hur man går från oprativsystem kan gå via USB till ett externt kretskort.

Re: Vill lära mig styra sensorer och elmotorer via datorer i

Postat: 13 september 2012, 15:34:41
av sodjan
Om man har ett färdigt kretskort så har det säkert dokumentation. Läs den.
Ska man bygga ett eget interface-kort eget så får man "hitta på" allt själv.

Om ett extern kretskort har USB (RS232 är också ganska vanligt) så har
det sannolikt antingen egna drivers (och då läser man på om dom) eller
så använder den emulerad serieport, och då kör man via den.
I alla lägen gäller som vanligt RTFM.

Re: Vill lära mig styra sensorer och elmotorer via datorer i

Postat: 13 september 2012, 15:43:46
av Al_Bundy
Vad sägs som att börja med Arduino IDE ?
Programmet man kodar med är gjort i java, men själva koden man skriver ska antingen vara C eller C++.

Jag kör Ubuntu Linux och har stöd för denna hårdvara (linux har mer stöd än Windows om jag ska notera).
Med den så kan man kontrollera enkla motorer och liknande.

Då har jag en ytterligare fråga. Kan Arduino IDE styra enheter i volt? Kanske förklarar lite dåligt men jag undrar om jag kan koda Arduino IDE så den styr en enhet som den enheten styr en t.ex steppermotor eller LED-diod i en viss volt och frekvens? Tänk att Arduino IDE ska styra ett transformator.

Förstår du hur jag tänker?

Re: Vill lära mig styra sensorer och elmotorer via datorer i

Postat: 13 september 2012, 16:11:18
av zealotry
Det här http://pymcu.com/ är ett trevligt kort om du vill få tillgång till lite I/Os som du kan styra direkt från python i PC, mkt smidigt!

Re: Vill lära mig styra sensorer och elmotorer via datorer i

Postat: 13 september 2012, 16:16:45
av Al_Bundy
Tackar, men jag tror jag ska kika lite närmare på Arduino kortet :)

Re: Vill lära mig styra sensorer och elmotorer via datorer i

Postat: 14 september 2012, 19:38:20
av Argtomte
Al_Bundy skrev: Då har jag en ytterligare fråga. Kan Arduino IDE styra enheter i volt? Kanske förklarar lite dåligt men jag undrar om jag kan koda Arduino IDE så den styr en enhet som den enheten styr en t.ex steppermotor eller LED-diod i en viss volt och frekvens?
Vill du styra t.ex. lysdioder digitalt är det mycket bättre att använda en transistor och ett par strömbegränsande motstånd. Googla lite på LED transistor circuit så hittar du nog många exempel. Rent allmänt får du nog använda kringelektronik om du behöver driva motorer och liknande med specifika spänningsnivåer, om Arduinon överhuvudtaget har analoga utgångar (jag har inte koll på den), så är det nog svaga utgångar för signalbruk.

Re: Vill lära mig styra sensorer och elmotorer via datorer i

Postat: 14 september 2012, 23:55:41
av WhiteWolf
Al_bundy: Det du beskriver att du vill göra är ganska mycket för en nybörjare kan jag bara tala om. Och du kommer stöta på en hel del problem. Men det i sig är väldigt lärorikt.

Jag råder dig att dela upp ditt egna projekt i delar/etapper.
Lär dig hur seriel kommunikation från datorn fungerar. Då från Java eller, c++ eller valfritt språk.
Lär dig programmera typ Arduino kort eller Microchip utbildningkort eller TI kort o.s.v. *Finns många olika*
Och någonstans så bör du försöka få in grundläggande kunskaper om ellära, elektronik.

Tyvärr så är inte all elektronik och kring utrustning helt gratis eller billigt. Säger det bara..
Om du nu inte har en drös med komponenter att leka runt med och testa och lära dig. Så finns det LTspice som simulerar kretsar på ett bra sätt och gratis. Där kan du ju se hur man bygger upp olika kopplingar och hur dem fungerar.

Kanske detta kan vara lite tips och råd hur du kan ta dig vidare.
Som sagt det är svårt få ned ens egna kunskaper i ett inlägg och då har jag inte allt för många år av elektronik kunskap jämfört med vissa andra här.

Re: Vill lära mig styra sensorer och elmotorer via datorer i

Postat: 15 september 2012, 00:29:58
av jesse
Förslaget om Arduino tycker jag är bra!

Det finns inget bättre sätt att lära sig från grunden hur du kan kommunicera via datorn till att styra vad som helst med hjälp av en microcontroller.

Re: Vill lära mig styra sensorer och elmotorer via datorer i

Postat: 18 september 2012, 14:00:03
av Al_Bundy
Du menar PIC programmering?
Det men gör i C++?