mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Rolladensteuerung mit PIC18f4550


Autor: Manuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute.
Ich sollte für einen Freund möglichst günstig eine Rolladensteuerung für 
sein Eigenheim entwefen.
Nun, zur Verfügung steht mir ein PIC18f4550.
Es sind 23 Rolladen mit dazugehörigen Taster zu schalten.

Meine Idee wäre es, die Taster über einen Multiplexer mit dem Pic zu 
verbinden und auf der anderen Seite mit einem Demultiplexer die Motoren 
anzusteuern.
Oder wisst ihr eine bessere Idee wie man 46 Input und 46 Output Ports 
auf einem PIC realisiert? Geht da vll was mit einem Schieberegister?

lg Manuel

Autor: usuru (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schieberegister ist genau das richtige. Oder ein µC mit mehr I/O-Pins.

Autor: Ein (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, das mach mal
46 "Antennenleitungen" im Haus verteilen, das wird spassig....

Warum machen die großen Konzerne sowas nicht, ist doch günstig?

Autor: heinzhorst (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du dir mal überlegt, was das für ein Kabelverhau wird bei 23 
Rolläden? Besser: Mehrere kleine Controller über 485 oder CAN vernetzen.

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, aber der uC ist kaum der Hinderungsgrund.

Die Rollläden alleine kosten schon Geld, sind aber wohl da.

Will man die Rollläden bedienen, braucht man Taster an den passenden 
Stellen und Kabel dorthin (23 Batterien jedes Jahr tauschen geht nämlich 
auch ins Geld).

Wenn das System mit Rollladenschaltern und Rollläden aufgebaut ist, gibt 
es ggf. schon die Zentralsteuerungsrelais. Die waren teuer, bzw. sie 
sind teuer wenn ma  sie noch kaufen muß. Was anderes als Relasi sind 
aber bei den hohen Spannungen von bis zu 750 an den Rollladenkontakten 
kaum sinnvoll.

Wenn du schon Rollläden, Rollladentaster und Zentralsteuerungsrelais 
hast, dann brauchst du nur eien 2-kanalige Schaltuhr im Sicherungskasten 
ist die Sache ist gegessen.

Wenn du die Tasten noch nicht hast und die Zentralsteuerungsrelais 
einsparen willst, dann müsstest du erst mal überlegen, wie du die 
Rolländen steuern kannst. Sind Leitungen von jedem Motor zum 
Sicherungskasten gezogen worden ? Dann käme man wohl mit 16 Relais 4 x 
um un einem 1 x um aus, das kostet immer noch deutlich mehr als 1 
simpler Microcontroller. Fehlen die Leitungen, sind wohl 46 Relais 
notwendig was um die 100 EUR Mehrkosten verursacht. Auch das schlägt den 
Preis eines Microcontrollers locker. Wenn für die Taster und Rolläden 
noch gar keine Leitung zu einer Zentrale gezogen ist, sondern überall 
nur 230V liegen, dann wäre erst mal eine Frage der Kommunikation. Da 
kann Funk letztlich billiger sein als verdrahtete Elektronik, aber 
Funk(steckdosen) kosten Dauerstrom, der bei 100 Watt Dauerverbrauch im 
Jahr richtig ins Geld geht.

Ich bin also sicher, dein Problem liegt ganz woanders. Am besten wäre es 
wohl falls schon 5-adrige Leitungen zu allen Rolläden liegen (aber 
parallel angeschlossen), diese zur Erfassung der Taster und zur 
Steuerung der Rolläden von einer Zentrale aus zu verwenden. Eine Leitung 
Strom zum rauffahren, eine Leitung Strom zum runterfahren, ein Relais 2 
x um an jedem Rolladen der diese Leitung vom Bus nimmt und auf den 
Rollladenmotor schaltet, bleibt neben Schutzleiter und Null noch genau 
eine Leitung übrig. Die muß man nicht mit 230V fahren, falls sie 
störsicher genug genutzt wird (sie läuft immerhin lange neben den 
Motorleitungen parallel).
Man kann sie mit Kleinspannung beschicken als Versorgung des Relais, und 
der Elektronik die die Tasten abfragbar macht, allerdings muss die 
gesamte Steuerung darüber erfolgen. Da so eine Leitung unter 1 Ohm hat, 
könnte man jeden Taster 10 Ohm, 11 Ohm, 12 Ohm, .... 55 Ohm schalten 
lassen (man versorgt dabei die Leitung mit +12V). Dann schaltet man die 
Polarität der Leitung um, um die Spannung zur Versorgung des Relais zu 
liefern. Doch woher weiss welches Relais daß es anziehen muß ? Es hat ja 
nicht unbedingt vorher jemand dort den Taster gedrückt, sonder am Abend 
kann man ja (der Reihe nac) alle runterfahren lassen wollen. Man kann 
wohl nur schieberegisterartig mit je einem (+24 V?) Impuls immer "das 
nächste" Relais ansprechen. Und alles stromlos machen damit alle Relais 
und auch der Zustand deses Schieberegisters abfallen. So ein 
Schieberegister könnte man mit einem Thyristor aufbauen, also nicht 
unbedingt ein IC pro Rollladen, wird aber viel Wert auf Störsicherheit 
legen müssen. Ein Stromstosschalter mit Umschalter ist sicherlich 
einfacher.

                       rauf runter    rauf runter
+--------+                |  |           |  |
|Zentrale|             o--+  |       /o--+  |
|        |----------o\       |  +--o        |  +--..
|        |            \o-----(--+     o-----(--+
|        |                   |              |
|        |             o-----+       /o-----+
|        |----------o\          +--o          +--..
|        |            \o--------+     o-------+
|        |
|        |------------+ +-----------+ +-----------.. Steuerleitung
|        |            | |           | |
+--------+        +---------+    +--------+
                  | Box 1   |    | Box 2  |
                  |         |    |        |
                  +---------+    +--------+
                    |  |  |        | |  |
                   rauf|runter   rauf|runter
                    |  |  |        | |  |
Null ---------------+--+--+--------+-+--+------- ...


Blöderweise braucht mal Null als Rückführung, geht die
Leitung ab, hat man also 230V auf der Elektronik.
Den Schutzleiter kann man für die Rückführung auch
nicht gebrauchen. Möglicherweise kann man die
umgeschalteten Motorleitungen als Erkennung nutzen,
welcher Rolladen gerade aktiv ist.

Autor: Manuel (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Also.
Der Hausherr möchte alles über eine Zentrale gesteuert haben. Die Kabel 
hierfür sind auch schon gezogen. Man meint von jedem Taster und jedem 
Motor zur Zentrale....obs sinnvoll ist oder nicht, naja. Nicht mein 
Problem

Um euch zu zeigen wie ich das mir ca. vorstelle hab ich mal einen 
Grobplan erstellt, der keinen Anspruch auf Schönheit oder Standarts 
erhebt.

Mein Problem ist es nun, welcher Multiplexer, bzw. Schieberegister oder 
sonstwas ich verwenden sollte. Und vor allem, wie diese Komponenten mit 
meinem PIC kommunizieren. SPI?

Denn auf diesem Weg könnte ich ja eine Rolladenautomatik, 
Urlaubsprogramm etc. programmieren.

Ich hoffe euch mein Problem nun etwas näher gebracht zu haben.

Autor: oldy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieso 46 ?
Sind doch 23 Rolladen. Also 23 Ports.

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
46 Relais, also 6 TPIC6B595, das geht ins Geld,
46 Taster.
Eigentlich könnte man jeden über einen Vorwiderstand an die Eingänge des 
uC anschliessen.
Wegen Störsicherheit fährt man aber besser 24V oder mehr (eventuell 
verbinden sie sogar an 230V ?) also ein grösserer Vorwiderstand bzw. 
Spannungsteiler. Da du nicht genug uC-Eingänge hast, kann man externe 
ICs verwenden (oder die taster per Dioden auf 6 Eingänge codieren, auch 
mühsam). Da man dauernd nachfragen muß, welcher Taster aktiv ist, ist 
das natürlich lästig. Besser wäre ein IC der einen Interrupt auslöst, 
wenn ein (beliebiger) Taster gedrückt ist und man fragt nachher ab, 
welcher es war. Ein Analoxmultiplexer mit "alle ein" gibt's aber nicht. 
Ein Prioritätsencoder wie 74HC148 ginge, braucht man 7 von. Einfacher 
ist wohl ein 74HC151 und ständig abfragen.

Autor: Manuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@oldy: Ich brauche 46 da es für jedem Motor einen Öffnen und Schließen 
Taster gibt.

@MaWin: Die Idee mit dem Prioritätsencoder ist spitze. Das werde ich auf 
jeden Fall versuchen. Dankeschön

Nur was verwende ich als Ausgangslogik? Da ich ja auch 46 O Ports 
brauche?

lg

Autor: Antwort (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schieberegister (74HCT595) die als Daisy-Chain geschaltet sind und am 
SPI BUS hängen?

Autor: 123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin

Ich hoffe der herr kennt sich mit der für rolladen normalerweise 
eingesetzten motoren aus, ansonsten kann der spass richtig teuer für den 
haushernn werden, wenn nach 1 oder 2 jahren langsam alle motore 
nacheinander den geist aufgeben.

Paralelschaltung ist VERBOTEN!
Schaltzeigen von links auf rechtslauf beachten!

wenn jetzt die frage nach dem wieso kommt soll ers am besten gleich sein 
lassen.

Es haben schon einige elektriker ihr lehrgeld zahlen müssen mit 
selbstgestrikten steuerungen.

gruss

Autor: Manuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, grundsätzlich eine gute Idee. Nur wie sollte ich ich die Teile als 
Daisy Chain schalten. Soweit ich das Datenblatt interpretiere, kann ich 
nur max 8 Bit Seriell übertragen. Ich bräuchte allerdings 46bit.

Autor: Manuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hatte nie vor, die Motoren parallel an ein Schaltelement zu 
schalten. Es gibt für jeden Motor 2 Relais.

Autor: Hotta (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> wenn jetzt die frage nach dem wieso kommt soll ers am besten gleich sein
> lassen.

Hinter diesen Satz hätte ich mindestens drei Ausrufezeichen gesetzt.

Ich kenne auch einen Fall, wo jemand nach einigen Tagen schon mehrere 
Motoren hat abrauchen lassen. Fand ich aber nicht weiter tragisch, da 
ich diesen Typen sowieso nicht leiden kann.

Autor: Master Snowman (snowman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> kann ich nur max 8 Bit Seriell übertragen. Ich bräuchte allerdings 46bit
wie wär's mal mit dem öfnnen und durchscrollen des datenblattes? musst 
nichtmal lesen ;-)
ich tendiere auch für einen langsam getakteten SPI-bus, bei dem ggf. die 
signale differenziell übertragen werden (ggf. könnte man gleich darüber 
auch die speisung laufen lassen? oder da differenziell, könnte man auch 
die jeweilige "vorort-stromquelle" benützen (galvanisch getrennt)).

Autor: Manuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, war da wohl ein wenig zu schnell beim lesen^^.
Ja, das ist genau das was ich brauche. Dankeschön. Ich werde dann 
berichten, wenns fertig ist.

Autor: Hotta (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> ich tendiere auch für einen langsam getakteten SPI-bus

Super Idee! - Ein flankengesteuertes Bussignal ist geradezu ideal für 
räumlich ausgedehnte Bussysteme. In Verbindung mit Motoren, die 
ausgesprochen sensiebel auf fehlerhafte Ansteuerung reagieren, ist das 
sicher ein nicht zu toppender Lösungsansatz.

Autor: Master Snowman (snowman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Hotta: schonmal was von terminierung und "leistung verbraten" gehört 
bezüglich robustheit? schonmal was von DMX gehört und wieviel A da so 
geschalten werden? und ein bustakt von 100Hz wird hier locker 
ausreichen, ich weiss nicht, was du hast?!?
zum testen wird er wohl nicht gleich die motoren an die relais hängen 
sondern erstmal glühbirnen ^^

Autor: 123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und was mit Glühbirnen funktioniert muss nicht mit zwingend mit Motoren 
funktionieren.

2 mögliche fehlerquellen hab ich ja schon genannt.

es gibt ja noch ein paar andere.


ps. und die meisten motorhersteller können recht genau durch auswertung 
eines kaputten motors sagen, was die steuerung falsch gemacht hat.

Autor: Hotta (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> schonmal was von terminierung und "leistung verbraten" gehört
> bezüglich robustheit?

Funktioniert richtig gut unter der einen Voraussetzung:
Abschlusswiderstnd 1 = Leitungswiderstand = Abschlusswiderstand 2

> schonmal was von DMX gehört

Die physikalische Grundlage von DMX ist eine RS485-Übertragung. Das 
Signal selbst wird mittels UARTs erzeugt und ausgewertet und ist somit 
nicht (!) flankengesteuert.

> wieviel A da so geschalten werden?

Das sind schon mal mehrere 100 A. Allerdings sitzt zwischen dem Bus und 
den (meistens) Lampen noch eine Elektronik, die nicht selten 
fehlertolerant arbeitet.

> ein bustakt von 100Hz wird hier locker ausreichen

Ein langsamerer Bustakt sorgt bei flankengesteuerter Datenübertragung 
nicht dafür, dass prozentual weniger Fehler entstehen.

> ich weiss nicht, was du hast?!?

Ich weiss es aber aber: nämlich Ahnung!

Autor: Antwort (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wer hat den gesagt das der SPI Bus durch das ganze Haus gezogen wird? 
Meine Intention war es die Daisy-Chain direkt bei der Steuereinheit 
aufzubauen und dann die Ausgänge über die wohl schon verlegten leitungen 
zu den Motoren und einer dortigen Ansteuerelektronik zuzurühren.

Die Signalübertragung der Daisy-CVhain Ausgänge würde ich auch nicht 
über Spanungspegel, sodnern über Strompegel machen.

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> räumlich ausgedehnte Bussysteme

Alle Leitungen laufen bereits zur Zentrale.
Der Bus geht gerade mal über die Platine.
Und ein TPIC6B595 hat irgendwie auch SPI.

Die Diskussion über Busse ist aber Unsinn,
der IC kommt halt so an den uC wie's passt.
Interessanter ist die Frage, wie er 46 (oder
25) Relais unterbringt.

Am ehesten stellt sich noch die Frage, wie
viele Pins übrig blieben, wenn man Display
und Tastatur angeschlossen hat, da kann man
sich nämlich Probleme schaffen, wenn man
erst zu grosszügig (dumm) ist und hinterher
knausern muss.

Autor: Master Snowman (snowman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> ich weiss nicht, was du hast?!?
>Ich weiss es aber aber: nämlich Ahnung
vielleicht, aber zumindest nicht lesen:

Master Snowman schrieb:
> ich tendiere auch für einen langsam getakteten SPI-bus, bei dem ggf. die
> signale differenziell übertragen werden

ps: RS485 ist differenziell

Autor: abc123 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier läuft eine interessante Diskussion: der TE hat klargemacht, dass 
von seinem Kunden eine Zentrale gewünscht wird UND dass die Leitungen 
bereits alle liegen!!!

Hier wird aber darüber diskutiert, wie man das Projekt weiter 
verkomplizieren kann, Bus-Systeme und was weiss ich noch alles. Dabei 
ist es so einfach: die Taster gehen direkt zur Zentrale und von dort 
werden die Motoren auch direkt gesteuert. Die Leitungen liegen ja schon.

In der Zentrale sind also die Steuerung und die Treiber, das macht es 
ganz einfach. Also entweder 1 µC, 6 Schieberegister und 23x2 
Motor-Treiber oder - als übersichtlichere Alternative - z.B. 3 
identische µC (mit je 16 I/O) plus die Motor-Treiber.

Da der TE offensichtlich gerne mit PIC arbeitet, böten sich alle ICs an, 
die mehr als 16 I/Os haben, z.B. der 16F886 wäre geeignet (hat 3x8 I/Os, 
die "überflüssigen" I/Os könnten für Zentralbefehle wie "alles rauf" 
oder "alles runter" oder für Status-Anzeigen dienen). Die Eingänge 
werden in einer Schleife gepollt und im 2. Teil der Schleife werden die 
jeweiligen Ausgänge gesteuert. Das geht in Assembler dank Bit-Befehlen 
ratz-fatz und ist viel übersichtlicher, als Schieberegister zu steuern. 
Wenn es denn C sein muss, dann gibt es analoge Chips aus der 18er Serie 
von Microchip. Ein weiterer Vorteil der Aufteilung auf 3 oder 4 µC: 
fällt ein µC aus, funktionieren die anderen noch.

Als Treiber kann man Relais einsetzen oder MOSFETs.

Autor: Manuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
abc123 hat es treffend zusammengefasst.
Mein Hauptproblem war eig die Porterweiterung. Das liegt daran, dass ich 
schon seit geraumer Zeit nicht mehr mit µC gearbeitet habe, und ich mich 
erst wieder in die Materie einlesen muss. Aber ihr habt mir dabei 
wirklich sehr geholfen. Dankeschön nochmal.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn man das Layout schön nach Funktionsgruppen trennt, kriegt man auch 
Schieberegister stabil zum Laufen.
Die Tasten über 100k Schutzwiderstände auf 6 * 74HC165 und die Relais 
über Treiber (ULN) von den 6 * 74HC595.
Braucht insgesamt 6 Leitungen zum MC, ein ATtiny24 würde also dicke 
reichen.

Die 6. Leitung geht auf /OE der Register, um sie zu sperren, wenn nichts 
zu tun ist, bzw. die Register noch nicht geladen sind, damit die Motoren 
nicht unkontrolliert loslaufen.

Und wenn man es besonders störfest machen will, noch Optokoppler an den 
Eingängen und Opto-MOS als Relaistreiber.

Und natürlich werden die Eingangssignale dann in der Software mindestens 
4-fach abgetastet (entprellt).


Peter

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.