Zeige Quelltext Ältere Versionen Links hierher PDF exportieren Teilen auf ... Google+ Twitter LinkedIn Facebook Pinterest Telegram Inhaltsverzeichnis Entfernungsmessung TOF10120 Laser-Distanzsensormodul Technische Merkmale Drahtzuordnung Verdrahtung mit Arduino Software Sharp IR-Abstandssensoren Einige Arten von Sharp IR-Fernsensoren Einige Datenblätter für Sharp IR-Fernsensoren Verdrahtung Szoftver HC‑SR04 Sonarsensor Technische Daten Pins HC - SR04 Datenblatt Verdrahtung mit Arduino UNO Github Ultrasonic Abstandsmesssensor Entfernungsmessung Entfernungsmesser messen die Entfernung einiger emittierter Schwingungen (Schall oder Licht), die von einem bestimmten Objekt im Laufe der Zeit reflektiert werden. Von schallbasierten (Sonar-) Entfernungsmessern sind lichtbasierte genauer, und auch hier ist die Lasermessung genauer als die Infrarotreflexionsmessung (im Prinzip, wenn die Hardware zuverlässig ist). Typen: Schallbasierte (Sonar-) Sensoren Die technische Lösung English Ultra-Sonic Ranger besteht aus zwei Elementen: einem "Lautsprecher" (oder Signalgeber), der Schallimpulse abgibt, und einem Mikrofon (Signalempfänger), das deren Reflexion erfasst. Aus der zwischen Ausgabe und Wahrnehmung verstrichenen Zeit kann die Entfernung berechnet werden, indem die Geschwindigkeit der Schallausbreitung bekannt ist. Hierher gehören: HC--SR04 Sonarsensor Ultraschall-Abstandssensor Infrarot-Abstandssensoren Der Sensor arbeitet nach der sogenannten Triangulationsmethode. Der Sensor sendet einen schmalen Infrarotlichtstrahl (IR-Lichtwellenlänge 850 nm ± 70 nm) aus. Das emittierte IR-Licht wird von Objekten reflektiert. Der Sensor verwendet eine Optik, um das reflektierte Licht auf ein CCD abzubilden. Je nachdem, wie weit das Ziel entfernt ist, kehrt das reflektierte Licht unter verschiedenen Winkeln zurück und fokussiert entsprechend auf verschiedene CCD-Pixel. Daraus kann bereits die Entfernung ermittelt werden. Sharp IR-Abstandssensoren Laser-Abstandssensoren Lasersensoren arbeiten wie IR-Sensoren mit der sogenannten Triangulationsmethode. Der vom Sensor emittierte Laserstrahl, der von der gemessenen Oberfläche reflektiert wird, wird durch eine Linse auf die Oberfläche des CCD- oder CMOS-Lichtsensors des Sensors projiziert. Wenn sich die reflektierende Oberfläche nähert oder bewegt, ändert sich auch die Position des auf den Lichtsensor projizierten Punkts, und die Elektronik bestimmt die Entfernung. TOF10120 Laser-Distanzsensormodul TOF10120 Laser-Distanzsensormodul Die Entfernungsmessung des TOF10120 wird vom Hersteller mithilfe der Sharp SPAD-Methode (Single Photon Avalanche Diodes) implementiert, die unter Verwendung von CMOS verwendet wird. Es liefert genauere Ergebnisse, ist widerstandsfähiger gegen Umgebungslicht und dank seines optischen Designs ist die Form-Erkennung auch zuverlässiger.Das Modul verwendet für die Messung einen Klasse 1 940-nm-Laser, dessen Erfassungsabstand 10 bis 180 cm beträgt. Sein Ausgang ist UART, seine Kommunikation kann RS-232, I²C oder IIC sein. Technische Merkmale Erfassungsabstand: 100 .. 1800 mm Stromversorgung: 3 .. 5V DC Stromaufnahme: 35mA Betriebstemperatur: -20 .. +70 ° C. UART: 9600 Baud, 8N1, Flusskontrolle: Keine Drahtzuordnung ①GND Black ②VCC Red ③RXD Yellow ④TXD white ⑤SDA blue ⑥SCL purple Verdrahtung mit Arduino Die Verdrahtung hängt davon ab, ob I²C oder Seriell verwendet wird. Es ist nicht notwendig, alle 6 Drähte gleichzeitig anzuschließen, 4 sollten ausreichen. TOF10120Arduino pinAnm. 1.feketeArduino GNDGND 2.pirosArduino 5v DC5v DC 3.sárgaPin 1 TxRxD : Muss bei serielle Kommunikation angeschlossen sein 4.fehérPin 0 RxTxD : Muss bei serielle Kommunikation angeschlossen sein 5.kékPin A4SDA : Muss bei I²C angeschlossen sein 6.zöldPin A5SCL : Muss bei I²C angeschlossen sein Die Verwendung von seriellem Pin 1 Rx und Pin 0 Tx blockiert den seriellen Download und die Verwendung von seriellen Monitoren. Software Die folgende Software verwendet I²C für die Kommunikation, dh Arduino Pin0 und Pin1 müssen nicht gemäß der obigen Tabelle verbunden werden. Software anzeigen Software anzeigen /* TOF10120 Distance Sensor Demonstration TOF10120-Demo.ino Demonstrates use of TOF10120 Distance Sensor Adapted from code from SurtrTech Displays results on Serial Monitor DroneBot Workshop 2019 https://dronebotworkshop.com */ #include <Wire.h> unsigned char ok_flag; unsigned char fail_flag; unsigned short lenth_val = 0; unsigned char i2c_rx_buf[16]; unsigned char dirsend_flag=0; void setup() { Wire.begin(); Serial.begin(9600,SERIAL_8N1); printf_begin(); } void loop() { int x=ReadDistance(); Serial.print(x); Serial.println(" mm"); } int serial_putc( char c, struct __file * ) { Serial.write( c ); return c; } void printf_begin(void) { fdevopen( &serial_putc, 0 ); } void SensorRead(unsigned char addr,unsigned char* datbuf,unsigned char cnt) { unsigned short result=0; // step 1: instruct sensor to read echoes Wire.beginTransmission(82); // transmit to device #82 (0x52) // the address specified in the datasheet is 164 (0xa4) // but i2c adressing uses the high 7 bits so it's 82 Wire.write(byte(addr)); // sets distance data address (addr) Wire.endTransmission(); // stop transmitting // step 2: wait for readings to happen delay(1); // datasheet suggests at least 30uS // step 3: request reading from sensor Wire.requestFrom(82, cnt); // request cnt bytes from slave device #82 (0x52) // step 5: receive reading from sensor if (cnt <= Wire.available()) { // if two bytes were received *datbuf++ = Wire.read(); // receive high byte (overwrites previous reading) *datbuf++ = Wire.read(); // receive low byte as lower 8 bits } } int ReadDistance(){ SensorRead(0x00,i2c_rx_buf,2); lenth_val=i2c_rx_buf[0]; lenth_val=lenth_val<<8; lenth_val|=i2c_rx_buf[1]; delay(300); return lenth_val; } {{ :wiki:arduino:gp2y0a21.png?120|GP2Y0A21 IR-Abstandssensoren} Sharp IR-Abstandssensoren Sharp Fernsensoren sind beliebt für Projekte, die eine genaue Entfernungsmessung erfordern. Diese Serie von Infrarotsensoren unterscheidet sich von anderen IR-Sensoren durch ihre Zuverlässigkeit. Es kann einfach an Mikrocontroller angeschlossen werden: Ein Analogausgang kann für Entfernungsmessungen an einen Analog-Digital-Wandler angeschlossen werden, oder der Ausgang kann an einen Kompensator zur Schwellenwerterkennung angeschlossen werden. Der Erfassungsbereich der verschiedenen Versionen beträgt ungefähr 10 cm bis 150 cm; Der Abstand wird von den Maßeinheiten immer auf die Ausgangsspannung abgebildet. Die meisten Sharp-Modelle verwenden einen 3-poligen JST-Anschluss, der das 3-polige JST-Kabel mit Sharp-Fernsensoren verbindet. Von hinten gesehen sind die drei Verbindungen von links nach rechts Strom (rot), Masse (schwarz) und Ausgangssignal (gelb). Die Sharp IR-Fernsensoren verwenden einen PSD-Sensor zu messen: Es ist wichtig zu wissen, dass die Distanz-Spannungs-Umwandlung von Sensoren auch aus Versehen nicht linear ist. Die folgende Abbildung zeigt beispielsweise die Spannungsabstandskurve für GP2Y0A21YK: Einige Arten von Sharp IR-Fernsensoren TypBetriebsspannungStromaufnahmeEntfernungsmessung Bereich Hinweis GP2Y0A60SZ(LF)2 működési mód 3V: 2,7..3,6V 5V: 2,7V..5,5V33 mA10..150 cmModul: 3V Pololu Reaktionszeit: 16.5 ± 4 ms Es hat auch ein Enable-switch GP2Y0A02(YK0F)4,5..5,5 V33 mA20..150 cmAusgangsspannungsdifferenz im Entfernungsbereich: 2,05 V Reaktionszeit: 38.3ms ± 9.6ms GP2Y0A21(YK0F)4,5..5,5 V30 mA10..80 cm (4"..32")Vielleicht der am häufigsten verwendete Typ Ausgangsspannungsdifferenz im Entfernungsbereich: 1,9 V Reaktionszeit: 38.3ms ± 9.6ms GP2Y0A41(SK0F)0,4..2,5 V12 mA4..30 cmAusgangsspannungsdifferenz im Entfernungsbereich: 2,3 V Reaktionszeit: 16.5 ± 4 ms GP2Y0A51(SK0F)0,4..2,5 V12 mA2..15 cmAusgangsspannungsdifferenz im Entfernungsbereich: 1,65 V Reaktionszeit: 16.5 ± 4 ms Einige Datenblätter für Sharp IR-Fernsensoren distance_ir_analog_sharp_gp2y0a21yk.pdf distance_ir_analog_sharp_gp2y0a21yk_new.pdf distance_ir_analog_sharp_gp2y0a41sk0f.pdf Verdrahtung rot (Stromversorgung): Arduino +5V DC schwarz (Grund): Arduino GND gelb (Signal): Arduino Analogeingang Aufgrund des internen Timings der IR-LED können Interferenzsignale vom Messgerät ausgegeben werden. Um diese zu beseitigen, empfehlen einige, dass Sie einen 1..10μF-Filterkondensator zwischen der Strom- und der Erdungsleitung installieren. Szoftver GP2Y0A21(YK0F), GP2Y0A41(SK0F): Beispielsoftware aus Github: https://github.com/jeroendoggen/Arduino-distance-sensor-library HC‑SR04 Sonarsensor Das Modul leitet die Entfernung durch Messen der Zeit der Schallreflexion ab, d. H. Es arbeitet nach dem Sonarprinzip (wie das Sonar von U-Booten). Natürlich ist dieses Modul auch unter mehreren Namen bekannt, zum Beispiel: SRF04 - Ultra-Sonic Ranger. Die Messung kann mit einem 10 μs TTL-Impuls gestartet werden. Das Modul sendet dann 8 Zyklen lang 40-kHz-Schallimpulse aus und erkennt dann deren Reflexion mit dem Mikrofon. Die Entfernung beträgt Reaktionszeit (μs) / 58 = Abstand (cm) oder Reaktionszeit (μs) / 148 = Abstand (Zoll) Der Hintergrund dieser Berechnung ist: Die Entfernung wird durch Beobachtung der Reflexion der Schallwellen gemessen. Bei Kenntnis der Zeit der Emission und der Rückkehr von Schallwellen kann die Zeit der Messung berechnet werden. Dies muss mit der Schallgeschwindigkeit multipliziert werden. Die dafür erforderliche Verdrehung bei der Berechnung besteht darin, dass die Schallgeschwindigkeit auch in Abhängigkeit von atmosphärischem Druck und Temperatur variiert. In diesem Fall wird nur die Temperaturkorrektur in die Berechnung einbezogen. Die dafür erforderliche Formel lautet: 331.5 + 0.6 * t Wenn beispielsweise die Temperatur 20 °C beträgt, beträgt die Schallausbreitungsgeschwindigkeit 331,5 + 0,6 × 20 = 331,5 + 12 = 343,5 m / s, d.H. 0,03435 cm / us. Daraus kann auch umgerechnet werden, dass Schall 29.112 Mikrosekunden benötigt, um einen Zentimeter zu erzeugen (1 / 0,03435 cm / µs = 29,112 µs / cm). Im Falle von Geräuschen muss natürlich auch die Hin- und Rückfahrt berechnet werden, damit sie oben herauskommt (gerundet): Reaktionszeit (μs) / 58 = Abstand (cm) Messungen sollten nicht innerhalb von 60 ms wiederholt werden, da sie sich gegenseitig stören können: Die Erfahrung hat gezeigt, dass es ratsam ist, das Modul an die Stromversorgung anzuschließen, damit der Grund (GND) zuerst auf das Modul angewendet wird. Die Messung wird unsicher, wenn die Reflexionsfläche weniger als 0,5 m² beträgt. Die meiste Software gibt einen Wert von "0" zurück, wenn die Überwachungszeit ohne Antwort abgelaufen ist (d.H. Der Abstand ist zu groß), was in der Software separat getestet werden muss. Technische Daten ParameterWert BetriebsspannungDC 5V Stromaufnahme15 mA Betriebsfrequenz40 kHz Maximale Entfernung4m – sehr theoretisch Mindestabstand2cm Messgenauigkeit> 3mm Messbereich (Winkel)15° Triggersignal10 μs TTL-Impuls Pins PinFunktion VccStromversorgung, 5V DC Trig"ping" Signal EchoAntwort (Echo) auf "ping" GNDGrund HC - SR04 Datenblatt distance_ultrasonic_srf04.pdf Verdrahtung mit Arduino UNO Arduino 5V ↔ HC-SR04 Vcc Arduino GND ↔ HC-SR04 Gnd Arduino pin 11 ↔ HC-SR04 "Echo" Arduino pin 12 ↔ HC-SR04 "Trig" Github Die Bibliothek und Beispielprogramme für das Modul können von Github heruntergeladen werden: https://github.com/JRodrigoTech/Ultrasonic-HC-SR04 https://bitbucket.org/teckel12/arduino-new-ping/downloads/ Ultrasonic Abstandsmesssensor Der Sensor, der in Autos als Umkehrradar fungiert, muss ähnlich wie der obige Sensor HC-SR04 verdrahtet und programmiert werden. Dies hat im Gegensatz dazu den Vorteil, dass es über größere Entfernungen erfasst und wasserdicht ist. Technische Daten: Betriebsspannung: DC 5V Standby-Stromaufnahme: 5mA Betriebsstromaufnahme: 30mA Übertragungsfrequenz: 40KHz Maximale Entfernung: 5M Totraum: 25cm Genauigkeit: 0,5 cm Betrachtungswinkel: <50 ° Betriebstemperatur: -10 bis 70 ° C Lagertemperatur: -20 bis 80 ° C Größe: 41x28,5 mm Kabellänge: 2,5 m