Wie stelle ich die aktuelle Tiefe fest? (Bisheriger Plan: zusätliches Messrad über das das Kabel läuft und pro festgelegter Längeneinheit einen Impuls an den Arduino gibt)
Das zweite Messrad halte ich für die beste Variante, dann kannst du dir auch die flexible Steuerung sparen. Dimensioniere das Messrad doch einfach so, das es einen bekannten Umfang hat (10 cm oder 25cm), bohre ein Loch an Außenrand rein und kopple es mit einer Fotodiode, die jedes Mal auslöst, wenn eine Umdrehung hinzukommt. In der Messaufnahme kannst du dann einen Zähler für die Auslösung der Fotodiode einbauen und schon hast Du die Länge des abgelassenen Weges. Dann kannst du auch wieder mit einem Relais steuern, das einfach nach der eingestellten Tiefe den Ablassmotor stoppt.
Was ich mich bei der Konstruktion frage ist - Musst Du nicht an den jeweiligen Messstellen etwas verweilen, damit der Temperatursensor die Umgebungstemperatur auch wirklich sauber aufnimmt? Wasser ist ja bzgl. Wärmeleitung nicht so ganz einfach und wenn Du den Sensor bis 100 Meter druckdicht bekommen willst, wird das nicht ohne einen stabilen Metallzylinder o.ä. funktionieren - bis der dann die Temperatur sauber an den Sensor weiterleitet kann das schon etwas dauern.
Und als letztes 100m Kabel sind schon recht lang. Wie sieht es da mit der Übertragung von digitalen Daten und vor allem Spannung zum sensor aus?
Nimmt doch ein CAT6 oder 7 Kabel dann kannst du mit RJ45 Buchsen an beiden Enden gleich das leidige Thema Kabelwechsel umgehen, auf 100m ist die Datenübertragung gesichert und du arbeitest mit Standard-Material, Spannung ggfs. über 4 Adern draufgeben damit sich die Last verteilt.