PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Serielle Schnittstelle - was ist falsch???



Import-Script
19.01.2002, 11:25
Hallo <BR>ich versuche zur Zeit meinem Robbi mit Hilfe eines FT639 Servocontroller IC&#39;s einen Roboterarm zu bauen. Der IC wird seriell angesteuert &uuml;ber 2400 Baud und stopbit. Ich hab&#39; jetzt mit Hilfe des Code Generators von www.erikbuchmann.de eine Software geschrieben, die alle daumenlang die Zahl 117 seriell ausgibt. Wenn der servo Controller freundlcherweise auch mal die Zahl empfangen w&uuml;rde w&uuml;rden sich die Servos in ihre Grundposition stellen. Ich hab&#39; mein Problem schon im roboterwelt.de Forum gepostet, aber die konnten mit meinem Listening bisher nix anfangen ;o&#41; <BR> <BR> <BR>INCLUDE 89c2051.mc <BR>; Initialisierung <BR>;--------------------------------------------------------------- <BR>org 0h <BR>JMP start <BR> <BR>start: <BR>; serielle Schnittstelle aktivieren <BR>; 2400 Baud, Modus 1 <BR> mov TL1, #243 <BR> mov TH1, #243 <BR> <BR>; die SFR&#39;s initialisieren <BR> mov SP, #20h <BR> mov SCON,#82 <BR> mov TMOD,#32 <BR> mov TCON,#64 <BR> <BR> <BR>call pause <BR> <BR> <BR> main: <BR>; der ic startet immer im setup mode <BR>MOV A, #117 ;active Mode <BR> <BR>call serial_out ;senden <BR>call pause ;p&auml;uschenmachen <BR> <BR>JMP start ;wieder von vorne anfangen <BR> <BR>serial_out: <BR>; auf Abschlu&szlig; des letzten Sendevorganges warten <BR> JNB SCON.1,serial_out <BR> CLR SCON.1 <BR>; senden <BR> MOV SBUF,A <BR> RET <BR> <BR> Pause: <BR> MOV R0,#255 <BR> Schleife2: <BR> MOV R1,#255 <BR> Schleife3: <BR> NOP <BR> NOP <BR> DJNZ R1, Schleife3 <BR> DJNZ R0, Schleife2 <BR>RET <BR> <BR> <BR>W&auml;re wirklich super wenn mir jemand helfen k&ouml;nnte!!! Ich hab&#39; schon sehr viel Zeit investiert - ohne Erfolg...... <BR>Das ganze l&auml;uft &uuml;brigens mit einem 12 Mhz Quarz <BR> <BR>Vielen Dank <BR>Christian

Import-Script
19.01.2002, 12:35
Hi Christian, <BR>Du solltest erstmal untersuchen wo der Fehler ist. <BR>Ein Terminalprogr. am PC aufmachen, auf 2400,8,N,1 stellen und dein &micro;C Signal in RXT einspeisen . Es mu&szlig; ein kleines &#34;u&#34; &#40;wenn Hex dann $75&#41;empfangen werden. Wenn ja, &micro;C io. Mit f&auml;llt gerade ein, wenn du keinen RS232 Treiber benutzt, mu&szlig;t du das &micro;C Signal inv.&#40;extern wegen Stopbit&#41; <BR>Noch ein Gedanke, will der FT639 ein Startbit? Normalerweise ja, aber wissen kann man nie. Nun kannst du mit der selben Terminaleinst. und <BR>TXT -&#62; FT639&#40;RXT&#41;den Servokontr. ansteuern, indem du lauter kleine u&#39; s sendest. Zum Ansteuern des FT639 &uuml;ber PC brauchst du allerdings einen RS232-Umsetzer &#40;Max232 o.&auml;.&#41;. <BR>So mehr f&auml;llt mir momentan nicht ein. <BR>Viel Erfolg Uwe

Import-Script
19.01.2002, 12:49
Hi Uwe <BR>vielen Dank f&uuml;r deine Antwort!!!! <BR>Kann den MC direkt an die serielle Schnittstelle des PC&#39;s ansclie&szlig;en, ohne Pegelwandler??? <BR>Von einem Startbit ist im Datenblatt nicht die rede: <BR><A HREF="http://www.ferrettronics.com/docs/FT639/ft639.pdf" TARGET="_top">http://www.ferrettronics.com/docs/FT639/ft639.pdf</A> <BR>Der IC, kann, wenn er mit einer Dioden und 2 Widerst&auml;nden beschalten wird auch direkt von der seriellen Schnittstelle angesteuert werden. Es gibt unter www.ferretronics.com eine Software f&uuml;r den PC, mit der sich der IC bei mir einwandfrei steuerun l&auml;sst. Ich hab&#39; noch nie mit einem terminalprogramm gearbeitet - aber so schlimm kanns schon nicht sein. <BR> <BR>Vielen Dank f&uuml;r deine Hilfe!!!! <BR> <BR>mfg Christian

Import-Script
19.01.2002, 13:10
Hi Christian, <BR>Also wenn du keinen Pegelwandler f&uuml;r den FT brauchst,&#40;Testsoftw. geht ja auch ohne&#41; mu&szlig;t du das &micro;C Signal inv., denn <BR>TTL-H = 5V; RS232-H = 0 bis - 24V <BR>Gru&szlig; Uwe

Import-Script
19.01.2002, 13:30
Hi Uwe <BR>Danke f&uuml;r deine Hinweise!!! <BR>Tut mir leid, aber ich bin nicht so bewandelt - vielleicht kannst du mir das bitte noch mal etwas genauer erkl&auml;ren..... <BR> <BR>1. Woher krieg ich ein daf&uuml;r geeignetes Terminalprogramm? hab&#39; mir gerade von computerchannel absolute telnet runtergeladen, ich blicks aber wohl nicht so ganz. <BR> <BR>2. wie kann ich das Signal invertieren??? Invertieren hei&szlig;t doch nur aus einer 1 eine null machen und aus einer 0 ein 1 oder hab&#39; ichs mal wieder nicht so ganz &uuml;berrissen??? <BR> <BR>Naja OK ich probier mal ein wenig rum...... vielleicht geht&#39;s ja jetzt auf einmal - wer wei&szlig;??? <BR> <BR>Freu&#39; mich auf deine Antwort!!!! <BR> <BR>mfg <BR>Christian

Import-Script
19.01.2002, 16:38
Mit dem HyperTerminal m&uuml;sste es funktionieren &#40;bei jedem Windows dabei&#41; <BR> <BR>mfg <BR>Mike

Import-Script
19.01.2002, 16:47
Hyperterminal ist bei jedem Window&#39;s dabei. <BR>Lasse einfach Hypertrm.exe mal suchen. <BR>&Uuml;brigens Protokoll bitte auf &#34;ohne&#34; stellen. <BR>Zum Inv. einfach ein Gatter oder Transist. an den &micro;C-Ausgang und dann erst zum PC. Die meisten PC&#39;s kommen auch mit 5P und 0,8V klar obwohl ja eigentlich nicht richtig. <BR>Gru&szlig; Uwe

Import-Script
19.01.2002, 20:08
Hallo <BR>vielen Dank f&uuml;r eure Hinweise!!!!!!!!!! <BR>Irgendwie bin ich zu minderbemittelt um die Sache zum Laufen zu bringen....... <BR>1. Mir gelingt es nicht, daten vom MC in das Hypererminalfenster zu bringen <BR> <BR>2. Mir gelingt es nicht, Daten an diesen Servocontroller IC zu schicken &#40; com2 konnte nich ge&ouml;ffnet werden. bitte &uuml;berpr&uuml;fen sie die Anschlusseinstellungen. - welche denn??????&#41; <BR> <BR>wenn ich s mir recht &uuml;berlege bringt es doch gar nicht all zuviel, wenn ich es schaffe vom Hyperterminal diesen IC anzusteuern. Es ist mir ja m&ouml;glich mit der Software von Ferretronics den Roboterarm zu steuern, also funktioniert wohl der IC und die Beschaltung ist OK. Irgendwie muss also der Fehler in dem Programm sein, oder auf der Kabelverbindung liegen - die Kaberlverbindung besteht aus 2 Dr&auml;hten - 1 f&uuml;r gnd und 1 f&uuml;r serielle Schnittstelle &#40;das hab&#39; ich schon 6x ausgemeseen, da kann ich ja nicht viel falsch machen&#41;. Die 2. Feherlm&ouml;glichkeit muss also dieses Programm sein. Aber was kann man da falsch machen??? K&ouml;nnte vielleicht die Baudratenberechnng einen Fehler haben??? &#40;ich verwende einen 12 Mhz Quarz&#41;. Das ganze ist doch echt Idiotensicher - das m&uuml;sste doch sogar bei mir auf Anhieb klappen. <BR> <BR>Ich hab&#39; allein heute den halben Tag damit verbracht diesen IC anzusteuern, aber er will einfach nicht. <BR> <BR>Vielleich hat ja noch jemand eine kreative Idee - bin f&uuml;r alles dankbar &#40;Danke schonmal, dass du dir das lange Posting durchgelesen hast.....&#41; <BR> <BR>Sch&ouml;nen Sonntag!!!!! <BR> <BR>mfg <BR> <BR>Christian

Import-Script
19.01.2002, 20:19
Hallo Christian, <BR> <BR>wenn das, womit es funktioniert PC-Software ist, dann brauchst Du auf alle F&auml;lle einen Pegelwandler. <BR>Wenn Du da nicht sehr erfahren bist, nimm den MAX232, damit stimmen die Pegel auf alle F&auml;lle. <BR> <BR>Auch ist es sinnvoll erst zu &uuml;berpr&uuml;fen, ob man mit dem PC kann, dann klappts auch mit dem Roboterarm. <BR> <BR> <BR>Peter

Import-Script
19.01.2002, 20:49
Hallo Peter <BR>zuerst mal danke f&uuml;r dein Posting!!! <BR>Der FT639 braucht keinen Pegelwandler. Der kann laut Datenblatt direkt von einem MC angesteuert werden, oder aber &uuml;ber zwei widerst&auml;nde und eine Diode vom Computer angesteuert werden. Das mit dem Computer funktioniert ja auch einwandfrei unter Verwendung der von ferretronics bereitgestellten Software. <BR> <BR>Das mit dem PC blick ich ja eben nicht.... <BR> <BR>Naja ich versuh&#39;s mal wieder &#40;hab&#39; gerade wieder mut gefasst, da ich sonst einen Deutschaufsatz schreiben muss....&#41; <BR> <BR>mfg

Import-Script
19.01.2002, 20:51
Hey ich hab&#39;s gerade geschafft!!!!!!!!! <BR>Allerdings nur &uuml;ber den PC, aber immerhin....... <BR>Ich sende also diese u &#40;diesmal hat&#39;s ohne Fehler funktioniert, keine Ahnung was ich jezt anders gemacht habe&#41; und dann funktionierts - alle Servos gehen auf Position Null - die Frage ist nur, was mir dise Erkenntnis jetzt bringt....... <BR> <BR>Naja dann st&uuml;rz ich mich mal auf meinen MC..... <BR> <BR>mfg <BR> <BR> <BR>PS: Bin immer noch f&uuml;r Tipps jeder Art dankbar!!!!!

Import-Script
19.01.2002, 22:19
Hi Leute <BR>ich bin zwar immer noch nicht beim Erfolg, aber immerhin hab&#39; ichs nach einer kleinen Mahlzeit geschafft Daten einzulesen &uuml;ber das Hyperterm. <BR>Ich lass den MC gerade endlos oft die 117 senden und sehe dann auf meinem Bildschirm lauter $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$. Naja immerhin - oder??? <BR>Was sagt mir das jetzt???? <BR>Vielleicht das die Baudrate falsch eingestellt ist. Ich probier mal ein wenig rum.... <BR> <BR>Vielen Dank f&uuml;r eure Unterst&uuml;tzung !!! <BR> <BR>mfg Christian

Import-Script
20.01.2002, 12:04
Hi Christian, <BR>Langsam geht&#39;s vorw&auml;rts! Also das Einlesen sollte auch ohne MAX gehen, aber Garantie gebe ich nat&uuml;rlich keine.&#40;jeder PC ist anders&#41; Wichtig ist nur Sign. inv.! Den Inv. brauchst du vermutlich sp&auml;ter auch noch. Ich habe mal schnell was gezeichnet was RS232 sehr nahe kommt, hoffentlich klapt es mit dem Bild. Bitte keine geerdeten Me&szlig;mittel benutzen !!!&#40;Schutzleiter!&#41; <BR>Was du jetzt auf dem Bildschirm hast, sieht nach falscher Baudrate aus. Zu den Registern deines &micro;C&#39;s mu&szlig;t du mal die Spezi&#39;s fragen, ich kenne ihn nicht. Wird die Baudrate nur &uuml;ber die beiden Reg. eingestellt oder gibt es noch irgendwo Vorteiler?&#40;bei mir ist das so&#41; <BR>Gru&szlig; Uwe <BR><IMG SRC="http://progshop.com/elektronik/diskussion/messages/6028/2196.gif" ALT="RS232-INV.">

Import-Script
20.01.2002, 17:47
Hi <BR>vielen Dank f&uuml;r die ganzen M&uuml;hen die ihr euch wegen mir gemacht habt!!!! &#40;danke Uwe f&uuml;r deinen Schaltplan!!!&#41;. Es funktioniert zwar immer noch nicht, aber ich hab&#39; ein L&ouml;sung: <BR> <BR>Ich kleiner Krapfen h&auml;tte wohl besser gleich in der FAQ von ferretronics.com nachschauen sollen, da steht n&auml;mlich: <BR> <BR>Q: Why won&#39;t the FT639 respond to an Atmel 89C55 8051? <BR> <BR>A: The 8051 sends a voltage of 0 volts out for a start bit of 0 and a voltage level 5v for a stop bit of <BR>1. This means that logic level 0 = 0 volts and logic level 1 = 5V. Our chip uses logic level 0 = 5V and logic level 1 = 0V. If you put a simple inverter in the circuit, then it will work correctly. Look on a scope and the com line going to the FT639 should be zero volts before sending a byte and zero volts after. You should see a 5V start bit. <BR> <BR>Ich hoffe nicht, dass sowas schon mal einer von euch gepostet hat, und ich hab&#39;s nur falsch verstanden &#40;das mit dem invertieren hat sich doch immer auf den PC bezogen , oder?????&#41; <BR> <BR>Naja ich hoffe, dass ich jetzt vorw&auml;rts kommen, ic hab&#39; aber keine Zeit es jetzt auszuprobieren, weil ich noch meinen Deutschaufsatz fertig schreiben muss....... <BR> <BR>Vielen Dank an alle Antworter!!!!!!!!!!!!!!!!! <BR> <BR>sch&ouml;nen Sonntag Abend noch und einen guten start in die neue Woche!!!!!! <BR> <BR>mfg <BR>Christian

Import-Script
20.01.2002, 18:32
Wo gibt es denn denn FT639 ??? <BR> <BR>MFG <BR>Martin

Import-Script
20.01.2002, 18:59
Hi <BR>den gibt&#39;s bei <A HREF="http://www.sytec-net.de/" TARGET="_top">http://www.sytec-net.de/</A> <BR>Allerdings sauteuer &#40;bis ich ihn in den H&auml;nden halten durfte bin ich 49,-DM losgeworden - inklusive Porto &#43; verpackung &#43; Mwst.&#41; <BR> <BR>Software f&uuml;r BS und PC gibt&#39;s bei www.ferretronics.com &#40;da gibt&#39;s den ic glaub&#39; ich auch&#41; <BR> <BR>mfg <BR>Viel Erfolg damit!!!!

Import-Script
20.01.2002, 19:54
Juhuuuuuuuuuuuuuuuuuuuuuuuuuu es funktioniert nun endlich!!!!!!!!!!!!! <BR>Ich hab&#39; mir einen einfachen Inverter gemacht, fast wie von Uwe vorgeschlagen &#40;Danke Uwe&#41; und jetzt funktiniert es!!!! <BR>Immerhin die Servos gehen in Ausgangsposition - die Postion zu &auml;ndern kann ja nicht mehr so schwer sein............... <BR> <BR>Vielen Dank an alle,die mir geholfen haben, oder es versucht haben!!!! <BR>ich versuch&#39;s mal postiv zu sehen - ich hab&#39; bei der ewigen Fehlersuch immerhin etwas Erfahrung mit seriellen Schnittstellen und Hyperterminal usw. sammeln k&ouml;nnnen!!!!! <BR>Das dumme ist nur, dass mein Aufsatz immer noch nicht fertig ist, aber der wird schon noch.... <BR> <BR>mfg <BR>der gut gelaunte Christian

Import-Script
20.01.2002, 20:52
Hi Christian, <BR>Das mit dem Inv. hatte ich schon in meinem 2. Posting gemeint. Na egal Hauptsache es geht jetzt. <BR>Viel Erfolg Uwe

Import-Script
24.01.2002, 20:31
Hallo <BR>schon wieder zur&uuml;ck - neues Problem: <BR>dieser bekloppte IC frisst immernur mein erstes byte - ich vermut ich hab&#39; irgendwie ein stop oder startbit nicht, was die normale rs232 vom PC schon hat. Ich hab&#39; schon wieder ewig viel rumprobiert , aber es will mal wieder nicht - kann mir jemand sagen, wass ich jetzt schon wieder falsch mache???? <BR>Im Datenblatt steht ja dass, der IC ein stopbit bracuht, aber ich hab&#39; irgendwo gelesen, dass es auch reicht, wenn der MC die Zeit wartet, die die &Uuml;bertragung des stopbits gedauert h&auml;tte - also einfach 5ms Pause. Vom startbit ist nicht die rede im Datenblatt, aber vielleicht brauch ich das ja unbedingt...... <BR> <BR>W&auml;re echt super nett... <BR> <BR>Vielen Dank <BR>mfg

Import-Script
24.01.2002, 22:33
Hallo leute <BR>hab&#39; fast genau 2 stunden gebraucht um selbst draufzukommen: <BR> <BR>nach jedem senden muss noch ein <BR> <BR>setb p3.1 <BR>call 0.41ms <BR> <BR>hin, damit das signal auch vom ft693 verstadnen wird. &#40;setb wird nochmal durch Hardware invertiert&#41; - dummer Fehler von mir.... <BR> <BR>mfg <BR>Christian

Import-Script
27.01.2002, 18:36
&Uuml;berigens: Bei www.erikbuchmann.de findet sich unter Code-Generator eine Software Rs232c. Die kann per Option das Signal &#43; Stop-Bit Invertieren.