Pypilot

  • Ich hab gestern mal ein neues Layout von der Andreas-Platine gemacht, wo man das 20948 Modul aufstecken kann. Der I2C Extender hat noch Abblock-Cs bekommen (lt. Datenblatt) und die Stromversorgung ist etwas dicker ausgeführt.

    Vielleicht magst Du da mal rüber gucken?

    Danke der Nachfrage, mein Boot liegt seit Mittwoch trocken und windgeschützt in der Halle....

    Und ein qualitativ hochwertiges Feedback zu vernünftigem Platinenlayout würde ich gern weitergeben an norbert-walter und chrhartz . Denn da reicht meine Kompetenz dann ind er Tat nicht... (|
    Und es wäre dann bestimmt eine gute Idee, dein Layout mal hier hochzuladen. So würden wir die seinerzeit tolle Arbeit von Andreas29 posthum weiterführen und aktualisieren können.

  • Und ein qualitativ hochwertiges Feedback zu vernünftigem Platinenlayout würde ich gern weitergeben an norbert-walter und chrhartz

    So ganz überzeugt bin ich von Pypilot nicht. Das Platinenlayout von Andreas ist schon ganz brauchbar, obwohl es nicht ganz nach allen Regeln der Kunst erstellt wurde. Das ist im Grunde genommen auch nicht notwendig. Was mich an Pypilot stört ist die Komplexität des Gesamtsystems. Es hat viele Komponenten und ist nicht einfach nachbaubar. Auch die Software ist nicht ohne. Ich bin der Meinung, dass das deutlich einfacher auch umsetzbar ist.

    Heyho, hat jemand ein vernünftiges Gehäuse gefunden? Lg

    Nur so als Idee... Kunststoffgehäuse

  • Was mich an Pypilot stört ist die Komplexität des Gesamtsystems. Es hat viele Komponenten und ist nicht einfach nachbaubar.

    …ich hätte es auch gern einfacher, aber was soll man machen. Die Alternative ist die Fertig-Lösung von PC-Nautic. Da steckt das “Gehirn” von Pypilot drin, aber die Bedienung ist schon mal einfacher gestaltet. Der dortige Entwickler Onno hat offenbar, wie man den entsprechenden Forumsbeiträgen entnehmen kann, gute Arbeit zur Vereinfachung geleistet. Dummerweise hat er aus Open Source Closed Source gemacht.

    Das zeigt aber, dass es geht, Pypilot auf der Softwareseite zu vereinfachen. Wenn ich es könnte, würde ich es ebenfalls versuchen, aber das übersteigt meine Möglichkeiten bei weitem, zumal der Entwickler von Pypilot nicht gerade gern dokumentiert.

    Hardwaremäßig bin ich so weit, dass ich das m.E. überflüssige Display herausgeworfen habe und die Platine von Andreas so angepasst habe, dass dort eine reine Tastenbedienung anschließbar ist. Außerdem habe ich den Anschluss für den Raspberry vom Kopf wieder auf die Füße gestellt, so dass sowohl Zeros, als auch 3Bs passen. Das reicht mir und dürfte den Nachbau vereinfachen.


    Das “Blöde” ist, dass Pypilot einfach richtig gut funktioniert, wenn man ihn konfigurationsmäßig im Griff hat. Mir ist keine Open Source-Alternative bekannt, die auf einem ähnlichen Niveau daherkommt….


    Vielleicht kennt ihr eine?

  • …ich hätte es auch gern einfacher, aber was soll man machen

    Selber besser machen....


    Mir ist keine Open Source-Alternative bekannt, die auf einem ähnlichen Niveau daherkommt….

    Dann müssen wir da selber ran. Das steht schon lange auf meiner Agenda. Wenn das OBP60 durch ist, werde ich mich darum kümmern. Die Teile liegen schon bei mir rum.

  • So, hat etwas gedauert, weil ich im Urlaub war. Hier die neue Version der Andreas-IMU, auf die man das Adafruit ICM-20948 Modul stecken kann.


    - Die Versorgungsleitungen habe ich breiter gemacht

    - Der 82B715 hat Abblock-Cs bekommen (lt. Datenblatt)

    - Platz für zweite 6Pin Steckerleiste, damit das Mudul fester sitzt

    - Habe die Beschriftung bei der Anschlussleitung auf "5 V" geändert, weil 5V eigentlich für den 82B715 besser sind (siehe Datenblatt). Das ICM-20948 Modul hat Levelshifter und kommt daher auch mit 5V klar.

    Wer mag, bitte mal rübergucken.

    pasted-from-clipboard.pngpasted-from-clipboard.png

  • hab es nochmal etwas hübscher gemacht und irgendwann in den nächsten Wochen (Wenn meine anderen beiden PCBs fertig sind) wollte ich mal bestellen. Kosten sind ca. 8 EUR pro PCB.

    Da ich demnächst auch bei Digikey bestelle, könnte ich auch die Bauteile mitliefern, ca. 5 EUR (ohne das ICM-20948 Modul). Wer hat Interesse?

    pasted-from-clipboard.png

    weiß jemand, woher Andreas29 das passgenaue Gehäuse hat?


    Gruß

    Ohli

  • Moin Ohli,


    da bin ich gern dabei mit Platine und Bauteilen, sende mir bitte eine PM, wie wir das monetäre abwickeln können.

    Und vielen Dank für die tolle Arbeit!

  • hier ein paar Bilder von meinem ST2000-Umbau zum Pypiloten. Die Platine ist noch aus Pappe, um zu testen, ob alles passt. Die Motorsteuerung (Platine mit Arduino und Pololu) kommt mit in das Gehäuse des ST2000, die IMU (Platine mit ICM-20948) wird zentral im Boot verbaut und per 4-Draht Kabel mit dem ST2000 verbunden.


    PyPilot Umbau
    7 neue Elemente · Album von Olaf Meyer
    photos.app.goo.gl

  • Schau mal Ohli, ich habe Dir den kürzesten Massepfad für die Abblock-Kondensatoren in orange eingezeichnet.


    Clipboard02.jpg


    Wenn Du C1 und C2 um 180° rotierst, bekommst Du einen viel kürzeren Weg zum GND-Anschluss vom IC.

    Dort sollen die Abblockkondensatoren ja auch wirken. Aktuell hast Du eine unnötig hohe Impedanz, die die

    optimale Funktion verhindert.


    Ich kann nur dazu raten, den GND-Pfad ebenfalls als Leiterbahn einzuzeichnen. Das ist zwar zusätzliche

    Arbeit, Du siehst aber sofort, ob der Massepfad optimal ist.


    Ich nutze bei meinen Layouts die Funktion der automatischen Thermal-Anbindung an die Lötaugen überhaupt

    nicht. Das sorgt für interessante Probleme, wenn die Platine mal aufwändiger wird. Du musst dann nämlich

    händisch jede einzelne thermal-Anbindung prüfen weil die Software die vier Leiterbahnen nur setzen kann,

    wenn dafür auch Platz ist. Wenn nur eine von vier (bzw. acht bei zweilagigen Platinen) möglich ist, dann siehst

    Du das erst beim füllen der Fläche.


    Du verlierst auch jede Kontrolle über die Leiterbahnstärke an dieser Stelle. Wenn Du beispielsweise 0.2 mm

    für die Thermals eingestellt hast, weil Du 0.8 mm Leiterbahnbreite für den Strom benötigst und die Software

    kann nur eine einzeichnen, dann ist dieser Pin nur mit 0.2 mm angeschlossen. Das kann dann schnell mal

    nach hinten losgehen und die Bahn kann Dir wegschmelzen.


    Also lieber gar keine Thermals verwenden und wirklich alles vollständig und mit korrekten Leiterbahnbreiten

    routen. Die Massefläche - falls überhaupt notwendig - später ohne Thermals füllen lassen.


    Bei Deiner Platine würde ich beispielsweise keine Massefläche verwenden, die hat keine Funktion. Bei Masseflächen

    immer ganz vorsichtig sein - wenn Du nicht genau erklären kannst, weshalb die notwendig ist, dann lass sie weg.

    Die Flächen können nämlich auch ganz fiese Nebenwirkungen haben.


    Viel Erfolg,

    Christian

    Neptun 20, Segelnummer 950, Honda 5BFU, Liegeplatz Bernau/Chiemsee

  • Moin Christian,


    Danke für Deine qualifizierte Kritik, das hört sich alles vernünftig an. Ich hab das gleich mal umgesetzt:

    pasted-from-clipboard.png


    Ausserdem hab ich noch einen Elko am Eingang eingefügt, da das Teil ja an einer langen, dünnen Leitung betrieben wird.

    Bin aber immer für Verbesserungsvorschläge offen!


    Gruß

    Ohli

  • Ich bin verwirrt, was diese Platine angeht. Mag mir das jemand erklären?

    Die Adafruit ICM-20948 9-DoF IMU hat Levelshifter und einen 1,8V Spannungsregler für den ICM20948 an Bord, ein ähnliches Produkt von Sparkfun auch. Beide können mit 3,3V betrieben werden, was sich mit dem deckt, was der RPi an seinen Pins mag.

    Oder ist der P82B715 schon bei ein paar Dezimetern Leitungslänge notwendig?


    Im OBP Pypilot Bild vom AHRS-Modul sehe ich 3,3V, bei dem Platine von ohli steht "+5V" wo auch die I2C-Pullupwiderstände von beiden (!?) I2C-Busabschnitten rangehen.

  • Oder ist der P82B715 schon bei ein paar Dezimetern Leitungslänge notwendig?

    Das ist ein Leitungstreiber für größere Leitungslängen und immer dann empfehlenswert, wenn man mehr als 1m Kabellänge am I2C-Bus hat. Mit dem Leitungstreiber sind die Leitungen deutlich mehr immun gegen Störungen.

  • Guck Dir mal im Datenblatt 6.3 an. Der Chip braucht min 4,5 V. Er läuft auch bis runter zu 3V aber dann mit Performanceeinbußen. Daher hab ich da 5V dran geschrieben. Die Levelshifter im 20948 kommen auch mit 5V klar.

    Du hast allerdings Recht mit den Pullups. Der Pi bekommt dann 5V an I2C. Die Gelehrten sind da uneinig, ob das OK ist oder nicht. Vielleicht sollte man da Levelshifter vorsehen? Einfach n Spannungsteiler auf Pi Seite? Oder die Pullups in der IMU weglassen? Der Pi hat ja welche intern...

    Mit welcher Taktrate wird denn das I2C betrieben? Vlt ist es ja so langsam, dass die Performanceeinbußen des Extenders noch keine Rolle spielen? Dann wäre 3,3V besser.

  • OK, dann müssen die Pullups auf der IMU wegfallen und auf der Gegenseite kommen Pullups an 3,3V.

    Dann ist die IMU aber nicht mehr kompatibel mit bestehenden Systemen☹️

    Oder man lebt halt mit den Performanceeinbußen und betreibt den P82B715 mit 3,3V.

    Scheint ja in den bestehenden Systemen zu funktionieren...🤷


    Hat jemand so ein System auf dem Labortisch am laufen? Dann kann er ja mal ein Scope an SDA und SCL halten und gucken, wie die Signale so aussehen. Ob es Probleme mit den Anstiegszeiten gibt.


    Ansonsten werde ich einfach VIN an den Anschluss schreiben, denn das Teil an sich funktioniert ja mit allen Spannungen zwischen 3 und 5 V. Man muss halt wissen was man tut:

    - Wenn man den I2C-Extender mit 3,3V betreiben möchte -> gar nichts

    - Wenn man den I2C-Extender mit 5V betreiben möchte (z.B. weil man Timingprobleme hat), muss man die Pullups R1 und R2 entfernen und an der Gegenseite entsprechende Pullups gegen 3,3V legen

    - Wenn man das Teil nicht am RasPi, sondern an irgendwas mit einem 5V-I2C betreiben möchte -> gar nichts

    Edited once, last by ohli ().