Hilfe bei Fehlersuche Arduino Funkverbindung

#7425483
Lesenswert?

Hallo,

ich versuche folgendes Projekt nachzubauen: https://github.com/AK-Homberger/Seatalk-Autopilot-Remote-Control

Es geht dabei um eine Funkfernbedienung für einen Autopiloten vom Boot. Nun habe ich zwei Platinen bestückt und gelötet, bekomme jedoch den Autopilot nicht angesteuert. Bei näherer Betrachtung und Ausgabe der Textmeldungen im Serial Monitor fällt auf, dass es ständig Collision Errors gibt. Ich bin zwar schon mit dem Entwickler in Kontakt, er hat jedoch keine Möglichkeiten zum Testen. Nun war meine Idee, dass ich euch Profis frage, wie ich zum Testen vorgehen soll. Ein Oszi wäre vorhanden. Scheinbar sendet das Modul etwas anderes, als es empfängt.

Ich freue mich über jede Hilfe.

Gast #7425509
Lesenswert?

Hast du das beachtet? https://github.com/AK-Homberger/Seatalk-Autopilot-Remote-Control#problem-with-some-7407-variants

Ich denke, dass der Spannungsteiler R2/R3 fehlerhaft ist. Um den Eingang des 74LS07 sicher auf LOW ziehen zu können sind laut Datenblatt von Texas Instruments 0,2 mA nötig. Im Datenblatt von Hitachi werden hingegen 0,4 mA gefordert.

27 kΩ parallel zu 68 kΩ gerechnet ergeben 19 kΩ

0,2 mA * 19 kΩ = 3,8 Volt 0,4 mA * 19 kΩ = 7,6 Volt

Das ist beides weit mehr als ein gültiger LOW Pegel.

Gast #7425517
Lesenswert?

Der 74HC07 hat hochohmige CMOS Eingänge. Für den würde ich nichts ändern.

In dieser Schaltung kann nur dann gesendet werden, wenn das Signal "ST" auf HIGH Pegel (12 V) ruht. Das würde ich mit dem Oszilloskop kontrollieren. Vorher braucht man gar nicht erst versuchen, etwas zu senden.

(Firma: matzetronics) #7425537
Lesenswert?

Seatalk kann ja viele Geräte auf dem Bus. Mögl. hast du noch ein ST Device, das der Entwickler nicht zur Verfügung hatte. Was hängt bei dir alles auf Seatalk? Windmesser, GPS, Logger? Und welcher Autopilot ist verbaut?

Patrick S. schrieb:

Also prüfe ich erstmal, ob ST ruhend auf 12V ist oder?

Wenn das nicht der Fall ist, würde aber nichts auf dem Bus funktionieren.

#7425541
Lesenswert?

Ich hab gar nichts auf dem Bus. Ich möchte nur den Pinnenpilot, der auf die Seatalk Signale reagiert, per Fernbedienung ansteuern. Ich habe den nun im Labor liegen und versuche mit der Fernbedienung die Schubstange zur Bewegung zu bekommen. Leider bisher vergebens. Mittels LED kann man jeodch sehen, dass Signale von der Fernbedienung am Arduino ankommen. Nur raus zum Autopiloten stellt es gerade ein Problem dar.

Beitrag #7425546 wurde von einem Moderator gelöscht.
#7425926
Lesenswert?

An der Diode messe ich mit Oszi 2,5 V. Nun habe ich zur Messung der Widerstände die Spannungsquelle abgekoppelt. R2 - 68 kOhm R2 (oben) gegen Masse - 94 kOhm R2 (unten) gegen Masse - 27 kOhm

Wenn die Schaltung noch mit der Spannungsquelle verbunden ist, kommen andere Widerstandswerte heraus.

Bringt euch das weiter? Scheinbar ist ja dann die Spannung an der Diode zu niedrig.

Angehängte Dateien:
(Firma: matzetronics) #7426077
Lesenswert?

Habe jetzt mal diverse Datenblätter der CMOS Open Drain Buffer geblättert. Die haben alle eine Diode vom Drain nach VCC und erlauben deswegen keinen Ausgangslevel, der VCC+0,7V übersteigt. Die 12V werden also immer auf 5,7V limitiert.

Es muss also entweder ein LS Typ sein oder der gute alte BJT mit Open Collector.

Gast #7426108
Lesenswert?

Patrick S. schrieb:

Also geht die Schaltung mit dem 74HC07 überhaupt nicht?

Scheint so. Diese Diode stört, denn sie begrenzt die Spannung auf deine gemessenen fast 6 Volt.

Ich habe sonst noch SN 7407N TEX hier liegen. Den könnte ich tauschen,

Geht nicht, es nuss ein 74LS07 sein, und wie wir gelernt haben, geht es selbst da nicht mit jedem.

(Blöde Schaltung)

Angehängte Dateien:
#7426197
Lesenswert?

Patrick S. schrieb:

Ich habe den 74HC07 eingebaut, da er sagte, dass der besser geht.

Leider hat der Autor des Seatalk Autopilot Remote Control Projektes wohl selber nicht ins Datenblatt geguckt oder es mit dem M74HC07 wirklich ausprobiert. Sonst wäre ihm aufgefallen, dass auch der M74HC07 von ST die Diode drin hat. Nicht ohne Grund ist im Datenblatt für die Spannung am Ausgang unter den Absolute Maxiumum Ratings angegeben:

1
VO    DC Output Voltage    -0.5 to VCC + 0.5 V

Beim 74HC07 von HG Semi sind die gleichen Grenzen angegeben.

Also ruhig einmal ins Datenblatt gucken ...

#7426204
Lesenswert?

Patrick S. schrieb:

So war es vermutlich. Welchen soll ich nun genau kaufen und einbauen?

Guck ins Datenblatt von deinem "SN 7407N TEX", von wem auch immer der hergestellt wird.

Patrick S. schrieb:

Ich habe sonst noch SN 7407N TEX hier liegen.

Wenn du bspw. den SN7407N von TI anguckst, siehst du, dass der am Ausgang bis zu 30V verträgt.

1
V_OH   High-level output voltage   30 V

https://www.ti.com/lit/ds/symlink/sn7407.pdf

Der könnte allerdings mit der hochohmigen Ansteuerung R2/R3 Probleme haben, müsste man genau nachgucken.

Gast #7426214
Lesenswert?

Patrick S. schrieb:

Könntet ihr mir sagen, welchen ich genau kaufen soll?

Leider nicht, weil selbst der "bessere" 74LS04 von TI nur mit Glück funktionieren wird. Die Schaltung ist einfach blöd gemacht. Ich denke es gibt keinen IC, mit dem es sicher zuverlässig funktioniert.

Helmut -. schrieb:

Sehe nicht, warum es mit einem 7407 nicht gehen sollte.

Weil der 7407 (ohne LS) noch viel mehr Strom am Eingang fließen lässt, als der eigentlich vorgesehene 74LS04.

Ich würde einen 74LS07 von TI versuchen und außerdem die Widerstände R2/R3 so weit reduzieren, dass bei einem LOW am ST Anschluss auch am IC-Eingang ein sauberer LOW Pegel entsteht (das wären maximal 0,8 Volt).

Dazu würde ich ein Oszilloskop verwenden und mit echten Signalen messen (nicht mit Multimeter und statischen Pegeln).

#7426223
Lesenswert?

Steve van de Grens schrieb:

Weil der noch mehr Strom am Eingang fließen lässt, als der eigentlich vorgesehene 74LS04

Um den Eingang eines SN7407 auf Low zu ziehen, müssen 1.6mA raus fließen, was nicht ganz ohne ist, wenn der maximal zulässige L-Pegel dabei nicht überschritten werden darf.

p.s. Ein 74LS04 tut es allerdings ganz bestimmt nicht, weil der eine Push-Pull-Ausgangsstufe besitzt. Da wäre der andere Sender auf der ST-Leitung bestimmt nicht begeistert. ;-)

#7427049
Lesenswert?

Steve van de Grens schrieb:

Ich denke es gibt keinen IC, mit dem es sicher zuverlässig funktioniert.

Auch, wenn das mit dem Titel des Threads nun so gar nichts mehr zu tun hat, nur so ein Gedanke: Ein LIN Transceiver, wie z.B. der TLIN1021A würde das mit den Signalpegeln schon hinbekommen. Problem dürfte i.A. allerdings sein, dass SeaTalk anscheinend mit Pull-Down arbeitet, LIN aber mit Pull-Up, d.h. Ausgang schaltet aktiv High-Side bzw. Low-Side. Das passt leider nicht direkt und wegen der Signalpolarität muss man prüfen. https://www.ti.com/lit/ds/symlink/tlin1021a-q1.pdf

#7427126
Lesenswert?

Ich hatte diesen hier gekauft und noch ein paar davon liegen. https://www.reichelt.de/buffer-hex-4-75--5-25-v-dil-14-sn-7407n-tex-p217322.html?CCOUNTRY=445&LANGUAGE=de&trstct=pos_0&nbc=1&&r=1

Kann ich diesen verwenden und dann die Widerstände irgendwie anpassen? Ich würde zunächst nochmal irgendwas mit der aktuellen Platine versuchen, damit die Investition nicht umsonst war. Scheinbar funktioniert sie auch bei einigen, aber nicht bei allen.

Gast #7427137
Lesenswert?

Patrick S. schrieb:

Kann ich diesen verwenden und dann die Widerstände irgendwie anpassen?

Ich glaube es wurde bereits gesagt, dass ein 7407 ohne LS nicht geeignet ist. Es muss ein 74LS07 sein.

Außerdem gibt es bei Conrad und Reichelt noch den Haken, dass du da irgendeinen 7407 bekommst. Die garantieren dir nicht, dass es einer von einem bestimmen Hersteller (in diesem Fall TI) ist. Das hatten wir hier im Forum schon mehrmals.

Rainer W. schrieb:

Um den Eingang eines SN7407 auf Low zu ziehen, müssen 1.6mA raus fließen, was nicht ganz ohne ist, wenn der maximal zulässige L-Pegel dabei nicht überschritten werden darf.

Ich würde versuchen, die Werte von R1, R2 und R3 alle zu halbieren und den 74LS07 von TI zu verwenden (weil der den geringeren max. Eingangsstrom hat) Vielleicht klappt es dann.

Eine gezielte Empfehlung die garantiert klappt ist schwierig, weil die ganze Schaltung auf Kante genäht ist. Man müsste eigentlich die Schaltung mit anderen Bauteilen neu entwickeln.

Gast #7427339
Lesenswert?

Matthias S. schrieb:

Bitte R3 komplett weglassen

Dann muss R2 aber noch niederohmiger sein, um den Eingang des IC auf LOW ziehen zu können. Darum wiederum muss R1 noch niederohmiger sein, um den Bus hoch genug ziehen zu können.

Ich kenne die Anforderungen nicht, die solche Busteilnehmer erfüllen müssen. Vermutlich hat der Autor der Schaltung die Widerstände nicht ohne Grund so hochohmig gewählt. Das findet man so ja in keiner Beispielschaltung (mit 74LSxx Logikgattern).

(Firma: matzetronics) #7427564
Lesenswert?

Stefan F. schrieb:

Ich kenne die Anforderungen nicht, die solche Busteilnehmer erfüllen müssen.

Schau dir doch das von mir gepostete Interface an, das vom Erfinder von Seatalk kommt. Das ist alles recht niederohmig und hochstromig. Ein 74LS07 kann bis zu 40mA aufnehmen. Gut, das sollte man nicht unbedingt auf die Spitze treiben, aber 15mA sind immer drin. Deswegen sage ich ja, R1 auf 2k2 - 3k3 und R2 kann auf 8k2 oder 10k sinken. Dank der im Eingang des 74LS07 verbauten Z-Diode reicht eigentlich auch ein simpler Vorwiderstand und die externe Z-Diode kann komplett entfallen. Dann bleibt nur noch R2 als Vorwiderstand. Seatalk ist relativ kräftig und es sind viele Teilnehmer auf dem Bus erlaubt. Es muss auch kräftig sein, denn die Kabel sind nichts besonderes, sondern einfache 3-adrige Kabel. Vermutlich deshalb hat Raymarine auch die Flankenverbesserung hinzugefügt.

#7427732
Lesenswert?

Dieter W. schrieb:

Patrick S. schrieb:

74LS07D gefunden

Der Suffix "D" bezeichnet bei TI ein SMD Gehäuse.

Den LS07 gibt es recht günstig bei Kessler. https://www.kessler-electronic.de/de/Bauelemente/Halbleiter-integriert/Integrierte-Schaltkreise-ICs/LS-07

Explizit den Hersteller Texas führen allerdings nur die großen Distris und die sind teuer.

Den von Kessler könnte ich also nehmen? Dann bestelle ich gleich dort. Widerstände habe ich an der Arbeit.

#7429662
Lesenswert?

So, ich habe den SN74LS07N nun eingelötet und bekomme am ST Ausgang einen HIGH-Pegel von 11 V heraus. Nun müsste ich vermutlich noch die Widerstände anpassen oder?

Edit: Habe es getestet, der Autopilot macht was er soll. Bin so glücklich, dass es Dank eurer Hilfe nun funktioniert. Allerdings bisher nur in Auto-Mode. Im manuellen Modus passen sicherlich die seriellen Signale nicht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren