PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Com Port als schalter verwenden!?!


Neo.Genesis
01.12.2003, 13:26
Mahlzeit!

Mal gleich vorweg bin heut eher mehr zufällig alls alles andere auf euer board gestossen und muss gleich ein großes lob ausbrechen schaut alles recht gut aus :)

So nun zu meiner frage: ich sags gleich im bereich Programmieren bin ich ein anfänger sprich ich bin schon froh wenn ich meinen php code von meinen kleinen forum halbwegs verstehe *gg*

Ich hab zuerst die such funktion genutzt und hab auch ein par threats gefunden die um diese thema handeln nur war mir das alles ein wenig zu hoch!

So mein vorhaben ist es mittels com port meine lüfter, Leds, Kaltlichröhren und so weiter zu steuern oder ich möchte es mal versuchen! Das elektronische ist eigentlich im großen und ganzen kein problem für mich wenn das mit den pin belgungen so funktioniert wie ich mir das vorstelle dann sollte sich das alles mit ein par transitoren realliesieren lassen! auser ich täusche mich und ihr habt eine bessere idee!

So mein haubt problem ist die programmierung ich möchte ganz einfach ein kleines windwos fenster wo dann drinnen steht lüfter1 an oder aus zum anklicken oder so! nur hab ich keinen blassen schimmer mit welcher programmier sprache und wie ich das überhaubt mache! und ist es überhaubt möglich under windwos xp wenn mich nicht alles täuscht hab ich hier irgendwo gelesen das dass ein problem geben könnte!

Nunja ich sag schonmal vielen dank im voraus für eure hilfe

Mfg

Neo


Marek Swierzy
01.12.2003, 13:39
Klar kein Problem....
Du kannst unter Windows XP ohne Probleme auf die RS232 zugreifen.
Ich erstelle es am liebsten in C++(BCB). Nur die Weilst das die RS232C mit +-12V Arbeitet. Ich würde dir eine Treiber Empfehlen den MAX232 von Maxim damit hast du 0-5V. Jedoch werde ich aus deiner Aufgaben stellung nicht ganz schlau.
Mal mir ein Bild wie du dir das vorstellst und das Protokoll dann erstelle ich dir das Programm.


MfG


Marek Swierzy

Schaf
01.12.2003, 14:20
mit der seriellen? :D du weisst hoffentlich, dass man dafür entweder einen µc oder einen stand-alone-uart von gi braucht, welchen man nur noch schwer bekommen kann :o

darum einfach mal alle beiträge im elektronik-forum anzeigen lassen ... das problem wurde hier mindestens schon zweimal behandelt! :mauer:

Neo.Genesis
01.12.2003, 14:44
So mal zuerst vielen dank für eure hilfe im anhang hab ich ein kleines bild angehängt aber bitte nicht gleich schnauzen wenn das elektronisch nicht machbar ist *gg* bin leider kein elektrotechniker aber wenn mich mein schuhlwiesen nicht täuscht dann könnte es klaben!

@Marek Swierzy vielen dank für deinen beitrag das angebot mit dem programm nehm ich sehr dankbar an! nur eines was meinst du mit einen protokoll meinst du die pin belegung oder? wenn ja dann würde ich gerne so 6 pins oder so steuern!

@D3DSH33P hmm also das ist mir ein wenig zuviel fachchinesisch aber drotzdem danke für deine hife die threats hab ich beide gelesen ich glaub es waren sogar 3 aber ich bin irgendwie nicht schlau daruas geworden!

nochmal danke für eure hilfe

mfg

Neo

FireBird2002
01.12.2003, 17:40
So weit ich weiß, lassen sich im PC die Pins einer seriellen Schnittstelle nicht einzeln ansteuern.

Was du brauchst ist ein Pegelwandler(MAX232) von der seriellen Schnittstelle ( -12V High, +12 V low) auf TTL Pegel (+5V High, 0 V low), einen Microcontroller (µC, ist so ne Art langsamer Prozessor mit viel Zubehör) mit integriertem UART (COM-Schnittstelle, hat fast jeder µC). Aus dem Datenblatt des µCs kannst du dann die Pinbelegung rauslesen. Außer Spannung braucht der µC noch eine Taktquelle (meist ein Quarz + 2 Kondensatoren, oder ein Oszilator-Baustein). Die Spannung kannst du as dem Netzteil des PCs nehmen, oder ne extra Stromversorgung basteln (http://www.elektronik-kompendium.de/sites/bau/0204301.htm).

An die Ports kannst du dann die Schaltung mit deinen Transistoren (NPN oder n-MOSFET, du mußt allerdings auf die maximalen Spannungen und Ströme schauen, steht in den Datenblättern) hängen.

Du mußt dann noch ein Prog für den PC und eines für den µC schreiben. Das ist prinzipiell eigentlich kein Problem. Mußt dir nur ein kleines Protokoll zwischen PC und µC überlegen.

Müßte eigentlich so funktionieren.

Marek Swierzy
01.12.2003, 18:41
@FireBird2002
Dies ist richtig. Es lassan sich im Grundegenomen nur drei Pine Bewegen : TD,DTR,RTS.
Ausser dem SG sind die anderen Inputs...

Wenn du die Serielle als Schalter benutzen willst klar.... wie gesagt BUS-Treiber. Jedoch empfiehlt es sich die LPT-Schnittstelle zu verwenden.
P.S.: Mit Protokoll meine ich z.B.: 00001101 -> Output etc.

MfG

Marek Swierzy

Neo.Genesis
02.12.2003, 08:24
@all villen dank für eure beiträge!

Ok nach dem ganzen hin und her damit ich das noch richtig verstehe wenn ich die lpt1 schnitstelle verwende dann kann ich es so machen wie ich mir das vorgestellt hab oder bruach ich dort auch wieder einen reglerwanderl und so weiter?

Gut das protokoll werde ich versuchen zu erstellen mal schauen wie das mit dem binären system gegangen ist das hab ich hier auch schon gelesen wenn es sich aus geht dann werde ich es heute oder morgen nachreichen! nochmals vielen danke für eure hilfe!

mfg

Neo

saddamski
02.12.2003, 13:13
Wenn du die parallele Schnittstelle benutzt, solltest du ein wenig aufpassen, da diese nicht Kurzschlussfest sind!

Wenn du da mal zu viel Strom abzapfst wird sich der Port verabschieden.

Wenn du schon den parallelen Port benutzt solltest du die diese auf jeden Fall mit Optokopplern galvanisch trennen.


Ich selber würde ja eher die serielle benutzen und ein Schieberegister damit ansteuern, was seriell einlies und parallel ausgibt.

Aber bekanntlich gibt es viele Wege nach Rom, und jeder sollte das benutzen was er mag :)

Von daher.

Wenne noch Fragen hast, kannst ja fragen :P

Schaf
02.12.2003, 21:57
hmmm, schieberegister ... woher soll dass denn wissen, wenn ein datenwort anfängt? da braucht man doch eher einen uart. wie gesagt, es gibt meines wissens nur einen (und ein paar variationen davon), aber der ist schwer beschaffbar. ich habe zwar zwei davon, aber die geb ich nicht her ;) naja, die uarts, die passen, heissen:
ay-3-1014
ay-3-1015
ay-5-1013
ay-6-1013
das ist meiner meinung nach die einfachste lösung. man braucht diesen uart, den beschriebenen pegelwandler, und einen treiberbaustein, der dann die lüfter usw. schalten kann. zur stromversorgung reicht ein billiges 5v-steckernetzteil. dann haben wir eine platine mit 3 ics.

und parallel ist einfacher, wenn man keinen passenden uart findet. man braucht optokoppler, latch (eine art zwischenspeicher), treiber, und das netzteil.

und die microcontroller-lösung ist für einen absoluten neuling vielleicht zu aufwändig/kompliziert :rolleyes:

FireBird2002
03.12.2003, 00:06
Die Stromversorgung kann man ja die interne Verkabelung im PC nehmen oder man macht das ganze über USB, gibt's auch ein paar Bausteine für. Außerdem würde ich die µC-Variante empfehlen, da man dann viele Spielereien wie Blinken, Helligkeitseinstellung, Lüftergeschwindigkeit in Abhängigkeit der Rechnertemperatur steuern u.s.w. machen kann, ohne den PC-Prozessor zu belasten

Neo.Genesis
04.12.2003, 11:58
Danke danke und nochmals danke :)

So hab mich jetzt mal endlich durchgewühlt!

@D3DSH33P danke dir für deinen beitrag so hab mal nach den fachbegriffen gescuht zb der uart ich hab das hier gerfunden http://www.mikrocontroller.net/tutorial/uart.htm ist das dass was du gemeint hast?

Schwer beschafbar das ist schlecht sprich das ding wird auch teuer sein! oder? du hast auch nicht zufällig eine ahnung woher ich einen bekomme? google hat mal nichts ergeben connrad auch nicht so ein schmarn :mauer:

Hab auch noch das im shop gefunden
"http://shop.mikrocontroller.net/csc_article_details.php?nPos=0&saArticle[ID]=30&VID=3rkbYkbTratSkFG3&saSearch[word]=&saSearch[category]=AVR&saSearch[special]=" (konnte den link leider nicht anders einfügen! einfach kopieren und einfügen dann soltet ihr auf die seite kommen) [habs auch probiert, geht echt nich anders - das schaf]

ist das im großen und ganzen so ein aufbau wie ich ihn benötige oder fehlt noch etwas?

einstweilen nochmal danke an alle hoffe dann das ich langsam auf einen grünen zweig komme :)

Schaf
04.12.2003, 14:03
jap, uart ist der baustein, der aus parallelen daten einen seriellen datenstrom macht. auf dem bild ist er das teil, das im avr links eingebaut ist, leider nicht ganz sichtbar. der max232 ist der pegelwandler.

zum gi-uart: selten und alt = schwer beschaffbar, aber nicht unbedingt teuer. guck ab und zu mal bei ebay, oder frag in der newsgroup de.sci.electronics nach, ob jemand einen loswerden will.

wenn du dich für die µc-variante entscheiden willst, ist das board eine recht gute wahl. bedenke aber, dass es mit dem board alleine nicht getan ist, da du - wie bereits erwähnt - noch die treiberbausteine brauchst. und den controller selbst, der ist da nicht bei. andererseits finde ich den avr (zumindest den, der in das board passt) nicht geeignet für anfänger (schwer zu programmieren, zu komplex). such lieber nach einem board für einen 8051 (einfacher controller von intel). der ist absolut einfach zu programmieren, und hat auch nur das nötigste an bord. vollkommen ausreichend.

Dominic Suter
05.12.2003, 21:35
So, dann gebe ich hier auch noch meinen Senf dazu, obwohl das meiste eigentlich schon gesagt wurde.

Wie 3D... schon sagte, musst du fuer die RS232 einen Pegelwandler und einen UART einsetzen. Allerdings gibt es ab und an noch ein paar Probleme mit dem UART, da diese ggf noch ein paar Steuersignale benoetigen, die je nachdem nicht nur vom PC kommen koennen, was bei deinem Projekt allerdings weniger der Fall sein sollte.
Als einfache Alternative ist hier wirklich ein uP genannt; die PIC von www.mirochip.com sind meist einfach zu erlernen und die IDE etc stehen gratis zur Verfuegung.

Da das das erste Projekt werden soll und sich deine Kenntnisse noch in einem geringen Ausmass bewegen, wuerde ich zum bedienen des LPT1 raten. Damit HW-Seitig am PC nichts in die ewigen Si-Gruende geht, alles mit Optokopplern trennen. Das ist IMHO einfacher als gleich mit uP und UART ins Rennen zu gehen.

Schaf
05.12.2003, 23:13
Original geschrieben von Dominic Suter
... Allerdings gibt es ab und an noch ein paar Probleme mit dem UART, da diese ggf noch ein paar Steuersignale benoetigen, die je nachdem nicht nur vom PC kommen koennen ...
eben, das eigentliche problem ist: fast alle uarts müssen über register, also steuerwörter konfiguriert werden. das geht entweder über einen rechner (der µc), oder man nimmt einen uart, den man einfach über über ein paar jumper konfigurieren kann, und deshalb hab ich die serie von gi vorgeschlagen. hat sogar getrennte ein- und ausgänge ;)

Neo.Genesis
09.12.2003, 09:35
Morgen,

Vielen dank euch allen!

@Dominic Suter vielen dank für deinen beitrag ja mir ist schon klar das ich mir da ganz schön was aufgehalst hab aber ohne heruasforfderungen währe das leben langweilig! aber da ich im moment leider keinen uart finde weder bei ebay und so weiter
werde ich noch ein wenig zuwarten und nachforschen! wenn siech nichts ergibt muss ich notgetrunger massen so oder so auf die lpt methode umsteigen! den die andere methode mit dem µc mit einen controller 8051 von intel finde ich zur zeit auch nicht! wie D3DSH33P es vorgeschlagen hat!! scheinbar bin ich ein paar jahre zu späht auf diese idee gekommen! :)

@D3DSH33P danke auch dir! ich hab noch eine frage zum uart in was für schaltungen geräten und so weiter wird ein uart haubtsächlich verwendet?? ist nur eine allgemeine frage so kann ich die suche ein wenig eingrenzen!

nochmals danke an euch allen wenn sich was ergibt oder ich das projekt gar mal endlich starten kann werde ich mich wieder melden!

mfg

Neo

Schaf
09.12.2003, 15:50
jaa, garnicht so leicht, was? :D

ein uart findet sich (fast) überall dort, wo eine serielle schnittstelle vorhanden ist. häufig leider in einen µc integriert -> unerreichbar :(

und den 8051 findet man noch immer. zugeben, er heisst jetzt meist anders ... und was ich noch vergessen habe: es MUSS ein flash-controller sein (sehr einfach programmierbar). sonst kannst du den nur einmal programmieren, oder brauchst zum neu-programmieren mehrere teure geräte.

http://www.atmel.com/dyn/products/product_card.asp?part_id=1930
guck mal da, das ist, was du brauchst, wenn du die µc-lösung nehmen willst. auf dieser einen seite findest du in den application notes hinweise zum programmieren und wie man das ding beschaltet. du kannst statt dem at89c51 auch einen at89s51 nehmen, ist die neue variante davon.

saddamski
09.12.2003, 23:15
Huch, hab ich doch glatt vergessen dass ich hier gepostet hab :D

Also..das mit dem Schieberegister geht...ist allerdings nicht die schönste Methode :D

Beispiel mit nem 4094, hab das mal innem Buch gefunden:

DTR an clk
TxD an Data
RTS an Str
GND an GND

Soo...die Pegelwandlung geht ganz einfach, is aber unschön ;),

Einfach nen 10K Widerstand zwischen RS232 Port und IC Pin.
Und zum IC Pin Parallel ne 4,7V Z-Diode.

Mit ein bisschen programmierarbeit kann man das Register dann ansprechen.

Das ganze kann doch auch mit weiteren Schieberegistern erweitert werden.
Str und clk einfach parallel...und der Data Eingang vom neuen IC kommt an den Qs Ausgang vom vorherigen IC.

Ein wenig wild erklärt..sollte aber klappen.

Zumindest mit einem Schieberegister, weil das hat nen Freund ma aufgebaut...

Mit dem parallelport habsch noch nie gearbeitet :) Brauchte nie so viele Leitungen...und wenn doch, dann hab ich das mit nem 8051 gelöst :)

Aber schön dass hier in dem Forum mal ein bisschen was los ist :)

Schaf
10.12.2003, 01:00
hm, könnte gehen. für 8n1 sind dann zwei stück nötig. vielleicht sollte man sowas mal probieren, wenn man welche von denen zur hand hat :rolleyes: und falls das nicht klappt, könnte man auf den parport ausweichen, dann kommt man auch mit einem sr aus ;)

achja, platz für parity hat man ja. also wieso nicht noch einen paritygenerator/-checker mit auf die platine klatschen ;)

Neo.Genesis
10.12.2003, 10:31
@D3DSH33P

Ja ist wirklich nicht so einfach :) wenn ich mir denke das ich das eigentlich ganz ganz simple gestallten wollte naja ich muss ja immer mit dem kopf durch die wand :mauer: *gg*

Aber egal ja auf der seite steht eigentlich eh alles wenn ich den at89c51 aufdatreibe werd ich es wahrscheinlich so machen!
Hier http://www.hed-programmer.de/atmel/preise2.asp hab ich glaub ich halt gefunden ist der preis so halbwegs in ordnung oder gibs die günstiger auch kenn mich da leider nicht so gut aus!

@saddamski

Hmm das klingt eigentlich sehr einfach! darf ich fragen wie das buch geheisen hat?? von dem du gesprochen hast

Nun gut danke euch allen werd nun mal schauen was ich bekomme und werd dann mal alles ausprobieren oder zumindestens schauen wie weit ich komme denn es heist ja probieren geht über studieren *gg*

mfg

Neo

Schaf
10.12.2003, 19:32
mir fiel gestern im bett noch ein: wenn man sychrone übertragung macht, braucht man nur EIN sr, weil start/stopbits ja eh fehlen sollen -> 8 bits statt 11! :rolleyes:

saddamski
15.12.2003, 03:19
ähh, jo...das Beispiel mit dem Schieberegister war auch für synchrone kommunikation. Hätte ich vielleicht erwähnen sollen ;)


Das Buch heist:
PC-Schnittstellen unter Windows.

Ist von Elektor.
isbn: 3-89576-086-2

Evtl. kann ich die Seite auch einscannen und online stellen.

Muss ich nur schaun wo ich nen Scanner her bekomme :)

Tobias