PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Video-Funkübertragung über WLAN in Visual Basic



commander7
10.06.2005, 18:44
Hallo zusammen,

Ich möchte das Bild einer Webcam über WLAN von einem Computer auf einen Anderen übertragen. Mit MS Netmeeting hab ich das auch schon hingekriegt. Mein Problem ist aber, dass ich das Ganze in einem Visual Basic ( .NET) Projekt tun möchte. Ich habe auf der Homepage von Microsoft ein SDK gefunden (http://www.microsoft.com/windows/NetMeeting/Authors/SDK/default.ASP), aber die Projekte darin sind alle in C++ verfasst und da erkenne ich halt nur noch Hyrogliephen.

Gibts vielleicht eine OCX dazu oder hat sonst jemand einen Tipp, denn ich hab im Internet noch nichts brauchbares gefunden.


gruss commander7

Trabukh
11.06.2005, 13:23
Also unter VB6 ist das nicht ganz so schwer: Pixel für Pixel auslesen (In PictureBox) und dann mit dem Winsock-Steuerelement als String verschicken. Zum Bandbreitesparen kann man das ganze mit geeigneten DLLs vorher in JPEG umwandeln und dann die Bilddatei auslesen und per Winsock verschicken (auch als String, geht ja nich anders ^^).

Gruß, Trabukh

commander7
11.06.2005, 20:45
hallo trabukh,

danke für deine Antwort. Das Kamerabild kann ich in VB schon einlesen, aber mir stellen sich nun aber noch 2 Fragen.
1. Wie kann ich das eingelesene Bild in einen String wandeln?
2. Wie wandle ich den ankommenden String wieder in ein Bild um (ergibt sich vielleicht auch aus 1.)

gruss commander7

pebisoft
11.06.2005, 22:54
ganz einfach, du nimmst das bild als bmp-datei auf und schickst die daten rüber und baust sie auf der anderen seite wieder zusammen.
ich nehme z.b. in visualbasic ein bild von videocapture als bmp-bild auf (kommt über funk vom robby) und werte es nach hindernissen und steuere dann wieder den robby.
mfg pebisoft

Trabukh
12.06.2005, 12:09
Also, du kannst in VB ich glaub mit Picture1.Point... die Pixelfarbe auslesen. Das musst du dann für jedes Pixel machen und das ganze in einem String speichern. Was allerdings aus meiner Sicht einfacher und resourcensparender ist, wäre, das Bild in JPEG umzuwandeln und dann die Datei binär öffnen und in sagen wir mal 1 KByte-Packeten verschicken. Falls du da Fragen hast, immer her damit... ;-)

Gruß, Trabukh

commander7
13.06.2005, 17:05
danke erstmal für eure ideen,

hat jemand eine Seite, wo das etwas näher beschrieben ist. Ich möchte es mir lieber selber aufarbeiten, und erst wenn ich es selber nicht mehr schaffe, dann melde ich mich....

gruss commander7

ICH_
13.06.2005, 17:10
Also hiermit kann man BMP nach JPG konvertieren:
http://www.schmittis-page.de/index.html?/vb/t115.htm

Nur kennt jemand eine Möglichkeit das bild SCHNELL zu verschicken ohne den Binary-Modus zu benutzen, also ohne es auf der Festplatte zu speichern?
Ich hab da alle möglichen sachen ausprobiert, die aber immer jeden Pixel auslaßen, was bei einem Bild in Desktopauflösung etwas länger dauert ...
Auch ohne ü+berhaupt was zu verschicken dauerte das einige Sekunden.

NumberFive
19.06.2005, 07:40
Warum überträgst du nicht nur die änderungen an standt das ganze bild ?
Warum bitmap übertragen ?

den header brauchst du nicht da du ja auf der anderen seite weiß wie groß das bild ist und welche farb tiefe es hat.

Wie übertägst du die daten (Format) ?
Reichen nicht vielleicht auch 256 Farben ?

Bei einer Bildgrösse unter 255 x 255 bei 256 Farbe brauch ma pro Pixel nur drei Byte wenn man jetzt nur die Änderungen überträgt sollte es sehr schnell sein.

Gruß

ICH_
19.06.2005, 10:33
Ich übertrage nur die änderungen. aber allein das auslesen von jedem Pixel dauert ewig. Das versenden an sich geht ja schnell.
Jetzt hab ich halt angefangen das Bild erst auf der Festplatte zu speichern und dann im Bynary-Modus zu verschicken. das geht irgendwie 20 mal so schnell, nur ist das wohl nicht gut für die Festplatte und auch irgendwie murks. Und mehr wie 1 Bild pro 2 Sekunden geht damit auch nicht.

NumberFive
19.06.2005, 12:55
das darf nicht dauer

wie bekommst du das bild ? Daten format ?
wie hollst du die Pixel raus ?

mfg

ICH_
19.06.2005, 13:34
das bild ist ein screenshot. format wird dann wohl bmp sein. und die pixel guck ich mit picturebox.point an.

Johannes
19.06.2005, 17:11
Moin,
eine andere Möglichkeit wäre, einen Netzwerkordner zu verwenden. Dann greift der eine Recher auf den Ordner des anderen Rechners zu und öffnet übers Netzwerk das Bild. Geht eventuell schneller.

Gruß
Johannes

ICH_
19.06.2005, 17:30
das geht sicher noch langsamer

Johannes
19.06.2005, 17:34
Wieso das denn?

ICH_
19.06.2005, 17:42
weil man das dann erst dort speichern muss 2. muss es dann der andere pc lesen 3. muss der lesende pollen 4. kann es passieren, dass während der eine schreibt der andere liest.
also damit schafft man bestimmt nicht mehr als die jetzigen 0,5 bilder/sek

Johannes
19.06.2005, 17:51
Na das müsste man probieren. War nur ne Idee :-)

Gruß
Johannes

NumberFive
20.06.2005, 08:04
Hallo kann auch glauben das die Platte die lösung ist. ich denke die das die bild hol routine das problem ist..

ICH_ hast du mal ein bisschen soure damit ich mir das mit dem bild holen mal an gucken kann ?

Wenn ich ein bild bekomme ich das schon in einem Array of byte da ist das verschicken dann releativ leicht.

Was benutzt du ? DirektX oder den Treiber oder VFW Api ?

Gruß

ICH_
20.06.2005, 17:14
ich verschick meine bilder mit Winsock. Oder was meinst du?

NumberFive
21.06.2005, 19:12
Das ist mir schon klar.

wie Kommt das bild in die Picturebox ?
und wie dann die pixel zu verschicken wieder raus ?

hast du mal gewessen wo welche zeit drauf geht ?

Zeit 1 bild machen
Zeit 2 delta berechen
Zeit 3 verschick zeit

Ich denke das pixel auslesen muß erstmal optimiert werden dann machen
wir weiter. Also wie kommst du an die Pixel ?

commander7
21.06.2005, 21:06
hallo NumberFive,

Mein Interesse liegt auch daran, wie die Pixel verschickt werden.
Zum auslesen der Kamera in VB benutze ich folgenden Code (gekürzt).



Dim Video_Handle As Integer
Form_Load()
Video_Handle = CreateCaptureWindow(Picture1.hwnd)


und in einem Modul dazu noch



Private Declare Function capCreateCaptureWindow Lib "avicap32.dll" _
Alias "capCreateCaptureWindowA" ( _
ByVal lpszWindowName As String, _
ByVal dwStyle As Long, _
ByVal x As Long, _
ByVal y As Long, _
ByVal nWidth As Long, _
ByVal nHeight As Long, _
ByVal hWndParent As Long, _
ByVal nID As Long) As Long

Private Const WS_CHILD = &H40000000
Private Const WS_VISIBLE = &H10000000
Private Const WM_USER = &H400
Private Const WM_CAP_START = &H400
Private Const WM_CAP_EDIT_COPY = (WM_CAP_START + 30)
Private Const WM_CAP_DRIVER_CONNECT = (WM_CAP_START + 10)
Private Const WM_CAP_SET_PREVIEWRATE = (WM_CAP_START + 52)
Private Const WM_CAP_SET_OVERLAY = (WM_CAP_START + 51)
Private Const WM_CAP_SET_PREVIEW = (WM_CAP_START + 50)
Private Const WM_CAP_DRIVER_DISCONNECT = (WM_CAP_START + 11)

Private Declare Function SendMessage Lib "user32" _
Alias "SendMessageA" ( _
ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long

Private Preview_Handle As Long


Public Function CreateCaptureWindow( _
hWndParent As Long, _
Optional x As Long = 0, _
Optional y As Long = 0, _
Optional nWidth As Long = 320, _
Optional nHeight As Long = 240, _
Optional nCameraID As Long = 0) As Long

Preview_Handle = capCreateCaptureWindow("Video", _
WS_CHILD + WS_VISIBLE, x, y, _
nWidth, nHeight, hWndParent, 1)

SendMessage Preview_Handle, WM_CAP_DRIVER_CONNECT, nCameraID, 0
SendMessage Preview_Handle, WM_CAP_SET_PREVIEWRATE, 30, 0
SendMessage Preview_Handle, WM_CAP_SET_OVERLAY, 1, 0
SendMessage Preview_Handle, WM_CAP_SET_PREVIEW, 1, 0

CreateCaptureWindow = Preview_Handle
End Function


Public Sub CapturePicture(nCaptureHandle As Long, _
picCapture As PictureBox)

Clipboard.Clear
SendMessage nCaptureHandle, WM_CAP_EDIT_COPY, 0, 0
picCapture.Picture = Clipboard.GetData
End Sub


Public Sub Disconnect(nCaptureHandle As Long, _
Optional nCameraID = 0)

SendMessage nCaptureHandle, WM_CAP_DRIVER_DISCONNECT, _
nCameraID, 0
End Sub




gruss commander7

ICH_
23.06.2005, 13:18
Ich lese die Pixel mit
Picturebox.Point
aus, steht doch da schon oben. Nur das dauert ewig, alles andere ist recht schnell.

pebisoft
24.06.2005, 10:49
du kannst das capturebild auch in die ablage packen und von da aus als bmp-datei oder anderes format herausholen. oder aber auch nur im ram ablegen zum bearbeiten/auswerten, aber immer aus der ablage heraus.
mfg pebisoft

Trabukh
24.06.2005, 12:13
Wie gesagt, am einfachsten ist es, des ganze vorher inne JPEG umzuwandeln....

Gruß, Trabukh

NumberFive
24.06.2005, 16:00
Würde ich nicht machen in gepacken Formaten lassen sich die geänderten pixel nicht so schnell finden.

Ich würde es über die Callback Routine machen:

capSetCallbackOnFrame

typedef struct videohdr_tag {
LPBYTE lpData;
DWORD dwBufferLength;
DWORD dwBytesUsed;
DWORD dwTimeCaptured;
DWORD dwUser;
DWORD dwFlags;
DWORD_PTR dwReserved[4];
} VIDEOHDR, NEAR *PVIDEOHDR, FAR * LPVIDEOHDR;

Da bekommt man die Strucktur gesendet da sind die Roh daten drin
also das Array of Byte von dem Frame

Hier ist ein VB beispiel den ich kann vb nur lesen nicht schreiben

http://compsci.snc.edu/cs460/wegndt/files/video/edgedet2.frm

wenn man lpData jetzt verschickt sollte man auf der anderen seite ein
bild bauen können.

Das sollte die Performens bei aus lesen doch um einiges er höhen.

Jetzt würde mich die Netzlast mal interessieren wenn man so die Datenpustet.

Im Nexten Step könnte man sich überlegen nur noch die änderungen zu übertragen.

Könnt ihr verstehen wie ich das meine ?

Gruß

Günter49
25.06.2005, 00:46
Der link auf das VB Beispiel ist topp!
Hab das Programm gleich ausprobiert. Endlich mal ein überzeugendes Beispiel für eine Kantenerkennung in VB.

Danke, Günter

NumberFive
25.06.2005, 08:05
das mit der Kanten erkennung hatte ich garnicht gesehen.

Hatte ich nur raus gesucht wegen der callback funktion und ich nicht wusste wie ma so was in VB macht.

Bin C++/Delphi programierer.

Gruß

recycle
25.06.2005, 09:32
Würde ich nicht machen in gepacken Formaten lassen sich die geänderten pixel nicht so schnell finden.

Ich glaube bei jpeg Komprimierung ist es noch etwas schlimmer, denn da kann es sein, dass die gesuchten Pixel gar nicht mehr existieren.

Jpeg ist eine verlustbehaftete Komprimierung die viele Bildinformationen die der Mensch nicht so besonders deutlich wahrnimmt komplett entfernt.

Das lässt sich ganz gut feststellen, wenn man jpeg-Bilder stark vergrössert. Dann sieht man meist, dass gerade Kanten und Farbübergänge verändert werden. Für eine automatische Kantenerkennung ist das keine so besonders gute Voraussetzung.

Günter49
25.06.2005, 12:32
Ich muss nochmal sagen, wie begeistert ich von NumberFives link bin.
http://compsci.snc.edu/cs460/wegndt/files/video/edgedet2.frm oder gleich http://compsci.snc.edu/cs460/wegndt/ und dort MyCode:
Es wird nicht nur der VB-Quellcode für still-images (.bmp, (160x120) und videostreams von einer Logitech QuickCam(160x120)dargestellt, sondern auch noch zwei exe.-Dateien mitgeliefert, wo man die Sobel-Kantendetektion gleich ausprobieren kann. Ich habe das Video-Programm für eine Auflösung von 320x240 Pixeln umgeschrieben und mit VB5 eine neue exe-Datei erstellt. Funktioniert problemlos. Und läuft für BASIC rasend schnell. (QuickCam 3000 Pro; Pentium4; 3,2GHz; 2GB RAM).
Das ist wirklich mal ein guter Startpunkt für VB-Programmierer, auf der man eigene Entwicklungen aufbauen kann.

Gruß, Günter

NumberFive
25.06.2005, 14:39
So jetzt habe mal die Übertragung so gebaut wie gedacht mußte doch mal probieren ob das hin haut. jetzt kann ich daten von PC zu pc verschicken
ein life stream ist es zwar noch nicht aber für 7 Stunden finde das OK

Alles selbst programmiert nur mit Teilen die zu Delphi gehören.
VB kann ich halt nicht.

Der code ist sicher noch schneller zu machen aber sollte ich mal was anders Tun.

Der Genutze TCP port ist 32000
Es werden mit jedem bild 320x160x3 Bytes übertragen

Gruß

commander7
25.06.2005, 15:34
hallo number5,

hab dein Programm mal ausprobiert und funktioniert wirklich super.
hast du als Basiscode den von http://compsci.snc.edu/cs460/wegndt/ gebraucht?
hast du das senden nun mit Winsock realisiert ?

gruss commander7

NumberFive
25.06.2005, 16:50
hallo commander7,

den code habe fast nicht gebraucht nur für die CallBack procedure da brauchte ich nich alles selbst denken.
ver senden tut indirekt über die winsock es gibt in Delphi ein Klasse dafür
da muß man dann die Thread's(Server) nicht selbst machen.

Naja die Anzeige könnte man sicher noch schneller machen und man müsste mal über legen ob man nicht den stream packen kann und am ende wieder aus packen.

Mit was für rechner hast du getestet ?

Gruß

NumberFive
25.06.2005, 18:02
habe mal ein problem aus gesondert

das packen

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

Gruß

commander7
25.06.2005, 19:48
hallo number5,

hab ein 1.2 GHz AMD mit 256MB RAM, also schon ein etwas älteres System.
Hab noch ein paar Fragen:
Grundsätzlich wie kommen die 3 Bytes pro Pixel zustande (Grundsatzfrage) ?
Wie kommst du nun an die einzelnen Pixel, etwa mit der Picture.Point Methode?

gruss commander7

Trabukh
25.06.2005, 23:24
Ich habe mir den Quelltext jetzt nicht angesehen.... aber prinzipiell werden bei Bitmaps jeweils 3 Bytes pro Pixel gespeichert, eben RGB: 1x Rotanteil, 1x Grünanteil und halt noch 1x Blauanteil...
Hmm, wie das jetzt in dem Code oben ist, kann ich nicht sagen, aber mit der Point-Funktion bekommt man einen Wert vom Typ Long, den man noch in seine RGB-Bestandteile trennen muss (ist eine einfache Funktion, falls Interesse besteht, werd ich sie nochmal raussuchen).

Gruß, Trabukh

NumberFive
27.06.2005, 08:33
@Trabukh

der Code ist nicht dabei ist nur die exe.

@Alle

Grundsätzlich ist die GetPixel oder Setpixel methode bei den Raten bzw im Video bereich gift den die ist viel zu langsam und alles Flackert und brauch zeit.

Imm dran denke ein bitmap kann man auch als Array of byte betrachten wenn man es mit 24bit farb tife nimmt. Natürlich geht auch mit andern farb tiefen aber da ist das um rechnen dann nicht so einfach.

In der Software oben bekomme ich das Bild in der Callback routine des Vorschau Streams. Und wenn die andere seite bereit ist pumpe ich die daten rüber. Also um so dicker die leitung umso mehr frames (Bilder Pro sekunde). Bin man über legen ob es nicht besser ist das array zu packen und dann zu senden sollte eingendlich mehr frames zu lassen als jetzt.

aber dann wird das array dynamisch und man hat andere Probleme.
Mal sehen ob ich da noch ne neue Version mache.

Gruß

NumberFive
30.06.2005, 07:45
@commander7

wie weit bist du ? reicht dir jetzt mein Programm oder wie willst du weiter machen ?

@all

wenn ihr so fleissig runter ladet währe mal schön ein Feedback zu bekommen.

Gruß

commander7
30.06.2005, 18:08
hallo Number5,

Hatte die Videoübertragung etwas aus den Augen verloren. Zum einen hatten ich (vorher endlich letzte Prüfung) noch Schulschluss und da ziemlich viel Zeit gebraucht und zum anderen habe ich mich mit der Kollisionserkennung beschäftigt.



reicht dir jetzt mein Programm oder wie willst du weiter machen ?


Tja, ich habe gemerkt, dass es mir schon bei den Grundlagen fehlt. Hab noch nicht viel mit Bildern aus Pictureboxes programmiert, zudem kommt erschwehrend dazu, dass ich VB6 oder lieber VB .NET programmiere.

Kennst du Seiten wo dass mit dem Umwandeln der Pixel in Arrays of Byte beschrieben ist und wie ich dieses Array wieder zu einem Bild zusammenbaue. Oder vielleicht halt auch ein paar Codeschnipsel von dir, wenn das möglich ist.



wenn ihr so fleissig runter ladet währe mal schön ein Feedback zu bekommen.


Ist wirklich schon top, auch das flakern ist raus.

gruss commander7

Günter49
30.06.2005, 19:50
Beschreibung z.B. hier:
http://msdn.microsoft.com/library/deu/default.asp?url=/library/DEU/vbcn7/html/vaconDeclaringArrays.asp

Gruß, Günter

NumberFive
01.07.2005, 08:10
@commander7

Habe kein Problem damit dir den source zu geben aber ich denke das du Ihn
nicht verstehen wirst den da hat ein c++ programmierer (das mache ich den ganzen tag) in delphi ein programm geschrieebn was schnel fertig werden soll. Werde aber versuchen dir es zu erklären.

Das mit dem VB oder delphi oder was für ein sprache ist eigendlich egal es änder sich nur die Dialektik nicht das Programm.

In dem Link oben ist ja ein vb programm wie man an der Stream kommt.

In dem Stream ist das bild schon in einem Array of byte also brauchst es nicht mehr wandeln.

Aufpassen im Stream sind die byte verdreht angeordnet. Das heist nicht RGB sondern BGR warum ich habe keine Ahnung.

Alle beschreibung hier gilt nur für 24 bit farbtife und rgb modus der Camera.

So sieht das Array nun aus:

1.Byte Wert für Blau 0 - 255
2.Byte Wert für Gelb 0 - 255
3.Byte Wert für Rot 0 - 255
...

und so weiter der Erste Punkt im Array of Byte ist Links oben sondern



Z:=0;
For y:=239 downTo 0 Do
Begin
BmpRGB:=MyBitmap.ScanLine[y];
For x:=0 To 319 Do
begin
BmpRGB^.b:=Buffer[z];
BmpRGB^.g:=Buffer[z+1];
BmpRGB^.r:=Buffer[z+2];
Inc(BmpRGB);
z := z + 3;
end;
end;


Das ist der Code zum zeichnen das bildes.
Hier habe ich schon ein bisschen mit pointer gespielt damit es schneller wird.

MyBitmap.ScanLine Ist Praktisch ein Array Of 3 Byte für eine Zeile.

Man könnte auch schreiben:



Z:=0;
For y:=239 downTo 0 Do
Begin
For x:=0 To 319 Do
begin
MyBitmap.Canvas.SetPixel(x,y):=RGB(Buffer[z],Buffer[z+1] Buffer[z+2])
z := z + 3;
end;
end;


MyBitmap.Canvas. Ist pratisch die PictureBox ist mach das dann nur im speicher damit nach her bei anzeigen schneller geht.

An der Stelle mach ich jetzt mal schluss wenn du wieder fragst gibt mehr infos. Ich würde sage probiere erst mal folgendes aus dem Stream bilder holen und dann selbst in Picture box darstellen wenn das klappt machen wir die Übertragung.

Hast du die Kollisionserkennung hin bekommen Ihrgend wie will die bei mir nicht so bin zu langsam wie sieht den dein Robi aus (Schematischer auf bau) vielleicht können wir ja softwer zu sammen machen hats du die Links in mein Fusszeile schon an gesehen ?

Gruß

commander7
01.07.2005, 17:20
hallo number5,

vielen dank für deine Mühe/Geduld. Ich glaube es ist nicht schlecht, wenn ich auch mal andere Sprachen lesen und Untersuchen muss. Schadet mir sicher nicht.

Ich probier nun mit deinen Anweisungen mit der Programmierung weiterzufahren. Habe aber übers Wochenende wenig Zeit, werde mich nächste Woche damit beschäftigen.
Danke auch für ev. weitere Fragen. Ich werde mich bei dir melden.

Ich habe mich wahrscheinlich bei meinem Beitrag oben etwas unpräzise Ausgedrückt. Die Kollisionserkennung realisiere ich im Moment nicht über die Analyse der Videobilder, ich will die mit US und Sharp Sensoren machen.

Ich hab mich auf deinen Links auch schon kurz umgesehen. Der Roboter den ich am bauen bin ist mein erster. Er ist ähnlich aufgebaut wie deiner (respektive wird es erst sein). Ich packe auf den Robby ein VIA EPIA mini-ITX Computer und ne Webcam. Über WLAN und den ITX kann ich nun auch den AVR ansprechen, der dann die Schrittmotor steuert. Nun will ich wie gesagt zur Kollisionserkennung um ihn auch autonom rumkurven zu lassen. Ist aber alles noch in einzelteilen, werde in meinen Ferien mit dem Zusammenbau beginnen.

werde mich wieder melden.
nochmal ein herzliches dankeschön

gruss commander7

NumberFive
02.07.2005, 20:01
Schön das die Roboter,

relativ gleich sind dann habe wir auch ähliche probleme *g*.

Leider habe ich keine Ferien auf die mein Entwicklung schieben kann.
So muß ich sehen das so weiter komme. leider komme ich im Moment nicht so viel weiter. Erstens wegen der Zeit zu zweitens wegen den Problemen für noch kein lösung habe.

Auch bei mir gibt es sharps ich will nur die Bilder als zweite hilfe nehmen.
Kommt aber später erst. Habe ein sharp auf einem Schritt motor. wie ist das bei dir ? Machst du die Kollisionserkennung im AVR oder im PC ?

Gruß

commander7
03.07.2005, 11:54
hallo number5,

hab die US und Sharp bestellt aber noch nicht bekommen. Will sie so wie in der Skizze positionieren. Ich habe vor das ich die Entscheidungen im PC treffe und dann nur befehle an den AVR, mein mega8 hat sicher genug damit zu tuen.

Wie machst du das mit der Stromversorgung des PC's im Robby? Meiner braucht nur 12V, aber bis auf weiteres werde ich ihn ohne Akku versorgen, da mir das Geld und die Zeit nicht reichen, bis ich die Arbeit abgeben muss.

gruss commander7

NumberFive
04.07.2005, 07:09
Ok durch den SRF04,

hast du mehr zeit als ich dann könnte das klappen ich habe vorne nur einen
sharp. Und der dreht sich das heist ich habe ein radar wen man so will.

Da wir katzen habe und es hier auch jede menge hunde gibt wollte ich gerne auf die US verzichten.

Und erlicht gesagt die anstuerung der US ist auch nicht ganz so einfach wie beim sharp. Ich habe ein Mega16 drauf in eine RN -Control.

da ich ein epia board habe woll ich das einfach an den akku hängen.
Ich weiß aber noch nicht ob ich jetzt nicht alles um baue auf 24 Volt brauche mehr leistung auf den Motoren (Gesamt gewicht ca. 60 KG).

Leider habe ich noch nicht das passende an motoren gefunden.
So das ich zur zeit nur ein test zeit raum von ca. 5 Minuten habe
dann müssen die motoren abkühlen. (Man verbrennt sich sonst die finger)

Du spricht von abgeben heist das du machst den robi für die Schule ?

Gruß

commander7
04.07.2005, 12:09
ja ist für die Schule.

in einem Jahr schliesse ich ab und bestreite die Maturaprüfungen und bei uns gibts da eine Arbeit dazu. Thema kann frei gewählt werden und hast ca. ein Jahr bis zum Abgabetermin.
Und ich hab mich damals (oktober letzten jahres) für den Bau eines Roboters entschieden. Und ich bereue meinen Entscheid keine Sekunde, ist wirklich ein extrem spanneder Themenbereich.

Nochmals zur Stromversorgung:
Bis jetzt klapt eigentlich alles bestens, nur die Stromversorgung stört mich noch etwas. Denn bis jetzt habe ich vor den Bot halt einfach am Kabel zu versorgen. Ohne Kabel währe halt einfach viel schöner.
Ich hab für das Epia Board ein Morex Netzteil (www.morex.com.tw). Auf dem AC/DC Wandler steht bei Output: 12 - 14Volt. Dann könnte ja man ja einfach ein Bleiakku davorhängen. Aber bin mir gar nicht sicher obe das Netzteil das wirklich verträgt und das experimentell zu bestimmen hab ich den Geldbeutel nicht dazu.

Gruss Commander7, danke für die Mail

NumberFive
04.07.2005, 21:36
Das problem wird sein bei der spannungs versorgung wie bei uns alle der blei akku hat zu schnell weniger als 12 V damit läuft das epia nicht mehr sauber bzw. stabil. wir müssen mit den Volts rauf und dann ein vorreglung auf 12 Volt machen. Ich muß mir eh was über legen da ja mein motoren zu schwach sind.

Guck mal hier vor bei.

http://www.robofriend.de

mist der hat die seite runter genommen aber das ist ein link zu einer guten epia seite.

Gruß

ragnar
04.07.2005, 22:50
Ich hab für das Epia Board ein Morex Netzteil (www.morex.com.tw). Auf dem AC/DC Wandler steht bei Output: 12 - 14Volt. Dann könnte ja man ja einfach ein Bleiakku davorhängen. Aber bin mir gar nicht sicher obe das Netzteil das wirklich verträgt und das experimentell zu bestimmen hab ich den Geldbeutel nicht dazu.

@Commander:
Da kann ich dich beruhigen, ich habe so eine Morex Netzteilplatine bereits mit 13,8V Bleigelakku betrieben und habe sehr gute Erfahrungen gemacht.
Erstmal die Überspannung: Offiziell war das Netzteil damals für 12,5V freigegeben, lief aber mit unseren 13,8V problemlos zusammen. Wenn du wirklich Angst um dein Netzteil hast, kannst du immer noch eine _ausreichend_ dimensionierte Diode dazwischenhängen, 0.7V Spannungsabfall sollten reichen. Noch dazu hat man die 13,8V eh ziemlich selten.

Dann noch die untere Grenze: Bei 12V ist bei weitem noch nicht Schluss. Das Board lief bei uns ohne Probleme bis ca. 10,8V (sprich: bis der Akku wirklich leer war).

Georg

NumberFive
04.07.2005, 22:53
Hätte ich nicht gedacht

commander7
05.07.2005, 18:34
Ich auch nicht.

Um nochmal sicher zu gehen, du hast ein Epia Board mit Morex Netzteil 1:1 an nen 12Volt Bleiakku gekoppelt.

Das wäre ja der Hammer...