Geschwindigkeitsmessstrecke mit Arduino: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 6: Zeile 6:
'''Supervisor:''' [[Benutzer:Ulrich_Schneider| Prof. Dr.-Ing Ulrich Schneider]]<br/>
'''Supervisor:''' [[Benutzer:Ulrich_Schneider| Prof. Dr.-Ing Ulrich Schneider]]<br/>


'''BILD!'''


 
== Einleitung ==
== Objective ==
Developing the speed measuring unit for any car project
Developing the speed measuring unit for any car project


Zeile 70: Zeile 70:
|
|
|}
|}
== Funktionaler Systementwurf/Technischer Systementwurf ==
== Komponentenspezifikation ==
== Programmierung ==
== Komponententest ==
'''Beispiel'''
{| class="wikitable"
! style="font-weight: bold;" | ID
! style="font-weight: bold;" | Testfallbeschreibung
! style="font-weight: bold;" | Eingänge x,y,PosAlt,Ausrichtung,Karte,Bumper,Ultraschall,Perimeterschleife
! style="font-weight: bold;" | Erwartetes Ergebnis
! style="font-weight: bold;" | Testergebnis
! style="font-weight: bold;" | Testperson
! style="font-weight: bold;" | Datum
|+ style = "text-align: left"|Tabelle 4: Testbericht für den Komponententest von <code>Kartenfunktion.m</code>
|-
| 1
| Der Mäher fährt kein Feld weiter.
| 0.1, 0.0, [0;0], 0, Karte, 0, 0, 1000
| Kein neues Feld wird blau markiert.
| OK
| Prof. Schneider
| 21.01.2018
|}
== Zusammenfassung ==
== Link zum Quelltext in SVN ==


{| class="wikitable"
{| class="wikitable"
Zeile 199: Zeile 229:
<!-- Add this footer.  -->
<!-- Add this footer.  -->
----
----
----
→ zurück zum Hauptartikel: [[Projekt_ArduMower|Projekt ArduMower]]

Version vom 30. Juni 2023, 15:32 Uhr


Author: Syed Rafsan Ishtiaque
Category: Part of Main Internship
Duration: 02.05.2023 - 21.08.2023
Supervisor: Prof. Dr.-Ing Ulrich Schneider

BILD!

Einleitung

Developing the speed measuring unit for any car project

Anforderungen

Tabelle 1: Funktionale Anforderungen an die Geschwindigkeitsmessstrecke
ID Inhalt Ersteller Datum Geprüft von Datum
1 Die Geschwindigkeit eines vorbeifahrenden RC-Fahrzeugs muss in m/s auf 3 Nachkommastellen genau gemessen werden. Ulrich Schneider 30.06.2023
2 Die Geschwindigkeitsmessstrecke muss im Akkubetrieb laufen. Ulrich Schneider 30.06.2023
3 Die Geschwindigkeitsmessstrecke muss über einen Schalter ein- und ausgeschaltet werden können. Ulrich Schneider 30.06.2023
4 Die Geschwindigkeitsmessstrecke muss auf einem Display auf 2 Nachkommastellen in m/s angezeigt werden. Ulrich Schneider 30.06.2023
5 Der Aufbau muss robust und professionell sein und mind. 10 Jahre betrieben werden können. Alle Verbindungen müssen hierzu zugentlastet sein. Ulrich Schneider 30.06.2023
6 Die Arduino IDE muss für die Programmierung verwendet werden. Die Programmierrrichtlinien sind einzuhalten und der Quelltext ist nachhaltig zu kommentieren. Ulrich Schneider 30.06.2023
7 Der Quelltext ist in SVN zu sichern und in diesem Artikel zu verlinken. Ulrich Schneider 30.06.2023

Funktionaler Systementwurf/Technischer Systementwurf

Komponentenspezifikation

Programmierung

Komponententest

Beispiel

ID Testfallbeschreibung Eingänge x,y,PosAlt,Ausrichtung,Karte,Bumper,Ultraschall,Perimeterschleife Erwartetes Ergebnis Testergebnis Testperson Datum
Tabelle 4: Testbericht für den Komponententest von Kartenfunktion.m
1 Der Mäher fährt kein Feld weiter. 0.1, 0.0, [0;0], 0, Karte, 0, 0, 1000 Kein neues Feld wird blau markiert. OK Prof. Schneider 21.01.2018

Zusammenfassung

Link zum Quelltext in SVN

Table 1: Functional Requirement
ID Topic Result Date Comment (if any)
1 Sensors measuring data Both of the sensors functional 30.06.2023 The range of measurement is optimum, 30 cm
2 LCD display showing results The measured data can be seen 30.06.2023 The display has a good color contrast
3 External power source
4 Base & structure of the Unit The measuring unit has a solid base and stable structure 30.06.2023 The lose parts of the previous version were fixed
Table 2: Non-Functional Requirement
ID Topic Result Date Comment (if any)
1 Sensors have protector shade on top The measured data is consistent 30.06.2023 Direct interference of light can alter sensor data
2 LCD user interface LCD shows a staring announcement and other necessary ones 30.06.2023 The interface is user friendly
3 Controlling of the power source
4 Cable stress relief for LCD
5 Cable and wire holder for the Unit A protective tray on the bottom for holding cables 30.06.2023 To avoid wire/ cable entanglement, it was necessary
6 External Arduino shield for future development A shield is attached on the arduino 30.06.2023 Useful for any development or if needs to repair

Hardware

Sensor

Sharp 2D120X F 09

The Sharp distance measuring sensor is used to determine the speed/ velocity of the car unit. In this case, two identical sensors were used. According to the manufacturer SHARP [1], the range of the sensor is 4 cm to 30 cm, typical response time apprx. 39 ms, typical start up delay apprx. 44 ms, Average Current Consumption: 33 mA. The operating temperature is -10°C to 60°C, so that is ideal for this project as it is initially an indoor project. according to the stamp on the sensor, the manufacturing date was September 2016. According to the data sheet, the sensor should be mounted on any frame in such way that it gives the optimum result. For that the general instructions are available on the Data Sheet [1].

Display

LED Based 8 segment display

A simple LED based 8 segment display was the initial plan for the project. For reference, the LED tutorial [2] guide for Micro-controller was used. But it had limitation. So we decided to upgrade the display with C547B transistor [3] . An initial model is developed with C547B transistor.

[Update]
1. The circuit for LED display worked. It was tested for one segment, consisting two LED. The supply voltage was 5V, base resistor 1K ohm, collector resistor 470 Ohm.
2. We finalized the complete circuit setup for the LED display. But we will now implement a LCD display. The reason for doing that, a digital LCD display will enable us to showcase more data related to the speed tracking sensor. Also the data can be transferable and possible to store it for future reference.

LCD Display Blue with I²C

The LCD display we will use is QAPASS LCD I²C. This is a variant of the normal LCD display. It is combined with an I²C module [4]. This will enable us to add further feature to the system. The next development of I²C is I³C. Both I²C and I³C were designed as "Controller" and "Target" bus system (previous master & slave bus concept). The two signal lines for I²C are SCL: Serial Clock and SDA: Serial Data line. But we have to consider the distance of the data transmission while using the I²C. The LCD display is functional. It is receiving messages and displaying them. Next step will be optimizing the sensor data and making a robust system.

Future development

Instead of using a led based display we can implement MQTT protocol to get the end result from the sensor in our smartphone with help of raspberry pi. That will allow to record the result more conveniently. During the implementation of MQTT protocol, the raspberry pi module will work as MQTT broker and both Arduino and Smartphone will be MQTT client. The broker will receive sensory data from the Arduino (1st client) and then it will forward the message to the smartphone (2nd client). As the system will only be used to receive the data collected by the sensor and processed by the arduino and not to control the sensor, it will be uni-directional; that means we will opt out the part to control any sensor from the smartphone application.

LCD Display Holder

To mount the LCD on the main structure, we have designed a holder in Solidworks and printed it in 3D printer. The holder model can be updated based on requirements.

Source Code

The arduino code for the sensor and LCD displays are developed and implemented. We used median filters to cancel out/ limit the noise. We will made two separated arrays for the median filter. For each array there will be separate index pointers. So the two sensors data will be filtered out separately, in that way one's noise will not affect the other.
[Update] We are modifying the code so that the speed tracker can measure the speed from both direction

Test Run

We tested our measurement setup the remote controlled car and it worked good for uni-directional way. For bi-Directional, we still are in development phase.

Literature



→ zurück zum Hauptartikel: Projekt ArduMower