Hardwareentwicklung Teil 1 & Teil 2

URL: ../..hwe/teil1_und_teil2/uebersicht.html

Hardwareentwicklung Teil 1 & Teil 2

Projekt Roboter link symbol

In diesem Projekt wird ein kleiner Roboter entwickelt, wobei zunächst Schaltplan und Layout erstellt und anschließend der Roboter aufgebaut wird. Der Roboter verfügt über zwei Motoren, die jeweils individuell mittels einer Vollbrücke (engl. H-bridge) angesteuert werden.

Als Mikrocontroller dient ein ATmega328. In der Basisausführung erhält der Roboter weiters drei Taster und einen Beschleunigungssensor, um zu erkennen, ob er irgendwo angestoßen ist.

Jedes Team wählt zusätzlich weitere Erweiterungen, um den Roboter zu erweitern (Batteriemanagement, Fernsteuerung, Display, Servos, Strom- und Spannungsmessung am Motor, Drehzahlerkennung, ...)

Folgende Komponenten werden für die Baisausführung benötigt:

Teil 1 des Projekt konzentriert sich auf die Entwicklung der Hardware, Teil 2 auf die Implementierung der Firmware.

Roboter Basis
Roboter Basis

Daten für den 3D Druck

Bemaßung des PCBs

PCB Bemaßung
PCB Bemaßung
Am Rand des PCB sind 6mm freizuhalten, da dieser Teil auf dem Rahmen des Roboters aufliegt!
PCB Taster
PCB Taster

Weitere Ideen link symbol

Batteriemanagement link symbol

Mittels eines Batteriemanagementsystems (engl. Battery Management System oder kurz BMS) lässt sich der Ladezustand des Akkus überwachen und ein Tiefentladen verhindern. Dazu werden die Einzelzellspannungen gemessen und der Stromfluss beim Laden kontrolliert, sprich der Akku wird vor Überladung und Tiefentladung geschützt.

Fernsteuerung link symbol

Zur Fernsteuerung kann ein Funkmodul verwendet werden, etwa mittels Bluetooth oder eines 2,4-GHz-Transceivers. Damit lässt sich der Roboter von einem PC oder Smartphone aus steuern, wobei sowohl manuelle Fahrkommandos als auch automatisierte Bewegungsabläufe übertragen werden können.

Display link symbol

Ein Display dient zur Anzeige von Statusinformationen wie Akkuspannung, Motordrehzahl oder Sensorwerten. Je nach Anforderung kann ein einfaches Zeichendisplay (z.B. HD44780-kompatibel) oder ein grafisches OLED-Display verwendet werden, das mittels I²C oder SPI an den Mikrocontroller angeschlossen wird.

Servos link symbol

Zusätzliche Servomotoren (engl. servos) ermöglichen es, den Roboter um weitere Bewegungsachsen zu erweitern. Die Ansteuerung erfolgt mittels PWM-Signalen, wobei Position und Geschwindigkeit des Servos direkt vorgegeben werden können.

Strom- und Spannungsmessung am Motor link symbol

Durch die Messung von Strom und Spannung an den Motoren lassen sich Rückschlüsse auf die mechanische Last und den Betriebszustand ziehen. Ein erhöhter Stromfluss kann auf ein Blockieren der Räder hinweisen, sprich der Roboter kann selbstständig erkennen, wenn er gegen ein Hindernis fährt, und entsprechend reagieren.

Drehzahlerkennung link symbol

Mittels Drehzahlerkennung kann die Geschwindigkeit der Räder geregelt werden, anstatt die Motoren nur mit einer festen PWM vorzugeben. Als Sensor dient typischerweise ein Hallsensor oder ein optischer Encoder, der die Drehzahl erfasst und dem Mikrocontroller als Rückführgröße zur Verfügung stellt.

Termine Schuljahr 2026/2027 link symbol

  • 17.9.
  • 24.9.
  • 1.10.
  • 8.10.
  • 15.10. Check 1 (Überprüfung der Fortschritts)
  • 22.10. Abgabe PCB Layout
  • 29.10. Herbstferien
  • 5.11.
  • 12.11. Check 2
  • 19.11.
  • 26.11.
  • 3.12. Abgabe Teil 1 (Hardware)
  • 10.12.
  • 17.12.
  • 24.12. Weihnachtsferien
  • 31.12. Weihnachtsferien
  • 7.12. Weihnachtsferien
  • 14.1.
  • 21.1.
  • 28.1. Abgabe Teil 2 (Software)

Checkliste Schaltplan link symbol

  • Stützkondensatoren (100nF) für Mikrocontroller, Beschleuningungssensor und Vollbrücke
  • Pull-Up Widerstände für Reset und /CS des Beschleunigungssensors
  • Verbindung für Beschleungungssensor
    • SPI: MISO -> SDO, MOSI -> SDx, SCK -> SCx, /CS -> CSB
    • I²C: SDA -> SDx, SCL -> SCx
  • Taster auf Masse verbinden. In der Firmware wird dann der Pull-Up des Mikrocontrollers aktiviert.
  • PWM für die Vollbrücke: PB1 (OC1A) und PB2 (OC1B) sowie PD5 (OC0B) und PD6 (OC0A)
  • 4 Pin Header für I²C Display vorsehen (GND, VCC, SCL, SDA) vorsehen
  • 4 Pin Header für USART (GND, TXD, RXD, VCC) vorsehen
  • Testpunkte vorsehen
  • Breite der Leitungen je nach Strom dimensionieren (Faustregel 1mm/A). Versorgung der Vollbrücken und Leitungen zum Motor für ~1A auslegen.
  • Beschriftung für Stecker vorsehen (+/- bei Versorgung, ...)
  • SMD Bauteile nur einseitig bestücken
  • ERC und DRC Checks durchführen!

Mündlicher Check 1 link symbol

Über ein gemeinsames Gespräch checken wir das allgemeine Verständnis des Projekts. Als Ankerpunkte gibt es Fragen zum Projekt.

  • Linearer Spannungsregler
    • Wie funktioniert der LM317? Auf was wird hier "geregelt"?
    • Welche Auswirkung haben die Toleranzen der Widerstände?
    • Wie groß ist die Verlustleistung des Linearreglers bei 100mA Strom?
  • Taster
    • Wenn der Taster gedrückt ist, ist der Pegel definiert. Wie definiert sich der Pegel, wenn der Taster nicht gedrückt ist?
    • Ist es besser den Taster mit der Vorsorgungsspannung oder der Masse zu verbinden?
    • Wie muss der Mikrocontroller dazu konfiguriert werden?
  • Programmierschnittstelle
    • Wieso wird für das Programmieren die Reset Leitung benötigt?
    • Die Programmierschnittstelle verwendet die SPI Pins. Wie können wir verhindern, dass andere SPI Komponenten (z.B. Beschleunigungssensor) nicht stören/gestört werden.
  • Oszillator
    • ATMega328P hat einen internen RC-Oszillator mit 8MHz und einer Genauigkeit von ±2%. Wie groß ist der Fehler an Sekunden pro Jahr?
    • Der optionale Quartz-Oszillator hat ±50 ppm Genauigkeit. Was bedeutet dies für den Fehler pro Jahr?