Gerne wird vergessen, dass der MC per default auf 1 MHz (interner RC-Oszillator) läuft, wenn man die Fuses nicht entsprechend setzt hilft da auch der 16 MHz Quarz nichts.
Hallo Gemeinde
Mit grosser Begeisterung habe ich vor einigen Wochen mein neues "RN-Control-Board" in Betrieb genommen.
Die ersten Übungen mit den obligaten LED- und Sound-Beispielen konnte ich (auch Dank guten Typs aus diesem Forum) erfolgreich durchführen.
Leider gelingt es mir jedoch nicht, Daten (z.B. Texte) vom RN-Control auf den PC-Bildschim zu schicken. Der Terminalemulator im AVR-Programm bleibt dunkel.
Ich arbeite mit:
- RN-Control V 1.4, ATMega32
- Quarz 16 MHz
- AVR Basom Compiler
- ISP Dongle als Verbindung zum Druckerport am PC (Original Robotikhardware)
- RS232-Kabel ist mit dem COM-Anschluss am PC verbunden
- Die Baudraten sind auf 9600 Baud eingestellt (Habe auch schon mit anderen Baudraten probiert)
- PC mit Win XP
- Alle "Fuse-Bits" Einstellungen habe ich unverändert übernommen
Ich habe in diversen Foren auch schon gelesen, dass das Problem bekannt ist. Diverse Tips und Lösungsansätze habe ich auch schon ausprobiert.
- Com-Port kontrolliert und Treiber neu installiert
- RS232-Kabel ausgewechselt, kontrolliert, umgesteckt etc.
Wo habe ich möglicherweise bei der Installation Fehler gemacht?
Für Typs bin ich sehr dankbar.
MfG
Fritz
Gerne wird vergessen, dass der MC per default auf 1 MHz (interner RC-Oszillator) läuft, wenn man die Fuses nicht entsprechend setzt hilft da auch der 16 MHz Quarz nichts.
Dass ich die Fuses nicht verändert habe stimmt leider nicht ganz....! sorry
Ich habe gleich am Anfang in den Fusebit-Einstellungen - als einzige Änderung - die "Fusebit KLA987" gemäss den Angaben im RN-Control Manual auf "111111:Ext. Crystal" umgestellt.
Interessant ist übrigens auch, dass im Simulator-Mode des Basic Compilers die Print-Befehle nicht angezeigt werden.
Könnte da ev. die Ursache sein, dass via RS232 gar keine Daten zum PC gelangen?
Hallo Fritz,
Wenn Terminalemulator im AVR- Programm dunkel bleibt, nimm als erstes mal ein externen Terminalemulator. Ich lege mal einen bewährten in Anhang. Dann sehen wir weiter wenn keine Zeichen ankommen.
Wichtig ist nur die COM- Portauswahl im Terminal muss stimmen. Wird Mist angezeigt dann liegt es an der Baudrate. Kommen auch keine Zeichen müssen wir die Fuses Einstellungen abgleichen und erst dann prüfen wir ob es ein Fehler in der Hardware ist.
Mit freundlichen Grüßen
Fred
Hallo Fred
Besten Dank für die schnelle Antwort und das angefügte Terminalprogramm.
Die Hoffnung war gross, dass ich mit deinem Terminalprogramm endlich einen Schritt weiterkomme....
Leider bleibt der Bildschirm weiterhin dunkel!
Bei weiteren Tests habe ich heute festgestellt, dass das Bascom-interne "Simulations-Modul" immer dann stoppt, sobald es auf einen Wait- oder Sound-Befehl trifft.
Das sehr einfache Programm stoppt also nach dem ersten Print Befehl.
Print "Hello World"
Wait 1
Print "Hello Schweiz"
End
Könnte das ev. auf falsche Fusebit Einstellungen hinweisen?
Im Anhang findest du meine Fusebit-Einstellungen.
Mit den KO kann ich ürigens am RS232-Ausgang des RN-Control feststellen, dass dort ein Signal gesendet wird.
Was das für Daten sind, sehe ich natürlich nicht. Im Terminalprogramm sollten somit doch mind. "wilde Zeichen" erscheinen....
MfG
Fritz
Hallo Fritz,
wenn Du am RS232-Ausgang Signale hast sollte die Fusebit Einstellung OK sein.
Oft liegt der Fehler beim COM- Kabel. Ein Nullmodemkabel funktioniert nicht TX/RX sind zum PC gedreht.
Also prüfen ob es wirklich ein 1:1 Kabel ist.
Hast du nur ein kleines Testprogramm dann sende es bitte komplett. Die Header Einstellungen sind für unsereins wichtig zu sehen, wie bestimmte Register eingestellt sind.
Beispiel für Test:
$regfile = "m32def.dat" ' specify the used micro
$crystal = 16000000 ' used crystal frequency
$baud = 9600 ' use baud rate 9600
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 32 ' default use 32 for the SW stack
$framesize = 40
‚Schleife alle 2 Sekunden neu senden.
Do
Print "erstallt am : " ; Version(1)
Print "Version Code : " ; Version(3)
Wait 2
Loop
End
Mit $baud =9600 reservierst Du die Pins PD0 und PD1 als UART mit 9600 legst Du die Rate fest die auch so im Terminal eingestellt werden muss usw.
PS. bin auch fredlich1
Gruß
Fred
Hallo Fred
Deine Hilfe ist grossartig. Vielen Dank
Leider ist mein persönliches Timing für dieses Thema schlecht gewählt!
Wir verreisen heute für 2 Wochen in die Ferien.
Ich bin zwar während dieser Zeit via dieses Forum jederzeit erreichbar, aber Tests am RN-Control kann ich dort leider nicht machen
Sehr gerne würde ich danach nochmals auf dich zukommen (ab 23.09.15)
Das RS232-Kabel habe ich schon mehrmals kontrolliert. Es ist OK!
Nochfolgend findest du das komplette (sehre einfache) Listing womit ich meine Tests ausführe.
Nochmals herzlichen Dank für deine Unterstützung
LG Fritz
'************************************************* ******************************
'Hello Schweiz
'03.07.2015
'************************************************* ******************************
$regfile = "m32def.dat" 'Controllertyp
$hwstack = 32 'Hardware-Stack
$swstack = 32 'Software-Stack
$framesize = 32 'Frame
$crystal = 16000000 'Quarzfrequenz
$baud = 9600 'Baudrate für RS232
'************************************************* ******************************
'-----Deklarationen-----
Config Portd.7 = Output
'************************************************* ******************************
'-----Programm-----
Do
Sound Portd.7 , 262 , 2548
Print "Hello World"
Wait 1
Print "Hello Schweiz"
Sound Portd.7 , 523 , 1274
Wait 2
Loop
End
Hallo Fritz,
wünsche geruhsame Urlaubstage. Schalte ab und entspann dich. Bin mir sicher das wir den Fehler finden werden.
Mit freundlichen Grüßen
Fred
Hallo Fritz,
Prüfen ob COM am PC IO ist wenn nicht 100% sicher das die Schnittstelle mit anderen Gerät schon funktioniert hat.
Ob COM am PC Okay ist, siehst du ja in der Systemsteuerung unter Geräte- Manager welcher Kommunikationsanschluss freigegeben ist.
In deinem Fall sollte es COM1 sein.
Noch ein Tipp: Kannst auch bei Start Ausführen "cmd" in das Suchfeld eingeben nun bist du ins „Eingemachte“. Schreib nun "net start" und bestätigen mit der Eingabe-Taste, um zu sehen, welche Ports geöffnet sind. Dort siehst du auch ob COM+- Ereignissystem/ Terminaldienste aktiv ist. Aber bitte nur anschauen nicht editieren, währ ja ein Eingriff ins Betriebssystem.
Wenn JA sind wir uns erst mal sicher am Empfang liegt es nicht. Nun machen wir weiter mit RN- Control.
1. Messe den Durchgang im spannungsfreien Zustand von RS232 IC Pin mit COM Kabel am Board zur Sub- Buchse für PC durch. RX,TX und GND. Ist hier auch alles Okay dann
2. COM- Kabel entfernen Board Spannung geben und am RS232 IC den Spannungshub an Pin2 und Pin6 messen. Sollte für COM- Pegel(V24) min 9Volt sein.
Im Anhang Schema für Prüfung.
Hab so ein RN- Control Board noch nie in den Händen gehabt, sollen aber sehr gut sein. Der größte Vorteil des Board ist, die IC’s sind gesockelt.
Bin immer noch der Meinung es ist ein Anschluss- Kommunikationsfehler.
Mit freundlichen Grüßen
Fred
Hallo Fritz,
Da ich nun weiß (durch PN), du benötigst nur Hilfe für MC- Sicherungseinstellungen(Fuse Bits), wird wohl doch hier dein Problem liegen da Hardware sorgfältig geprüft wurde.
Hatte nicht genau deine Fuses- Einstellungen angeschaut, da du ja am RS232 Signale gemessen hast, nahm ich an MC und RS232 kommunizieren. Mein Denkfehler in #6. Waren wohl nur TTL- Pegel.
Nun stelle bitte mal das Fusebit B auf enabled (BODEN = 0)
Kannst dich nach deinem Urlaub im Forum melden, ob deine 1.Vermuhdung der Fehler war.
Gruß
Fred
Lesezeichen