Relais über COM Schnittstelle???
-
@__Gast,
"Strom senden" geht nicht

Du kannst nur eine Spannung schalten (z.B.: an Pin 7 = RTS) von +10V auf -10V (gegenüber Masse = Pin 5). Der TxD-Ausgang ist dafür zwar auch geeignet, aber mit DTR und RTS geht es einfacher.
RTS geschaltet wird mit der FunktionEscapeCommFunction(hCom, SETRTS); // Setzen RTS (Pin 7 bei 9pol., Pin 4 bei 25pol.)gemacht und zurückgeschaltet (also "Aus") mit der gleichen Funktion, aber anderen Parametern
EscapeCommFunction(hCom, CLRRTS); // Rücksetzen RTS (Pin 7 bei 9pol., Pin 4 bei 25pol.)COM-Port-Öffen und -Schließen nicht vergessen.
Der Innenwiderstand der COM-Port-Treiber ist aber ziemlich hoch. Mehr als 5 mA wirst Du bei 10V nicht haben. Außerdem muß es ein gepoltes Relais sein (die Spannung wechselt ja ihr Vorzeichen, und geht NICHT auf Massepotential) oder Du schaltest eine Diode in Reihe zum Relais (Anode an Masse). D.h.: Dein Relais sollte ein 9V-Typ sein mit einem Spulenwiderstand von mindestens 1800 Ohm (R = U/I = 9,3V / 5mA). Alternativ geht auch ein 12V-Relais, das dann aber einen etwas geringeren Innewiderstand haben darf (ca. 20% weniger).
Oder aber ein gepoltes Relais mit 18V oder auch 24V Spulenspannung ohne Diode.Blackbird
PS.: @cd9000, 5V an den COM-Ports haben nur die Billig-Notebooks. Die (knapp) 10V entstehen durch Spannungsverdopplung im Treiberschaltkreis. Oder knapp 12V durch geschaltete Netzteilspannung. Je nach Mainboard.
-
Hi ....
so läuft das alles ned.... ich hab ne abschluss arbeit über den scheis gemacht und ich kann dir nur empfehlen....KAUF DIR NE Relaiskarte von conrad(ca. 40€)
wenn dus dann schaffst diese über c++ zu steuern .. mein respecckt... aber ich würde dir empfehlen das ganze über qbasic,c,s7,vb oder sonstwas zu machen NUR BLOS NICHT über c++ viel zuviel stress... da codest du zwei tage... und für so n qbasic prog brauchst du grad mal ca. 1 stunde(wenn du schlecht bist)....
und wenn du trozdem das ganze schon gecodet hast.. dann emphel ich dir .... ein qbasic prog zu erstellen... es gibt glaub ich auch so compiler die exe draus machen und des dann über shellExecute ansprechen und oder über sockets.. eine inet verbindung zu 127.0.0.1 aufbauen und deinem qbasic prog die daten senden oder sonstwie.. musst dur dir überlegen .. aber das mit dem relais funzt sicher ned.. da muss ein kompletter chip her... ohne siehts traurig aus...Ich spreche aus erfahrung.... konnte damals zwar noch nicht super c++ aber so hackst du dir die Zähne an einem stein aus und daneben liegt ne Banane...Saftig...süss...(kochbanane)... maaan hätt ich jetzt gerne ne kochbanane.... will wer meinem Kochbananen Fan Club beitretten... wir haben schon ganze....(0 + 1 = 1) 1 Mitglieder... und wir werden von tag zu tag mehr....Der KFC ist geboren... eine neue religion..... glaubt an die "Holy Kochbanane" veerhrt den Bananen Baum wie ihr eure frau veehert ....
OKAY... ab" Ich spreche aus erfahrung " kamm nx gescheites mehr... aber das was ich oben geschrieben hab.. stimmt.. ich kann dir wenn du die relaiskarte hast.. meinen qbasic code schicken.... hab für jedes der 8 relais ein eigenes prog gemacht das ausgeührt wird...
Mit freundlichen Grüßen
Onkel-Tuca der Grooooßße Übermächtige Heer der KochBananen.... unser Motto ist: "Alles Banane".....
-
@Onkel-Tuca
kauf dir blos kein Auto bist du viel zu schnell mit und bei Regen wirst du nicht nass, kauf dir ein Fahrrad das ist viel besser und einfacher zu fahren.Jetzt mal ihm ernst, nur weil du nicht fit in C++ bist, muß es bei ihm nicht auch so sein. Wie kann man einen C/C++ Progger empfehlen QBasic zu nehmen?
Und dann dein Bannanen Wahn, das macht mir sorgen, zumal du ja Männlich bist,
ich stehe mehr auf Pfirsiche und Pflaumen.
Blackbird hat schon eine gute Aussage gemacht die ihm dabei helfen wird, und er will ja keine 40,- Teuro ausgeben sondern nur 2,50 für ein Relais, denn wenn
er das macht, kann er auch entsprechende Software dazu kaufen.
-
man man man.... wenn er sich nicht mit dem com port auskennt....wie will er dann ein programm dafür coden... ich hab ihm ja nur gesagt das es mit qbasix oder jeder ANDEREN programmiersprache leichter geht... ICH HAB JA AUCH C dazu geschireben...
2tens.... DIE Kochbanane(WEIBLICH) + Der Onkel-Tuca(MÄNLICH) = das BananenKind(SACHLICH)
ich sag ja nich das ich früchtegeil bin aber wenn dann sind Kochbananen die ERSTE wahl... du bistz auch so ne pflaume wenn er sich nicht6 mit Com-ports auskennt... da kann man VERDAMMT leicht zuviel spannung drauf geben vorallem mit der methode die oben angegeben wurde...ab 24 V machts ZiSCHHH und Sptratzlll und dein Mainboard + CPU ist getoasted(das NENNT man dann CPUMAINBOARD++) hab das mal bei einem freund gesehen... der hat jetzt ein COM-Port Trauma und immer wenn er irgendwas an den com-port ansteckt bekommt er einen wutanfall.... ich hab das über qbasic geregelt... damals hab ich halt erst ein halbes jahr vorher mit c++ angefangen... aber in jedem traehd STAND IMMER MAN SOLLLTE DAS MIT C++ LASSEN WEILS ZU GEFÄHRLICH IST UND VERDAMMT NOCHMAL UMSTÄNDLICH BSI ZUM GEHT NICHT MEHR....4tens... Mit dem Auto hast du recht... vor nem halben jahr is mir auch mein Fahrad kaaaapuut gegangen jetzt bin ich zu fuss unterwegs.. wenn störts.. mcih nicht.......
MANOMANAMOMAN was HABT IHR EIGENLICHT ALLE GEGEN SEKTEN .. wenn einer gerne Kochbananen Anbettet soll er das doch tun.. nur weil alle "die heilige Pflaume" anbeten muss ich doch nicht pflaumiger werden oder... ODER .... OOOOODERRR

-
Oncel_Kochbanane schrieb:
... da kann man VERDAMMT leicht zuviel spannung drauf geben vorallem mit der methode die oben angegeben wurde...ab 24 V machts ZiSCHHH und Sptratzlll und dein Mainboard + CPU ist getoasted(das NENNT man dann CPUMAINBOARD++) hab das mal bei einem freund gesehen...
Ich frag mich wär dich freigelassen hat, lese bitte erst mal alles richtig, dann wirst du feststellen das man klar im Vorteil ist wenn man lesen kann.
Oncel_Kochbanane schrieb:
DAS MIT C++ LASSEN WEILS ZU GEFÄHRLICH IST
Meinst du "COMPORT1->SetVoltage(100);" oder so, du hast absolut keine Ahnung.
Die Spannung beim ComPort bleibt wie sie ist, egal ob 12,18 oder 24V Relais.
Du kannst auch nen Haartrockner dran hängen, das einzige was passiert ist: nichts.
-
@Onkel-Tuca: Immer schön sachlich bleiben - habe ehrlich gesagt keinen Lust mir irgendwelchen nichtssagenden Müll durchzulesen

-
man ich mein nicht die die Relais ich mein die spannung der Pins...
das sin nachrichten von nen paar die auch schon erfahrung mit com-port gemacht haben:
//////////////////////////////////////////
Hallo corradoFrüher mit Timca und Kabel heute mit Auto-DNC und Funkbox
bei der Gildemeister würde ich an deiner stelle das Datenkabel nicht länger als 5 Meter machen sonst kann es sein das deine schnittstelle durchbrennt Durch spannungschwankungen ist mir nähmlich bei meiner CTX 400 auch schon passiert und das teil (Baustein) ist dann richtig Teuer weil da auch noch die Grafikkarte mit drin sitzt
es gibt von Gildemeister auch ein Schnittstellenschutz so ca.150€ ist ein kleiner blauer Kasten setzt man einfach zwischen Maschine und Datenkabel das Teil braucht auch noch ein Netzteil 24V im Handyladergeräteformatmfg.Hugge
//////////////////////////////////////////
hi ulfIn Maiks Adapter ist ja noch ein Strombremse (R1 = 100 Ohm) drin, die den Strom durch Pin 5 des COM-Ports im Extremfall auf ca. 120 mA begrenzt.
Wenn ein Adapter allerdings eine quasi Null-Ohm-Verbindung zwischen zwischen Pin 5 des COM-Ports und Pin 4 des OBD-Steckers darstellt, dann läuft der Betriebsstrom eines bordgespeisten Laptos bei schlechter Masseverbindung des Stromkabels möglicherweise über den COM-Port - und ich vermute mal, daß die wenigsten Laptops mit ihren filigranen Leiterbahnen da mal eben 3 Ampere oder mehr verkraften.
Dann ist der COM-Port wohl meist hinüber.....usw.....usw
////////////////////////////////////////////////das hab ich nach 1 min suche in google gefunden.... früher hatte ich noch die ganzen links wos aufürhlich stand..... NOCHMAL... heist ja nich das euch das passieren muss... nur sicher ist sicher es gitb soviele möglichkeiten den comport über c++ anzusprechen und wenn du ne paar pins falsch setzt oder falsche frames schickts dann is dein comp hin....die Com-Port controlle kriegst du übrigens auch über aktivx hin....
hier is ne klasse zum steuern auf c++ basis...
class CRelais : public CSerial { public: CRelais() { } ~CRelais() { } enum Option { AcceptBroadcast = 1, BlockBroadcast = 2 }; inline BOOL Nop(BYTE bAddress) { return(SendFrame(NOP, bAddress, 0)); } inline BOOL Setup(VOID) { return(SendFrame(SETUP, 1, 0)); } inline BOOL SetPort(BYTE bAddress, BYTE bData) { return(SendFrame(SETPORT, bAddress, bData)); } inline BOOL SetOption(BYTE bAddress, Option opt){ return(SendFrame(SETOPTION, bAddress, static_cast<BYTE>(opt))); } private: enum Request { NOP = 0, SETUP = 1, GETPORT = 2, SETPORT = 3, GETOPTION = 4, SETOPTION = 5 }; BOOL SendFrame(Request req, BYTE bAddress, BYTE bParam); }; BOOL CRelais::SendFrame(Request req, BYTE bAddress, BYTE bParam) { char bFrame[4]; bFrame[0] = static_cast<BYTE>(req); bFrame[1] = bAddress; bFrame[2] = bParam; bFrame[3] = static_cast<BYTE>(bFrame[0] ^ bFrame[1] ^ bFrame[2]); return(SendData(bFrame, 4) == 4); }und so wird der spass ausgefürht:
CRelais Relais; Relais.Open(1, CBR_19200, 8, NOPARITY, ONESTOPBIT); Relais.Setup(); Relais.SetPort(1, 2);falls du mit ner 19200 bitrate úsw arbeitsts... steht ja alles da....
wünsch noch nen schönen abend...
-
Kann mal jemand nen Doktor zum Onkel-Tuca schicken?
Deine vorgegeben Mails, und Code Post haben nichts damit zu tun.
FANG ÄNDLICH AN ZU LESEN!!!!!!!!!!!!!!!!!!!!!!!
Und melde dich wieder wenn du nüchtern bist!
-
Onkel-Tuca schrieb:
bei der Gildemeister würde ich an deiner stelle das Datenkabel nicht länger als 5 Meter machen sonst kann es sein das deine schnittstelle durchbrennt Durch spannungschwankungen ist mir nähmlich bei meiner CTX 400 auch schon passiert und das teil (Baustein) ist dann richtig Teuer weil da auch noch die Grafikkarte mit drin sitzt
Genau, das lange Kabel erzeugt Spannungsschwankungen.

Du schreibst sehr konfus. Bitte ordne deine Gedanken etwas, bevor du ein Posting abschickst.

Wenn das Datenkabel zu lang ist, können ein paar unerwünschte Sachen auftreten. Was aber definitiv nicht passieren kann, ist eine Zerstörung des COM-Ports.
Den COM-Port kann man AFAIK nur durch extern angelegte Überspannung zerstören. Wenn deine Schaltung mit maximal 12V arbeitet, ist es ziemlich unwahrscheinlich einen COM-Port zu verlieren.
Nochmal: Der COM-Port selbst besitzt eine Strombegrenzung. Ein Kurzschluss wird also vielleicht ein paar ICs erhitzen, aber kein Mainboard zerstören.Auf den Teil mit der Grafikkarte will ich gar nicht erst eingehen.
-
@CD9000
vieleicht sollten wir für ihn auch nen extra Thread aufmachen und ihn aufklären, bzw. zum lernen bewegen wie bei mir, mir hats geholfen, nur ob es ihm hilft habe ich meine zweifel. Was meinst du, jetzt bin ich Fit genug in der geschichte das ich tatkräftig unterstützung bieten kann.
-
Naja, ich kenne auch einige die sich nen COM-Port geschrottet haben.
Aber das lag bestimmt nicht an der Programmiersprache, sondern an einer bösartig gefrimmelten Schaltung am COM-Port
-
geeky schrieb:
Naja, ich kenne auch einige die sich nen COM-Port geschrottet haben.
Aber das lag bestimmt nicht an der Programmiersprache, sondern an einer bösartig gefrimmelten Schaltung am COM-Port
Waren das Mitglider der Kochbananen-Sekte?

-
das hat jetzt mal alles überhaupt nichts mit meinenen Kochbananen zu tun...hab ja nur gesagt das er sich hundert pro mit qbasic leichter tut weil das mit dem frame schicken usw.. viel leichter ist.. und mann sich nicht ewig mit paramtern rumägert die man eigentlich gar nicht braucht die aber aus c# prophelaktisch übernommen wurden... und wenn man da falsche Typkonfertierung oder sowas macht dann kann es sein das dein Computer hin is... wenn du ein Programm mit guter benutzerfreundlichkeit basteln willst dann kannst ja gerne über c++ machen .. würde es trozdem erst mal über qbasic ausprobieren die sprache is so leicht die kann JEDER... hier noch ein zitat von Bjarne Strousoup :"In C kann man sich leicht ins Bein schiessen. In C++ ist es schon schwerer, aber wenn, dann ist das ganze Bein weg !".
@MiC++ha: Die Schwarze Kochbanane des Todes soll dich holen und dir ab jetzt nur noch pflaumen zu essen geben*finsteres,BÖSES Lachen* ... ha ... haha ... MUHAHAHAHAHAHHAHAHA
ps:@cd9000:ICH HAB GESAGT AB 24 VOLT WIRDS KRITISCH!!!!
Das is für die C++ fans:
http://www.bernd-leitenberger.de/echte-programmierer-neu.html
bin kein c++ fan aber wenns sein muss schreib ich meine progs dadrine...
....scheis MFC... Scheis visual studio... scheis borland... scheis windows...
...scheis microsoftwünsch euch noch nen schööönen Mittwoch... ich rauch jetzt erst ma ne tüte und
dann schau ich wieder was irh fieses geschrieben habt ihr pflaumen Fans ihr
-
Hi
Ich will nur kurz was klarstellen !!!
Ich hab auch schon n paar COM-Ports in arsch gehen sehen. das WAR C++ aber das andere mal war das Programm mit C# gecodet. Es ist gefährlich mit COM-Ports zu arbeiten aber nicht sooo schlim wie es Onkel-Tuca beschreibt(warscheinlich hat er und seine BananenSekte einen COM-Port auf die weise geschrottet und er will es nicht zu geben*HAR HAR HAR*)Mit freundlichen Grüßen
Marcusps: @Onkel-Tuca knall dir nicht sooo heftig die birne zu is nicht sooo gut. Wie man in diesem Tread erkennen kann
-
Ich sags immer wieder. diese Drogensüchtigen, erst Schrotten die nen COM Port und vor lauter Freude das sie mit C++ was "ereicht" haben, werfen die ne Banane in heißes Wasser, da die dann aber kein COM Port mehr haben, machen die mit QBasic weiter.
Blackbird hat sowohl die Programmiertechnische Seite beschrieben als auch die Elektronische, wenn man Bananen auf den Augen hat kann man das nicht erkennen.
Am aller Wichtigsten ist die Elektronische Seite, dabei spielt die Programmiersprache keine Rolle. Er kann mit QBasic genauso sein Port schrotten wie mit C oder C++, und wenn man genau hinschaut:EscapeCommFunction(hCom, SETRTS);ist das ein C üblicher Funktionsaufruf.
-
hi,
also ich muss mich mal nach dem lesen dieses threads auch einmischen. ich denke mal hier stehen viele sachen die der loesung des problems nicht dienlich sind (zb Onkel-Tuca). ich denke wer keine ahnung von hardwarebau und ansteuerung mittels einer programmiersprache hat sollte sich hier raushalten. wenn man schon ne karte con conrad kaufen muss heisst das das man nicht wirklich ahnung von der hardware hat mit der man sich beschaeftigt.
und die programmierung von ports mittels c++ hab ich sicher genauso schnell geschafft als wenn ich mich erst in qbasic einhacken muss.
versucht euch mal aufs wesentliche zu konzentrieren, soll heissen, zu helfen, und nicht ueber bananensekten usw zu diskutieren. da mit is naemlich keinem geholfen.gruss
msp