Forum: Mikrocontroller und Digitale Elektronik Probleme mit Relaiskarte per Open Collector am Digitalausgang C-Control pro mini station


von Jakob S. (jakob_wien)


Lesenswert?

Hallo Zusammen,

ich bin neu hier und suche etwas Hilfe mit dem bau einer Steuerung für 
6-7 mal 230 Volt.

Das ganze sieht so aus:

Über eine C-Control pro mini station sollen 7 relais einer Velleman 
Relaiskarte K8056 gesteuert werden. Das ganze ist für ein 
wissenschafteliches experiment. Jedes Relais soll für 5 min an sein und 
dann das nächste geschaltet werden. Eventuell brauchen  sie später auch 
länger bzw. die intervalle müssen überlappen, aber das sollte kein 
problem werden, das program zu ändern.

Bisher gemacht habe ich:

1) C-control programmiert. Programm funktioniert soweit und meine 
C-compact kentnisse sind um einiges besser geworden. Die LEDs der 
Digitalausgönge der C-control leuchten je 5 min... keine probleme hier.

2) Velleman relaiskarte zusammengelötet und ordentlich gestestet. Auch 
hier geht alles wie es soll.

Das problem ist nun die kommunikation beider kommponenten. Hier habe ich 
vergeblich versucht mit hilfe eines bc547 die "Eingänge" der relaiskarte 
als "open collector" zu steuern.
Genauer: Ich habe bereits mit verschiedenen basiströmen (0.5-10mA, alles 
von 5k bis 0,5K als R) experimentiert, bekomme jedoch die Relais nie 
dazu voll zu schalten (sie brummen nur). Verwende ich +5 volt an der 
Basis, anstatt den "+5V" am Digitalausgang, so funktioniert alles wie es 
soll und zwar egal ob da jetzt R=1K oder 5k.

Nun hatte ich gedacht, dass die einfachen BC547B eventuell ein zu 
geringe verstärkung hätten und habe hier einen satz BC547 typ C gekauft. 
Das Ergebniss ist leider genau das gleiche. Was mache ich falsch?

Dazusagen sollte ich, dass meien C-control an den Digitalausgängen nur 
2.45V liefert (leerlauf). Meine Vermutung ist, dass wenn ich nun den 
basis-Widerstand soweit verkleinere, dass der Strom genug für die 
Sättigung des BC547 wäre, dann bricht mir die Spannung soweit ein, dass 
diese nicht mehr reicht (kleiner 0,7V). Die Relais liegen im bereich von 
50-60mA. Die relaiskarte arbeitet mit 12V. C-control am 12V ausgang der 
karte, damit die masse die gleiche ist.

Hat jemand ne idee, was ich da tun könnte? 2,45V finde ich schon wenig, 
wenn die schaltstufen ja zwischen 0,2-0,6*V liegen soll. Was ist hier 
falsch? Montagsmodell der C-control (ist genau zwei tage alt)? Oder ist 
was mit meiner Steuerung falsch?

Wäre für Ideen und Ratschläge sehr dankbar. Wollte/sollte das Teil 
eigentlich bis montag fertig haben und bin gerade nahe der 
Verzweiflung...

melde mich gleich nochmal mit den Schaltplänen...


Grüsse aus Wien
Jakob

: Bearbeitet durch User
von Jakob S. (jakob_wien)


Lesenswert?


: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

@Jakob Schelker (jakob_wien)

>2) Velleman relaiskarte zusammengelötet und ordentlich gestestet. Auch
>hier geht alles wie es soll.

Dort ist ja schon ein PIC drauf.

>Das problem ist nun die kommunikation beider kommponenten. Hier habe ich
>vergeblich versucht mit hilfe eines bc547 die "Eingänge" der relaiskarte
>als "open collector" zu steuern.

ja, das scheint möglich, weil für jedes Relais der geschaltete 
Masseanschluss nach aussen geführt wird.

>Genauer: Ich habe bereits mit verschiedenen basiströmen (0.5-10mA, alles
>von 5k bis 0,5K als R) experimentiert, bekomme jedoch die Relais nie
>dazu voll zu schalten (sie brummen nur).

Gleichstromrelais die brummen?

> Verwende ich +5 volt an der
>Basis,

AUA! man legt keine +5 direkt an eine Transistorbasis an!

> anstatt den "+5V" am Digitalausgang, so funktioniert alles wie es
>soll und zwar egal ob da jetzt R=1K oder 5k.

>Nun hatte ich gedacht, dass die einfachen BC547B eventuell ein zu
>geringe verstärkung hätten und habe hier einen satz BC547 typ C gekauft.
>Das Ergebniss ist leider genau das gleiche. Was mache ich falsch?

Kollektor und Emitter vertauscht? Dann hat der Transistor deutlich 
weniger Stromverstärkung.

>Dazusagen sollte ich, dass meien C-control an den Digitalausgängen nur
>2.45V liefert (leerlauf).

Dann stimmt was nicht.

>Hat jemand ne idee, was ich da tun könnte? 2,45V finde ich schon wenig,
>wenn die schaltstufen ja zwischen 0,2-0,6*V liegen soll. Was ist hier
>falsch?

Falsch gemessen? Falsche Einstellung in der Software? Ohne Last bringt 
ein ein CMOS-Ausgang nahezu VCC als Ausgangsspannung, hier also 5V.

> Montagsmodell der C-control (ist genau zwei tage alt)?

Eher nicht.

>Oder ist was mit meiner Steuerung falsch?

Zu 90% hast du einen Fehler gemacht.

Erstmal muss deine C-Control saubere 0/5V Signale liefern.
Miss mal die Versorgungsspannung der C Control +Ub muss 9-16V seind.
Miss den 5V Ausgang, der muss 4,5-5,5V sein.
Sind in deiner Software die Ausgänge wirklich als Ausgänge konfiguriert?
Die Massen deiner C Control und deines 12V Netzteils der Relaiskarte 
müssen verbunden sein.

von Jakob S. (jakob_wien)


Lesenswert?

So, weitere Tests haben ergeben, dass die C-control bei R_basis = 0,7K 
was einem basisstrom von 2.5mA enspricht (max ist 10mA) nur noch ganze 
2.40V enspricht. An der Basis kommen dann nur noch 0,45Volt an, was wohl 
einfach nicht reicht. Ich denke hier liegt der Hund begraben.

Gibt es irgend etwas, was ich noch versuchen könnte?

Nochmals danke, falls sich jemand die Mühe gemacht hat bis hierher zu 
lesen!

JAkob

von Jakob S. (jakob_wien)


Lesenswert?

Falk Brunner schrieb:

> AUA! man legt keine +5 direkt an eine Transistorbasis an!

War wohl undeutlich geschrieben. Da war dann schon noch ein R_B=1k 
dazwischen...

> Zu 90% hast du einen Fehler gemacht.
>
> Erstmal muss deine C-Control saubere 0/5V Signale liefern.
> Miss mal die Versorgungsspannung der C Control +Ub muss 9-16V seind.
> Miss den 5V Ausgang, der muss 4,5-5,5V sein.
> Sind in deiner Software die Ausgänge wirklich als Ausgänge konfiguriert?
> Die Massen deiner C Control und deines 12V Netzteils der Relaiskarte
> müssen verbunden sein.

Ok, Danke für diese Tipps!

Versorgungsspannung sollte okej sein. Habe sie gerade trotzdem auf ca 
13V erhöht. Der 5V ausgang der C-control bringt 4.99V, also alles gut. 
Massen sind verbunden (nach der stabilisierung der Relaiskarte) ist auch 
auf gleichem Potential. Hatte das schon vorher gemessen. Die 
Versorgungsspannung der C-control liegt dann bei 11.5V, was ja gut 
reichen sollte.

Bleibt die Frage, warum die Digitalausgänge nur +2.45V liefern. Ich 
werde mich mal durch die mitgelieferte Standard Liberary zur mini 
station namens "mini_init" kämpfen, in welcher die Ausgänge genau 
definiert werden. Vielleicht isses ja wirklich nur ein software problem.

Melde mich später wieder. Nochmals vielen, vielen Dank an dich, Falk!

Grüsse JAkob

von Stefan F. (Gast)


Lesenswert?

> Bleibt die Frage, warum die Digitalausgänge nur +2.45V liefern.

Vielleicht, weil du sie überlastest. Welches Modell genau hast Du denn 
vorliegen?

von Falk B. (falk)


Lesenswert?

@ Stefan us (stefanus)

>> Bleibt die Frage, warum die Digitalausgänge nur +2.45V liefern.

>Vielleicht, weil du sie überlastest.

Klingt nicht danach.

"Dazusagen sollte ich, dass meien C-control an den Digitalausgängen nur
2.45V liefert (leerlauf)."

> Welches Modell genau hast Du denn vorliegen?

Beitrag "Re: Probleme mit Relaiskarte per Open Collector am Digitalausgang C-Control pro mini station"

von Stefan F. (Gast)


Lesenswert?

Ach so. 10mA kann sie also liefern. Das sollte reichen.

von Jakob S. (jakob_wien)


Lesenswert?

So, es gibt weitere News..

Nach Falks Vermutung es könne ein Software Problem sein, habe ich gerade 
nochmals beispielcode geladen, welcher ein Lauflicht auf den 
Digitalausgängen erzeugen soll. Ich habe den code sowohl in ´C´, als 
auch in ´basic´ compiliert. Beide hatten keine fehler und bei beiden 
leuchten auch die LEDs als Lauflicht. Der unterscheid beider codes ist 
jedoch, dass es beim C-code 2.45V sind, während es in basic 4.8V sind!

Habe dann in der basic version auch gleich einen R drangehängt (glaube 
es war 1k) und an den bc547C dran... alles schaltet wie es soll (Ib = 
5mA). Habe dann auch noch den Umkehrtest mit dem C-code gemacht und 
wieder schaltet nichts mehr... Ich würde sagen, Problem erkannt!

Gelöst ist es, wenn ich mein kleines Steuerprogramm in basic 
umgeschrieben habe. Das sollte immer noch schneller sein, als den fehler 
in den mitgelieferten C-liberaries zu suchen (schreibe sonst nur Matlab 
und Fortran...). Schon komisch, dass da scheinbar etwas nicht stimmt. 
Immerhin kamen diese ja auf der CD mit der Mini Station mit.

Also, ein grosses Dankeschön an Falck, Stefan und alle anderen, die 
mitgedacht haben. Echt ein nettes Forum hier! Schade nur, dass ich nur 
selten solche Projekte habe. Ich arbeite ja sonst mehr mit 
Gewässerchemie und Biologie... hätte ich doch e-techniker werden sollen?

Also nochmals grosses Dankeschön ans Forum!

Grüsse aus Wien --- JAkob

von Falk B. (falk)


Lesenswert?

@Jakob Schelker (jakob_wien)

>leuchten auch die LEDs als Lauflicht. Der unterscheid beider codes ist
>jedoch, dass es beim C-code 2.45V sind, während es in basic 4.8V sind!

Also ist BASIC besser als C ;-)

>wieder schaltet nichts mehr... Ich würde sagen, Problem erkannt!

GUT!

>Gelöst ist es, wenn ich mein kleines Steuerprogramm in basic
>umgeschrieben habe. Das sollte immer noch schneller sein, als den fehler
>in den mitgelieferten C-liberaries zu suchen

Mal nicht so schnell die Flinte ins Korn werfen! Poste mal den 
C-Quelltext. Die C Control Pro hat einen AVR als Prozessor. Der 
klassische Fehler dort ist, dass man vergisst, die IOs als Ausgänge zu 
konfigurieren. Wenn man dann meint, die Ausgänge zu schalten, schaltet 
real nur der interne Pull-Up Widerstand ein und aus. Der ist aber 
schwach, so 30-50kOhm.
Ich behaupte mal, dass dieses Problem mit EINER einfachen Zeile gelöst 
werden kann!

>Immerhin kamen diese ja auf der CD mit der Mini Station mit.

Naja, früher war alles besser ;-)

>mitgedacht haben. Echt ein nettes Forum hier! Schade nur, dass ich nur
>selten solche Projekte habe. Ich arbeite ja sonst mehr mit
>Gewässerchemie und Biologie... hätte ich doch e-techniker werden sollen?

Nö, ich denke dein Bereich ist auch sehr interessant. Der Schlüssel 
liegt heute viemehr dariun, auch angrenzende Gebiete zumindest 
grundlegend etwas zu verstehen und idealerweise auch anwenden zu können. 
Sprich, wenn du deine Experimente bis zu einem bestimmten Punkt selber 
aufbauen und programmieren kannst, bist du fein raus. Und ein wenig 
programmieren können muss heute eigentlich fast jeder, vom Facharbeiter 
bis zum Professor.

: Bearbeitet durch User
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.