PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Servos über RS232 auf RNBFRA1.2 mit AT90S2313 steuern



Daveler
15.11.2004, 12:42
Hallo!

Erst mal vor weg: Ich kenn mich garnicht aus, und bin ganz neu. Zweitens: Ich habe (und zwar wirklich wirklich) seit 2 Wochen herumgesucht und probiert, aber ich habe es trotz unzäligen versuchen nicht geschafft diese Servos zu steuern.

Ich bin mir sicher, die Lösung ist genau so krz, wie simpel, aber ich schaffs einfach nicht.

Folgender Aufbau:

Meine Servos hängen am den Servoanschlüssen von RNBFRA_V1.2 Roboterboard. Dort ist auch der Atmel AT90S2313. Wurde laut Dokumentation als CoController deklariert. Das heißt desweiteren, der ISP Dongel ist mit meinem PC auf der Parallelen Schnittstelle verbunden und am Board auf der ISP2 Schnittstelle. Außerdem habe ich den Pc über die Serielle Schnittstelle mit dem Board verbunden und zwar auf der echten RS232 Schnittstelle am Board (unten zwischen EIngängen und PowerPort).

Ich würde gerne einen Befehl an die Rs232 Schnittselle schicken, und dann soll sich das (die) Servo(s) drehen. Dieser Befehl wird dann (was ich so gelesen hab) so aussehen: #S....... und dann Servonummer und Winkel; beides in ASCCI. Aber mit welchem Programm schick is das an die RS232? Visual Basic selber schreiben (kann ich nicht)? Konsole? Hyperterminal (da lässt er mich nichts schreiben)?

So siehts mal ganz genau Hardewaremaßig aus.

Softwareseitig habe ich folgendes geschafft, wobei ich nicht sagen kann, ob das überhaupt richtig war, jedenfalls ist keine Fehlermeldung gekommen.
Ich habe alle Einstellungen in Bascom so gemacht wie auf einigen Seiten erklärt. Ich habe auch alle Testprogramme die auf der CD beim Board dabei waren erfolgreich testen können. Aber bei den Servo scheitere ich.

Ich habe die Software rnkc10.rar geladen, und entpackt. Zuerst habe ich versucht, die dateien mit C++ zu laden und zu kompilieren, das hat aber nicht geklapt, weil er die avr/io.h nicht kennt (logisch). Dann habe ich mit Bascom die rnkc10.hex Datei mit Hilfe des Terminal emulators übertragen. Das hat unter umständen wunderbar geklappt zu haben. Die Statusanzeige ist langsam voll geworden, und dann wars fertig. Bei den Servos hat sich aber logischerweise nix getan.

Oder muss ich das ganze etwa in WINAVR machen?

Ich komm einfach nicht weiter.

Mit welchem Programm soll ich arbeiten? Oder sind es mehrere? Welche Einstellungen brauch ich in dem Programm? Wie steuer ich die an? Wie soll ich was anschließen? Hab da von einer Brücke gelesen, die man setzen muss. Oder is das einem anderen COntroller? Jedenfalls ist das bei mir auch etwas anders beschriftet. Und es tut sich egal welche Brücke ich setze trotzdem nichts.

Ich bin echt schon am verzweifeln, ich schaffs einfach nicht. Hoffe ihr könnt mir helfen.

mfg

Dave

Daveler
15.11.2004, 15:48
hab den Thread auch in der Kategorie Elektronik eröffnet, weil ich mir nicht ganz sicher war, wo hin damit. falls er in elektronik besser ist, diesen hier bitte schließen.
thx

Frank
15.11.2004, 18:43
Hast du auch den richtigen treiber aus dem Download und die Verbindungen auf dem Board richtig gemacht.
Schau dir mal diesen Thread an, dort wird es mit Bildern erläutert
https://www.roboternetz.de/phpBB2/viewtopic.php?t=1995&highlight=servos+rnbfra

Übertragen mußt du mit dem Bascom eingebauten programmer das Hex-File. Datei im Programmer laden und dann übertragen

Bitte nicht so schnell doppelt posten!

Daveler
15.11.2004, 20:00
ja, den Thread kenn ich. Hab es auch nach der Anleitung gemacht. Ist der RNS1 das selbe wie der AT90S2313?
Ich habe es auch mit dieser Brücke versucht. Unterschied hat es keinen gemacht.
Außerdem habe ich es geschafft das *.hex file auf das Board zu laden (mit dem Terminal Emulator.... war das richtig?)
Aber wie steuere ich die Servos dann? Mit welchem Programm? Und wo schließe ich was an?
Auf dem Board das ich habe, ist allerdings auch dieserAnschluss JP16 anders beschriftet. Wenn ich nach der Beschriftung gehen würde die auf der Platine ist, würde ich sagen, dass "RX" links in der mitte ist und "3" rechts unten. (Richtungsangaben laut Bildern)

Sorry wegen dem doppelten Thread. Wo würde er denn jetzt besser passen? Hier oder in Elektronik?

mfg

Dave

Frank
15.11.2004, 20:12
AT90S2313 heißt der unprogrammierte COntroller. Wenn du das Programm RNS1 (Hex-File) in den Controller lädst, erst dann nennt sich das ganze RNS1. Der Name wurde vergeben weil es den Controller auch bereits programmiert zu kaufen gibt, falls jemand nicht den passenden Programmierdongel hat (zum Beispiel C-Control Besitzer).

Mit dem Terminal Emulator kann man kein Programm laden. Etweder hast du was falsch gemacht oder du wirfst nur die Begriffe durcheinander. Du mußt in Bascom das grüne Symbol klicken, dann kommst du in den Programmer. Dort kannst Du Datei laden und dann in den Chip übertragen.
Wenn dann alle Verbindungen korrekt stimmen und auch im Hauptkontroller das richtige Ansteuerprogramm drin ist, dann klappt das auch alles.
Abber aller Einsteig ist schwer - Stück für Stück vorgehen. Du solltest dich erts einmal etwas mehr mit Bascom anfreunden damit das alles zur Routine wird.

Fragen zu RN-Boards kannst du hier posten. Allgemeinere Fragen zur Programmierung in Bascom am besten ins Bascom Forum. Manche Dinge überscheiden sich ein wenig, es ist nicht schlimm wenn es dann nicht 100% paßt, hauptsache 90%. Die meisten lesen sowieso alle neuen Beiträge!

Also der Jumper JP16 ist eigentlich schon immer so, wenn ich mich richtig erinnere. Eventuell ist die Position des Jumpers bei dir noch etwas anders, aber die reihenfolge der PIN´s hat sich nie verändert

Daveler
15.11.2004, 20:36
Ok, das mit dem namen hab ich verstanden.

Wenn ich den Controller laden will, dann muss ich auf ISP2 anstecken. Richitg? Frequenz muss ich auf 4mhz oder 8 stellen? Ich hab 8 genommen und überall 9600 baud eingestellt. War das richtig?

Prinzipiell hab ich ja alles mit dem grünen Symbol geladen. Damit haben auch die Testprogramme alle funktioniert. Allerdings ist es so, dass wenn ich dann das Board vom Strom trenne, dann ist auch der COntroller wieder gelöscht. Wenn ich mit derm Terminal Emulator das Programm übertrage, dann bleibt es in COntroller gespeichert. Dazu öffne ich den Emulator und klicke einfach auf File - Upload File. Dann steht dort Transmitting *.hex und eine Statusanzeige erscheint daneben. Die ist irgendwann voll, und das wars. Das habe ich mit dem Programm gemacht, das die Schrittmotoren dreht. Feine Sache. man nimmt den Strom weg, gibt ihn wieder hin und das Programm rennt wieder von vorne los.

"Wenn dann alle Verbindungen korrekt stimmen und auch im Hauptkontroller das richtige Ansteuerprogramm drin ist, dann klappt das auch alles."
Genau da liegt das Problem. Aber: gutes Stichwort. Welches ist denn das richtige Programm, das im Hauptcontroller sein muss? Wenn ich das richtig verstanden hab, dann werden die eigentlichen Befehle an den Hauptcontroller (bie mir M32) gesendet und dieser wiederum steuert dann den CoCOntroller (der ja dan RNS1 heißt)

Die Sprache von Bascom schaut auf den ersten Blick nicht so undurchschaubar aus. Außerdem sind auch alle Beispiele sehr gut Dokumentiert. Mit den Testprogrammen habe ich auch schon etwas herum experimentiert. Aber mit den Servos hatte ich eben noch garkeine Erfolgserlebnisse.

mfg