Forum: FPGA, VHDL & Co. Spartan 3 Starter Kit ansteuern von externen Geräten


von Marc (Gast)


Lesenswert?

Hallo,

ich habe seit einiger Zeit das "Spartan 3 Starter Kit" Board. War früher 
nur in der Software tätig, und nun wird es Zeit etwas meine 
Hardwarekenntnisse zu erweitern. Nach 20 verschiedenen Versuchen und 500 
Fehlschlägen, soll sich das Resultat nicht mehr auf eine blinkede LED 
auf dem Board oder die Ausgabe per serielle Schnittstelle beschränken. 
Ich möchte mit Hilfe der IO Pins Geräte ansteuern.

Habe schon etliches gegoogelt, aber noch nichts gefunden, dass jemand 
mal sowas gemacht hat. Da ich kein Physik mehr haben durfte, bin ich 
Elektrortechnisch nicht so bewandert, aber generell habe ich mir das so 
vorgestellt: An die IOs  hängt ich einfach ein Relais, welches ja durch 
den FPGA gesteuert werden kann und somit auch den Arbeitsstromkreis 
steuert. Ich möchte normale Haushaltsgeräte betreiben also (~230 V). 
Deswegen auch das Relais. Probiert habe ich das nicht, da ich vor 
folgendem Angst habe: Ein relai ist ja eine Spule, also ist der 
Widerstand nicht besonders hoch. Das bedeutet, dass ein "relativ großer" 
Strom im Steuerstromkreis fließt. Mein  bedenken ist nun, das der FPGA 
nicht so einen großen Strom verkraftet und kaputt geht. Kann das 
passieren? Ab welchen Strömen ist das der Fall? Oder ist das unwichtig, 
da die Spannungen so gering sind (3,3 im FPGA, 5 V Output)  Habe auch 
schon überlegungen bzgl. des Relais angstellt ... Wenn das Relais 
schalten gibt es doch Induktionsströme ... können die dem FPGA schaden? 
Muss ich da eine Schutzsdiode einbauen? Wie ihr seht habe ich Fragen 
über Fragen ... und weiß nicht so richtig wo ich anfangen soll. Nochmal 
zusammengefasst das wichtigste:

1. Ist es möglich normale Haushaltsgeräte (Glühlampe, Kaffeemaschiene, 
Verstärker...) über dieses Board zu steuern (steuern im Sinne von Gerät 
bekommt Strom oder nicht)

2. Ist ein relais die richtige Wahl (da im Steuerstromkreis ja viel 
geringere Spannungen herschen)

3. Was mucc ich dabei beachten? Kann ich das relais einfach an das Board 
schließen oder fließen dann zu große ströme?


Habe bereits mal in die DOKU geschaut, da wird aber nichts über Ströme 
beschrieben.

vielen Dank für eure Hilfe,

Marc

von Xilinxbenutzer (Gast)


Lesenswert?

Nein, auch 1,1 Vo können Ampere treiben! Was der Ausgang kann, steht im 
Datenblatt. Dicke Spulen - womöglich noch ohne Spannungsbegrenzung - 
kann er definitv NICHT!

Du kannst, wenn du Basteln willst, einige CMOS-GAtter dranhängen. Die 
können ordentlich treiben und kosten 0,50, wenn sie abrauchen. Ich würde 
an einen FPGA-pin alle Eingänge eines Und dranhängen und die Ausgänge 
über kleine R parallel schalten.

Steuern kannst du das Kit über die serielle Schnittstelle. Brauchts halt 
noch einen CORE, der das kann und dein individuelles Protokoll.

von Marc (Gast)


Lesenswert?

Hallo,

vielen Dank für deine Antwort. Datenblatt ist prima. Da habe ich auch 
schon reingeschaut. Da finden sich Werrte von 5 mA bis 12 mA. Ich denke 
mal bis 10 mA sollte nichts passieren? Wo schaust du denn speziell nach?

Also das steuern per UART und so, funktioniert alles. Das ganze läuft 
über den PicoBlaze. Es geht wirklich nur darum, dass anstatt den LEDS 
auf dem Board eben Lampen an der Decke blinken sollen :-)

Ich merke schon, die Sache mit den Relais sollte man verwerfen, auch 
schon wegen dem Verschleiß. Du hast CMOS angesprochen. Das hatte ich vor 
1 Jahr in der Uni behandelt. Mir ist hängengeblieben, dass das CMOS in 
den stabilen Zuständen Stromlos funktioniert, dank der MOSFETS. Also es 
fließt kein Strom, sondern die Spannungen reichen aus. Da stellt sich 
für mich sofort eine Frage:

Wenn die Schaltung wechselt, fließt ja trotzdem Stromvom gate zum 
Source. Wie groß ist der? Zerstört der bereits den FPGA?

Ich denke mal du willst nicht über den MOSFET den Strom zur Arbeit 
jagen, soll ich hinter die MOSFETS dann das relai hängen? Oder gibts dan 
andere Möglichkeiten zwecks verschleiß.

Vielen Dank nochmals. ich merke praktis ist 10000 x besser als das 
theoretische UNI gelabere.

von TheMason (Gast)


Lesenswert?

@marc

prinzipiell kann man natürlich verbraucher mit einem fpga schalten.

>Ich merke schon, die Sache mit den Relais sollte man verwerfen,

also wenn du 230v Verbraucher schalten willst würde ich es NUR über 
relais machen. (egal ob solid-state oder die mechanischen)
Mit einem CMOS Gatter kannst du dann die Ströme die das relais braucht 
schalten. Es ist schon (fast) zwingend notwendig einen solchen Gatter 
(oder aber auch Relais-Treiber wie der ULN einer ist).
Das Thema spannungsspitzen, hervorgerrufen durch spulen, darf man nicht 
unter den tisch kehren. Vergess blos nicht die freilaufdioden, denn 
sonst kann es dir dein CMOS-Gatter bzw. Treiber plätten. Und wenn du 
großes Pech hast auch deinen FPGA (wenn die Spannungsspitze so groß ist 
das diese durch deinen Gatter durchschlägt. Denk daran, CMOS ist was das 
angeht weitaus empfindlicher als ttl).
so gesehen gelten für das steuern von verbrauchern die selben regeln wie 
für einen Mikrocontroller. da kann man sich dann auch einige 
schaltungsbeispiele abkupfern.

aber in sofern mal ne frage : warum willst du mit einem fpga so langsame 
sachen machen ?
ist das eine übung für dich ? dann ist ok.
wenn du mit dem spartan3 richtig was machen willst, versuche doch mal 
eine ausgabe per vga-schnittstelle zu machen. ab da wirds interessant, 
und es ist auch gar nicht soo schwierig.

schau auch mal auf die seite fpga4fun.com
da stehen schon einige lustige (aber kleine) projekte drin, die allesamt 
gut beschrieben sind (z.b. Servo Steuern, Töne erzeugen, Schnittstellen 
und noch div. andere kleinigkeiten. allerdings ist das meiste in verilog 
geschrieben.

gruß
rene

von Axel (Gast)


Lesenswert?

>also wenn du 230v Verbraucher schalten willst würde ich es NUR über
relais machen.

Man sollte generell wieder mehr mit Relais machen. Auch Computer z.B:, 
dann hört man , wenn im Hintergrund das Windows wieder unerlbaut Daten 
funkt.

Nee im Ernst: Nimm Dir eine alte Lichtorgel und steuere das ganze 
indirekt an: Du brauchst einen schnellen Optokoppler wegen der 
Potenzialtrennung.

von TheMason (Gast)


Lesenswert?

ok .. hast recht ...

von Marc (Gast)


Lesenswert?

Hallo,

ich habe die letzten Tage rumprobiert und leider doch zu viele Fehler
gemacht und mir so mein Spartan 3 Board kaputt gemacht. Aber dank
Nebenjob konnte ich mir grade so Ersatz ranschaufeln.

Also jetzt bin ich erstmal aufgeklärt warum es wahrscheinlich kaputt
gegangen ist. Ich war im Elektroladen und habe so eine Art Relais, also
kein direktes aber so ne Minivariante. Habs nicht genau verstanden. Der
Elektrofreak meinte, das köännte man bedenkenlos mit Logik schalten.
Habs rangehangen und ab dem Zeitpunkt konnte ich den FPGA nicht mehr
konfigurieren und jetzt geht garnichts mehr am Board. Habe dann nochmals
nachgemessen, den widerstand und kam nach einer Berechnung auf einen
Strom von 40 mA der geflossen sein muss. Das war wohl zu viel.

Okay, so viel zur vergangenheit. Alle machen fehler und da ich nicht so
ein Theorie Uni Mensch sein will, wie die meisten meiner Professoren,
habe ich mir halt zwei neue Boards bestellt. Ein sehr Logik optimiertes
für den Test eines eigenen Prozessors (Spartan 3E Starter Board mit dem
XC3S500E-4FG320C Chipsatz, also mit 500 k Gatter). Und eins für
Minisachen zum testen: das basys von http://digilentinc.com/. Hat einen
Spartan 3e 100 Chip. Der vorteil hier ist, das es günstige Platinen
hierfür gibt, die man ranstecken kann, die genau diese hier theoretisch
diskutiere Transistorschaltung beinhalten. Ich wills aber nicht nur
anwenden sondern auch verstehen. Also habe ich mir die datenblätte mal
von Spartan 3 reingezogen. Das Problem ist, hier finden sich zwar einige
milli Ampere Angaben, aber ich konnte diese nicht 100 % zuordnen, welche
sich nun auf welche Pins beziehen. Vielleicht könnte einer von euch mir
mal auf die sprünge helfen. Hier:
http://www.xilinx.com/xlnx/xweb/xil_publications_d...
ist die Adresse des Datenblatts des alten Spartan 3, welches ja nun
kaputt ist. Vielleicht könnte mir hier jemand mal zeigen, wo die mA
Angabe steht, welche ich an die normalen USERPins anlegen kann. Wie
gesagt, ich will ja aus meinen Fehlern lernen.

Ich möchte zwar hauptsächlich in der Informatik tätig bleiben (da ich
das ja auch studiere), aber so etwas Elektrotechnik kann nicht schaden.
Für das oben stehende Problem haben wir uns ja nun schon geeinigt an
einen FPGA eine CMOS schaltung ranzuhängen und an die dann das Relais.
Habe mich letztens nochmal mit MOSFETs beschäftigt ... Theoretisch würde
sich ja mein Problem schon lösen, wenn ich 2 Inverter
hinternanderschalte. Einzelne Mosfets sind ja viel zu sensibel, also
müsste mans chon einen fertigen baustein nehmen. Wo finde ich
handelsnamen und schaltpläne? Hatte bei Conrad mal geschaut, da stehen
aber nur die namen und weder irgendwelche PIN belegungen noch
irgendwelche einsatzgebiete. Außerdem hätte ich noch ein
verständnisproblem. Also zwei inverter hintereinander würden ja
funktionieren. Wie gehen ja jetzt mal von einzelnen MOSFETs aus.
Bestehend aus gate, Drain und Source. Diese werden eben zu Invertern
zusammen geschalten. Also muss der Inverter 3 Eingänge und 1 Ausgang
haben. Zu den Eingängen: Das was aus dem FPGA rauskommt (worauf keine
last liegen darf). Dann einmal +5V (die dann aich hinten rauskommen die
das Relais schalten sollen) und einmal die Masse. Meine Frage ist jetzt:
Die externe Spannungsquelle, die die +5 V liefert, hat ja auch eine
Masse. Muss diese Masse mit der Masse des FPGA Boards
zusammengeschlossen werden? Und dieser Zusammenschluss dann in den
inverter geführt werden? Theoretisch ja, nur so würde es ja sinn machen,
da der Eingang ja gegenüber der Masse die Mosfets schalten muss: Dann
habe ich aber bedenken: Der doppelte Inverter gibt ja dann den Ausgang
gegenüber der Masse aus. Im "Aus" fall ist Masse und Ausgang
zusammengeschlossen, d.h. alles ist Okay. Was ist aber im "ein" fall
wenn das Relai geschalten wird. Dann fließt über die externe
Spannungsquelle +5V über die Mosfets (ich hoffe die können die
Stromstärke ab) über das relais und zurück zur masse. Also in diesem
Stromkeis fließen dann die, sagen wir rund 50 mA. Da ja aber die masse
auch verbunden mit dem FPGA Board ist, kann es nicht passieren, dass
auch strom dort zurückfließen kann? Das macht zwar theoretisch keinen
sinn, da ja die Spannung von der externen spannungsquelle ausgeglichen
wird, aber wär es da sicherer vielleicht eine diode ranzuhängen zwische
boardmasse und externer masse?

Vielen dank für eure Hilfe und eure Bemühungen. Ihr seid wenigst
kompetent. Von meinen Profs höre ich meistens nur, dass sie nur
theoretisch tätig sind ....

Marc

von Ratze (Gast)


Lesenswert?

Am Besten, du besorgst Dir mal ein Grundlagen- und ein Schalttungsbuch. 
Was Du alles wissen musst, ist nicht verbal in zwei/drei Themn zu 
kommunizieren,

von Marc (Gast)


Lesenswert?

Hast du irgendwelche speziellen Buch Empfehlungen? Wie gesagt bin nicht 
dumm in der Uni und in dem Fachgebiet, hatte eben nur kein Physik mehr. 
Vielleicht könnte mir auch speziell mal jemand diese Schaltung aufmalen?

Marc

von Tarzan (Gast)


Lesenswert?

>Dann fließt über die externe Spannungsquelle +5V über die Mosfets
>(ich hoffe die können die Stromstärke ab) über das relais und
>zurück zur masse.

Spannung fliesst nicht ab. Strom fliesst.

Die Massen müssenverbunden sein, es sei denn Du nutzt Potenzialtrennung 
über Optokoppler. Deine Bedenken bez des Rückflusses in das Board sind 
ungebegründet. Nur, wenn Du von dort aus treibts, liegt dort ein 
Stromkreis vor.

von Neuer G. (vhdl_progger)


Lesenswert?

Marc wrote:
> Hast du irgendwelche speziellen Buch Empfehlungen? Wie gesagt bin nicht
> dumm in der Uni und in dem Fachgebiet, hatte eben nur kein Physik mehr.
> Vielleicht könnte mir auch speziell mal jemand diese Schaltung aufmalen?
>
> Marc

Sorry, wenn ich das jetzt hier sage, aber wie du selbst
zugibst hast du von Physik und Elektrotechnik nicht viel
Ahnung.

Deshalb:

Lass die Finger weg von 230 Volt!
230 Volt ist Lebensgefährlich!

Probier es erst mal mit kleineren Spannungen (24 V oder
so). Den Relais ist nacher dann egal ob du
24V oder 230 Volt schaltest. Vorrausgesetzt du verwendest
Relais die beide Spannungen am Kontakt schalten können.


Gruß

Ralf

von Randy (Gast)


Lesenswert?

> ich habe die letzten Tage rumprobiert und leider doch zu viele Fehler
> gemacht und mir so mein Spartan 3 Board kaputt gemacht.

Argh!

> Also jetzt bin ich erstmal aufgeklärt warum es wahrscheinlich kaputt
> gegangen ist. Ich war im Elektroladen und habe so eine Art Relais, also
> kein direktes aber so ne Minivariante. Habs nicht genau verstanden.

Ich hoffe der Typ im Elektroladen hat etwas mehr Ahnung als deine 
Erzählung befürchten lässt.
Damit du zumindest die armen FPGAs nicht weiter hinwegmordest, schließe 
irgendwelche Relais-Sachen am besten nur optisch getrennt an das Board, 
dann können irgendwelche Kurzschlüsse/Überspannungen etc. zumindest 
nicht das Board töten, höchstens den Experimentator.
Machs wie in der Zeichnung: An das Board kommt nur die linke Seite des 
Optokopplers. Der Ausgangspin des FPGAs geht per Vorwiderstand (ca. 
1000-2200 Ohm) an die LED des Optokopplers, damit ist der Strom begrenzt 
und er FPGA brennt nicht durch.
Zu der rechten Seite des Optokopplers gibt es keinerlei Verbindungen per 
Draht. Die rechte Seite wird mit einem extra (Stecker-)Netzteil 
versorgt, das eine zu deinem Relais passende Spannung hat. Die in der 
Spannung umschaltbaren Teile bieten sich an.
Als Optokoppler kannst du nehmen was dein Eletronikfuzzi da hat, z.B. 
den CNY 17
http://www.vishay.com/docs/83606/83606.pdf
Oder was ähnliches, die 4N26,4N27, etc. Reihe z.B.
Transistor genauso, einen BC548 hat er wahrscheinlich, der kann einen 
Strom bis 100mA ab, das sollte für die Relaisspule reichen. Andere 
Ähnliche tun es auch. Pinbelegung (Emitter, Kollekort, Basis)-> siehe 
Internet.

Wenn du an das Relais (nimm ein echtes, mechanisches) tatsächlich 230V 
dranhängst, dann sei vorsichtig. Wenn du helle Lampen Schalten willst 
versuch es evtl. erstmal mit 12V Halogen, bei denen du mit dem Relais 
nach dem Trafo auf der 12V Seite schaltest.
Wenns unbedingt 230V sein müssen: Es gibt Funksteckdosen, da muß man nur 
die Fernsteuerung schlachten und die Taster per Elektronik (z.B. 
Optokoppler) überbrücken. Sehr bastlerfreundlich.

Und bevor du noch ein Board killst, frag lieber nochmal nach.

Ich weiß nicht ob du schon löten kannst, und wie du den mechanischen 
Aufbau geplant hast. Am einfachsten sollte das mit einer 
Lochrasterplatine gehen, in die du die Bauteile steckst und auf der 
anderen Seite verlötest, so ähnlich wie auf dieser Webseite (ist eine 
komplett andere Schaltung, geht nur um den mechanischen Aufbau):
http://www.ocinside.de/go_d.html?http://www.ocinside.de/html/modding/ultra_ir_receiver/ultra_ir_empfaenger_loeten_d.html

HTH
Randy


von Randy (Gast)


Angehängte Dateien:

Lesenswert?

Irgendwie ist die Zeichnung abhanden gekommen.

von Marc (Gast)


Lesenswert?

Vielen Dank für eure Hilfe. Hab das mittlerweile soweit hinbekommen. 
Kann jetzt ströme von max. 200 mA fließen lassen. Aber nun stellt sich 
schon wieder ein neues Problem: Die Relais unterliegen zu starker 
mechanischer abnutzung ... Der Typ aus dem Elektroladen hat mir da ein 
Buch empfolen: 306 Schaltungen. Da soll sowas drin sein, wie man das 
ganze ohne Relais realisieren kann.

Nochmals Danke. Besonders für die Zeichnung. Sehr nett und hilfsbereit 
:-)

Marc

von Dirk (Gast)


Lesenswert?

Wieso unterliegt das Relais zu hohem mechanischen Verschleiß ?
Versuchst Du damit eine Glühlampe zu dimmen ?

von Marc (Gast)


Lesenswert?

Hmm, versuch nie wieder mich summ zu machen!

Da ich als erste Anwendung von externen Geräten eine Art Lichtorgel 
bauen wollte, musste ich wohl oder übel merken, dass bei schnellen 
Schaltvorgängen die Relais keine 30 Minuten mitmachen.

von Falk (Gast)


Lesenswert?

@Marc

>Da ich als erste Anwendung von externen Geräten eine Art Lichtorgel
>bauen wollte, musste ich wohl oder übel merken, dass bei schnellen
>Schaltvorgängen die Relais keine 30 Minuten mitmachen.

Naja, die richtige Beschaltung vorausgesetzt, halten Relais auch bei 
schnellen Schaltungen im Sub-Sekundenbereich schon länger als 30 min. 
Stichwort Snubber.
Für ne Lichtorgel ist ein Photorelais/Phototriac das Mittel der Wahl.

z.B.

http://www.reichelt.de/?SID=200QtHpqwQARQAABN5QxM9af3ed24651c9786d702bc3a6edfd1f8;ACTION=4

MFg
Falk

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.