Forum: Mikrocontroller und Digitale Elektronik Viele Magnetventile per MCU ansteuern


von Thomas V. (brain11)


Lesenswert?

Hallo,

ich habe vor, viele Magnetventile (momentan 20 Stück, später evtl. auch 
40 oder mehr) simultan mit einer MCU anzusteuern.

In der Theorie stelle ich mir das folgendermaßen vor:
MCU --> Ausgabemuster der Ventile seriell in ein Schieberegister 
eintakten --> Ausgangänge des Schieberegisters auf MOSFETs.

Da ich erst dabei bin, mich als Informatiker in die Materie 
einzuarbeiten, benötige ich etwas Hilfe... Sowohl, bei der Frage, ob 
mein Ansatz überhaupt brauchbar ist, oder ob man soetwas evtl. gar nicht 
mit Schieberegistern und MOSFETs aufbaut, als auch bei der konkreten 
Bauteilauswahl.

Meine aktuellen Ventile haben folgende Daten:
DC
12 V
200 mA

Schalten möchte ich die Teile letzendlich so, dass einzelne Tropfen 
entstehen... also relativ schnell und oft.

Ich will die Schaltung allerdings wenn möglich großzügig Dimensionieren, 
dass ich später mal die Ventlile ohne Probleme austauschen kann.
So, dass ich z.B. auf 12 oder 24 V Ventile mit einigen A Strom umsteigen 
kann... Da habe ich allerdings noch keine konkreten Ventile im Kopf, 
also lieber mal etwas großzügiger dimensioniert...

Das ganze würde ich gerne in SMD Bauweise aufbauen.

Mein aktueller Stand:

Ich benötige wohl
Logic Level MOSFET wie z.B. IRLR 024N (55V, 17A)
100k Widerständ von Masse auf Gate des MOFSFET
Benötige ich auch einen Widerstand zu Strombegrenzung des 
Schieberegisterausgangs zum Gateeingang des MOSFET?
Bei der Freilaufdiode bin ich mir noch nicht sicher was und wie, ob nur 
eine normale Diode, oder normale plus Z-Diode? Und wie muss ich diese 
Dimensionieren?
Von Schieberegistern hab ich leider noch gar keine Ahnung, was wäre 
hierfür geeignet?
Als Controller soll entweder ein MSP430 oder ein Atmega128 zum Einsatz 
kommen...

Als Spannungsquelle soll vorerst mal ein Labornetzteil dienen, Später 
ein Schaltnetzteil oder Trafo...
Warsch. ist es sinnvoll auch Pufferkondensatoren für die Ventile 
einzuplanen?

Was habe ich noch vergessen? Oder gar falsch geplant?

Ich hoffe ihr könnt mir weiterhelfen...

Viele liebe Grüße
Thomas

von Falk B. (falk)


Lesenswert?

@Thomas V. (brain11)

>MCU --> Ausgabemuster der Ventile seriell in ein Schieberegister
>eintakten --> Ausgangänge des Schieberegisters auf MOSFETs.

Klingt sinnvoll. TPIC6A595 ist dein Freund.

http://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister

>Schalten möchte ich die Teile letzendlich so, dass einzelne Tropfen
>entstehen... also relativ schnell und oft.

Definiere schell? 1ms? 10ms? Die Begrenzung kommt aber am Ende eher von 
den Ventilen als von der Elektronik.

>So, dass ich z.B. auf 12 oder 24 V Ventile mit einigen A Strom umsteigen
>kann... Da habe ich allerdings noch keine konkreten Ventile im Kopf,
>also lieber mal etwas großzügiger dimensioniert...

Dann eher 74HC595 + MOSFETs, z.B. IRF7103.

>Logic Level MOSFET wie z.B. IRLR 024N (55V, 17A)

Sehr überdimensioniert.

>Benötige ich auch einen Widerstand zu Strombegrenzung des
>Schieberegisterausgangs zum Gateeingang des MOSFET?

Nein.

>Bei der Freilaufdiode bin ich mir noch nicht sicher was und wie, ob nur
>eine normale Diode, oder normale plus Z-Diode? Und wie muss ich diese
>Dimensionieren?

Siehe Relais mit Logik ansteuern.

>Von Schieberegistern hab ich leider noch gar keine Ahnung, was wäre
>hierfür geeignet?

Siehe oben.

>Als Controller soll entweder ein MSP430 oder ein Atmega128 zum Einsatz
>kommen...

Sind beide gut.

>Warsch. ist es sinnvoll auch Pufferkondensatoren für die Ventile
>einzuplanen?

Ja.

MFG
Falk

von optmistischer Optimist (Gast)


Lesenswert?

Thomas V. schrieb:
> viele Magnetventile (momentan 20 Stück, später evtl. auch
Grundlagen siehe 
http://www.mikrocontroller.net/articles/Relais_mit_Logik_ansteuern

-Freilaufdiode plus Z-Diode für kurze Abschaltzeiten, die auch Deine 
zyklische Belastung verkraften sollte.

-Abhaängig davon, wieviele Magente gleichzeitig angesteuert werden, 
sollte das Netzteil kräftig genug sein

-Deine Schieberegister sollten möglichst nicht von den Spannungsspitzen 
beeinflußt werden. Aufbau und Netzteil könnten Verwirrung im Register 
stiften.

von MaWin (Gast)


Lesenswert?

> also relativ schnell und oft.

Du hast noch nicht viel Ahnung von solchen Ventilen ?

Damit sie schnell schalten, sollten sie am Anfang mehr Spannung sehen 
als als Dauerspannung uzlässig wäre,
und damit sie schnell abschalten, sollten sie Spannung in 
entgegengesetzter Polarität sehen, z.B. auch als Freilauspannung an 
einer Z-Diode.

> oder 24 V Ventile mit einigen A Strom umsteigen

Eierlegende Wollmilchsäue sind normalerweise teurer und schwer zu 
bekommen.

Während der TPIC6A595 ganz gut wäre, wenn man nur langsam schalten 
müsste, sind ULN2803 an 74HC595 besser wenn man schneller abschalten 
will (sie schalten aber auch nicht schneller ein), L293 gut wenn man 
forciert abschalten will, und PBL3717 notwendig um mit Überspannung 
superschnell stromgeregelt einzuschalten und auch aktiv abschalten zu 
können.


Das alles wissen die Leute, die solche Tropfenvorhänge bauen...

von Weingut P. (weinbauer)


Lesenswert?

Einige wichtige Infos fehlen ... sind die Ventile an einem Platz 
zusammen oder sind die über ne Anlage verteilt? Wie weit sind die 
Strecken?
Ist die Schaltung zentral oder dezentral durchzuführen?
Wie oft und wie schnell soll geschaltet werden? Tropfenvorhang oder 
Gewächshaussteuerung?

von Thomas V. (brain11)


Lesenswert?

Super!
Vielen Dank für die zalreichen und guten Antworten!

Ja! Das soll so ein Tropfenvorhang werden...

Tja und mit dem "schnell" bin ich eben selbst noch nicht sicher welche 
Zeiten ich da letztendlich haben werde...
Evtl. kann da wer was dazu sagen, die soetwas schon mal gebaut haben?...

Richtig, so viel Ahnung von Magnetventilen habe ich noch nicht, dennoch 
leuchtet mir das mit der Überspannung ein...

So jetzt versuch ich mal euere ganzen Infos zu assimilieren und dann 
melde ich mich wieder.

Viele Grüße
Thomas

von tip (Gast)


Lesenswert?

> Tja und mit dem "schnell" bin ich eben selbst noch nicht sicher welche
> Zeiten ich da letztendlich haben werde...

Bevor du das Teil im Großen Stil bauen willst, würde ich an deiner 
Stelle erstmal mit 1 Ventil anfangen und dann Tests durchführen.

Wenn du nicht über 86 Ventile kommst, kannst du dir die Schieberegister 
auch sparen. Es gibt die Atmegas bis rauf auf 86 IO-Pins. --> Einfacher 
+ Schneller

von digitaler fritz (Gast)


Lesenswert?

willst du GLEICHZEITIG schalten, dann brauchst du ein Superstarkes 
Netzteil

86 Ventile ''ein''...und dein MC steht ratlos da und zittert

von Falk B. (falk)


Lesenswert?

"momentan 20 Stück, später evtl. auch40 oder mehr)"

die 86 kamen von tip. So entstehen Gerüchte.

von Michael (Gast)


Lesenswert?

Thomas V. schrieb:
> Tja und mit dem "schnell" bin ich eben selbst noch nicht sicher welche
> Zeiten ich da letztendlich haben werde...
> Evtl. kann da wer was dazu sagen, die soetwas schon mal gebaut haben?...

Mach's wie bei Steuerventilen im Auto. Die werden mit Frequenzen 
zwischen 100 und 200 Hz angefahren. Die Fallgeschwindigkeit deiner 
Tropfen hängt von der Tropfengröße ab.

von Jonny O. (-geo-)


Lesenswert?

Falk Brunner schrieb:
> "momentan 20 Stück, später evtl. auch40 oder mehr)"
>
> die 86 kamen von tip. So entstehen Gerüchte.

Er schreibt ja, dass er 40 oder mehr benutzen will --> die Zahl 86 ist 
größer als 40 ;)). Ich denke mal, dass man da durchaus auf 
Schieberegister verzichten kann. Das macht doch die Schaltung auch 
einfacher ;))

> 86 Ventile ''ein''...und dein MC steht ratlos da und zittert

Selbstverständlich macht der das über entsprechende Leistungsstufen und 
natürlich wird eine entsprechende Stromversorgung nötig sein. Der µC 
wird sich allerhöchstens langweilen bei seiner Arbeit (aber nicht 
zittern ^^). Er muss doch bloß ein paar Portpins schalten. Ich stell mir 
das ziemlich langweilig vor ^^ ;))

Im Gegenteil: Die Arbeit die der µC verrichten muss (in Form von 
Rechenschritten) wird ohne Schieberegister doch viel kleiner sein.

von Michael (Gast)


Lesenswert?

Jonny Obivan schrieb:
> Ich denke mal, dass man da durchaus auf
> Schieberegister verzichten kann. Das macht doch die Schaltung auch
> einfacher ;))

Dann sag doch bitte mal, was an den Schieberegistern die Schaltung 
kompliziert macht. Ganz im Gegenteil: Mit über SPI an den Prozessor 
gekoppelten Schieberegistern hat man die Ausgänge für den Anschluß der 
Treiber gleich fertig linear auf der Platine liegen. Einfacher geht's 
wirklich nicht.

von Jonny O. (-geo-)


Lesenswert?

Michael schrieb:
> Jonny Obivan schrieb:
>> Ich denke mal, dass man da durchaus auf
>> Schieberegister verzichten kann. Das macht doch die Schaltung auch
>> einfacher ;))
>
> Dann sag doch bitte mal, was an den Schieberegistern die Schaltung
> kompliziert macht. Ganz im Gegenteil: Mit über SPI an den Prozessor
> gekoppelten Schieberegistern hat man die Ausgänge für den Anschluß der
> Treiber gleich fertig linear auf der Platine liegen. Einfacher geht's
> wirklich nicht.

Man hat halt zusätzliche ICs auf der Leiterplatte (wozu sich ein 
Gattergrab auf die Leiterplatte nageln?) Der Schaltungsaufwand wird 
größer und Layoutfehler wahrscheinlicher. Die Pins kann man sich in der 
Software ja beliebig so hinlegen, dass es ins Layout passt - Also das 
sollte das kleinste Problem sein.

Darüber hinaus ist es nicht nur platzsparender und einfacher, es ist 
auch noch schneller. Der µC hat im Fall der Fälle mehr Rechenzeit über.

Wärend man ein paar Ports mit wenigen Operationen einfach setzen kann, 
muss ein Schieberegister mit einem Vielfachen an Operationen 
vollgeschrieben werden.

Grüße!
Jonny

von Anja (Gast)


Lesenswert?

Thomas V. schrieb:
> also relativ schnell und oft.

Da würde ich mit mindestens 4-facher Boosterspannung arbeiten.
Also 50V bei 12V Ventilen.

Falls die Ventile länger offen bleiben sollen braucht man noch einen 
reduzierten Haltestrom.

Abschalten dann mit Fückspeisung auf die Boosterspannung oder durch 
Verwendung eines Fets mit aktiver Clamping-Schaltung.

Ein normaler 55V FET ist da wohl etwas unterdimensioniert.
Ich würde eher was in der Richtung nehmen:
http://de.rs-online.com/web/p/power-switch/3511351P/
Da ist die Freilaufdiode zum schnellen Abschalten bereits drin.

Thomas V. schrieb:
> Bei der Freilaufdiode bin ich mir noch nicht sicher was und wie, ob nur
> eine normale Diode, oder normale plus Z-Diode? Und wie muss ich diese
> Dimensionieren?
Die Freilaufspannung sollte möglichst hoch sein. (50-70V bei 
12V-Ventilen).
Die Dimensionierung richtet sich nach der Freilaufenergie der Spule und 
der Schalthäufigkeit.

Gruß Anja

von Max G. (l0wside) Benutzerseite


Lesenswert?

Anja schrieb:
> Thomas V. schrieb:
>> also relativ schnell und oft.
>
> Da würde ich mit mindestens 4-facher Boosterspannung arbeiten.
> Also 50V bei 12V Ventilen.
>
> Falls die Ventile länger offen bleiben sollen braucht man noch einen
> reduzierten Haltestrom.
>
> Abschalten dann mit Fückspeisung auf die Boosterspannung oder durch
> Verwendung eines Fets mit aktiver Clamping-Schaltung.

Langsam, langsam. Ich kann zwar nur bei Ventilen im Verbrennungsmotor 
mitreden, aber auf der elektrischen Seite sollte das ziemlich egal sein, 
ob da nun Wasser oder Kraftstoff hinten rauskommt.

Wenn sich die Öffnungszeit irgendwo im zweistelligen ms-Bereich 
abspielt, sollte es auch Ventile geben, die ohne Boosten auskommen. Nur 
wenn die Genauigkeit irgendwo im 10µs-Bereich liegen soll, wird man mit 
Boosten arbeiten müssen.

Aber: das hängt vom Ventil ab, und ohne dessen Datenblatt ist alles 
Spekulation.
Mich würde ja noch interessieren, wie 40 klackernde Ventile sich so 
anhören. Mich nerven schon vier. Aber Pflanzen sind ja 
lärmunempfindlich, oder?

Max

von weinbauer (Gast)


Lesenswert?

wie breit soll denn die geschichte werden?
Wenn Ventile mit Steckverbinder verbaut werden schau mal z.B. bei 
Phoenix Contact, da gibts die Stecker schon mit Freilaufdioden oder 
Varistoren sowie Kontroll-LED.
40 * 2 Anschlüsse sind 80 Klemmen für die Ventile ... das Board wird 
dann schon etwas größer. Evtl. wäre das Aufteilen auf 5 x 8 Bit 
Shiftregister auf 5 Leiterplatten sinnvoll schon vom Gehäuse und der 
Verkabelung wegen.

von Thomas V. (brain11)


Angehängte Dateien:

Lesenswert?

Hey Leute,

Sooo nun wieder mal was von mir:
Zuerst vieelen Dank für die ganzen Infos...

Aktuelle Stand:
ATMega Headerboard sowie ein kleines Board für Grundbeschaltung und 
Portconnectoren ist fertig layoutet, geätzt sowie zusammengelötet und 
getestet... (siehe Bild)

Desweiteren bin ich gerade dabei eine Bestellung rauszuhaun für die 
restlichen Materialien (sprich Schieberegister und Treiber)

Das Argument gegen die Schieberegister leuchtet mir ein, aber ich denke 
mit Schieberegistern, bin im letzendlich flexiebler was die 
Erweiterbarkeit angeht...

Am liebsten, würde ich mir jetzt so kleine Platinen-Module von je 2 oder 
4 Schieberegistern und deren Leistungstreiber machen, welche ich bei 
bedarf einfach mit z.B. einem Flachbandkabel aneinander stecken kann, 
und somit mehr Ventile ansteuern kann...
Ist das Sinnvoll?
Kann mir hierfür evtl. jemand passende Steckverbinder nennen?

Auch bin ich auf der Suche nach brauchbaren Steckverbindern, für die 
Montage auf der Platine, zum Anstecken der Ventilleitungen...

Datenblatt der Ventile ist leider keines vorhanden... sind so billige 
2,5 Euro Teile vom Pollin: Bezeichnung: SH-V0829BC-R
Diese sind zwar eig. für Luft, funktionieren aber mit Wasser auch 
wunderbar...
(Da schon vorhanden, sind diese die "armen" Kandidaten für die ersten 
Tests)

An die Ventile werd ich das ganze dann erstmal mit Kabelschuhen 
anschließen, sowie dort auch die Freilaufdiode sowie auch eine Z-Diode 
anbringen

Dann ist es doch sicher sinnvoll einen dicken Kondensator am 
Netzteilausgang zum Puffern zu haben oder?
Dafür könnte ich doch so einen Power Cap nehmen, die man normal ins Auto 
einbaut oder? Davon müsste hier nämlich noch irgendwo einer rumliegen...
Klar, hoffnungslos überdimensioniert aber wenn so ein teil schon da 
ist...

So wie ich die Infos auf dieser Seite verstanden habe:
http://www.mikrocontroller.net/articles/Relais_mit_Logik_ansteuern
genügt es wenn ich eine 1N400x als Freilaufdiode verwende, die die 
Spannung des Ventils, sowie dessen Stromfluss verkraftet...

Aber zur Z-Diode steht nur, dass deren Z-Spannung so hoch wie möglich 
sein sollte... wäre dann z.B. 200V, 2W (Reichelt Nummer: ZY 200) 
richtig?

Fragen über Fragen :-D

Viele Grüße
Thomas

von Falk B. (falk)


Lesenswert?

@  Thomas V. (brain11)

>4 Schieberegistern und deren Leistungstreiber machen, welche ich bei
>bedarf einfach mit z.B. einem Flachbandkabel aneinander stecken kann,
>und somit mehr Ventile ansteuern kann...
>Ist das Sinnvoll?

Jo.

>Kann mir hierfür evtl. jemand passende Steckverbinder nennen?

Wannenstecker mit Flachbandkabeln.

>Dafür könnte ich doch so einen Power Cap nehmen, die man normal ins Auto
>einbaut oder?

Kann man machen.

>genügt es wenn ich eine 1N400x als Freilaufdiode verwende, die die
>Spannung des Ventils, sowie dessen Stromfluss verkraftet...

Jo.

>Aber zur Z-Diode steht nur, dass deren Z-Spannung so hoch wie möglich
>sein sollte... wäre dann z.B. 200V, 2W (Reichelt Nummer: ZY 200)
>richtig?

Wenn es dein Schalttransistor aushält.

MFG
Falk

von Peter L. (Gast)


Lesenswert?

wenns war relativ günstiges fertiges sein darf:
https://algo.mur.at/projects/microcontroller/escher

von Thomas V. (brain11)


Lesenswert?

Falk Brunner schrieb:
>>Aber zur Z-Diode steht nur, dass deren Z-Spannung so hoch wie möglich
>>sein sollte... wäre dann z.B. 200V, 2W (Reichelt Nummer: ZY 200)
>>richtig?
>
> Wenn es dein Schalttransistor aushält.


ahh OK jetzt bin ich dahinter gestiegen hoffe ich...

wenn ich den ULN2803 verwende dann muss ich auf die Clamp Diode Reverse 
Voltage schaun oder?

die wäre in dem Fall 50 V also darf die Z-Diode max. 50 V haben oder? 
Oder sollte man hier noch eine kleine Sicherheit von z.b. 5V 
einkalkulieren?

von Falk B. (falk)


Lesenswert?

@  Thomas V. (brain11)

>wenn ich den ULN2803 verwende dann muss ich auf die Clamp Diode Reverse
>Voltage schaun oder?

Ja.

>Oder sollte man hier noch eine kleine Sicherheit von z.b. 5V
>einkalkulieren?

Ja.

von Thomas V. (brain11)


Lesenswert?

Kurz und knackig! So mag ich das :-P
Vielen Dank Falk!!!

von Uwe (Gast)


Lesenswert?

Und mal wieder  : wo sind die Abblockkondensatoren auf deiner Platine 
(100nF) ???

von Thomas V. (brain11)


Lesenswert?

die sind da :-P

nur nicht auf dem header selbst sondern auf dem board darunter ... da 
ist auch der quarz inkl. kondensatoren,

ob das so brauchbar ist wird sich zeigen... ansonsten kommen die dinger 
auf das headerboard selbst..

da ich was platinen machen angeht, einfach noch keine wirklichen 
erfahrungen habe, bin ich natürlich um jeden tipp dankbar

ich weiß zwar, dass die abblockkondensatoren so nahe am controller wie 
möglich sein sollten, aber wie weit weg können sie denn sein?

von Weingut P. (weinbauer)


Lesenswert?

Die sollten im Abstand von mm an die entsprechenden Pins,
idealerweise auch der Quarz möglichst nah dran.
Denk daran, mit Deinen Ventilen schaltest Du ordentliche
Ströme mit steilen Flanken, also EMV nicht unbeachtet
lassen, sonst handelst Du Dir die schönsten Störungen
ein. Z.B. bei den Boards nicht sparen mit den Stützkondensatoren,
Masseflächen, Sternpunkte, Flachbandkabel jede zweite Leitung GND, 
Serienwiderstände ggf. in die Datenleitungen vorsehen, auch ggf. n paar 
pF an die Datenleitungen und was man da so alles mehr machen kann. -> 
EMV

von Thomas V. (brain11)


Lesenswert?

SUPER!!!

danke für die ganzen stichpunkte!

an das hab ich noch gar nicht so richtig gedacht!

OK sobald ich die ersten unerklärbaren störungen hab, dann werd ich das 
sofort im hinterkopf haben... und die boards umdesignen...

und mit EMV hast du mir jetzt wieder jeeede menge an lesestoff beschert 
hehehe!

vielen dank für die hinweise!

von Falk B. (falk)


Lesenswert?

@  Fhutdhb Ufzjjuz (weinbauer)

>Denk daran, mit Deinen Ventilen schaltest Du ordentliche
>Ströme mit steilen Flanken,

Kaum. Eine Induktivität verlangsamt die Stromänderungsgeschwindigkeit.

von Udo S. (urschmitt)


Lesenswert?

Ehe du deine Monsterboards designst, hast du das wie oben angeraten mal 
MIT EINEM VENTIL ausprobiert?

Du redest von 2,50Euro Ventilen die eigentlich für Luft gemacht sind. 
Wie viele Tropfen sollen die denn in ihrer Lebenszeit erzeugen. Das sind 
mechanische Teile und zwar wie es aussieht nicht unbedingt die 
Topqualität.

Ich will dir ja nicht den Spass verderben aber wie viele Schaltspiele 
halten die aus bis sie undicht werden?
Falls die wirklich schnell mit Überspannung ein und ausgeschaltet 
werden, halten die das thermisch aus?

Viel Spass beim probieren.

von Weingut P. (weinbauer)


Lesenswert?

Falk Brunner schrieb:
> @  Fhutdhb Ufzjjuz (weinbauer)
>
>>Denk daran, mit Deinen Ventilen schaltest Du ordentliche
>>Ströme mit steilen Flanken,
>
> Kaum. Eine Induktivität verlangsamt die Stromänderungsgeschwindigkeit.

ja ja, bei der Induktivität kommt der Strom zu spät ... auch mal 
gelernt, stimmt auch, dafür ist die Spannungsänderung sprunghaft, die 
Gegeninduktion mitunter heftig.
Frühzeitig an Störeffekte denken erspart Nachtschichten beim Debuggen 
und Frustration ... das ist meine Erfahrung dazu.

von Thomas V. (brain11)


Lesenswert?

@ Udo Schmitt:

das ist mir schon klar... aber zum Testen unter ansatzweise realen 
bedingungen brauch ich nun mal zumindest eine mcu inkl. beschaltung und 
einmal transistor...
und dann nehm ich hald das schieberegister auch gleich noch mit rein... 
das macht den aufwand auch nicht mehr fett... und ich bin schon in der 
nähe der endgültigen schaltung...

bin hier in meiner studentenbude nicht so gut ausgestattet um die 
ventile vorab im ms bereich anzusteuern...

da müsste ich mir so und so was basteln... und ob ich mir jetzt erst 
einen teststand bastle oder gleich an der endgültigen lösung bastle 
dürfte nicht viel unterschied machen...

und sobald die erste grundlegende schaltung läuft wird mal schön 
getestet das ist doch klar...

was die ventile packen oder nicht seh ich dann schon... wenns nicht 
hinhaut mit denen werden hald andere organisiert...

und die aktuellen ventile hatte ich so und so schon rumliegen, also 
dachte ich mir, für den ersten test müssen die herhalten...

bevor ich natürlich die "großbestellung" aufgebe sind natürlich erst 
ordentliche tests geplant das ist doch klar!

viele grüße
thomas

von Thomas V. (brain11)


Lesenswert?

leute, ich hätte da gerne (oder auch nicht so gerne) mal a problem!!!
seit 2 tagen bin ich nur am kotzen...

folgendes:
testaufbau mit schieberegister 74HC595 und 3mm low current leds mit 
vorwiderstand befindet sich auf eigenständiger platine und ist 
mittlerweile mit ca. 10 cm langem flachbandkabel mit dem hauptboard auf 
port e verbunden...

nachdem ich das erste testprogramm für spi auf port c geschieben hatte, 
an welchem ich das schieberegister zuerst hatte, war ich schon mal nicht 
erfolgreich... das schieberegister wollte einfach nicht das tun was ich 
wollte.

also programm umgeschieben ohne spi dass ich wirklich alles selbst 
schalte...
verhalten des registers war immer noch dubios...

einmal waren alle ports aus, und ohne dass ich irgendwas getan hab, 
waren ein paar sek. später auf einmal alle ausgänge high

dann hatte ich mal einen zustand, in dem die ausgänge irgendwo bei 3,??? 
V rumeierten anstatt saubere 5 V auszugeben (hab leider nur ein 
multimeter zur verfügung, vermute aber, dass die ausgänge schnell ein 
und ausgeschaltet haben)

ich bekam das teil einfach nicht zum laufen...

dann bin ich noch sicherheitshalber auf port E umgestiegen (porgramm 
natürlich abgeändert)

hat auch nichts gebracht...

schön langsam war ich am verzweifeln.... versuchte das board mal mit 
batterie zu versorgen, hab den 16 mhz quarz wieder runtergebaut und 
wieder auf internen 1 mhz takt umgestellt, weil ich dachte das können 
eig. nur irgendwelche fießen störungen sein... und als ich dann das avr 
dragon board auch noch absteckte, lief das teil auf einmal einigermaßen 
schön... ein paar leds blitzen zwischendrinn zwar immer mal kurz auf 
obwohl sies nicht sollten, aber im großen und ganzen sah ich endlich ein 
lauflicht...

das programm war also schon mal richtig :-P

SOO aber jetzt kommt der derbe oberhammer:

so einigermaßen (mit diesen kleinen undefinierten aussetzern) laufen tut 
es nur an EINEM meiner netzteile!
und zwar an dem, das ich mal aus einem conrad bausatz gebaut habe...

an einem anderen netzteil läuft es gar nicht,
und der oberhammer ist, an einer batterie läuft es auch nicht!!!!

jetzt bin ich total ratlos, wie kann es das denn geben, dass es an einer 
batterie nicht läuft??? der akku ist ok 100W halogenlampe leuchtet 
wunderbar, spannung ist bei 12,9 V stabil!

ca. 12 V hatte ich auch an den netzteilen...


desweiteren habe ich eine test led die ich blinken lasse an einem 
anderen port direkt am controller, die blinkt in allen fällen mit allen 
methoden der spannungsversorgung und auch der controller läuft so wies 
ausschaut schön stabil... programmieren lässt er sich problemlos genau 
so wie debuggen


die spannungsversorgung meines boards läuft folgendermaßen:

stecker mit 12V --> 100nF kerko --> 5V spannungsregler (hab die 
bezeichnung grade nicht im kopf) --> 100nF kerko + 100yF elko

schieberegister ist dann mit 10 cm flachbandkabel, bei dem jede 2te ader 
auf GND liegt, an das hauptboard angeschlossen, schieberegister hat 
100nF kerko im abstand von ca. 2 mm am vcc pin...

ich verstehs nicht...

evtl. einer von euch...
ich hoffe es...

viele liebe grüße
thoas

von weinbauer (Gast)


Lesenswert?

erster Tip ... möglichst immer Schaltplan zeichnen und mit anhängen, 
sowie betreffende Programmausschnitte.

Liest sicvh für mich als ob Du den Reset floaten hast vom Shiftregister 
und dir da ESD-mäßig was einfängst oder dergleichen

von Thomas V. (brain11)


Lesenswert?

jup schaltplan werd ich morgen nachliefern... den hab ich grade nicht 
verfügbar... ist auf anderem rechner... ebenso porgramm...

mich macht die tatsache hald total verrückt, dass es am akku nicht 
läuft, aber an einem meiner netzteile schon...

das müsste ja dann so sein, dass von dem netzteil "störungen" kommen 
welche die störungen welche die ursprüfunglichen probleme verursachen 
quasi aufheben... gibt es sowas?

ich hatte auch schon die vorschaltgeräte der leuchtstoffröhren in 
verdacht, sind aber in 3,6 meter höhe, aber hab ich abgeschalten sowie 
alles andere in dem raum wo ich war. gelaufen sind nur noch tft, pc, hp 
procurve switch und das besagte netzteil... sonst war ALLES aus

wenn ich im debugger die programmschritte einzeln durchsteppe, dann kann 
ich auch überall am shiftregister (eingang, takt zum shiften, takt zum 
übernehmen in storage, reset, output enable) jeweils die richtigen 
spannungspegel messen...
nur am seriellen ausgang sowie den parallelen ausgängen kommt immer mist 
raus, der nicht zu meinen schaltvorgängen passt...

bis auf die konstellation wie oben beschieben, ohne 16mhz quarz und 
programmiergerät abgesteckt und auch nur an dem einen besagtem netzteil
dann läufts relativ gut, aber auch mit sichtbaren störungen z.b. das ein 
oder 2 leds mal gaaanz kurz "flimmern"

ich hoffe dass ich diese woche mal an ein oszi und oder logikanalysator 
rankomme...

ich würds einfach gerne mal sehen was wirklich los ist auf den pins / 
leitungen

könnte es sein, dass das verbindungs-flachbandkabel des hauptboards zum 
schieberegister board ausgerechnet so eine ungünstige länge hat dass ich 
mir den dreck dadurch einfange? wäre evtl. mal eine andere länge 
sinnvoll zum testen?

von tip (Gast)


Lesenswert?

Vermutung:
GND-Verbindung irgendwo nicht ganz sauber verbunden, . z.B. über 
Flachkabel. (mehrere Adern oder besser gleich jede zweite als GND 
verwenden)
Oder sonst noch offene, undefinierte Eingänge.

von Thomas V. (brain11)


Lesenswert?

ground ist bereits auf jeder zweiten ader vom flachbandkabel...

am schieberegister ist JEDER eingangspin an einem portpin vom 
controller, sowie vcc und gnd mit abblockkondensator beschalten...
an den ausgängen hängt normal ein darlinton array, welches ich testweise 
durch leds ersetzt hab, um mal was zu sehen und nicht immer messen zu 
müssen

von Weingut P. (weinbauer)


Lesenswert?

Was Störungen angeht, da hat man bekanntlich schon Pferde kotzen sehen 
vor der Apotheke :o)

In der Regel sitzt die Störung aber vor (!) der Hardware ;o)

Du kannst mal versuchen die SPI-Leitungen mit einigen Kiloohm gegen GND 
zu belasten, dann check nochmal ob Deine IO vom Controller die richtige 
Konfiguration Input / Output haben, möglich Dein DC CLK und MOSI sind 
als Input deklariert, dann würden die Leitungen zeitweise floaten ... 
ist aber nur Rätselraten.

von oszi40 (Gast)


Lesenswert?

Lies 3.) 01.03.2012 15:31
Schiebergister allgemein sollten eine stabile Spannung und ausreichend 
Abblockkondensatoren haben.

von Falk B. (falk)


Lesenswert?

@Thomas V. (brain11)

>am schieberegister ist JEDER eingangspin an einem portpin vom
>controller,

Sind auch ALLE Pins am COntroller als Ausgänge geschaltet? Nachgemessen 
mit Multimeter?

Mach mal deine SPI Routine im Schneckentempo, sprich, nach jedem 
Pinzugriff 1s Pause. Dann kann man mit dem Multimeter messen.

MFG
Falk

von Thomas V. (brain11)


Angehängte Dateien:

Lesenswert?

sooo, heute hatte ich nicht viel zeit am dem teil zu arbeiten, jedoch 
habe ich folgendes festgestellt:

wenn ich mit dem finger einfach mal die ganzen eingangspins des 
schieberegisters auf einmal berühre, bekomme ich eine direkte, jedoch 
undefinierte reaktion vom register.
mal gehen die leds an, mal aus, mal ändern sich die leds...

das flachband kabel habe ich mittleerweile gegen einzelne koaxialkabel 
getauscht, bei der jede ader außen rum ein geflecht hat welches ich auf 
masse gelegt hab...

--> keine verbesserung

im anhang meine schaltpläne, sowie das testprogramm.

ich bin ratlos, warum, wenn ich die pins berühre das teil überhaupt eine 
reaktion zeigt...
würde ja dafür sprechen, dass die ausgänge tatsächlich irgendwie in der 
"luft" hängen, obwohl der port als ausgang definiert ist...

naja warsch. ist es eine ganz blöde sache... ich hoffe es einfach mal

zu erwähnen ist noch, dass der port vom hauptboard zum leistungsboard am 
stecker nicht 1:1 ist sondern die adern vertauscht sind, z.b. PortE5 
geht auf die resetleitung SCL auf pin 9 des steckers

die benutzung der portpins im programm ist auf jeden fall korrekt, da 
ich jeweils die richtigen spannungen an den jeweiligen 
schieberegisterpins messen kann wenn ich im debugger einzeln durchsteppe

meine kontroll led an PortC blinkt die ganze zeit wunderbar vor sich hin 
und lässt sich auch nicht durch anfassen oder dergleichen stören!
1
#include <avr/io.h>
2
#include <util/delay.h>
3
4
int main(void)
5
{
6
   
7
   PORTC = 0x00; //Port C auf 0 setzten
8
   DDRC = 0x01; //LED Pin auf Ausgang
9
   
10
   
11
   
12
   PORTE = 0x00; //Port E auf 0 setzen
13
   DDRC = 0x11; //kompletten Port E zu Ausgang machen
14
 
15
   
16
   PORTE |= 0b00100000; //Reset (Low active) des Schieberegisters aufheben, PE5 auf high setzen
17
   
18
   
19
    while(1)
20
    {
21
    
22
    PORTE |= 0b00000100; //Auf seriellen Input des Schieberegisters 1 anlegen
23
    _delay_ms(1000); //1 Sek warten
24
    
25
    for(unsigned int i = 0; i < 9; i++) //9 mal den am seriellen Input des Schieberegisters angelegten Wert eintakten, um am seriellen Ausgang auch einen Wert zu bekommen
26
    {
27
      // Am Eingang angelegtes Bit ins Schieberegister eintakten
28
      PORTE |= 0b00000010; //Shift Register Clock Input von 0 auf 1
29
      _delay_ms(1000); //1 Sek warten
30
      PORTE &= 0b11111101; //Shift Register Clock Input von 1 auf 0
31
      
32
      _delay_ms(1000); //1 Sek warten
33
      
34
      //Wert des Schieberegisters in das Storageregister übernehmen
35
      PORTE |= 0b01000000; //Storage Register Clock Input von 0 auf 1
36
      _delay_ms(1000); //1 Sek warten
37
      PORTE &= 0b10111111; //Storage Register Clock Input von 1 auf 0
38
    }
39
    
40
    
41
    _delay_ms(1000); //1 Sek warten
42
    
43
    
44
    PORTE &= 0b11111011; //auf seriellen input des schieberegisters 0 anlegen
45
    _delay_ms(1000); //1 Sek warten
46
    
47
    for(unsigned int i = 0; i < 9; i++) //9 mal den am seriellen Input des Schieberegisters angelegten Wert eintakten, um am seriellen Ausgang auch einen Wert zu bekommen
48
    {
49
      // Am Eingang angelegtes Bit ins Schieberegister eintakten
50
      PORTE |= 0b00000010; //Shift Register Clock Input von 0 auf 1 
51
      _delay_ms(1000); //1 Sek warten
52
      PORTE &= 0b11111101; //Shift Register Clock Input von 1 auf 0
53
    
54
      //Wert des Schieberegisters in das Storageregister übernehmen
55
      PORTE |= 0b01000000; //Storage Register Clock Input von 0 auf 1
56
      _delay_ms(1000); //1 Sek warten
57
      PORTE &= 0b10111111; //Storage Register Clock Input von 1 auf 0
58
    }
59
    
60
    
61
    
62
    _delay_ms(1000); //1 Sek warten
63
    
64
    PORTC = 0x01; //LED einschalten
65
    _delay_ms(1000); //1 Sek warten
66
    PORTC = 0x00; //LED ausschalten
67
    _delay_ms(1000); //1 Sek warten
68
    }
69
}

von Michael (Gast)


Lesenswert?

Thomas V. schrieb:
> wenn ich mit dem finger einfach mal die ganzen eingangspins des
> schieberegisters auf einmal berühre, bekomme ich eine direkte, jedoch
> undefinierte reaktion vom register.
> mal gehen die leds an, mal aus, mal ändern sich die leds...

Was erwartest du? Leg die über Widerstände auf wohl definierte Pegel, 
statt da mit den Fingern wilde Brumm- und sonstige Spannung 
reinzufüttern. Dann wird das auch was ;-)

von tip (Gast)


Lesenswert?

wo sind die Pull Down Widerstände? Pack da mal welche an die ganzen 
Eingänge drann, sonst wird das nichts.

Mit Abblockkondensatoren sieht es auch ein bischen mau aus.

von Thomas V. (brain11)


Lesenswert?

ahaa daher weht der wind!
dacht ichs mir doch: was banales!

ich dachte pulldown wäre nur bei z.B. tastern nötig die ich über einen 
port einlesen will...

ich dachte, wenn ich an einem portpin 0 ausgebe, dann zieht es den 
entsprechenden eingang am register auch wirklich auf 0...
warum wäre dann hier noch ein pull down nötig?

kann man pauschal sagen, dass an alle eingänge immer pull downs gehören?

oder wäre z.b. in dem fall, wenn reset low active ist ein pull up 
sinnvoller im hinblick auf stromsparsamkeit?


und zu den abblockkondensatoren:

da dachte ich, dass es genügt einen 100nF neben jeden vcc pin zu 
setzten?
im schaltplan hab ich die allerdings nicht direkt an die pins 
gezeichnet, sondern beim hauptboard hängen die schaltplan-zeichnerisch 
oben rechts an der stromversorgung und beim schieberegister, hängt der 
abblock da beim stecker IN

oder ist es da sinnvoll, einen abblock direkt an den vcc pin ran zu 
setzen und einen zweiten direkt an den gnd pin???

und mal ein GROßES DANKE an alle die mir bisher schon zur seite 
gestanden haben!

viele grüße
thomas

von M. B. (majo)


Lesenswert?

DDRC = 0x11; //kompletten Port E zu Ausgang machen

So wird nicht der komplette Port E als Ausgang konfiguriert.

von Thomas V. (brain11)


Lesenswert?

ohh was für ein dreck! ich volldepp

hatte das zuerst mit 0b ... angegeben... und dann mal geändert und das 
ganze natürlich mit brett vorm kopf, so wies ausschaut...

aber warum konnte ich dann immer saubere 5 V oder 0 V an den eingängen 
des registers messen obwohl ein paar pins am controller gar nicht auf 
ausgang waren???

die dürften dann ja eig. nichts ausgeben oder???

so jetzt muss ich nochmal raus aus dem bett und das gleich testen

was für ein dreckiger leichtsinnsfehler
sowas hasse ich immer

ich halte euch auf dem laufenden!

von frage (Gast)


Lesenswert?

Wohin führen auf dem "Leistungsboard_8" die beiden Stecker IN und OUT 
genau hin?
Mir fehlt auf den anderen Zeichnungen das passende Gegenstück um einen 
Überblick zu haben.
Und wie lange sind die Kabel daran?

von Thomas V. (brain11)


Lesenswert?

das

DDRC = 0x11; //kompletten Port E zu Ausgang machen

lautet jetzt so:

DDRC = 0xFF; //kompletten Port E zu Ausgang machen

aber das alleine wars auf jeden fall nicht... noch keine besserung

also noch die pulldowns rein...

@frage:
die steuersignale für das register kommen vom hauptboard über port E --> 
IN auf dem Leistungsboard, allerdings nicht PE0 --> pin 1, PE1 --> pin2, 
sondern folgendermaßen:

PortE --> IN

PE0 --> n.c.
PE1 --> IN Pin 1
PE2 --> IN Pin 7
PE3 --> n.c.
PE4 --> IN Pin 5
PE5 --> IN Pin 9
PE6 --> IN Pin 3
PE7 --> n.c.

Kabellänge ca. 10 cm

für die konkrete verbindung hab ich im moment noch keine zeichnung

OUT auf dem leistungsboard ist momentan offen... da will ich später ein 
weiteres leistungsboard dranhängen, wobei das OUT von dem ersten board 
auf IN des zweiten boards angesteckt werden soll

von tip (Gast)


Lesenswert?

Thomas V. schrieb:
> DDRC = 0xFF; //kompletten Port E zu Ausgang machen

nicht DDRE ?


Thomas V. schrieb:
> PE0 --> n.c.
> PE1 --> IN Pin 1
> PE2 --> IN Pin 7
> PE3 --> n.c.
> PE4 --> IN Pin 5
> PE5 --> IN Pin 9
> PE6 --> IN Pin 3
> PE7 --> n.c.

Und GND und VCC sind mit dem Hauptboard verbunden?

von Jens B. (nixiefreak)


Lesenswert?

Also eigentlich braucht man doch keine Pulldowns für Verbindungen vom uC 
zum Register, habe ich zumindest noch nie gebraucht. Eher denkbar, dass 
der uC keinen Saft hat und die Pins in der Luft hängen.

von Thomas V. (brain11)


Lesenswert?

tip schrieb:
> Thomas V. schrieb:
>> DDRC = 0xFF; //kompletten Port E zu Ausgang machen
>
> nicht DDRE ?

OOOHHH man sollte ein programm nicht mit der ersetzen funktion von einem 
port auf einen anderen umstellen

das war jetzt nun endlich das letzte puzel stück!!

und wie oft man vor lauter betriebsblindheit über so eine kleinigkeit 
dürberlesen kann

JUHUU!!!


>
> Thomas V. schrieb:
>> PE0 --> n.c.
>> PE1 --> IN Pin 1
>> PE2 --> IN Pin 7
>> PE3 --> n.c.
>> PE4 --> IN Pin 5
>> PE5 --> IN Pin 9
>> PE6 --> IN Pin 3
>> PE7 --> n.c.
>
> Und GND und VCC sind mit dem Hauptboard verbunden?

die sind natürlich auch noch verbunden ja... hab ich vergessen zu 
schreiben!


tja leute, was soll ich sagen! ihr seid die BESTEN!

viele vielen dank!!!

und ich hab mal wieder in einem ordentlichem eimer voll sch... gerührt
wahnsinn

das ganze läuft jetzt auch ohne pull down...
ist aber dennoch sinnvoll diese einzuplanen oder?

dank euch kann ich jetzt mal wieder richtig gut schalafen!!!
gute nacht!

thomas

von Thomas V. (brain11)


Lesenswert?

was ich allerdings immer noch gar nicht versthe:

wieso zum henker konnte ich wenn ich im debugger durchgesteppt bin immer 
die richtigen spannungen an den eingängen des registers messen????

kann ja nicht sein, dass wenn ein port als eingang geschalten ist, sich 
was ändert wenn ich versuche was darauf auszugeben oder????

wär das nicht der fall gewesen wär ich da ja viel schneller dahinter 
gekommen...

von Jens B. (nixiefreak)


Lesenswert?

Thomas V. schrieb:
> ist aber dennoch sinnvoll diese einzuplanen oder?

Wie gesagt, normalerweise brauchst du die zwischen Logik-ICs nicht.

von Weingut P. (weinbauer)


Lesenswert?

Die Pulldowns sind in der Regel nicht notwendig, können aber bei 
wirklich heftigen Störeinflüssen, z.B. Kontaktfeuer oder dergleichen 
notwendig werden.
Du hast Spannungen gemessen, weil Du über den AVR-internen Pullup 
gemessen hast. Wenn ein Pin als Eingang definiert ist, dann wird durch 
die Anweisung Portx.y=1 der interne Pullup aktiviert. Bei Deinem 
hochohmigen Voltmeter dann eben 5V über den Pullup. Bei Portx.y=0 wird 
der Pullup deaktiviert, ein Pulldown ist aber nicht vorhanden, wodurch 
der Pin dann floatet. Über Dein Voltmeter, gemessen gegen GND wird er 
aber gegen GND entladen, dann ist Dein Voltmeter der Pulldown.

Fhutdhb Ufzjjuz schrieb:
> In der Regel sitzt die Störung aber vor (!) der Hardware ;o)

von Thomas V. (brain11)


Lesenswert?

ahhh! danke für die erklärung!

dann ist mir das jetzt auch klar...

joa wieder mal ein typischer fall für das problem VOR dem computer / der 
hardware :-P

hab soeben die ersten 8 ventile in betrieb genommen...

scheint ganz gut zu funktionieren... jetzt erstmal programm anpassen 
dass die ventile auch mal was vernünftiges machen

dann sehen wir weiter :-)

viele grüße
thomas

von chose (Gast)


Lesenswert?

Trotz des ausnahmsweise guten Umgangstones hier muß man sagen dass 
Thomas V. schon sehr unerfahren ist. Wie wärs mit einem kleinem 
Elektronik- und C Kurs?

Der Code zur Ansteuerung des Schieberegisters ist wie alles andere schon 
voll schräg....

Funktioniert irgendetwas schon zuverlässig?

Aber Respekt vor deinem Pionierwillen und Forscherdrang ;-)



Gruß

von oszi40 (Gast)


Lesenswert?

>Wie wärs mit einem kleinem Elektronik- und C Kurs?
Es könnte freundliche Studenten geben, die etwas auf die Sprünge helfen?

Der allgemeine Vorteil von Kursen ist, daß man viel schneller zum Ziel 
kommt. Allerdings bietet nicht jede Volkshochschule das an, was ein 
Bastler so gern möchte...

von Weingut P. (weinbauer)


Lesenswert?

Es ist noch kein Meister vom Himmel gefallen ...

Er hat freundlich angefragt und bei Unverständnis nachgefragt ... lasst 
Ihn dochmal machen, der wurstelt sich rein in die Materie ;)

von Thomas V. (brain11)


Lesenswert?

hallo leute,

lasst euch nur nicht von dem üblen c code abschrecken :-D

der code sah schon mal besser aus... aber was tut man in der 
verzweiflung nicht alles wenn es nicht so läuft wies soll, noch dazu wo 
der atmega neuland für mich ist...

ich bin ja immerhin grad im informatikstudium... und weiß dass der code 
unterste schublade war :-P

joa von der ganzen elektronik drum herum hab ich nicht die große ahnung, 
da ich das auch nie gelernt hab... aber da mich das wahnsinnig 
interessiert wurschtle ich mich da einfach mal in kleinen schritten 
rein...

und dank euerer tollen hilfe, wird das auch was so wies ausschaut!!!

der programmcode schaut mittlerweile wieder besser aus,

die ersten 8 ventile erzeugen bereits wunderbar tropfen...
muss nur noch das timing etwas optimieren und sauber mit timern 
aufsetzen...

ein leistungsboard für die nächsten 8 ventile hab ich soeben fertig 
gemacht und angeschlossen und der test folgt in ein paar minuten...

drückt mir die daumen

evtl. komm ich heute noch dazu mal ein bild der ganzen aperatur rein zu 
stellen
ABER ich warne euch jetzt schon, die ist natürlich ebenfalls TOTAAAAL 
SCHRÄÄG :-D :-P

viele grüße
thomas

von Thomas (kosmos)


Lesenswert?

ich würde keine Schieberegister verwenden. Wenn man mehrere 
zusammenschaltet und ein einzelnes Bit ändern will muss man je nach 
Stelle wieder sehr viel durchschieben.

Nehm lieber Latches ala 74HC573N

man kann einen Port eines µC auf alle Latcheingänge parallel legen, man 
gibt das Bit Muster aus wählt ein Latches zur Datenübernahme aus, danach 
gibt man das nächste Byte aus und wählt ein anderes Latch zur 
Datenübernahme aus. Ganz zum Schluß gibt man über eine parallel Leitung 
alle Latches frei und man hat bei 8 Lachts z.B. 64 Ausgänge gleichzeitig 
geschaltet.

Jeder Wald und Wiesen MOSFET ist eigentlich für solche Magnetventile 
geeignet würde einen 100V Typen auswählen der den nötigen Strom kann und 
direkt von einem Latchausgang angesteuert werden kann, den 
Magnetventilen je eine Freilaufdiode spendieren.

Die Ventile brauchen eigentlich nur zum anziehen einen höheren Strom der 
dann rasch wieder zurückgeht. Das Netzteil sollte also den Dauerstrom 
aushalten und gut gepuffert sein für die Einschaltstromspitzen.

von Michael (Gast)


Lesenswert?

Thomas O. schrieb:
> Wenn man mehrere zusammenschaltet und ein einzelnes Bit ändern
> will muss man je nach Stelle wieder sehr viel durchschieben.

Warum das? Man kann die Schieberegister alle parallel an die SPI-Daten- 
und Clock-Leitung hängen und spendiert jedem Register eine eigene Slave 
Select Leitung. Dann wird zur Änderung von einzelnen Ausgängen genau ein 
Byte in ein Schieberegister reingetackern. Das spart 6 Pins und ist 
wegen der SPI HW Unterstützung nicht aufwändiger als eine 
Parallelausgabe.

von Thomas V. (brain11)


Angehängte Dateien:

Lesenswert?

hier wie versprochen mal ein paar bilder :-)

viel spass!

ich habs bis jetzt leider noch nicht geschafft ein foto mit vernünftigem 
muster zu schießen, da das bei der geringen fallhöhe einfach zu schnell 
geht... und die digicam einfach zu langsam auslöst...

es läuft mittlerweile schon so einiges an mustern...
pfreil, kreuz, dreieck, kreis und einige andere sachen, die ich jetzt 
mal als "wellenmuster" bezeichnen würde

es gäbe allerdings ein video bei dem man einigermaßen was erkennen kann
wenn ihr mögt lad ich das mal hoch...

schönen abend
thomas

von Thomas V. (brain11)


Lesenswert?

ach ja, als nächste schritte stehen einige verbesserungen an,

wie einige optimierungen an der software,

mechanische überarbeitung der konstruktion (ich will das ganze höher 
setzen, damit man mehr zeit hat was zu erkennen und damit ich mich mal 
damit befassen kann, ob man der verzerrung durch beschleunigung beim 
herabfallen entgegenwirken kann),

neue verkabelung :-P (gaanz wichig, da momentan die platinen nur mit ein 
paar gummibänder an ihrem platz gehalten werden und das schaut furchtbar 
aus...),

und ein ganz großer punkt wird die beleuchtung werden!
habt ihr da evtl. vorschläge?
ich stelle mir auf jeden fall eine rgb beleuchtung vor damit ein schöner 
farbwechsel passend zu den mustern möglich ist (sonne --> gelb, blume 
--> grün, und für lsd fans --> bunt gemischt :-P)

bin mir noch nicht sicher, ob ich nur von oben / unten beleuchten soll, 
oder auch von der seite?!
eine kombination aus oben / unten und seitlich wäre sicher im hinblick 
auf "beleuchtungs-muster" z.B. streifen-beleuchtung senkrecht oder 
wagerecht nicht verkehrt denk ich mal, aber evtl. auch zu aufwändig?

da bin ich noch auf der suche nach anregungen...

thomas

von Thomas V. (brain11)


Lesenswert?

ja und nochwas hab ich vergessen,

auf der suche nach einer brauchbaren wasserpumpensteuerung bin ich auch 
noch...

ich stelle mir das in etwas so vor:

im vorratsbehälter 2 sensoren anbringen, einen, der bei überschreitung 
abschaltet und einer der bei underschreitung einschaltet

evtl. geht das auch eleganter?
mit wlechen sensoren könnte ich hier arbeiten?

von Majo (Gast)


Lesenswert?

Das Video würde mich schon mal interessieren.

von Mark (Gast)


Lesenswert?

Reicht dir nich eine Abschaltung wenn der Tank leer ist? Ich meine es 
kommt ja kein neues Wasser dazu, wenn du nichts reinschüttetst. Daher 
würde ein einfacher Schwimmschalter doch reichen.
In Sachen Beleuchtung: Einfach RGB-Leds nehmen und dann die Farben des 
verwendeten Farbraums ausnutzen. Ich find das super elegant ist aber 
geschmackssache.

von Weingut P. (weinbauer)


Lesenswert?

Schlauchpumpe und einfach laufen lassen, die sind trockenlauffest und 
selbstentlüftend

von Weingut P. (weinbauer)


Lesenswert?

Die Verzerrung durch die Erdbeschleunigung wäre nur per definiertem 
Druck am Ventil, sodass die Tropfen mit der maximal möglichen 
Fallgeschwindigkeit austreten, zu bewerkstelligen, ansonsten wirst Du 
von den 9,81m/s² nicht los kommen befürchte ich.
Da wirds vom Timing her halt haariger, ne "Düse" für die Tropfenbildung 
und Du bräuchtest eben n Drucksystem, evtl. ginge n Hauswasserwerk und 
die Querverrohrung halt entsprechend druckfest.

Alternativ ... Antigravitation :)

von Weingut P. (weinbauer)


Lesenswert?

Mark schrieb:
> Reicht dir nich eine Abschaltung wenn der Tank leer ist? Ich meine es
> kommt ja kein neues Wasser dazu, wenn du nichts reinschüttetst. Daher
> würde ein einfacher Schwimmschalter doch reichen.
> In Sachen Beleuchtung: Einfach RGB-Leds nehmen und dann die Farben des
> verwendeten Farbraums ausnutzen. Ich find das super elegant ist aber
> geschmackssache.

Die Menge könnte schon zunehmen ... weiß der Geier auf was für Ideen die 
Studis bei ihren willenlosen Feten kommen wenn das in strömen fließende 
Bier einen "Ausgang" sucht ;)

von Thomas V. (brain11)


Angehängte Dateien:

Lesenswert?

hier mal das video

von Thomas V. (brain11)


Lesenswert?

Fhutdhb Ufzjjuz schrieb:
> Die Menge könnte schon zunehmen ... weiß der Geier auf was für Ideen die
> Studis bei ihren willenlosen Feten kommen wenn das in strömen fließende
> Bier einen "Ausgang" sucht ;)

HAHAHAA der war GUT


man erkennts im video nicht so gut wies eig. ausschaut, aber ich denke 
mit der beleuchtung wirds noch wesentlich besser!

ich dachte evtl. daran, das ausgabe bild schon leicht gestaucht 
auszugeben? evtl. lässt sich da etwas entgegenwirken? natürlich sieht 
das bild dann am anfang gestaucht aus, also eig. auch nur eine 
suboptimale sache... aber evtl. kann mans so timen, dass das bild in der 
mitte der fallhöhe "optimal" aussieht?


ui! dass man die farben im muster mitcodiert hört sich interessant an, 
aber ist sicher auch nicht ganz ohne...
vorerst stelle ichs mir so vor, dass man zum ausgabemuster jeweils ein 
eigenes beleuchtungsschema erstellt ich denke damit ist man flexibler


was ich mit meinen 2 sensoren für die pumpensteuerung verhindern will:
dass die pumpe ständig aus und ein schaltet, aber dennoch ein minimaler 
füllstand aufrecht erhalten werden kann... denn eine zu große 
füllstandsänderung wirkt sich sofort auf die tropfengröße aus...

von daher wäre eine druckbeaufschlagung mit einem besonders 
hysteresearmen druckregler sinnvoll, aber bei der derzeitigen 
konstruktion noch nicht möglich...

für die endgültige version, 2,5 meter hoch und 1,5 meter breit mit 96 
ventilen, aber durchaus denkbar...

desweiteren, denke ich, sind schon 2 sensoren im oberen vorratsbehälter 
sinnvoll, da ich immer mehr wasser im system (sprich im unteren 
auffangbehälter) haben werde als nötig ist um den oberen vorratstank 
komplett zu füllen, da das wasser ja auch verdunstet, somit kann ich das 
nicht so genau abmessen...

gut, man könnte natürlich eine errechnete verbrauchsmenge nehmen, die 
sich durch die länge der öffnungszeiten und der anzahl der geöffneten 
ventile ergibt... aber das erscheint mir als verbraten unnötiger 
rechenleistung wenn ichs mit zwei sensoren auch machen kann...


zur tropfenbildung: eigentlich sind es momentan gar keine einzelnen 
tropfen, sondern einzelne unterschiedlich lange wasserstrahle, die dann 
von selbst zu tropfen "zerreißen"

so siehs recht gut aus, für die ventile ist es angenehmer und von der 
software her auch...

mich wundert es ja eh, dass diese billigventile das so schön 
mitmachen...

von Thomas (kosmos)


Lesenswert?

benutze doch mal ein Stroboskop um "stehende" Bilder hinzubekommen

von Mark (Gast)


Lesenswert?

Ein Update des Schaltplans wäre auch nicht verkehrt. Ich habe es auch 
nicht so mit Elektronik, daher würde mich der aktuelle Schaltplan 
interessieren.

von Thomas V. (brain11)


Angehängte Dateien:

Lesenswert?

hört sich ebenfalls gut an... mal schaun... sollte dann mit der
entsprechenden steuerbaren led beleuchtung ja machbar sein....


zum wassersensor ist mir grad folgendes eingefallen:

siehe anhang:

sowas auf eine platine ätzen, vergolden und außerhalb des grünen
bereiches z.B. mit lack abisolieren

dann bräuchte man nur noch eine auswertschaltung die das ganze über
widerstandsmessung auswertet...

was haltet ihr davon? wie könnte so eine schaltung aussehen?

viele grüße
Thomas

von Thomas V. (brain11)


Lesenswert?

Mark schrieb:
> Ein Update des Schaltplans wäre auch nicht verkehrt. Ich habe es auch
> nicht so mit Elektronik, daher würde mich der aktuelle Schaltplan
> interessieren.

der schaltplan ist eig. gleich geblieben... nur ist hald die verbindung 
von hauptplatine zu leistungsplatine nicht eingezeichnet... aber das 
kann man ja beliebig machen... so wie mans hald am controller haben 
will...

von Weingut P. (weinbauer)


Lesenswert?

Thomas V. schrieb:
> dann bräuchte man nur noch eine auswertschaltung die das ganze über
> widerstandsmessung auswertet...

nicht viel, bei DC bekommst Du Elektrolyse, die Kontakte sind bald 
erodiert. Mit ner Leiterplatte als Träger wirst Du nie wissen ob der 
Wasserspiegel auf dem gemessenen Level ist oder einfach die Leiterplatte 
noch nass. 3 Nägel unterschiedlicher Länge von Oben in den 
Wasserbehälter und AC Strommessen und gut ist.

von Mark (Gast)


Lesenswert?

Ok dann nochmal für mich zum Verständnis ;-)

Der 74HC595 wird per SPI angesteuert. Die Ausgänge dieses ICs gehen auf 
den ULN2803. An dessen Ausgängen hängt dann jeweils ein Ventil mit 
parallelgeschalteter 1N400x.

von Thomas V. (brain11)


Lesenswert?

Fhutdhb Ufzjjuz schrieb:
> 3 Nägel unterschiedlicher Länge von Oben in den
> Wasserbehälter und AC Strommessen und gut ist.

JAP! das ist wohl die lösung! Danke dafür! mit welcher schaltung / IC 
kann ich das bewerkstelligen? also die Strommessung?



Mark schrieb:
> Ok dann nochmal für mich zum Verständnis ;-)
>
> Der 74HC595 wird per SPI angesteuert.
so ist es! (im moment steuere ich ihn zwar noch nicht mal per spi an 
sondern takte selber per programm, aber das werd ich demnächst auf spi 
umstellen)


> Die Ausgänge dieses ICs gehen auf
> den ULN2803. An dessen Ausgängen hängt dann jeweils ein Ventil mit
> parallelgeschalteter 1N400x.
jap! nur dass die diode antiparallel ist, um eben die induktionsspannung 
kurzzuschließen und ich hab noch eine z-diode verbaut da das ventil dann 
schneller abfällt...
siehe hier:
http://www.mikrocontroller.net/articles/Relais_mit_Logik_ansteuern#Freilaufdiode



und was sagen die evtl. damen / herren zum video?
feedback? verbesserungsvorschläge für konstruktion? kritik?
ist immerhin schon 37 mal runtergeladen worden :-D

(dass das video an sich qualitätsmäßig nicht der brüller ist weiß ich 
natürlich :-P)

thomas

von digitaler fritz (Gast)


Lesenswert?

etwas langsam, deine Ventile
wenn der Kalk sich durchsetzt, dann haengen die Ventile
Wasser ist Hart
Weiter so ;-)

von Thomas V. (brain11)


Lesenswert?

bezüglich kalk

digitaler fritz schrieb:
> etwas langsam, deine Ventile
hehe, naja die teile können sogar noch einiges mehr ans schaltfrequenz 
ab hab ich festgestellt, aber dann muss ich das ganze system mit druck 
beaufschlagen, sonst kommt da nicht mehr viel raus....


> wenn der Kalk sich durchsetzt, dann haengen die Ventile
> Wasser ist Hart
--> entionisiertes wasser...


> Weiter so ;-)
jawohl sir! :-P

von Frankfurter (Gast)


Lesenswert?

digitaler fritz schrieb:
> etwas langsam, deine Ventile
> wenn der Kalk sich durchsetzt, dann haengen die Ventile
> Wasser ist Hart
> Weiter so ;-)

Es gibt Filter (u.A. im Bügeleisen) die das Wasser enthärten- gibt es 
glaube ich auch als so Durchlaufdinger für die Waschmaschine. Jenachdem 
wo du wohnst wäre das ne überlegung wert.

Hier im Rhein-Main-Gebiet ist das Wasser ziemlich kalkhaltig

von TS (Gast)


Lesenswert?

...theoretisch könnte man mit einem Stroboskop ein Video aus Wasser 
ablaufen lassen...:-) Wenn das Wasser genügend Kontrast bringt...

von TS (Gast)


Lesenswert?

...dazu müsste man sich vielleicht einer Pneumatik Ventilinsel 
bedienen...

gibts bei ebay...

von digitaler fritz (Gast)


Lesenswert?

...dann wird es aber staubig ...

von Danilo (Gast)


Lesenswert?

Hallo,

ganz tolles Projekt. Davon hab ich auch schon geträumt, seit dem ich das 
in groß auf einer Messe mal gesehen habe.

Und die günstigen Pollin-Magnetventile haben mich abgeschreckt, da sie 
nur für Druckluft konzipiert seien.

Naja, ich werde nun auch mal sowas planen!
Kompliment an Thomas.

Kannst du noch auf die Konstruktion etwas eingehen?
- Welche Rohre, Ventilaufsätze, Verbindungsstücke?
- welche Pumpe zum Hochpumpen des Wassers?
- wie hoch ist der Gesamt-Geräuschpegel im Betrieb?
- wie groß ca. ist der Durchlauf in summe od. pro Ventil
- Halten die Ventile auch ohne Strom dicht?
- Maximal-Stromaufnahme bei wievielen Ventilen?

Danke für Antworten.

gruß, Danilo

von Wolfgang (Gast)


Lesenswert?

Michael schrieb:
> Mach's wie bei Steuerventilen im Auto. Die werden mit Frequenzen
> zwischen 100 und 200 Hz angefahren.

Damit wird nicht die Bewegung gesteuert, sondern mit dem Dither wird der 
Ölfilm stabilisiert, auf dem der Ventilkolben läuft.

von Thomas V. (brain11)



Lesenswert?

Erstmal nach längerer Paus wieder Hallo!

Danilo schrieb:
> Kannst du noch auf die Konstruktion etwas eingehen?
Alsoo da meine endgültige Anlage ja schon seit einigen Monaten läuft 
kann ich das natrülich :-)

Bei mir ist das ganze System mittlerweile 2,2 Meter hoch und 1,8 Meter 
Breit siehe Anhang und läuft mit 96 Ventilen (mit denen von Pollin 
funktioniert astrein, man muss allerdings etwas Ausschuss einkalkulieren 
da das ja gebrauchte sind und von daher nicht jedes ganz ok ist...)

> - Welche Rohre, Ventilaufsätze, Verbindungsstücke?
Wassertank besteht aus einem quadratischem 120x120 mm Alurohr in das ich 
96 Löcher mit Gewinde geschnitten hab und dann von einem kleinen Alurohr 
Anschlussstzutzen für die Ventile gefertigt habe... Verbindung von 
Anschlussstutzen zu Ventil erfolgte mit Silikonschlauch...

> - welche Pumpe zum Hochpumpen des Wassers?
Irgendeine 12V Tauchpumpe von Ebay... ca 40 Euro

> - wie hoch ist der Gesamt-Geräuschpegel im Betrieb?
Man hört das Teil schön klackern, aber die Lüfter der Netzteile sind um 
einiges lauter :-D...

> - wie groß ca. ist der Durchlauf in summe od. pro Ventil
Ventile habe ich im Durchfluss bei 30 cm Wassersäule über den Ventilen 
gemessen (ca. 1,5 Liter bei 15 geöffneten Ventilen in 60 Sekunden)

Auch die Schaltzeiten habe ich optisch mit einer 
Hochgeschwindigkeitskamera vermessen mit 1000 Bilder pro Sekunde(
Werte jeweils bei 12 V
Durchschnittliche Öffnungszeit: 12,15 ms
Durchschnittliche Verschlusszeit: 8,35 ms
Durchschnittliche Gesamtzeit zum Öffnen und Schließen: 20,50 ms

und

Werte jeweils bei 15 V
Durchschnittliche Öffnungszeit: 10,80 ms
Durchschnittliche Verschlusszeit: 9,45 ms
Durchschnittliche Gesamtzeit zum Öffnen und Schließen: 20,25 ms
)

> - Halten die Ventile auch ohne Strom dicht?
Sofern das Ventil keine Macke hat ohne Probleme... hatte mitllerweile 
schon Standzeiten mit Wasser im Tank über den Ventilen von mehreren 
Wochen ohne Probleme! Einfach wieder einschalten und es geht wieder 
los...

Habe allerdings auch mit entionisiertem Wasser aufgefüllt.

> - Maximal-Stromaufnahme bei wievielen Ventilen?
Hab ich nicht explizit gemessen, da ich zu träge Geräte habe um den 
Spitzenstrom zu visualisieren im Einschaltmoment... und für den 
Haltebetrieb bin ich von den 100 mA pro Ventil ausgegangen die auf den 
Ventilen aufgedruckt sind...

Viele Grüße und einen schönen Tag
Thomas

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

da kommt mir spontan die Idee, anstelle von transparentem Wasser etwas 
eingefärbtes zu nutzen (z.B. dieses schön dunkelblaue Zeugs aus dem 
Dixi-Klo). Das sollte die "Lesbarkeit" der dargestellten Dinge erhöhen. 
Und in maximaler Ausbaustufe gibt es das ganze "in Vollfarbe" mit rot, 
grün und blau. Alternativ: Wie sieht es denn eigentlich aus, wenn man 
die Tröpfchen farbig beleichtet? Gibt das einen optisch verwertbaren 
Eindruck oder sieht das irgendwie nur "bäh" aus?

von Michael A. (Gast)


Lesenswert?

Wegstaben Verbuchsler schrieb:
> Und in maximaler Ausbaustufe gibt es das ganze "in Vollfarbe" mit rot,
> grün und blau.

Und wer sortiert das Wasser unten wieder - machst du das?

Ein Quecksilberlampe zur Anregung der Fluoreszenz von Rhodamin als 
Farbstoff für einen roten Vorhang oder Fluorescein für einen gelb-grünen 
wäre eine Möglichkeit.

von Danilo (Gast)


Lesenswert?

Hallo Thomas,

danke für die beeindruckenden Bilder und erklärungen.

ich bin überrascht über die dimensionen, v.a. auch preislich war das 
sicher kein schnäppchen. aber einzigartig.

kann man deine konstruktion eigentlich noch transportieren?

welche wasserfall-programme kannst du mit deinen bunten knöpfchen 
abspielen?

Hast du eine spezielle auffang-vorichtung im unteren becken, damit das 
aufklatschende wasser nicht so laut ist?

ich sehe, dass die öffnungszeiten bei höhere 15V kürzer sind und die 
schließzeiten länger. Aus meiner sicht wäre eine SW-PWM möglich, die 
100% zum öffnen eingestellt ist (also 15V) und zum halten des geöffneten 
Ventils vielleicht auf 50% geht (im schnitt 7,5V), sodass man mit noch 
kürzeren schließzeiten rechnen kann. ist das denkbar?

danke für all deine antworten. habe schon mal 8 magnetventile zum 
spielen bestellt :)

gruß, Danilo

von Thomas V. (brain11)


Lesenswert?

Servus Danilo,

sorry für die späte antowort, aber ich war die letzten Tage in Paris... 
:-)

Wenn ich was mache, dann "richtig" :-D und wenns noch kleiner ist als es 
aktuell ist, dann wird der wirkt das ganze einach nicht mehr ganz so 
beeindruckend...

mhmm hat schon ein paar euro gekostet, aber das wars wert! alleine um 
meine professoren an der FH zu zeigen was ich als Informatiker noch so 
alles nebenbei kann... wahr wohl die beendruckendste bachelorarbeit in 
der FH-Geschichte :-D

Konstrukion ist natürlch auch transportabel... der oberre mittelteil 
wird zuerst herausgehoben nachdem alle kabel abgeschlossen wurden... 
danach werden die beiden seitlichen säulen abgebaut und dann bleibt noch 
das wasserauffangbecken und die bodenplatte... :-) dann wird das ganze 
in einen sprinter oder ein änlich großes fahrzeug verladen...

mit den knöpfen bediene ich ein kleines schlankes menü auf dem display 
(brauche im moment nicht alle knöpfe, die sind als reserve für 
erweiterungen vorgesehen)

aktuell laufen auf der anlage diverse grafiken (wellen, herzen, 
schachbrettmuster, buchstaben, zahlen und noch paar sachen)

unten im auffangbecken hängt einfach ein fliegengitter, was 
hauptsächlich die spritzer durch aufschlagende tropfen minimiert als 
auch die die lautstärke und den schmutzeintrag wirksam vermeidet... das 
lauteste sind im moment die lüfter der netzteile sowie die tauchpumpe

das mit dem pwm ist ein interessanter gedanke... ob das funktioniert, 
kann ich dir allerdings nicht beantworten, da ich dafür zu wenig 
abschätzen kann, ob das mit den freilaufdioden an den ventilen probleme 
gibt, wenn man höhere schaltfrequenzen hat... aber rein von meinem 
gefühl her, müsste das machbar sein...
aber da kennen sich andere sicher besser aus als ich...

wenn dus rausgefunden hast, würd ich mich über eine antwort freuen...

was ich allerdings aus einigen posts am anfang des threads weiß, es gibt 
definitiv möglichkeiten die ventile mit "boost" also überspannung 
einzuschalten, danach eine stromabsenkung zum offenhalten und dann auch 
mit forciert abzuschalten... aber diesen ansatz hab ich dann nicht 
weiter verfolgt, da ich meine schaltung so einfach wie möglich halten 
wollte, da ich mir das schaltung entwerfen ja auch autodidaktisch 
angeeignet hab und noch nicht so die große ahnung davon hab...

vieeel spass und erfolg

viele grüße
thomas

von ... (Gast)


Lesenswert?

Wie hast du jetzt eigentlich die Wasserstandsregelung gelöst?
Meine Idee dazu wäre ja das man die Pumpe im Dauerlauf betreibt und das 
Wasser dann einfach oben durch ein Rohr wieder überläuft.

von Thomas V. (brain11)


Lesenswert?

aahh jaa kann mich erinnern,

das habe ich bei den ersten versuchen auch so gemacht, allerdings 
schnell festgestellt, dass in dem moment, in dem das wasser beginnt im 
überlauf auszutreten und im rücklaufschlauch nach unten läuft im tank 
ein vakuum entsteht und somit so gut wie kein wasser mehr aus den 
ventilen austritt...

habe dann zwei optische wassersensoren verbaut, einen für minimal und 
einen für maximalen füllstand und dementsprechend wird die pumpe 
gesteuert. das funktioniert sehr zuverlässig und ist einfach.

von Jens M. (Gast)


Lesenswert?

Hallo Thomas,

auch wenn der Thread schon älter ist, würde es mich interessieren, ob du 
auch deine Dokumentation mit uns teilen würdest. Sie würde das ganze 
Projekt für Nachbauer perfektionieren.

Viele Grüße und ein schönes Wochenende
Jens

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.