Forum: Mikrocontroller und Digitale Elektronik Hilfe bei Fehlersuche Arduino Funkverbindung


You were forwarded to this site from EmbDev.net. Back to EmbDev.net
von Patrick S. (patrick1990)


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.

von Helmut -. (dc3yc)


Lesenswert?

Und wo sind die Ausgaben des seriellen Monitors und das Arduinoprogramm? 
Bitte als Anhang einfügen!

von Patrick S. (patrick1990)


Angehängte Dateien:

Lesenswert?

Die Software ist unter dem Link zu finden.
Ich hänge das Programm aber nochmal an.

von Steve van de Grens (roehrmond)


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.

: Bearbeitet durch User
von Patrick S. (patrick1990)


Lesenswert?

Ich habe den 74HC07 eingebaut, da er sagte, dass der besser geht.
Welche Widerstände würdest du empfehlen?

von Steve van de Grens (roehrmond)


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.

von Helmut -. (dc3yc)


Lesenswert?

Wozu ein Spannungsteiler, wenn doch eine Z-Diode verbaut ist? Die 
begrenzt doch eh die Spannung auf 5.1V. Ich würde R3 weglassen und R2 
mal halb so groß machen. Welcher Pegel wird denn am Signal ST am Stecker 
J1 benötigt?

von Sebastian W. (wangnick)


Lesenswert?

Patrick S. schrieb:
> Ich habe den 74HC07 eingebaut,

Der braucht bei 5V Versorgung mindestens 3.5V am Eingang um sicher High 
zu erkennen ...

LG, Sebastian

von Patrick S. (patrick1990)


Lesenswert?

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

von Matthias S. (Firma: matzetronics) (mschoeldgen)


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.

: Bearbeitet durch User
von Patrick S. (patrick1990)


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.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Patrick S. schrieb:
> Nur raus zum Autopiloten stellt es gerade ein Problem dar.

Genau, 'Collision' bezieht sich ja offensichtlich auf Seatalk und nicht 
auf den Funk. Miss mal Pegel und hänge ein Oszi an den Seatalk Bus.

Beitrag #7425546 wurde vom Autor gelöscht.
von Patrick S. (patrick1990)


Lesenswert?

Werde ich morgen mal prüfen.
Also einfach 12V an die Schaltung und mit Oszi an den ST Ausgang ja?

von Patrick S. (patrick1990)


Angehängte Dateien:

Lesenswert?

Am ST-Ausgang komme ich nicht mal auf 6V.

von Helmut -. (dc3yc)


Lesenswert?

Dann kontrolliere doch mal den Wert von R2! Wenn der 68k hat, dann muss 
mehr Spannung zu messen sein. An der Diode D1 musst du zwischen 0V und 
5V Pegel messen. Kann das sein, dass R2 kurzgeschlossen ist oder 
Masseschluss hat?

von Patrick S. (patrick1990)


Angehängte Dateien:

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.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


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.

von Patrick S. (patrick1990)


Lesenswert?

Also geht die Schaltung mit dem 74HC07 überhaupt nicht?
Ich habe sonst noch SN 7407N TEX hier liegen. Den könnte ich tauschen, 
dann müsste sicherlich der Spannungsteiler mit angepasst werden oder?
Oder muss ich neue Bauteile kaufen?
Habe leider sonst keine Ahnung von Elektronik.

: Bearbeitet durch User
von Steve van de Grens (roehrmond)


Angehängte Dateien:

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)

: Bearbeitet durch User
von Patrick S. (patrick1990)


Lesenswert?

Könntet ihr mir sagen, welchen ich genau kaufen soll?
Die Schaltung neu zu entweren dürfte für mich unmöglich sein.
Es wäre auch schade um die drei Platinen, die ich hier rum liegen habe.

von Helmut -. (dc3yc)


Lesenswert?

Sehe nicht, warum es mit einem 7407 nicht gehen sollte. Wenn du keinen 
bekommst, melde dich. Ich habe noch ein paar hier herumliegen.

von Rainer W. (rawi)


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 ...

: Bearbeitet durch User
von Patrick S. (patrick1990)


Lesenswert?

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

von Rainer W. (rawi)


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.

: Bearbeitet durch User
von Helmut -. (dc3yc)


Lesenswert?

Patrick S. schrieb:
> Welchen soll ich nun genau kaufen und einbauen?

74LS07 oder 7407 ist eigentlich egal. Beide gehen. Nötigenfalls muss mit 
den Widerständen gespielt werden, wobei R3 sowieso unsinnig ist.

von Nils S. (wall-e)


Lesenswert?

Was spricht denn nun gegen das Original SN74LS07N ?
Den gibt es doch zu kaufen.
https://www.findchips.com/search/SN74LS07

von Steve van de Grens (roehrmond)


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).

: Bearbeitet durch User
von Rainer W. (rawi)


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. ;-)

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Nicht verwirren lassen. Ein 74(LS)04 ist völlig daneben. Wir brauchen 
einen echten Open Collector Ausgang und einen nicht invertierenden 
Buffer davor.
Der 74LS07 und der 74LS17 sind z.B. geeignet. Der 74ALS1035 wird 
vermutlich auch klappen, ist aber ein Exot.

von Stefan F. (Gast)


Lesenswert?

Rainer W. schrieb:
> Ein 74LS04 tut es allerdings ganz bestimmt nicht

Das war offensichtlich ein Tippfehler.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Angehängte Dateien:

Lesenswert?

Hier mal als Referenz das Seatalk Interface des Autohelm 6000 
Autopiloten.

von Heine H. (hhansen)


Angehängte Dateien:

Lesenswert?

Hallo Patrick,
Ich habe vor ziemlich genau 20 Jahren mal ein NMEA-SEATALK Interface 
gebaut.
Damit konnte ein Autohelm 1000 sowohl nach GPS-Kurs  wie auch nach 
scheinbarem Wind gesteuert werden.  Naja, hat ca. 5000 sm guten Dienst 
geleistet. Die Daten kamen von zwei NMEA Quellen (Simrad), daher der 
Multiplexer.

LG Heine

von Heine H. (hhansen)


Lesenswert?


von Rainer W. (rawi)


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

: Bearbeitet durch User
von Patrick S. (patrick1990)


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.

von Stefan F. (Gast)


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.

von Patrick S. (patrick1990)


Lesenswert?

Vielen Dank.
Dann habe ich es jetzt verstanden. Also würde ich mal die Bauteile 
suchen und bestellen.
Die Schaltung neu zu designen ist für mich ja unmöglich.

von Wastl (hartundweichware)


Lesenswert?

Wenn man eine Open Collector Funktion braucht kann man das auch
mit einen Bustreiber á la 74xx125 machen. Eingang statisch auf
Null setzen und mit dem Enable Eingang steuern. Den 74xx125
gibt es in allen Geschmacksrichtungen von Gatter-Familien und
auch als einzelnes Gatter.

von Stefan F. (Gast)


Lesenswert?

Wastl schrieb:
> Wenn man eine Open Collector Funktion braucht kann man das auch
> mit einen Bustreiber á la 74xx125 machen.

Nein, der verträgt nicht die 12 Volt am Ausgang.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Stefan F. schrieb:
> Ich würde versuchen, die Werte von R1, R2 und R3 alle zu halbieren und
> den 74LS07 von TI zu verwenden

Bitte R3 komplett weglassen, wie schon öfter hier erwähnt. R1 sollte 
auch so klein wie möglich sein, also z.B. 3k3.  R2 kann dann auch noch 
auf 8k2 oder 10k schrumpfen.

von Stefan F. (Gast)


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).

von Matthias S. (Firma: matzetronics) (mschoeldgen)


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.

: Bearbeitet durch User
von Steve van de Grens (roehrmond)


Lesenswert?

Rainer W. schrieb:
> Ein 74LS04 tut es allerdings ganz bestimmt nicht

Ist ein bisschen spät, weil das Wochenende dazwischen lag: Du hast 
natürlich Recht. Ich wollte an der Stelle 74LS07 schreiben. Das war ein 
Tippfehler.

von Patrick S. (patrick1990)


Lesenswert?

Hat jemand eine Idee, wo man den TI 74LS07 zu normalen Preisen her 
bekommt? Es gibt auch da scheinbar noch Unterschiede, denn ich habe 
einen 74LS07N und 74LS07D gefunden bisher. Entweder kostet das Bauteil 
allein 6€ oder der Versand extrem viel.

Vielleicht dieser:
https://www.ebay.de/itm/195528608033

In der Beschreibung steht TI.

: Bearbeitet durch User
von Dieter W. (dds5)


Lesenswert?

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.

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Patrick S. schrieb:
> Es gibt auch da scheinbar noch Unterschiede, denn ich habe
> einen 74LS07N und 74LS07D gefunden bisher.

Ja - Bauformen mit unterschiedlichen Gehäusen werden unterschiedlich 
bezeichnet.
1
74LS07N 14-PDIP
2
74LS07D 14-SOIC

von Patrick S. (patrick1990)


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.

von Steve van de Grens (roehrmond)


Lesenswert?

Patrick S. schrieb:
> Den von Kessler könnte ich also nehmen?

Keiner weiß, ob die den Chip von TI liefern. Du kannst ja anrufen und 
fragen.

von Patrick S. (patrick1990)


Lesenswert?

Steve van de Grens schrieb:
> Patrick S. schrieb:
>> Den von Kessler könnte ich also nehmen?
>
> Keiner weiß, ob die den Chip von TI liefern. Du kannst ja anrufen und
> fragen.

Ja, sie liefern die von TI.

von Patrick S. (patrick1990)


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.

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Patrick S. schrieb:
> Nun müsste ich vermutlich noch die Widerstände anpassen oder?

Prüfe es nach. Wenn der ST-Bus auf LOW geht, muss U2B schalten.

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.