|
|
(7 mellanliggande sidversioner av samma användare visas inte) |
Rad 18: |
Rad 18: |
| <br /> | | <br /> |
|
| |
|
| = Laboration 1:Motorstyrning = | | =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: | | 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. | | *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. | | *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. | | *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. | | 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 == | | ==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'''. | | 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 === | | ===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. | | 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.]] | | [[Fil:Motorstyrning jumpers.png|vänster|miniatyr|240x240px|Ta bort jumpers om det inte redan är gjort.]] |
Rad 39: |
Rad 39: |
| <br /> | | <br /> |
|
| |
|
| === Genomförande === | | ===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). | | 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). |
|
| |
|
Rad 88: |
Rad 88: |
| <br /> | | <br /> |
|
| |
|
| === Extrauppgift 1 === | | ===Extrauppgift 1=== |
| Skriv ett program till Arduinon som växlar mellan inmatningskombinationerna A-E med intervall om 5 sekunder. | | Skriv ett program till Arduinon som växlar mellan inmatningskombinationerna A-E med intervall om 5 sekunder. |
|
| |
|
| === Extrauppgift 2 === | | ===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]. | | 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]. |
|
| |
|
Rad 98: |
Rad 98: |
| Testa att reglera era motorers hastighet med PWM. | | Testa att reglera era motorers hastighet med PWM. |
|
| |
|
| =Laboration 2: motorstyrning= | | =Laboration 2: Motorstyrning med L293D = |
| | |
| | ===Motorstyrning med mer effekt=== |
|
| |
|
| [[Fil:L293D.JPG|300px|höger|L293D]] | | [[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). |
| | |
| | {{uppgruta | '''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å. |
|
| |
|
| Det finns många integrerade kretsar för motorstyrning. Bland de vanligare är '''TB6612FNG''', '''L293D''' och '''L298N'''.
| | : [https://learn.adafruit.com/adafruit-arduino-lesson-15-dc-motor-reversing/an-experiment Ett enkelt test] för att bekanta oss med L293D. |
| | : [https://learn.adafruit.com/adafruit-arduino-lesson-15-dc-motor-reversing/overview Arduino Lesson 15. DC Motor Reversing] För att testa en mer komplicerad koppling. |
|
| |
|
| I laborationen ska vi undersöka den sistnämnda.
| | Arbeta i grupper om tre och följ instruktionerna noga. |
|
| |
|
| ==Motorstyrning med L298N==
| | }} |
|
| |
|
| <html>
| | ===Mer info=== |
| <p>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:</p>
| | |
| <ul>
| | Ni kan behöva [https://www.arduino.cc/en/Main/Software ladda ner Arduino IDE] för att ladda över programmet. |
| <li>Motorn kommer bara att ha två lägen. Antingen snurrar den åt ett specifikt håll eller så står den stilla.</li>
| | |
| <li>När elmotorn roterar finns en risk att den genererar en ström som kan skada Arduinon.</li>
| | Kretsen kan köpas från fr Elfa: |
| <li>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.</li>
| | |
| </ul>
| | :[https://www.elfa.se/elfa3~se_sv/elfa/init.do?item=73-132-24&toc=0&q=l293d Beställ L293D] |
| <p>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å <a href="https://sv.wikipedia.org/wiki/H-brygga">Wikipedia</a> 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.</p>
| | :[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] |
| <h2>Laborationsinstruktioner</h2>
| | |
| <p>I denna laboration kommer ni att undersöka hur motorstyrningsenheten reagerar på olika typer av kommandon. Vi kommer att använda en <strong>motorstyrningsenhet med namnet L298N</strong>.</p>
| | Man kan även använda [https://learn.sparkfun.com/tutorials/tb6612fng-hookup-guide/all SparkFun Motor Driver]. |
| <h3>Förberedelse</h3>
| | |
| <p>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.</p>
| | ===När du är klar=== |
| <p><img src="https://ssis.instructure.com/courses/334/files/41877/preview" alt="motorstyrning jumpers.PNG" width="298" height="358" data-api-endpoint="https://ssis.instructure.com/api/v1/courses/334/files/41877" data-api-returntype="File" /></p>
| | |
| <p>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. </p>
| | {{viktigt| '''Modifiera koden''' |
| <p><img src="https://ssis.instructure.com/courses/334/files/41875/preview" alt="motorstyrning koppling.PNG" width="1527" height="792" data-api-endpoint="https://ssis.instructure.com/api/v1/courses/334/files/41875" data-api-returntype="File" /></p>
| | |
| <p> </p>
| | Ä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. |
| <h3>Genomförande</h3>
| | |
| <p>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). </p>
| | Rita av din koppling med hjälp av Tinkercad. [http://fritzing.org/download/ Ladda ner här]. |
| <p>Använd tabellen som mall och för anteckningar för varje steg. </p>
| | }} |
| <table style="border-collapse: collapse; width: 100%; height: 144px;" border="1">
| |
| <tbody>
| |
| <tr style="height: 24px;">
| |
| <td style="width: 16.6667%; height: 24px; text-align: center;"></td>
| |
| <td style="width: 16.6667%; height: 24px; text-align: center;"><strong>IN 1</strong></td>
| |
| <td style="width: 16.6667%; height: 24px; text-align: center;"><strong>IN 2</strong></td>
| |
| <td style="width: 16.6667%; height: 24px; text-align: center;"><strong>IN 3</strong></td>
| |
| <td style="width: 16.6667%; height: 24px; text-align: center;"><strong>IN 4</strong></td>
| |
| <td style="width: 16.6667%; height: 24px; text-align: center;"><strong>Kommentar</strong></td>
| |
| </tr>
| |
| <tr style="height: 24px;">
| |
| <td style="width: 16.6667%; height: 24px; text-align: center;"><strong>A</strong></td>
| |
| <td style="width: 16.6667%; height: 24px; text-align: center;">0</td>
| |
| <td style="width: 16.6667%; height: 24px; text-align: center;">1</td>
| |
| <td style="width: 16.6667%; height: 24px; text-align: center;">0</td>
| |
| <td style="width: 16.6667%; height: 24px; text-align: center;">1</td>
| |
| <td style="width: 16.6667%; height: 24px; text-align: center;"></td>
| |
| </tr>
| |
| <tr style="height: 24px;">
| |
| <td style="width: 16.6667%; height: 24px; text-align: center;"><strong>B</strong></td>
| |
| <td style="width: 16.6667%; height: 24px; text-align: center;">1</td>
| |
| <td style="width: 16.6667%; height: 24px; text-align: center;">0</td>
| |
| <td style="width: 16.6667%; height: 24px; text-align: center;">1</td>
| |
| <td style="width: 16.6667%; height: 24px; text-align: center;">0</td>
| |
| <td style="width: 16.6667%; height: 24px; text-align: center;"></td>
| |
| </tr>
| |
| <tr style="height: 24px;">
| |
| <td style="width: 16.6667%; height: 24px; text-align: center;"><strong>C</strong></td>
| |
| <td style="width: 16.6667%; height: 24px; text-align: center;">0</td>
| |
| <td style="width: 16.6667%; height: 24px; text-align: center;">1</td>
| |
| <td style="width: 16.6667%; height: 24px; text-align: center;">0</td>
| |
| <td style="width: 16.6667%; height: 24px; text-align: center;">0</td>
| |
| <td style="width: 16.6667%; height: 24px; text-align: center;"></td>
| |
| </tr>
| |
| <tr style="height: 24px;">
| |
| <td style="width: 16.6667%; height: 24px; text-align: center;"><strong>D</strong></td>
| |
| <td style="width: 16.6667%; height: 24px; text-align: center;">0</td>
| |
| <td style="width: 16.6667%; height: 24px; text-align: center;">0</td>
| |
| <td style="width: 16.6667%; height: 24px; text-align: center;">0</td>
| |
| <td style="width: 16.6667%; height: 24px; text-align: center;">1</td>
| |
| <td style="width: 16.6667%; height: 24px; text-align: center;"></td>
| |
| </tr>
| |
| <tr style="height: 24px;">
| |
| <td style="width: 16.6667%; height: 24px; text-align: center;"><strong>E</strong></td>
| |
| <td style="width: 16.6667%; height: 24px; text-align: center;">0</td>
| |
| <td style="width: 16.6667%; height: 24px; text-align: center;">0</td>
| |
| <td style="width: 16.6667%; height: 24px; text-align: center;">0</td>
| |
| <td style="width: 16.6667%; height: 24px; text-align: center;">0</td>
| |
| <td style="width: 16.6667%; height: 24px; text-align: center;"></td>
| |
| </tr>
| |
| </tbody>
| |
| </table>
| |
| <p> </p>
| |
| <h3>Extrauppgift 1</h3>
| |
| <p>Skriv ett program till Arduinon som växlar mellan inmatningskombinationerna A-E med intervall om 5 sekunder.</p>
| |
| <h3>Extrauppgift 2</h3>
| |
| <p>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 <a href="https://howtomechatronics.com/tutorials/arduino/arduino-dc-motor-control-tutorial-l298n-pwm-h-bridge/">här. </a></p>
| |
| <p>Länken beskriver hur man kan reglera hastigheten med Arduino som styrenhet. </p>
| |
| <p>Testa att reglera era motorers hastighet med PWM.</p>
| |
| <p> </p>
| |
| </html>
| |
|
| |
|
| =Tillämpningar= | | =Tillämpningar= |
Rad 221: |
Rad 172: |
|
| |
|
| Komponenter: '''IRLZ14''' och '''IRF9630''' | | Komponenter: '''IRLZ14''' och '''IRF9630''' |
|
| |
| =Överkurs - L293D=
| |
|
| |
| ===Motorstyrning med mer effekt===
| |
|
| |
| [[Fil:33FFB130-BB65-4680-B1C8-9E7BEFCED0DA.jpeg|400px|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).
| |
|
| |
| {{uppgruta | '''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å.
| |
|
| |
| : [https://learn.adafruit.com/adafruit-arduino-lesson-15-dc-motor-reversing/an-experiment Ett enkelt test] för att bekanta oss med L293D.
| |
| : [https://learn.adafruit.com/adafruit-arduino-lesson-15-dc-motor-reversing/overview Arduino Lesson 15. DC Motor Reversing] För att testa en mer komplicerad koppling.
| |
|
| |
| 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===
| |
|
| |
| Ni kan behöva [https://www.arduino.cc/en/Main/Software ladda ner Arduino IDE] för att ladda över programmet.
| |
|
| |
| 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://www1.elfa.se/data1/wwwroot/assets/datasheets/ocL293D_647107_dat_en.pdf Datablad L293D]
| |
|
| |
| Man kan även använda [https://learn.sparkfun.com/tutorials/tb6612fng-hookup-guide/all 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 Fritzing. [http://fritzing.org/download/ Ladda ner här].
| |
| }}
| |
|
| |
|
|
| |
|
| <headertabs /> | | <headertabs /> |