PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Labview+Kamerasteuerung+Servocontroller= Kleines Problem



tigger
21.01.2009, 16:11
hallo zusammen
ich habe da mal eine frage

Was habe ich vor:
ich will eine bewegliche kamera bauen sprich ein kamera modul das auf 2 servos (rc modellbau) sitzt damit ich sie steuer kann auf der x und der y achse vieleiht später mit joysticksteuerung


wo ist der jetzige standpunkt??
ich habe mich jetzt über längere zeit schlau gemacht und weiß nun wie ein servo funktioniert :D erste cad pläne für die halterung der kamera bzw den kompletten 2 achsen aufbau die cam ist da (einfach rückfahrkamera aus dem kfz bereicht aus der bucht) und 2 servos (conrad 5€ das stück zum testen sollten sie reichen)


wo liegt das problem??
das problem liegt in der ansteuerung der servos
i know man findet sehr viele servocontroler zum selberbauen mit kompletten platinenlayouts und allem andern.
Das problem liegt ehr darin das die platinen mit einer programmiersprache angesprochen wird und der mikrocontroller diesen code in ein pwm signal umwandelt
bei labview wird das pwm signal direkt erstellt wenn ich das bis jetzt richtig verstanden habe (habe kein oszi um es zu testen)

somit frage ich mich die ganze zeit ob ich einen denkfehler habe oder ob ich einen anderne controler brauche ?

ich hoffe mir kann wer helfen
mfg

Hubert.G
21.01.2009, 17:22
Ich weiss nicht ob ich deine Frage richtig verstanden habe. Aufgrund fehlender Satzzeichen und Großschreibung ist es etwas schwer zu lesen.
Bei Conrad gibt es Servotester, mit denen kannst du mittels Poti die Servos steuern (Joystick). Du kannst dir auch nur die Schaltung herunterladen und selbst bauen.

tigger
21.01.2009, 18:17
Okay Entschuldigung werde die groß und kleinschreiben nachholen.

Jop das mit den Testern ist mir klar ist aber erst für später vorgesehen.

Wenn ich einen Modellbau Servo steuern will dann braucht ich ein PWM Signal sprich:

1,5ms Impuls + 20ms nix = der Servo dreht z.b: zur Mitte
1 ms Impuls +21 ms nix =der Servo dreht z.b: nach ganz Links

Das Bascom Beispiel
Wenn ich ein Programm für einen Servo Controller Schreibe und das in Bascom mache dann sieht das ungefähr so aus:


Pos = 1
Call Rnb_servo(1 , Pos)
Wait 2 'Warte 2 Sekundne
Pos = 255
Call Rnb_servo(1 , Pos)
Wait 2

Aus diesem Code erstellt der Mikrocontroller dann ein PWM Siganl und der Servo "dreht" sich.

Das Labview Beispiel
Wenn ich in Labview einen Servo steuen will dann kann ich direkt ein PWM Signal erstellen somit arbeite ich garnicht mit Befehlen.

Hier das PWM Signal
http://robotrack.org/ulli/PWM2.jpg
(c by robotrack.org)

Grosse frage was brauche ich dann für einen Controller? Den ich kann ja keinen Servo direkt an den RS232 Port hängen bzw.: irgendwann würden mir die ausgangskanäle ausgehen.

Ich weiß allerdings nicht ob das so alles richtig ist, bzw. so habe ich das alles bis jetzt verstanden.
Ich bin recht neu in der Materie.

mfg

pongi
22.01.2009, 08:55
Ich arbeite viel mit LabView, jedoch ist mir die Möglichkeit zu Ausgabe eines PWM Signals ohne zusätzliche Hardware noch nicht untergekommen. Sicher, es ist möglich mit LabView so ein Signal herzustellen und anzuzeigen, aber für die Ausgabe am normalen PC sind dafür keine Schnittstellen vorgesehen. National Instruments bietet jedoch PCI-Karten an, womit man aus LabView bequem solche Signale ausgeben kann (dafür gibts dann auch forgefertigte Blöcke), jedoch bezweifle ich, dass das noch in deinem finanziellem Rahmen bleibt (Kosten: mehrere 100 bis 1000 Euro).

Deshalb würde ich den Weg über einen externen uC nehmen, und den per serielle Schnittstelle ansprechen. Dafür gibts dann in LabView auch bequeme Blöcke (VISA driver).

MfG

pongi

tigger
22.01.2009, 19:35
Oh Cool einer der sich damit auskennt.

Also ich habe mal ein wenig gegoogelt.
Ich habe vor eine solche Steuerung zu bauen allerdings für 2 Servos

http://www.uow.edu.au/~phillip/MacInOut/servo.html

Allerdings mit diesem Controller
http://robotrack.org/include.php?path=article&contentid=252&PHPKITSID=VSzX587S04701aG8089ml0iifX2UC0M3

Ist es dann richtig das Labview schon die richtigen befehle an die rs232 Schnitstelle sendet ?? Also in dem auf der Seite aufgeführten vi?

Rein Thoretisch sollte es ja dann funktionieren den laut dem datenblatt von dem Controler der im oberen Link benutzt wird. wird der auch mit den befehlen gesteuert.

mfg

jeffrey
22.01.2009, 21:57
hoi,
labview an sich sendet erst mal gar nichts. labview schickt genau das, was du ihm sagst, was es schicken soll. zumindest sollte es das tun ;-)
musst du halt gucken, was für ein protokoll der servocontroller haben will, hab da grad auf die schnelle kein datenblatt gefunden.
mfg jeffrey

pongi
23.01.2009, 09:28
Wenn die beiden Controllerboards den gleichen Befehlssatz haben, dann wird das LV-Programm von deinem ersten Link funktionieren. Ansonsten musst du die Befehlsgenerierung anpassen, aber als Gerüst (Programmaufbau, Handling der Schnittstelle) kannst Du es trotzdem verwenden.

Olle_Filzlaus
23.01.2009, 09:30
Hallo,

habe das mit LabView getestet. Es ist zu langsam. Oder besser der Rechner kann noch so schnell sein. Es gibt keine Echtzeitbetriebsysteme. Weder Linux noch Windows. Bei Linux kenne ich jetzt erstmal keins, falls jemand eins kennt, bitte sagen :-)
Also man kann mit LabView zwar Echtzeitsysteme aufbauen, aber dazu braucht man sehr teuere Hardware.

Ich bin deswegen auch den Weg über den µC gegangen. Habe den einfach per USB an meinen Rechner gehangen. Der bekommt dann mit LabView einfach einen String zugesendet. Anhand der Daten stellt er die Servos und steuert noch bissel was anderes und sendet das an LabView zurück.
Das zeigt mir dann alles an :-)

geht auch super so, bin nur gerade dabei mich mit CRC oder so auseinanderzusetzten weil manchmal ein komischer string ankommt und alles falsch gesteuert wird. Extreme kann ich abfangen mit der µC Software aber in den Rahmen passende nicht.

cu Arno

pongi
23.01.2009, 09:44
@Olle-Filzlaus: das mit dem Echtzeitbetriebssystem ist schon klar, aber das Board was tigger verwenden will, hat ein uC, der die Befehle erhält und (hoffentlich :D) ausführt, daher hat er diese Problematik in diesem Fall zum Glück nicht :D

tigger
23.01.2009, 16:18
Guten Abend
Solangsam wird mir immer mehr klar

Ich muss mich noch weiter darin einlesen.
aber so wie es aussieht hat es glaube ich "klick" gemacht

ich werde mal mein glück probieren und gucken was am ende bei rauskommt

mfg

nikolaus10
18.02.2009, 17:36
Hallo
Soweit ich weis gibt es schon ein (mehrere) Linux Echtzeit Derivate.

Andere Frage : Gibt es bei LAB View ein Standard I/O Geraet wo man sich bei der MC programmierung dran halte koennte.
Also eine Standard I/O Einheit mit der ueber die RS 232 komuniziert wird und die bereits in LV fertig implentiert ist.
Das heist man brauecht nur noch in LV die Black Box einsetzen und nicht neu konfigurieren. Wenn nun die Befehle der Standard RS232 Einheit bekannt sind kann man ja seine eigen MC programmierung danach ausrichten. Wieso das Rad neu erfinden und sich unter LV muehsam ein Geraet konfigurieren was keiner versteht ausser man selbst?

pongi
18.02.2009, 17:48
Weil die National Instruments-Hardware, die von LabView mit High-Level Toolboxes unterstützt wird, im dreistelligen Euro-Bereich kostet :D

nikolaus10
18.02.2009, 18:01
Sorry, vielleicht hast du mich nicht ganz verstanden.
oder besser, ich habe nicht besonders gut ausgedrueckt.
Ich will keine NI Hardware kaufen.
Ich will nur wissen ob es NI RS232 Hardware gibt und wie da die Befehle lauten.
Dann wuerde ich in meinem eigenen MC genau diese Befehle auch verwenden und brauchte auf der Seite des PC mit LabView nicht soviel Aufwand treiben.
Wie heissen denn die Standart NI Geraete die ueber RS232 mit dem PC komunuzieren oder welches koennte man am besten nehmen?

pongi
18.02.2009, 18:20
Ja, ich hab dich dann echt missverstanden. Es gibt die Fieldpoint Hardware von NI, die über RS232 kommunizieren, es gibt aber sicher noch viele andere. Leider glaube ich aber, dass die Protokolle nicht bekannt sind...

nikolaus10
19.02.2009, 13:23
NI scheint keine RS232 Hardware mehr zu haben.
Oder kennst du noch aelte Hardware von NI mit RS232 ?

Gibt es vielleicht auch noch ander Hersteller mit RS232 Messboxen und LV Treibern?

looy78
20.06.2009, 15:23
Hi Leute,

könnte ich mit LabView vielleicht auch sowas hier hinbekommen wenn ich tatsächlich die SD84 und nur eine USBcam oder so hab???

https://www.roboternetz.de/phpBB2/viewtopic.php?t=48694

MfG

johns
20.06.2009, 19:51
hallo,

@looy
ja das das könntest du. der SD84 wird aber über virtuellen COM port (USB) angesprochen und nicht über i2c wie du im anderen thread geschrieben hast.
den COM port sprichst du in labview, wie in diesem thread weiter oben schon erwähnt, über NI VISA an. bei labview (oder VISA) sind auch einfache beispiel VIs dabei die man als ausgangsbasis verwenden kann.

lg

looy78
21.06.2009, 22:09
Meinst du denn, ich könnte mit Labview auch die USB Cam ansteuern und da ein Bild einfangen, welches wie in dem anderen Beitrag erwähnt, ein paar Grauwerte an die Servos schiebt?? Also speziell die Lösung mit dem Bilderkram meine ich .

johns
22.06.2009, 03:25
@looy, ich antworte im anderen thread:
https://www.roboternetz.de/phpBB2/viewtopic.php?p=447885#447885