Hallo Leute, habe nach längerer Pause wieder Gefallen an meinen Mikrocontrollern TN13, TN2313 und Mega8 gefunden. Meine Platinen sind leider alle für RS232 Schnittstellen ausgelegt. Rechner mit RS232 habe ich leider keine mehr. Programmieren über ISP-Programer mit AVR Studio 4.19 geht, aber leider keine Kommunikation über USB zum Notebook. Mittels RS232/USB Adapter und Hterm bringe ich keine Verbindung zustande. Für eine Lösung wäre ich sehr dankbar, Gruß reglermax.
Der UART vom Atmega verwendet Logic-Level-Signnalpegel (0 bis 5V). Dein USB/Seriell-Adapter aber die -15/+15V von Standard RS232 SChnittstellen. Hol dir einen USB-Seriell-Adapter für TTL-Pegel
Rolf G. schrieb: > Mittels RS232/USB Adapter und Hterm bringe ich keine Verbindung > zustande. Drei Problemzonen: 1) Treiber für die RS232-Adapter. Test ist einfach: "local loopback". Sprich: du läßt den µC erstmal weg und verbindest nur RXD und TXD des Adapters. Wenn du dann was sendest, musst du das Gesendete auch sofort wieder empfangen. Geht das nicht, ist entweder der Adapter defekt oder der Treiber passt nicht zum Adapter. 2) Pegel. Es gibt typisch drei Sorten von diesen Adaptern. (Näherungsweise) RS232-Level, 5V und 3,3V. Wenn du eine alte Platine verwenden willst, die ursprünglich mal für RS232 designed war (und deswegen einen MAX232 o.ä. enthält), dann brauchst du die RS232-Variante. Für Neuentwicklungen kannst du halt den MAX232 weglassen und statt dessen direkt zu einem 5V- bzw. 3,3V-Adapter verbinden (je nach Versorgung deines µC). 3) Takt. Wenn der Takt des µC falsch konfiguriert ist, kommt Gurkensalat raus. Es kann aber auch Gurkensalat rauskommen, wenn der Takt "im Prinzip" richtig konfiguriert ist. Wenn nämlich der interne RC-Oszillator verwendet wird. Der ist nicht genau genug. Kann klappen, muss aber nicht klappen.
Timo N. schrieb: > Der UART vom Atmega verwendet Logic-Level-Signnalpegel (0 bis 5V). Das wäre dann allerdings nicht die von Rolf genannte RS232-Schnittstelle. Neben den Pegel unterscheidet die sich auch in der Polarität. Erste Maßnahme wäre, den Ruhepegel der TX-Leitung von Mikrocontroller und PC zumindest mit einem Multimeter zu messen. Einfacher wäre natürlich der Einsatz eines Oszis.
Wolfgang schrieb: > Das wäre dann allerdings nicht die von Rolf genannte > RS232-Schnittstelle. Stimmt. Der c-hater weiss aber, dass seht viele Adapter im Handel RS232 oder TTL genannt werden, obwohl was anderes drin steckt. > Erste Maßnahme wäre, den Ruhepegel der TX-Leitung von > Mikrocontroller und PC zumindest mit einem Multimeter zu messen. Guter Vorschlag, dann erfahren wir zumindest, was es denn wirklich ist.
Timo N. schrieb: > Dein USB/Seriell-Adapter aber die -15/+15V von Standard RS232 > SChnittstellen. Daß so ein Unfug immer noch behauptet wird. Diese Pegel gab es nie!
Rolf G. schrieb: > ISP-Programer mit AVR Studio 4.19 geht, aber leider keine Kommunikation > über USB zum Notebook. aber ein ATmega8 sendet doch normalerweise auf UART oder USART Rx&Tx aber nicht über ISP wo er programmiert wird! Ausnahmen sind Arduinos oder AVR mit Bootloader die per ISP programmiert werden entweder durch einen eigenen Chip USB/ser on board oder welche mit USB Schnittstelle wie der mega32u4 (oder war das u2?) Du müsstes also schon einen TTL Uart USB Adapter anklemmen sowas in der Art an Tx und Rx vom ATmega8 wenn du am PC Hterm o.ä. machen willst https://www.ebay.de/i/172228517190 oder nimm gleich einen Arduino Nano328p, den kannst du auch programmieren wie gewohnt als puren ATmega8, musst dich halt um alles selber kümmern Ausgaben an Rx/Tx selber anklemmen Pegelwandlung machen und zu +-12V zum PC wandeln. Ich finde nano praktischer, auc hindert dich keiner den ohne die IDE zu programmieren, notfalls mit einem 2ten nano der als ISP Brücke dient.
Danke für eure Hinweise, den Adapter werde ich demnächst testen. Hier mal meine Mega8-Platine mit Pegelwandler. Das hat am PC-damals wunderbar funktioniert! http://www.rolf-grauer.de/Mega8.html Gruß Rolf.
Das ist zwar die Sparversion (nur Inverter, ohne negatives TX) sollte aber zuverlässig funktionieren. Muss es halt nur nicht. einfach testen, ob der Loop Back auch mit Dioden von gnd nach RX/TX geht.
Rolf G. schrieb: > Hier mal meine Mega8-Platine mit Pegelwandler. Das hat am PC-damals > wunderbar funktioniert! > http://www.rolf-grauer.de/Mega8.html Glück gehabt, RS232 war das nicht ...
m.n. schrieb: > Timo N. schrieb: >> Dein USB/Seriell-Adapter aber die -15/+15V von Standard RS232 >> SChnittstellen. > > Daß so ein Unfug immer noch behauptet wird. Diese Pegel gab es nie! Boar dann sind es halt -12/+12V. Auf jeden Fall weit weg von 0/5V. Spielt doch echt keine Rolle.
Timo N. schrieb: > Boar dann sind es halt -12/+12V. Auf jeden Fall weit weg von 0/5V. > Spielt doch echt keine Rolle. das größere "Problem" ist doch die Polarität was bei TTL Ruhepegel high ist ist auf der RS232 eben low also bei 0V und das TTL high wird als logisch aktiv 1 erkannt. Wenn es mit den "Sparschaltungen" 0V/5V funktioniert dann nur nach Invertierung. Am Pegel muss es nicht zwingend liegen aber an der Erkennung high low! eben 1/0 oder umgekehrt je nach "Guckrichtung". Sparschaltung https://www.mikrocontroller.net/attachment/77864/circuit.png
:
Bearbeitet durch User
Joachim B. schrieb: > das größere "Problem" ist doch die Polarität was bei TTL Ruhepegel high > ist ist auf der RS232 eben low also bei 0V und das TTL high wird als > logisch aktiv 1 erkannt. Das kommt natürlich noch dazu. Hast Recht.
HI >Sparschaltung >https://www.mikrocontroller.net/attachment/77864/circuit.png Ich würde das RS232-Interface des AVR-Butterfly (S.4 im Anhang) empfehlen. MfG Spess
Hallo Leute, die Schnittstelle funktioniert nun mit dem Kabeladapter Modul: https://www.ebay.de/itm/Konverter-USB-COM-RS232-Serial-Kabel-Adapter-Modul-USB-2-0-zu-9-pin-NEU/153844022918?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2649 Es lag nur an Einstellungen am HTerm Version 0.8.5 (falscher Port...). Danke für eure Tipps, Gruß Rolf.
Rolf G. schrieb: > Das hat am PC-damals > wunderbar funktioniert! > http://www.rolf-grauer.de/Mega8.html Ersetz mal den 74LS04 durch einen 74HC04, dann sollte es wieder funktionieren. Oder besser gleich einen MAX202 oder kompatiblen nehmen.
Timo N. schrieb: > Boar dann sind es halt -12/+12V. Auch die gab es nie. Wenn ich so etwas lese, ist sofort klar, daß der Urheber nur die Backen aufpustet. Praktische Erfahrung sieht anders aus.
m.n. schrieb: > Timo N. schrieb: >> Boar dann sind es halt -12/+12V. > > Auch die gab es nie. Wenn ich so etwas lese, ist sofort klar, daß der > Urheber nur die Backen aufpustet. Praktische Erfahrung sieht anders > aus. naja früher wurden die Treiber mit den +12/-12V Ausgängen der Netzteile versorgt, vielleicht kommt daher die Meinung es sind +-12V Wiki: Für die Datenleitungen (TxD und RxD) wird eine negative Logik verwendet, wobei eine Spannung zwischen −3 V und −15 V (ANSI/EIA/TIA-232-F-1997) eine logische Eins und eine Spannung zwischen +3 V und +15 V eine logische Null darstellt. Signalpegel zwischen −3 V und +3 V gelten als undefiniert.
m.n. schrieb: > daß der > Urheber nur die Backen aufpustet Auf jeden Fall mit mehr Berechtigung als du, da du offensichtlich niemals irgendwelche Normen über serielle Schnittstellen gelesen hast. Georg
georg schrieb: > Auf jeden Fall mit mehr Berechtigung als du, da du offensichtlich > niemals irgendwelche Normen über serielle Schnittstellen gelesen hast. Das wissen aus Normen lag ja nicht vor. 5.5V ist nicht weit weg von 5, und 3V schon gar nicht. Und dann ist es nur die Norm. In der Praxis hat jeder kaufbare Adapter (ok, vielleicht nicht jeder, aber > 99%) seine umschaltschwelle bei >> 0V, funktioniert also mit TTL-Pegeln wunderbar. Damit ist die Schaltung des TO zwar nicht normgerecht, aber völlig ausreichend. Der Empfänger sowieso. Den kriegt man auch mit TTL normgerecht hin.
A. S. schrieb: > Und dann ist es nur die Norm. Hi, und zu allem Übel dann noch RS232 versus V24: https://de.wikipedia.org/wiki/V.24 Ziat: "...Diese Empfehlung wurde mehrfach den technischen Gegebenheiten angepasst. Von ursprünglich über 50 beschriebenen Funktionen sind seit dem Jahr 2000 noch 37 vorhanden..." /Zitat Ich sag lieber V24. Denn da ist IMHO auch die Pegeldefinition drin (gewesen). Obwohl Wiki sagt, es wäre nur die Zuordnung zu den Funktionen. Ein Bild sagt mehr als tausend Worte. ciao gustav
Karl B. schrieb: > Ein Bild sagt mehr als tausend Worte. Hi, der Doppel-Genderchanger dient nur dazu, Abstand zu kriegen. Sonst muss man die Muttern da am STK500 DB9 female Konnektor evtl. abschrauben. Klappt 100 pro. Atmel ICs die U(S)ART haben, kann man direkt verbinden nur eben auch Korrespondierende kreuzen. Meistens ohne Händeschütteln mit GND RXD TXD. Dann am anderen Target GND TXD RXD. (Und PD0 an RXD(Spare) und PD1 an TXD(Spare) jumpern. Hab ich doch glatt vergessen;-) Viel Spaß! ciao gustav
:
Bearbeitet durch User
Zu den +-5V, die der Sender nach Norm mindestens liefern muss, eine kleine Anekdote: Vor mehr als 20 Jahren, noch vor dem Internet am Arbeitsplatz, als wir junge Ingenieure erstmals 3.3V hatten und dafür einen MAX232 suchten. Uns war klar, die verdoppeln und invertieren auch nur, können also nur knapp über 5V hinkriegen. Wir hatten auch 12V oder so im Kopf, als mein Kollege am Telefon den Distri fragte: "funktioniert das denn?". Natürlich war uns im Augenblick der Frage klar, ja es muss funktionieren, wenn Maxim die verkauft. War uns (ihm) peinlich, aber war passiert. Heute könnte man einfach in ein Datenblatt schauen. Aber lassen wir das.
Karl B. schrieb: > Hab ich doch glatt vergessen Jo. USB-Stecker rein und rödelt eine Minute von selbsten. ciao gustav
Angsthase schrieb: > wobei eine Spannung zwischen −3 V und −15 V (ANSI/EIA/TIA-232-F-1997) > eine logische Eins und eine Spannung zwischen +3 V und +15 V eine > logische Null darstellt. Wobei das die Spannung an einem Eingang beschreibt. Zusammen mit der an anderer Stelle beschriebenen Strombegrenzung (Kurzschlußfestigkeit) und dem Spannungsabfall im Kabel sind am Sender sehr wohl höhere Spannungen als 3V notwendig, um die Norm einzuhalten. MfG Klaus
Auch der kleine Tiny13 lässt sich über das Adapterkabel mit dem Hyperterminal am PC ansprechen. Hier z.B. den Datenlogger: http://www.rolf-grauer.de/Datenlogger.html Gruß Rolf.
Hi, hier wird's schwierig(er). C* 979767 8-kanaliges 10-Bit-Datenerfassungssystem mit LTC1090. Basic konnte "direkt" auf Schnittstellen zugreifen. ... 110 OUT&H3FC,(&HFE AND INP(&H3FC)) ... was immer das zu bedeuten hatte. Knoble gerade daran, das GWBasic Proggi auf ATMEL AVR ASM umzumodeln. Der große Geistesblitz ist mir dabei noch nicht gekommen. "...Der Datentransfer spielt sich zwar über die serielle Schnittstelle ab (COM1), läuft dort aber nicht wie üblich über die normalen Datenleitungen Rx und Tx, sondern nur über die Statusleitungen DTR, RTS und CTS..." ciao gustav
:
Bearbeitet durch User
Rolf G. schrieb: > Das hat am PC-damals wunderbar funktioniert! > http://www.rolf-grauer.de/Mega8.html Da kommt einem ja das Grauen. Ja, es gab RS232 Schnittstellen (Empfänger), die ihre Schaltschwelle bei ca. 1.4V hatten, passend zu TTL Signalen, und ein LS-Schaltkreis geht auch nicht glich kaputt, wenn er üer 10k eine höhere Spannnug sieht. Aber Standard war, daß man zumindest -3V braucht, damit MARK zuverlässig erkannt wird. Dein Gebastel ist einfach nur grausamer Schrott. Einzig tauglich als schlechtes Beispiel wie man es nicht macht.
Mit dieser Lösung kann ich mit jedem USB-RS232 Adapter von PC kommunizieren...
B. P. schrieb: > Mit dieser Lösung kann ich mit jedem USB-RS232 Adapter von PC > kommunizieren... und ich damit https://www.ebay.de/itm/RS232-TTL-Mini-Konverter-Modul-Board-MAX3232-Arduino-Bascom-PC-MCU/112837635875 passt in jedes Steckergehäuse, D-sub MALE/FEMALE sowie 9-pol/25-pol nach Wahl
Hallo MaWin, den Max232N kenne ich und hab ihn auch schon eingesetzt. Ist natürlich vom Signalpegel und Invertierung die Standardlösung. Aber vielleicht hast du es mittlerweile verstanden, mein beiden Beispiele sind Minimallösungen!
Rolf G. schrieb: > Aber vielleicht hast du es mittlerweile verstanden, mein beiden > Beispiele sind Minimallösungen! Nein, es sind schlicht und einfach keine Lösungen. Es ist Pfusch.
MaWin schrieb: > Aber Standard war, daß man zumindest -3V braucht, damit MARK zuverlässig > erkannt wird. > > Dein Gebastel ist einfach nur grausamer Schrott. > Einzig tauglich als schlechtes Beispiel wie man es nicht macht. Wenn Du keinerlei Erfahrung mi9t seriellen Schnittstellen hast, oder Dich nur hinter Normen versteckst, dann lerne doch von den Erfahrungen anderer. Oder zeig mir eine kaufbare Hardware (link reicht), die Deine Ansicht irgendwie stützt. (der echte MaWin hat da eigentlich mehr Ahnung)
Für den schnellen Aufbau habe ich meist 1 x MC1489 als Inverter genommen, wobei die Hälfte ungenutzt bleibt. Rx-seitig werden alle Signale "normgerecht" verarbeitet; Tx-seitig werden zwar nur ca. 5 Vss ausgegeben, was aber in der Regel bis 115 kBd reicht. Die MAX232 o.ä., die mit Vcc 3-5 V arbeiten, haben ihre Schaltschwelle so um die 1,5 V und können 5 V Pegel bestens verarbeiten. Negative Signalpegel brauchen nur noch ältere Empfänger, bei denen die Hysterese 'künstlich' nach unten auf 0 V verschoben wurde. Das macht man heutzutage nicht mehr.
m.n. schrieb: > Negative Signalpegel brauchen nur noch ältere Empfänger, bei denen die > Hysterese 'künstlich' nach unten auf 0 V verschoben wurde. Das macht man > heutzutage nicht mehr. In den letzten 20 Jahren habe ich das nicht mehr gesehen. Nur irgend so ne Kiste von Siemens mal vorher. Bei manchen ICs konnte man früher wohl die Schwelle per Pin auf 0 oder drunter ziehen, aber der war nie aktiv.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.