Servo-Motor mit einem Potentiometer steuern (Projekt 2): Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
(Die Seite wurde geleert.)
Markierung: Geleert
 
(31 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Datei:Projekt2.jpg|thumb|rigth|300px|Abb. 1: Servo-Motor mit einem Potentiometer steuern]]


== '''Aufgabenstellung''' ==
In diesem Projekt soll ein Servo-Motor mithilfe eines Arduinos und einem Potentiometer steuerbar sein.
== '''Vorab wichtig zu Wissen!''' ==
'''Arduino'''
* Der Arduino besitzt unterschiedliche [[Arduino_UNO:_Board_Anatomie | Schnittstellen]], weil der Arduino ein digitaler Mikrocontroller ist, kann er nur 5 Volt ausgeben oder annehmen.
* Darum wird für das Projekt 2 eine PWM Schnittstelle benötigt.
* Die [[https://de.wikipedia.org/wiki/Pulsdauermodulation PWM]] Schnittstellen sind ganz einfach zu erkennen an diesem Zeichen (~)
'''Servo-Motor'''
* Schwarz oder Braun = Masse (GND)
* Rot = +5V
* Orange, Gelb oder Weiß = PWM-Signal
'''Potentiometer'''
* Das Potentiometer greift eine Eingangsspannung auf und gibt verschieden große Mengen davon an einen Schaltkreis weiter.
* So kann später der Servo-Motor ein und ausgeschaltet werden, mit dem Potentiometer.
'''Steckbrett'''
* Erklärung zum arbeiten mit einem Steckbrett [[Steckbrett | klicken!]]
== '''Benötigte Materiallien''' ==
{| class="wikitable"
|+ style = "text-align: left"|
|-
! Nr. !! Anz.    !! Beschreibung !! Link !! !! Pos. !! Anz.    !! Beschreibung !!Link!!
|-
|<big><big>&#9312;</big></big>  || 1 || [[Arduino|Funduino Arduino UNO R3]] ||[https://funduinoshop.com/elektronische-module/sonstige/mikrocontroller/funduino-uno-r3-mikrocontroller-arduino-kompatibel  kaufen] ||[[Datei:Arduino Uno R3.jpg|ohne|100px|]]
|<big><big>&#9313;</big></big>  || 10 || Jumper Kabel, männlich/männlich||[https://funduinoshop.com/bauelemente/kabelsysteme/jumper-kabel/40-stueck-breadboardkabel-maennlich/maennlich-20cm kaufen]||[[Datei:R19-F-2-2.jpg|ohne|100px|]]
|-
|-
|<big><big>&#9314;</big></big>  || 1 || [[Steckbrett]] || [https://funduinoshop.com/bauelemente/steckbretter-und-platinen/steckbretter/breadboard-steckbrett-mit-830-kontakten  kaufen]||[[Datei:R12-A-9-1.jpg|ohne|100px|]]
|<big><big>&#9315;</big></big>  || 1 || [[Potentiometer_B_50K| Potentiometer 10k]]|| [https://de.rs-online.com/web/p/mechanische-drehgeber/7899649?cm_mmc=DE-PLA-DS3A-_-google-_-CSS_DE_DE_Passive_Bauelemente_Whoop-_-(DE:Whoop!)+Mechanische+Drehgeber-_-7899649&matchtype=&pla-341386177139&gclid=EAIaIQobChMIk9DDs8_R_wIVwwGLCh16eAFKEAQYASABEgKiNPD_BwE&gclsrc=aw.ds kaufen]||[[Datei:Potentiometer 10K.png|ohne|100px|]]
|-
|-
|<big><big>&#9316;</big></big>  || 1 || [[Servomotor SG90|TowerPro SG90 Servomotor]]||[https://funduinoshop.com/elektronische-module/elektromotoren-und-zubehoer/servomotoren/towerpro-sg90-servomotor  kaufen]||[[Datei:R19-F-2-1.jpg|ohne|100px|]]
|-
|}
[[Datei:Projekt2_Schlatung.png|300px|thumb|right|Abb.3 Schaltung]]
== '''Aufbau Schaltung''' ==
* Auf dem Bild (Abb.3 Schaltung) wird dargestellt, wie die Schaltung für das Projekt "Servo-Motor mit einem Pogtentiometer steuern" aufgebaut werden kann.
== '''Programmierung''' ==
'''Schritt 1'''
* Erstellen der ersten '''Arduino Datei''' ([https://wiki.hshl.de/wiki/index.php/Erste_Schritte_mit_der_Arduino_IDE Link zum Tutorial]).
'''Schritt 2'''
* Grundkenntnisse vom Projekt '''"Pulsierende LED"''' verstanden haben. ([[Grundkenntnisse Programmierung (Pulsierende LED) |Link]])
* Grundkenntnisse für das Projekt '''"Servo-Motor mit einem Potentiometer steuern"''' verstehen([[Grundkenntnisse Programmierung (Servo-Motor mit einem Potentiometer steuern) |Link zu den Grundkenntnissen]]).
'''Schritt 3'''
* Nachdem die Schritte 1 und 2 abgeschlossen sind, kann mit der Programmierung des Projektes gestartet werden.
'''1)''' <br>
'''Schritt 4'''
* Nach dem beenden von Schritt 3, kann nun das Ergebnis mit der Munsterlösung verglichen werden.
== '''Musterlösung''' ==
Quelle: https://funduino.de/wp-content/uploads/2021/01/Servomotor.pdf
{| role="presentation" class="wikitable mw-collapsible mw-collapsed"
| <strong>Müsterlösung &thinsp;</strong>
|-
|
<syntaxhighlight lang="C" style="border: none; background-color: #EFF1C1; font-size:14px">
// eingebaute Bibliothek einbinden
# include <Servo.h>
// Bezeichnung des Motors
Servo Motor;
// speichert den analogen Wert des Drehpotentiometers
int ReglerWert;
// Position des Motors
int Position;
void setup()
{
// Motor an Pin 9 angeschlossen (attach)
Motor.attach(9);
}
void loop()
{
int ReglerWert = analogRead(A0);
/*
map -> Umwandlung des gelesenen Wertes
von 0 bis 1023 (analoger Sensorwert)
auf 0 bis 180 (Drehung des Motors)
*/
Position = map(ReglerWert, 0, 1023, 0, 180);
// Motor zur Position bewegen
Motor.write(Position);
}
</syntaxhighlight>
|}
----
== '''Video''' ==
[[Datei:20230621 145037.mp4|800px]]
<br>
→ zurück zum Hauptartikel: [[Konzipierung_und_Evaluierung_von_Arduino-Projekten_verschiedener_Schwierigkeitsgrade_für_die_Lehre | Klicken!]]

Aktuelle Version vom 14. Juli 2023, 10:20 Uhr