Laboration Motorstyrning: Skillnad mellan sidversioner

Från Wikiskola
Hoppa till navigering Hoppa till sök
Ingen redigeringssammanfattning
 
(24 mellanliggande sidversioner av samma användare visas inte)
Rad 1: Rad 1:
__NOTOC__
__NOTOC__


= Är det här bra? =  
=Är det här bra?=  


=== Elmotorn ===
===Elmotorn===
[[Fil:Motor med motstånd i brygga.JPG|400px|höger]]
[[Fil:Motor med motstånd i brygga.JPG|400px|höger]]


# Gör '''lämpliga mätningar''' och bestäm vilken effekt motorn har.
#'''Bilden till höger''' visar en koppling med en spänningsbrygga av två motstånd. Tanken är att reglera motorns varvtal genom att välja lämplig kombination av motstånd.
# Jämför dina värden med vad du hittar på internet och diskutera eventuella avvikelser.
#Kretsen skulle kunna förbättras med en '''potentiometer'''
# '''Bilden till höger''' visar en koppling som ger motorn lägre spänning. Tag två motstånd på '''220 Ohm'''. Koppla en spänningsbrygga så att motorn får halva spänningen. Vad händer? Om ingenting händer är det också ett resultat. Förklara vad som händer med spänningen och strömmen!
#Vad finns det för nackdelar med en konstruktion som denna? Fundera och anteckna några problem.
# Om du vill förbättra kopplingen så läser du på om '''potentiometern''' och använder en sådan. Mät resistansen och bestäm gränsen för när motorn börjar snurra. Mät även spänning och ström. Stämmer Ohms lag?
 
{{clear}}
{{clear}}


==== Länkar ====
====Länkar====


[https://www.kjell.com/se/sortiment/el-verktyg/elektronik/elektromekanik/motorer/dc-motor-6-14-v-p36209 Elmotorer på Kjell]
[https://www.kjell.com/se/sortiment/el-verktyg/elektronik/elektromekanik/motorer/dc-motor-6-14-v-p36209 Elmotorer på Kjell]


= L239D =
<br />
 
=Laboration 1:Motorstyrning=
Vår Arduino ska kunna styra två elmotorer. Till vår hjälp kommer vi att använda en så kallad motorstyrningsenhet. Det går att ansluta en elmotor direkt till en Arduino och få motorn att snurra men detta medför ett antal problem:
 
*Motorn kommer bara att ha två lägen. Antingen snurrar den åt ett specifikt håll eller så står den stilla.
*När elmotorn roterar finns en risk att den genererar en ström som kan skada Arduinon.
*Strömmen och spänningen som skickas ut från Arduino n är förhållandevis låg och räcker endast för att driva mycket svaga motorer.
 
För att hantera de här problemen används en motorstyrningsenhet som kopplas mellan Arduino n och motorerna. Denna krets innehåller H-bryggor som gör det möjligt att skifta riktningen hos strömmen så att motorerna kan rotera åt olika håll. På [https://sv.wikipedia.org/wiki/H-brygga Wikipedia] kan du läsa mer om H-bryggor. Motorstyrningsenheten är också uppbyggd så att eventuell ström som genereras av motorn inte skadar varken motorstyrningsenheten eller Arduinon. Dessutom går det att ansluta en mycket starkare energikälla till enheten för att driva motorerna.
 
==Laborationsinstruktioner==
I denna laboration kommer ni att undersöka hur motorstyrningsenheten reagerar på olika typer av kommandon. Vi kommer att använda en '''motorstyrningsenhet med namnet L298N'''.
 
===Förberedelse===
Två komponenter behöver avlägsnas från motorstyrningsenheten om de inte redan är avlägsnade. På de rödmarkerade områdena på bilden nedan visas så kallade "jumpers", en typ av kontakter. Ta bort dessa två kontakter och ge till din lärare. Om motorstyrningsenheten redan saknar de 2 kontakterna på dessa ställen behöver du inte göra något.
[[Fil:Motorstyrning jumpers.png|vänster|miniatyr|240x240px|Ta bort jumpers om det inte redan är gjort.]]
 


=== Motorstyrning med mer effekt ===
Koppla enligt bilden nedan. För vissa av kopplingarna kan det vara lämpligt att använda hane-hona-kablar, d.v.s. att ena kontakten har en pigg och den andra har ett hål.
[[Fil:Motorstyrning koppling.png|miniatyr|400x400px]]
<br />


[[Fil:33FFB130-BB65-4680-B1C8-9E7BEFCED0DA.jpeg|400px|höger]]
===Genomförande===
När ni kopplat klart är dags att genomföra själva labben. I labben ska ni undersöka hur motorstyrningsenheten reagerar på olika kommandon. Genom att ta in information från input 1-4 avgör motorstyrningsenheten hur motorerna ska agera. Varje input matas antingen med en 1:a eller 0:a, eller egentligen spänning från Arduinon eller ingen spänning. I tabellen nedan visas ett antal kombinationer av möjliga inmatningar till motorstyrningsenheten. Er uppgift är att ta reda på vad kombinationerna ger för utslag på motorerna. Exempelvis, i steg A ska ni koppla input 2 och input 4 till Arduinons 3V (med hjälp av ett breadboard).
 
Använd tabellen som mall och för anteckningar för varje steg.
{| class="wikitable"
|
|'''IN 1'''
|'''IN 2'''
|'''IN 3'''
|'''IN 4'''
|'''Kommentar'''
|-
|'''A'''
|0
|1
|0
|1
|
|-
|'''B'''
|1
|0
|1
|0
|
|-
|'''C'''
|0
|1
|0
|0
|
|-
|'''D'''
|0
|0
|0
|1
|
|-
|'''E'''
|0
|0
|0
|0
|
|}
<br />
 
===Extrauppgift 1===
Skriv ett program till Arduinon som växlar mellan inmatningskombinationerna A-E med intervall om 5 sekunder.
 
===Extrauppgift 2===
För att reglera hastigheten på en elmotor används något som kallas för PWM (Pulse Width Modulation). Läs på om vad det är för något [https://howtomechatronics.com/tutorials/arduino/arduino-dc-motor-control-tutorial-l298n-pwm-h-bridge/ här].  
 
Länken beskriver hur man kan reglera hastigheten med Arduino som styrenhet.
 
Testa att reglera era motorers hastighet med PWM.
 
=Laboration 2: Motorstyrning med L293D =
 
===Motorstyrning med mer effekt===
 
[[Fil:L293D.JPG|300px|höger|L293D]]
[[Fil:33FFB130-BB65-4680-B1C8-9E7BEFCED0DA.jpeg|340px|höger]]


L293D är en IC-krets med en så kallad H-brygga. Den innehåller fyra förstärkare som kan styra motorer att köra framåt eller bakåt. Här har du alltså ett stort antal transistorer, motstånd och dioder integrerade i en IC-krets (Integrated Circuit).  
L293D är en IC-krets med en så kallad H-brygga. Den innehåller fyra förstärkare som kan styra motorer att köra framåt eller bakåt. Här har du alltså ett stort antal transistorer, motstånd och dioder integrerade i en IC-krets (Integrated Circuit).  
Rad 35: Rad 118:
Arbeta i grupper om tre och följ instruktionerna noga.
Arbeta i grupper om tre och följ instruktionerna noga.


'''Redovisning''': Ingen rapport men det kommer att komma ett enkelt förhör.
}}
}}


=== Mer info ===
===Mer info===


Ni kan behöva [https://www.arduino.cc/en/Main/Software ladda ner Arduino IDE] för att ladda över programmet.
Ni kan behöva [https://www.arduino.cc/en/Main/Software ladda ner Arduino IDE] för att ladda över programmet.
Rad 44: Rad 126:
Kretsen kan köpas från fr Elfa:  
Kretsen kan köpas från fr Elfa:  


: [https://www.elfa.se/elfa3~se_sv/elfa/init.do?item=73-132-24&toc=0&q=l293d Beställ L293D]
:[https://www.elfa.se/elfa3~se_sv/elfa/init.do?item=73-132-24&toc=0&q=l293d Beställ L293D]
: [https://www1.elfa.se/data1/wwwroot/assets/datasheets/ocL293D_647107_dat_en.pdf Datablad L293D]
:[https://www.ti.com/lit/ds/symlink/l293d.pdf?ts=1620371012986&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FL293D%253FDCM%253Dyes%2526utm_source%253Dgoogle%2526utm_medium%253Dcpc%2526utm_campaign%253Dasc-mdbu-null-prodfolderdynamic-cpc-pf-google-de%2526utm_content%253Dprodfolddynamic%2526ds_k%253DDYNAMIC%2BSEARCH%2BADS%2526DCM%253Dyes%2526gclid%253DEAIaIQobChMI3NK6rYC38AIV2Od3Ch0KZg78EAAYASAAEgJZhfD_BwE%2526gclsrc%253Daw.ds Datablad L293D]


Man kan även använda [https://learn.sparkfun.com/tutorials/tb6612fng-hookup-guide/all SparkFun Motor Driver].
Man kan även använda [https://learn.sparkfun.com/tutorials/tb6612fng-hookup-guide/all SparkFun Motor Driver].


=== När du är klar ===
===När du är klar===


{{viktigt| '''Modifiera koden'''
{{viktigt| '''Modifiera koden'''
Rad 55: Rad 137:
Ändra i koden och kopplingen så att motorn körs på något sätt utan att du använder potentiometern och knappen, exempelvis snurrar olika tid åt olika håll eller ökar och minskar hastigheten i cykler.
Ändra i koden och kopplingen så att motorn körs på något sätt utan att du använder potentiometern och knappen, exempelvis snurrar olika tid åt olika håll eller ökar och minskar hastigheten i cykler.


Rita av din koppling med hjälp av Fritzing. [http://fritzing.org/download/ Ladda ner här].
Rita av din koppling med hjälp av Tinkercad. [http://fritzing.org/download/ Ladda ner här].
}}
}}


= Intro =
=Tillämpningar=


== Jämför - Halv H-brygga ==
<html>
<iframe width="560" height="315" src="https://www.youtube.com/embed/lrGEwLexuQo" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</html>


En klass B-förstärkare:
=Simulera H-brygga=


https://www.falstad.com/circuit/e-pushpullxover.html
Simulera H-brygga i Falstad
Vi diskuterar några frågor enligt EPA-modellen. Du bör Googla dig till så mycket information du hinner. Frågorna är följande:


#Vad är en H-brygga?
#Hur ser den ut principiellt?
#Hur kan man styra en motor med H-bryggan.
#Vilken typ av komponent är lämpligast till H-bryggan?
#Vilka fördelar har komponenten
#Komponenten finns som n-typ och p-typ. Vad kallas de och vad har de för funktion, dvs vad är utmärkande för hur man använder dem?
#Vad behöver du mer veta för att kunna koppla upp en H-brygga?


==Jämför - Halv H-brygga==


= Överkurs - Styr en stegmotor =
En klass B-förstärkare:


== Funktion ==
https://www.falstad.com/circuit/e-pushpullxover.html
[[File:StepperMotor.gif|thumb|Stegmotor som roterar med hjälp av fyra elektromagneter.]]
Ett typiskt system baserat på en stegmotor består av en motor och en drivenhet vilken innehåller en styrdel, ett effektsteg och en strömförsörjning. Styrdelen svarar för att varje motorfas förses med rätt strömnivå i rätt ögonblick och effektsteget matar strömmen som tas från en likstömskälla. Drivenheten matas vanligen med pulser och en riktningssignal från en indexer eller något programmerbart styrsystem. Dessa genererar ett pulståg, där frekvensen bestämmer motorns hastighet och antalet pulser motorns position.
 
Ett enklare exempel kan vara en rotor som har fyra elektromagneter på varsin respektive sida, höger, vänster och så vidare. När strömmen skiftar riktning i elektromagnet 1 vrids rotorn mot elektromagnet 1, sedan sker samma sak med elektromagnet 2, 3 och 4. Detta resulterar dock inte i ett helt varv för rotorn utan beroende på hur många tänder rotorn har roterar den ett visst antal grader åt det håll den attraheras.
 
=== Bipolär stegmotorer ===
 
Detta är den typ av motorer vi labbar på.
 
== Användningsområde ==
[[File:KUKA Industrial Robots IR.jpg|thumb|right|Robotar i en bilfabrik som drivs av stegmotorer]]
[[File:Hard Disk Drive without its cover.jpg|thumb|right|Hårddisk där läsarmen drivs av en stegmotor]]
En stegmotor har många användningsområden. Främst kan den dock användas till så kallade CNC-maskiner och andra sorters robotar. Att stegmotorn kan användas till dessa beror på att den är bra på att förflyttas ett litet avstånd med mycket vridmoment. Detta gör att man kan få mycket bra precision över rörelserna samtidigt som den är robust vilket är väldigt användbart när man vill bearbeta material.
 
Stegmotorer är bättre än andra sorters motorer då man är ute över precision över rörelsen och stort vridmoment över hastighet eller konstant rörelse. Att bygga en radiostyrd bil med en stegmotor skulle inte vara praktiskt då stegmotorn rör sig ryckigt och alltså inte skulle ge en jämn hastighet eller särskilt trevlig upplevelse. Hur stora dessa ryck är beror på kvalitén av stegmotorn. Ju jämnare rörelse (alltså ju mindre grader per steg av motorn) man vill ha desto mer kostar den. Istället är den som sagt bäst i saker som en robot eller datorstyrd svarv där prioritet ligger på precisa rörelser och stort vridmoment över hastighet.
 
Rent praktiskt är kommersiella användningsområden i olika sorters scanners, skrivare, CD-läsare, hårddiskar, kameralinser, CNC-maskiner, 3D-printers med flera.
 
== Prestanda ==
Stegmotorn har flera övertag gentemot en 'vanlig' motor.
Bland annat är den billig för hur mycket kontroll den ger, den har högt vridmoment vid låga hastigheter, den är robust, den är en enkel konstruktion, behöver nästintill inget underhåll, den är väldigt pålitlig, den har fullt vridmoment vid stillastående om den har energi (alltså att det inte går att vrida den), lätt att repetera rörelser, lång livstid då den inte har några borstar som är i kontakt med rotorn, och alltså beror livslängden på kullagren i motorn, man kan få många olika hastigheter lätt och så vidare.
 
== Pris och inköpsställen ==
 
Stegmotorer variera kraftigt i pris beroende på vilken sorts motor du köper. Priset varierar från 200kr uppemot 7000kr.
Stegmotorer är billigare jämfört med andra motorer på grund av att de har färre mekaniska delar vilket reducerar kostnaden.
 
För lite billigare motorer: https://www.lawicel-shop.se/motorer-servon/stegmotorer


För variation av motorer: https://www.elfa.se/sv/automation/mekatronik/stegmotorer-och-servodrivenheter/stegmotorer/c/cat-DNAV_PL_1856268
=H-bryggan IRL=


== Källor ==
Som extrauppgift (överkurs) kan du bygga den H-brygga som du tidigare simulerat.
https://sv.wikipedia.org/wiki/Stegmotor


https://en.wikipedia.org/wiki/Stepper_motor
Du ska alltså bygga en H-brygga av MOSFET. Sätt komponenter med p-kanal överst och av n-kanaltyp nederst i bryggan.


https://eu.mouser.com/applications/motor-control-stepper/
Komponenter: '''IRLZ14''' och '''IRF9630'''


https://www.drivteknik.nu/skolan/motor/stegmotor


<headertabs />
<headertabs />

Nuvarande version från 7 maj 2021 kl. 13.30


[redigera]

Elmotorn

  1. Bilden till höger visar en koppling med en spänningsbrygga av två motstånd. Tanken är att reglera motorns varvtal genom att välja lämplig kombination av motstånd.
  2. Kretsen skulle kunna förbättras med en potentiometer
  3. Vad finns det för nackdelar med en konstruktion som denna? Fundera och anteckna några problem.

Länkar

Elmotorer på Kjell


[redigera]

Vår Arduino ska kunna styra två elmotorer. Till vår hjälp kommer vi att använda en så kallad motorstyrningsenhet. Det går att ansluta en elmotor direkt till en Arduino och få motorn att snurra men detta medför ett antal problem:

  • Motorn kommer bara att ha två lägen. Antingen snurrar den åt ett specifikt håll eller så står den stilla.
  • När elmotorn roterar finns en risk att den genererar en ström som kan skada Arduinon.
  • Strömmen och spänningen som skickas ut från Arduino n är förhållandevis låg och räcker endast för att driva mycket svaga motorer.

För att hantera de här problemen används en motorstyrningsenhet som kopplas mellan Arduino n och motorerna. Denna krets innehåller H-bryggor som gör det möjligt att skifta riktningen hos strömmen så att motorerna kan rotera åt olika håll. På Wikipedia kan du läsa mer om H-bryggor. Motorstyrningsenheten är också uppbyggd så att eventuell ström som genereras av motorn inte skadar varken motorstyrningsenheten eller Arduinon. Dessutom går det att ansluta en mycket starkare energikälla till enheten för att driva motorerna.

Laborationsinstruktioner

I denna laboration kommer ni att undersöka hur motorstyrningsenheten reagerar på olika typer av kommandon. Vi kommer att använda en motorstyrningsenhet med namnet L298N.

Förberedelse

Två komponenter behöver avlägsnas från motorstyrningsenheten om de inte redan är avlägsnade. På de rödmarkerade områdena på bilden nedan visas så kallade "jumpers", en typ av kontakter. Ta bort dessa två kontakter och ge till din lärare. Om motorstyrningsenheten redan saknar de 2 kontakterna på dessa ställen behöver du inte göra något.

Ta bort jumpers om det inte redan är gjort.


Koppla enligt bilden nedan. För vissa av kopplingarna kan det vara lämpligt att använda hane-hona-kablar, d.v.s. att ena kontakten har en pigg och den andra har ett hål.


Genomförande

När ni kopplat klart är dags att genomföra själva labben. I labben ska ni undersöka hur motorstyrningsenheten reagerar på olika kommandon. Genom att ta in information från input 1-4 avgör motorstyrningsenheten hur motorerna ska agera. Varje input matas antingen med en 1:a eller 0:a, eller egentligen spänning från Arduinon eller ingen spänning. I tabellen nedan visas ett antal kombinationer av möjliga inmatningar till motorstyrningsenheten. Er uppgift är att ta reda på vad kombinationerna ger för utslag på motorerna. Exempelvis, i steg A ska ni koppla input 2 och input 4 till Arduinons 3V (med hjälp av ett breadboard).

Använd tabellen som mall och för anteckningar för varje steg.

IN 1 IN 2 IN 3 IN 4 Kommentar
A 0 1 0 1
B 1 0 1 0
C 0 1 0 0
D 0 0 0 1
E 0 0 0 0


Extrauppgift 1

Skriv ett program till Arduinon som växlar mellan inmatningskombinationerna A-E med intervall om 5 sekunder.

Extrauppgift 2

För att reglera hastigheten på en elmotor används något som kallas för PWM (Pulse Width Modulation). Läs på om vad det är för något här.  

Länken beskriver hur man kan reglera hastigheten med Arduino som styrenhet.

Testa att reglera era motorers hastighet med PWM.

[redigera]

Motorstyrning med mer effekt

L293D
L293D

L293D är en IC-krets med en så kallad H-brygga. Den innehåller fyra förstärkare som kan styra motorer att köra framåt eller bakåt. Här har du alltså ett stort antal transistorer, motstånd och dioder integrerade i en IC-krets (Integrated Circuit).

Uppgift
Laboration - att styra en motor

Följ den här instruktionen så lär du dig hur motorstyrning med H-bryggan L293D fungerar. Genom att klicka på flikarna till vänster stegar du dig igenom hela instruktionen men de viktigaste momenten syns nedan.

Läs (skumläs åtminstone) igenom hela instruktionen innan du börjar så att du vet var du hittar informationen och så att du vet vad det hela går ut på.

Ett enkelt test för att bekanta oss med L293D.
Arduino Lesson 15. DC Motor Reversing För att testa en mer komplicerad koppling.

Arbeta i grupper om tre och följ instruktionerna noga.



Mer info

Ni kan behöva ladda ner Arduino IDE för att ladda över programmet.

Kretsen kan köpas från fr Elfa:

Beställ L293D
Datablad L293D

Man kan även använda SparkFun Motor Driver.

När du är klar

Viktigt
Modifiera koden

Ändra i koden och kopplingen så att motorn körs på något sätt utan att du använder potentiometern och knappen, exempelvis snurrar olika tid åt olika håll eller ökar och minskar hastigheten i cykler.

Rita av din koppling med hjälp av Tinkercad. Ladda ner här.


[redigera]

Simulera H-brygga i Falstad Vi diskuterar några frågor enligt EPA-modellen. Du bör Googla dig till så mycket information du hinner. Frågorna är följande:

  1. Vad är en H-brygga?
  2. Hur ser den ut principiellt?
  3. Hur kan man styra en motor med H-bryggan.
  4. Vilken typ av komponent är lämpligast till H-bryggan?
  5. Vilka fördelar har komponenten
  6. Komponenten finns som n-typ och p-typ. Vad kallas de och vad har de för funktion, dvs vad är utmärkande för hur man använder dem?
  7. Vad behöver du mer veta för att kunna koppla upp en H-brygga?

Jämför - Halv H-brygga

En klass B-förstärkare:

https://www.falstad.com/circuit/e-pushpullxover.html

[redigera]

Som extrauppgift (överkurs) kan du bygga den H-brygga som du tidigare simulerat.

Du ska alltså bygga en H-brygga av MOSFET. Sätt komponenter med p-kanal överst och av n-kanaltyp nederst i bryggan.

Komponenter: IRLZ14 och IRF9630