Volumendaten Messsystem
|
16.11.2020, 12:02
Beitrag #1
|
|||
|
|||
Volumendaten Messsystem
Hallo zusammen,
ich hoffe mir kann jemand bei meinem Problem helfen. Derzeit möchte ich ein Volumen Messsystem bauen mithilfe eines ELEGO MEGA 2560 Controllers und HC-SR04 Ultrasonic Sensoren. Ich möchte mithilfe der Sensoren die Daten Länge, Breite und Höhe eines Paketes bestimmen. Dafür habe ich bereits einen Code geschrieben aber leider funktioniert dieser nicht wie erwartet. So lange nur ein Sensor angesprochen wird funktioniert alles Problemlos der zweite Sensor gibt mir einen Messfehler (abweichung 1 cm was aber nicht schlimm ist) zurück. Sobald alle 3 Sensoren angesprochen werden sollen blockiert das System und es wird nur die gesamt Länge zurückgegeben. Der Code sieht wie folgt aus: Code: int triggerPinLaenge = 2; Leider kann ich meinen Fehler hier nicht erkennen und hoffe sehr mir kann jemand von euch helfen. Im späteren Verlauf des Projektes möchte ich die Messung durch Betätigung eines Buttons starten leider habe ich hierfür auch noch keine Idee, also falls jemand bereits hierfür eine Idee haben sollte wäre ich sehr dankbar. Vielen dank im voraus ![]() |
|||
16.11.2020, 12:39
Beitrag #2
|
|||
|
|||
RE: Volumendaten Messsystem
Das Problem welches du lösen musst, ist der zeitliche Abstand zwischen den Messungen. Der muss groß genug sein, damit sich deine Messungen nicht gegeneinander beeinflussen. Da solltest du Werte von >1 Sek. wählen.
Hier solltest du durch Testen die besten Werte ermitteln. Den Start der Messung kannst du durch eine Tasterabfrage in der Loop erreichen. Beispiele dazu findest du auch in der IDE. Diese Info schreibst du in eine Variable, die wiederum in der Loop abgefragt wird und nach der Messung zurück gesetzt wird. Gruß Dieter I2C = weniger ist mehr: weniger Kabel, mehr Probleme. ![]() |
|||
16.11.2020, 12:41
Beitrag #3
|
|||
|
|||
RE: Volumendaten Messsystem
Hast Du mal die Wartezeit zwischen den Teilmessungen erhöht?
Bei den kurzen Pausen beeinflussen sich die Schallsignale gegenseitig. Also ruhig mal auf 1 Sekunde setzen und wenn es dann funktioniert schrittweise verkürzen, bis die Fehler zunehmen. Gruß Tommy "Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt) |
|||
16.11.2020, 12:52
Beitrag #4
|
|||
|
|||
RE: Volumendaten Messsystem
Vielen Dank für eure Antworten
![]() Die Wartezeit definier ich mit dem "delay" befehl oder? Dachte nämlich 2 sek. zwischen den einzelnen Messungen sollte ausreichen aber scheinbar ist das doch zu wenig ![]() Ich versuche die Zeiten mal zu erhöhen. Kann ich die die abfrage in der Loop auch durch einen Startbefehl im Touchscreen realisieren oder muss dies ein Mechanischer Knopf sein? |
|||
16.11.2020, 13:04
Beitrag #5
|
|||
|
|||
RE: Volumendaten Messsystem
Habe es gerade ausprobiert mit dem delay. Leider klappt das nur wenn ich z.B die Länge und die Breite messen möchte sobald der dritte Sensor mit einbezogen wird blockiert es und es zeigt mir für alle Messungen nur 0 an.
![]() |
|||
16.11.2020, 13:40
Beitrag #6
|
|||
|
|||
RE: Volumendaten Messsystem
(16.11.2020 12:52)Laika10 schrieb: Vielen Dank für eure Antwortendelay(2) sind 2 Millisekunden! Außerdem bringt es nichts, die Messung mit pulseIn erst nach allen Pulsen zu machen. Triggerimpuls --> Messen --> Warten --> nächster Triggerimpuls --> .... Gruß Tommy "Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt) |
|||
16.11.2020, 13:43
(Dieser Beitrag wurde zuletzt bearbeitet: 16.11.2020 13:44 von nbk83.)
Beitrag #7
|
|||
|
|||
RE: Volumendaten Messsystem
(16.11.2020 12:52)Laika10 schrieb: Vielen Dank für eure Antworten Moin Laika, die Zahl im delay()-Befehl wird in Millisekunden angegeben. Mach mal aus der 2 eine 1000, um die Zeit zwischen den Messungen auf eine Sekunde zu erhöhen. Gruß Jan EDIT: Tommy war schneller und umfangreicher... |
|||
16.11.2020, 13:54
Beitrag #8
|
|||
|
|||
RE: Volumendaten Messsystem
Hi ihr zwei,
vielen Dank für eure Nachrichten. Die Messung direkt nach den Pulsen zu machen macht auf jeden fall sinn ![]() Nun müsste ich nur noch die Messung durch einen Startimpuls am Touchscreen starten lassen und danach beenden die nächste Messung soll dann erst wieder mit dem Startknopf starten. ![]() Ihr habt mir mega geholfen vieeelen Dank. |
|||
|
|
Möglicherweise verwandte Themen... | |||||
Thema: | Verfasser | Antworten: | Ansichten: | Letzter Beitrag | |
Lineares Messsystem zur Positionsbestimmung mithilfe eines Hallsensors | Philipp_ | 3 | 3.598 |
05.04.2017 16:29 Letzter Beitrag: ardu_arne |
Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste