Forum: Mikrocontroller und Digitale Elektronik TDK CH101 Ultraschallsensor auslesen


von Niklas T. (nimo1012)


Lesenswert?

Hallo,

ich versuche nun schon seit über einem Monat den Ultraschallsensor CH101 
der Firma TDK mit dem ESP32-Board auszulesen.
Leider habe ich noch keine Lösung gefunden.
Die I2C-Verbindung ist bereits hergestellt worden.
Kennt jemand den CH101 Sensor und kann mir helfen?

Danke im Voraus.


Viele Grüße
nimo1012

von micha (Gast)


Lesenswert?

Selbst keine Erfahrung damit, aber eventuell kannst Du die hier 
genannten Sourcen finden und Funktionalität nachbauen 
https://invensense.tdk.com/download-pdf/an-000154-ch-101-example-driver-hands-on/

Oder steht das unter NDA?

von Patrick E. (meister_eder)


Lesenswert?

Hallo,

der CH101 braucht ja erstmal seine Software per I2C, mit welcher er dann 
arbeitet. Der Speicher da drin ist flüchtig, weshalb er bei jedem Start 
wieder erst die Software braucht. TDK hat ein Beispielprojekt für einen 
Atmel-Mikroprozessor online, welches bei mir gut auf Anhieb 
funktionierte. Auf anderen Mikroprozessoren habe ich es leider noch 
nicht getestet.

Aber sei gewarnt, der CH101 funktioniert faktisch gar nicht mit dem 
Original Ultraschallhörnchen drauf. Da kannst die Werte auch einfach 
Würfeln. Bei den von TDK online gestellten hat bei mir am besten das 
recht hohe ovale funktioniert, aber auch das ist noch nicht das Maximum, 
was der Sensor schaffen würde. Bei glatten Oberflächen wurden 
Reichweiten bis etwas über einem Meter erreicht, mit einem 
selbstdesignten Ültraschallhörnchen.

Grüße

Patrick

von Niklas T. (nimo1012)


Lesenswert?

Hallo micha,

ich habe mir die bereitgestellte Dokumentation und die Beispielprogramme 
schon sehr gründlich angeschaut. Leider ist das Beispielprogramm nur für 
bestimmte Atmel-Mikroprozessoren geeignet.


viele Grüße
nimo1012

von Niklas T. (nimo1012)


Lesenswert?

Hallo Patrick,

Mit welchem Atmel-Mikrocontroller hast du die Sensoren angesprochen?
Ich habe mir das DK-CH101 Development Board gekauft. Jedoch können da 
leider nur 4 Sensoren direkt angeschlossen werden.
Die Dokumentation zu diesem Board ist leider nur sehr spärlich. Es gibt 
keine Informationen über weitere Ein/Ausgänge.
Für mein Projekt will ich 12 Sensoren ohne Ultraschallhörnchen 
anschließen, um einen möglichst großen Öffnungswinkel zu erhalten.


Viele Grüße
nimo1012

von Wolfgang (Gast)


Lesenswert?

Niklas T. schrieb:
> Für mein Projekt will ich 12 Sensoren ohne Ultraschallhörnchen
> anschließen

Ohne Hörnchen empfängst du nicht genug Echoenergie, weil die 
Impedanzanpassung fehlt.

von Niklas T. (nimo1012)


Lesenswert?

Hallo Wolfgang,

danke für die Information. Ich dachte gelesen zu haben, dass der Sensor 
auch ohne Ultraschallhörnchen nutzbar wäre.
In dem Fall werde ich wohl eine Tube mit den angegebenen Maßen 
verwenden, um einen Öffnungswinkel von 180° zu erhalten.


Viele Grüße
nimo1012

von Bernd (Gast)


Lesenswert?

Versuche nun auch schon seit zwei Wochen den CH101 bzw. CH202 ohne das 
TDK Eval Board zum Laufen zu bekommen.
Leider gibt es von TDK nur ein Atmel Studio Projekt für einen SAMG55 
Controller. Dieses Projekt kann ich einwandfrei importieren und Builden.

Aber der Transfer dieses Codes auf einen Arduino Due (SAM3X) übersteigt 
bei Weitem meine Programmierkenntnisse. Das Problem ist: Das 
Beispielprogramm "Hello Chirp" hat so ziemlich alles implementiert, was 
man mit dem Sensor machen kann. Wenn man nur einzelne Messungen 
antriggern und auslesen will, kann man vermutlich 90 % des Quellcodes 
auskommentieren. Auch in dem Atmel-Studio Projekt sind vermutlich 90 % 
toter Code wie z.B. SPI Bibliotheken mit drin.
Dann scheint es noch mehrere Abstraktionsschichten zu geben: Die 
Sensorbibliothek hat generische Funktionen, die auf Atmel (ASF) 
generische Funktionen zugreifen, die wiederum auf eine 
Plattformspezifische Funktion zugreifen.
> Für jemand der sich nicht mit Atmel-Controller und Atmel-Studio auskennt die 
Hölle...

Leider findet man im Internet nirgends einen abgespeckten Quellcode, den 
man dann zu Fuß auf den SAM3X umschreiben könnte. Letztlich benötigt man 
doch nur 2 logische I2C-Schnittstellen: Eine zum Flashen der 
Sensorfirmware und eine zur anschließenden Kommunikation mit dem Sensor 
und dann noch maximal 2 GPIOs für die Sensorplatine...

Kennt vielleicht jemand einen solchen Minimal-Quellcode?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.