Diskussion:Messaufbauten mit Arduino

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

--Ulrich Schneider (Diskussion) 15:58, 30. Jun. 2023 (UTC)

  • Lesen Sie den Artikel zum Umgang mit SVN.
  • Sichern Sie keine Videos in SVN!! [Kein Video in SVN]
  • Füge Sie Ihre Autorenseite hinzu. [Autorenseite ist erstellt]


# Termin Planung für die Folgewoche Fortschritt
1 22.06.2023
  • Speedy: Battery Holder + Switch
  • Speedy: cable relief for display cord
  • Gyro: incremental encoder for speed reference
  • Gyro: potentiometer for speed regulation
  • Batteriehalterung installiert. Schalterhalter ist neu gestaltet
  • cable relief for display cord is 3D designed, printed & installed
  • Gyro: Gyro ist in der Warteschleife, bis die Messeinheit fertig ist
2 29.06.2023

Student erst um 13:30 erschienen

  • Kernarbeitszeiten erneut besprochen: 8:00 -18:00 Uhr
  • Strukturiertes Vorgehen bei der Entwicklung, siehe Beispielartikel
  • 1 Artikel für jedes Experiment erstellen
  • Artikel zur Geschwindigkeitsmessstrecke füllen
  • Anforderungen schreiben (Anleitung)
  • Gyro-Projekt wird bis zur Fertigstellung der Geschwindigkeitsmesstrecke verschoben.
  • Install battery holder
  • Install on/off switch
  • Install cable channel
  • Reinstall the cable harness
  • Design and 3D print reflector screen in SolidWorks
  • Rebuild LCD cable
  • Control modify Arduino Shield
  • Implement forward backward drive
  • Fixing the base frame
  • Arbeitszeiten jetzt entsprechend der offiziellen Zeit
  • Entwicklungsansatz ist fertig
  • Artikel zum Experimentieren: Fertig
  • Artikel zur Geschwindigkeitsmessstrecke ist in Bearbeitung
  • Anforderungen fertig
  • Batteriehalter ist montiert
  • Ein/Aus-Schalter für den Akku ist verbaut
  • Kabelkanal ist installiert
  • Die Kabelverkabelung wurde neu gestaltet/modifiziert
  • Reflektorschirm für Sensor ist fertig (3D-gedruckt)/ eingebaut ist
  • LCD-Kabel wurde geändert
  • Grundrahmen ist fixiert
  • Das Arduino-Shield wird untersucht und ein Problem festgestellt
  • Vorwärts-Rückwärtsfahrt steht an


  • Abschlussbericht über die Arbeit dieser Woche:

1. Alle Hardware-Teile sind fertig 2. Fertigstellung der Wiki-Seite/ Dokumentation ist in Arbeit 3. Die Suche nach Software-Fehlern ist im Gange

3 06.07.23
  • Testen ohne Batterie nur über USB.
  • Unterteilen des Codes in Fragmente und testen der Fragmente.


  • Übergabe der Ergebnis aus Code über Seriellenmonitor an den PC.

Hier im Wiki-Diskussionsbereich schreiben wir gerade die Zusammenfassung unserer Tests. Details sind im Tagesprotokoll unter dem heutigen Datum (07.07.2023) zu finden

  • LCD Testen::
  1. Der Arduino identifiziert die I2C-Adresse des LCDs. Wir haben einen I2C-Scanner verwendet und es hat funktioniert. Die I2C-Komponente des LCDs und die SDA- und SCL-Verkabelung sind also in Ordnung.
  2. Das LCD funktioniert, wenn wir lcd.init() anstelle von lcd.begin() verwenden. In unserem Hauptcode verwenden wir also lcd.init(), das sollte in Ordnung sein

Fazit des LCD-Tests:: Das LCD funktioniert einwandfrei. Sowohl auf der Hardware- als auch auf der Softwareseite des LCDs ist alles in Ordnung.

  • Sensor testen:: Wenn wir den Code in den Arduino hochladen, reagiert der Sensor 1 nicht, wenn wir etwas vor ihn halten. Aber die zur gleichen Zeit, wenn wir etwas vor dem Sensor 2 setzen, dann ist es zeigt, Start: Eine beliebige Zahl. Auch der serielle Monitor in der IDE zeigt nichts an.
  • Sensor 1:
  1. Wir überprüfen erneut die Hardwareverbindung von Sensor 1, obwohl sie beim letzten Mal in Ordnung war, als wir sie überprüft haben. Sensor 1 erhält 4,9 V 8 (wir haben Herrn Ebmeyer gefragt, ob 4,9 V in Ordnung sind oder nicht, wenn wir 5 V benötigen, er sagte, es sei in Ordnung)
  2. Jetzt testen wir den analogen Ausgang A0 von Sensor 1 und den analogen Eingang A0 am Arduino. Wir haben geprüft. Es ist unklar, ob der Sensor funktioniert. Der Screenshot des seriellen Monitors zeigt sowohl Null als auch einen zufälligen Wert an, ohne dass wir etwas davor bewegen.
  3. Nun werden wir den nächsten Test durchführen. Wir denken also, dass der Sensor 1 ein Problem mit seinen A0-Daten hat. Dies kann eine fehlerhafte Verbindung sein (obwohl wir vorher alles überprüft haben und alles in Ordnung war) oder der Sensor hat ein Problem, echte/aktuelle Daten zu erzeugen. Um das zu überprüfen, haben wir zuerst die A0-Verbindung entfernt, die vom Sensor 1 kommt und zum Arduino-Shield führt. Dann haben wir ein externes Kabel zwischen den beiden Anschlüssen angeschlossen. Aber das zeigt das gleiche Ergebnis wie das vorherige. Dann haben wir das externe Kabel zwischen dem Sensor 1 und dem Arduino Shield entfernt und es gab keinen Nullwert, sondern nur einige dreistellige Zahlen, z.B. 900/ 500/ 300 usw.
  4. Das ist also unsere bisherige Erkenntnis:Die Verbindung zwischen Sensor 1 und Arduino ist in Ordnung. Es gibt dort keine Lücke oder Unterbrechung. Aber der Sensor liefert keine konsistenten Daten oder er gibt falsche Werte aus.
  5. Der nächste Schritt besteht darin, den genauen Grund dafür zu finden, warum der Sensor 1 nicht die richtigen Daten liefert, und dieses Problem zu lösen. Wenn das Problem unsere Reparaturfähigkeiten übersteigt, müssen wir ihn komplett austauschen.

Aktualisierung Wir konnten das Problem des Sensors 1, des Modells Sharp 2D120XF09, nicht beheben, also haben wir beschlossen, beide Sensoren auszutauschen. Wir werden jetzt Sharp 0A41SKF94 setzen

  • Sensor 2:: Sensor 2 ist in Ordnung. Er zeigt eine andere Ausgabe an, wenn wir etwas vor ihm bewegen. Aber eines können wir nicht verstehen, warum hat Sensor 2 diese falsche Meldung angezeigt!!!

Aktualisierung Wir haben auch den Sensor 2 ausgetauscht.

  • Arduino testen::
  • Shield testen:: Shield auch hat kein issue
  • Battery storage testen:: Battery storage ist auch ok, es gibt 8.07 V und das ist reicht für uns
  • Switch testen:: Switch functioniert normal


3.5 11.07.23

Endgültige Aktualisierung Alles erledigt, außer der endgültigen Dokumentation

Wir haben es geschafft!! Jetzt haben wir ein robustes System mit allen Hardware- und Softwareteilen integriert. Wir haben erfolgreich alle notwendigen Teile entworfen und 3D gedruckt. Das Messsystem erfüllt nun alle Anforderungen. Wir werden nun die endgültige Dokumentation schreiben und das Projekt abschließen.

  • Wir werden das Gyroskop-Projekt starten, sobald wir die Genehmigung erhalten haben.
4 13.07.23
  1. Get an AlphaBot from the lab.
  2. Program it with constant speed (e.g. 0.5 m/2, 1 m/s, 1,5 m/s,…),
  3. Film the result
  4. Evaluate the real speed from the video: Timecode/distance as reference. Make 10 measurements per speed.
  5. Make a wiki-table and compare the measured speed to the reference.
  6. Perform the system tests for various speed variations (e.g. 0,1;0,2;0,3;0,4;0,5;1;1,5;2;2,5;3;4;5) m/s.
  7. Add the tests to table 3
  8. Add tests for every requirement (1-7) in table 1
  9. Add links


  • Wir haben jetzt Alphabot
  • Unser Plan, die Geschwindigkeit für Alphabot (z.B. 1m/s, 2m/s) einzustellen. Die Anzahl der Umdrehungen der Räder für jeden Wert von GESCHWINDIGKEIT (0 bis 255) zu ermitteln, eine Tabelle zu erstellen und die Geschwindigkeit der Räder aus der Anzahl der Umdrehungen zu berechnen. Dann die Geschwindigkeit für den Alphabot einstellen, ihn vor dem Speed Tracker laufen lassen und die tatsächliche gegenüber der gemessenen Geschwindigkeit berechnen.

[Update] Wir haben zwei Codes für die schrittweise Erhöhung der Radgeschwindigkeit und die Berechnung der Rotation geändert
[Update] Wir haben die Referenzgeschwindigkeit/ constant speed des Alphabots gemessen. Details in Wiki, SVN und Daily log

  • Jetzt können wir den Alphabot mit jeder Konstant-/Referenzgeschwindigkeit betreiben

Unsere erste Aufgabe bestand also darin, herauszufinden, wie wir die Geschwindigkeit der Alphabots steuern können
Nun vergleichen wir eine konstante Geschwindigkeit mit unserem Testergebnis
Aber wir haben einige Einschränkungen

  1. Wie erwartet verändert die Oberflächenreibung die Referenzgeschwindigkeit geringfügig
  2. Das Gewicht des Autos ist eine Tatsache
  3. Außerdem können wir die Höchstgeschwindigkeit auf 0,74 m/s einstellen
  4. es gibt wenige Überlappungen (unterschiedlicher GESCHWINDIGKEIT-Wert im Code, aber gleicher Durchschnittsgeschwindigkeitswert (z. B. 170/180, 190/200, 210-230)
  • Jetzt unser nächster Schritt: Lassen Sie den Alphabot auf der Strecke vor der Geschwindigkeit laufen, messen Sie die Geschwindigkeit und vergleichen Sie die Daten mit Referenzdaten

The speed of the left and right wheel are not same. Because of that our car is not driving straight. We need to solve this first Update We can solve it either by adjusting the potentio meter or giving separate input/ power to the wheels

  • Jede Anforderung (1-7) in Tabelle 1 wird getestet
  • Der Link des Codes zum SVN-Server wird hinzugefügt


5 20.07.23
  • Taking video of the Alphabot running infront of the Speed Tracker
  • Calculating the findings of Table 3
  • Update SVN/ wiki
  • Video is taken, but as the size of the video is too big, it is not placed in SVN, it is in the computer
  • Table 3 findings are done
  • SVN/ wiki is updated