www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Einsteiger bei AVR und Can


Autor: Klaus Wetzel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich bin Einsteiger was die Programmierung in AVR angeht.
ich habe jetzt mal die Schaltungen aus dem AVR Tutorial nachgebaut und
finde das ganze relativ simpel.

Meine Idee wäre jetzt der Bau einer "Anlage" die auf Basis von
Lokalen AVR's Messdaten und Schaltzustände im ganzen Haus sammelt und
mittels Can Bus an eine zentrale Stelle weitergibt.

Hat das schon mal jemand gemacht?

Mein Problem ist die programmierung eines Can Busses. Ich habe bisher
noch keine Literatur dazu gefunden.

Schöne Grüße
Klaus

Autor: Jens D. (jens) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.mikrocontroller.net/articles/CAN_als_Hausbus
=) ganz einfach ;)
habs mir nicht durchgelesen sollte aber helfen

Gruss

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt unter www.microcontroller-starterkits.de ein Board als Bausatz,
bzw. als Leerplatine, wo man den CAN einmal mit dem ON-Chip-CAN des
AT90CAN128 verwenden kann - oder man nimmt den MCP2515 und den
ATMega128. Das Board unterstützt beides. Beispielprogramme findet man
ebenfalls dort.

Autor: Danny P. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bin grad dabei soetwas mit einem Mega8 und MCP2515 zu realisieren.
Ist von der Hardware recht günstig und einfach aufzubauen.

Und wenn man erst mal das Datenblatt des MCP kapiert hat läufts auch
mit dem CAN :-)

Also diese beiden Bausteine wären mein "Einsteigertipp".
Der MCP übernimmt den ganzen CAN-Verkehr (ich finde das im vollen
Unfang selbst zu programmieren übersteigt den Wert des MCP2515 ~etwa
2EUR bei weitem und lohnt nicht), er braucht nur mittels SPI
parametriert und gesteuert werden.

Autor: Klaus K (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja,
das hatte ich auch neulichst hier gefragt. Nur ich war so dreist auch
noch nach Bascom Beispielen und nach Erklärungen der Parameterübergabe
zu fragen.
Meine Post ist nach einem Tag gelöscht worden.
Ein Link oder Beispiel hätte ev. schon geholfen.
Wie man einen Can-Controller an den AVR klemmt findet man überall, nur
wenn man nach der Parameterübergabe und deren Bedeutung fragt ist man
:
im falschem Forum !!
Das war im Code-Forum. Hat es nichts mit Code zu tun, ist das
Elektronik?
In dem Sinne viel Erfolg !!
Klaus

Autor: Danny P. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Klaus:  Stefan hat doch seinen kompletten C-Code als .zip reingestellt
schon vor nem halben Jahr oder so...

Autor: Klaus K (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Danny
Naja, wenn ich C verstehen könnte. Kann ich aber nicht. Um es in andere
Sprachen zu machen müsste man wissen: Was muss ich wo reinschreiben,
möglichst mit Erklärung.
Warum, und was und wo kann ich was weglassen.
Beim Dallas 1wire 18(s)20 gibt es auch Beispiele mit Registererklärung
in C ----> UND <------- in Bascom.

Autor: Klaus K (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Klaus Wetzel
in Kapitel 1.2.2 von
http://www.canathome.de/Dokumentation/Kapitel1.htm...
steht was grundsätzliches drin.

Autor: Bassi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
mal ne frage, wenn man den philips chip +avr nimmt, braucht man da den
bustreiber PCA 82C250 oder gehts auch ohne?

Autor: Danny P. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@bassi: welchen "phillips chip" ?

@Klaus K: geht es dir nur um die Initialisierung des MCP? Falls ja
könnte ich dir kurz zusammenschreiben welche register ich womit
beschreibe...

Autor: Klaus K (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Danny P.
Was heist nur, ich möchte gern ein CAN-Bus-System bauen, weil ich lese,
daß er nicht so störanfällig ist und man sich nicht um Kollisionen
kümmern muss. Der Haken ist bei mir:
ICH KANN KEIN C
Nur bin ich mit Bascom und a little bit ASM gut klargekommen.
Klaus Kühnel soll in seiner zweiten Auflage CAN-Beispiele gebracht
haben.
Die Beispiele kann man sich saugen auf seiner Page, aber ohne
Erklärung....
Die erste Auflage habe ich, nur deshalb soviel Geld... Ev. bin geizig,
kann sein...
Bin dankbar für jede Unterstützung!

Autor: Klaus K (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Danny P.
würdest du es mit der Registerbelegung, mögl. mit Erklärung, posten?

Autor: Danny P. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@klaus k: bist noch ein wenig on? den nschreib ich es dir jetzt nebenbei
auf (dauert nur ein wenig)...

ich würd eine reihenfolge der bytes schreiben (mit erklärung) die ich
nacheinander zur initialisierung an den mcp sende. und ein beispiel um
ein telegramm zu senden, dann kannst ja dazu fragen stellen, ok?  oder
lieber in anderer form?

Autor: Klaus K (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Danny P.
Das wäre nett. Ev. machst du das ja nicht nur für mich. Andere
Hobbyisten finden ev. dadurch auch zum CAN-Bus.
Danke vorerst dafür!

Autor: Danny P. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
du... ich hätte es auch für dich allein geschrieben ;-)

nur mal zur erklärung: ich hab so komisch nach dem "nur hinschreiben"
gefragt weil mehr als die initialisierung hab ich noch nicht fertig :)

hab nur mal ein paar testtelegramme zum test der hardware gesendet :)

Ok, zur erläuterung des folgenden textes:
spi on = shipselectleitung meines mcp2515 auf low (=aktiv)
spi off= na was wohl :-)
spi = xxxxx    = schiebt das dort stehende Byte per hardware spi aus


initialisierung des mcp2515 (laufendes hardware spi vorausgesetzt)

## SoftwareReset des MCP ##
spi on
spi = 0xC0
spi off

## MCP in ConfigMode (nur so sind einige Register beschreibbar ##
## und ClockOut ein und auf clk/2 (Takt für meinen µC)         ##
## 1Byte ist der Schreibbefehl, 2. die Zieladresse und 3. der  ##
## Wert für das Register CANCTRL                               ##
spi on
spi = 0x02
spi = 0x0F
spi = 0b100000101  - Bitbedeutung siehe Registerbeschreibung
spi off

## BitTiming und Interrupterzeugung einstellen                 ##
## Die Werte fürs BitTiming (CNF1...3 stammen aus einem        ##
## Calculator (fliesst Baudrate, Clk und so mit ein            ##
## und wieder 1.Byte Schreibbefehl, 2. Adresse CNF3 und die    ##
## folgenden die Werte für CNF2, CNF1, und CANINTE             ##
## (die Registeradresse wird nach einem Schreibzyklus autom.   ##
## inkrementiert                                               ##
spi on
spi = 0x02
spi = 0x28
spi = 0x05
spi = 0xB8
spi = 0x01
spi = 0b00011111  - Bitbedeutung siehe Registerbeschr. CANINTE
spi off

## nun schalte ich das Filtern ein, nur den Filter passierende ##
## Messages werden im Eingangspuffer0 verarbeitet geschrieben  ##
## wird RXB0CTRL                                               ##
spi on
spi = 0x02
spi = 0x60
spi = 0b00100000
spi off

## nun schalte ich das Filtern ein, nur den Filter passierende ##
## Messages werden im Eingangspuffer1 verarbeitet geschrieben  ##
## wird RXB1CTRL                                               ##
spi on
spi = 0x02
spi = 0x70
spi = 0b00100000
spi off

## nun schreibe ich den Filter (ein Wert mit dem der empfangene ##
## Identifier verglichen wird) entspricht der empfangene diesem ##
## hier eingetragenen wird die Message weiter verarbeitet       ##
## ich schreibe hie nur das ID-Highbyte, mehr möchte ich nicht  ##
## überprüfen. ACHTUNG der Filter wird noch über eine "Maske"   ##
## beeiunflusst! Nur die Bits des Filters und des empf. Identi. ##
## werden verglichen die im Maskenbyte auf "1" gesetzt sind     ##
## geschrieben wird hier RXF0SIDH                               ##
spi on
spi = 0x02
spi = 0x00
spi = 0b01010101
spi off

## hier folgt nur das zum Filter0 gehörende Maskenbyte RXM0SIDH ##
## nur an den Stellen an denen eine "1" steht wird Filter mit   ##
## empfangenem Identifier verglichen                            ##
spi on
spi = 0x02
spi = 0x20
spi = 0b11111111
spi off

## nun passiert das gleiche mit Filter2 (nur ID-Highbyte)       ##
## geschrieben wird RXF2SIDH                                    ##
spi on
spi = 0x02
spi = 0x08
spi = 0b01010101
spi off

## und die Maske für Filter2 hionterher, geschrieben wird       ##
## RXM1SIDH                                                     ##
spi on
spi = 0x02
spi = 0x24
spi = 0b11111111
spi off

## MCP wieder in NormalMode, Clockout = clk/2                   ##
spi on
spi = 0x02
spi = 0x0F
spi = 0b00000101
spi off


Am Anfang würd ich das maskieren und Filter weglassen. Somit brauchst
du nur einmal in ConfigMode wechseln, das BitTiming und die Interrupts
setzen und anschliessend wieder in den von dir gewünschten
Betriebszustand gehen (singleshot etc... )


Willst du nun sagen wir mal 2Byte senden (über den TX-Puffer0) machst
du folgendes:

spi on
spi = 0b01000000 - Schreibbefehl TX-Puffer0, die bits 0..2 geben dabei
an welcher Puffer und ab wo er beschrieben werden soll (entweder ab
ID-Highbyte oder ab Datenbyte0 - siehe Seite 64 Datenblatt) "000"
bedeutet TX-Puffer ab ID-Highbyte beschreiben.
Prinzip bleibt gleich: Nach jedem SPI-Byte wird der Adresszähler des
MCP inkrementiert, so das du nun nur noch Byte für Byte in den MCP
schieben musst. also weiter:
spi = 0b01010101 - ID-Highbyte (standartframe) - TXB0SIDH
spi = 0b01000000 - ID-Lowbyte (standartframe) - TXB0SIDL
spi = 0x00 - dient nur dazu das Register für extendetframes zu über-
spi = 0x00   springen...
spi = 0b00000010 - die bits 0...3 geben an wieviel Datenbytes folgen
also in unserem fall 2 (0010)
spi = 0x23 - 1. Datenbyte
spi = 0x46 - 2. Datenbyte
spi off

somit hast du die Message in den TX-Puffer0 geschrieben, sie wird aber
erst gesendet wenn du den befehl dafür per spi gibst (alternativ auch
per IO-pin am MCP... aber wofür... ?!?)

spi on
spi = 0b10000001 - RequestToSend Kommando (bit 0..2 geben an welcher
Puffer gesendet werden soll - bit0 = puffer0... bit1 = puffer1....)
spi off

ist nun der bus frei wird der puffer0inhalt gesendet....

ich hoffe du wirst aus meiner beschreibung ein wenig schlau... so
schlimm isses eigentlich nich... wie gesagt: laß erst mal das filtern
weg.. dann isses fast leicht :-)

nun warte ich auf deine fragen ;-)

Autor: Danny P. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mh.. noch nen hinweis... ich glaub man muss/sollte nach dem
software-reset einen moment lang warten (hab ich zumindest bei anderen
programmen so gesehn... nur ich hab noch nix gefunden (wie lang etc)..
bei mir gings auch ohne pause.. wie gesagt nur ein hinweis

Autor: Klaus K (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Danny P.
Da hast du dir viel Mühe gegeben !! Respekt mein lieber, würde Stephan
Raab sagen und die Schilder hochreissen. Werde ich mir heute Abend mal
reinziehen. Im Moment habe ich wenig Zeit, hab' deshalb etwas Geduld.

Autor: Wosged (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Danny P.

Im Datenblatt Abschnitt Oscillator steht wie lange man warten muss:
"128 clock cycles after startup"
erst dann sollte man SPI Kommandos senden.

Autor: Danny P. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@wosged: Danke für den Hinweis!
Die Stelle hatte ich zwar gesehn, aber ich hatte das als die zeit nach
spannungswiederkehr verstanden, nicht für den "soft-reset"....  von
daher auch gleich wieder vergessen ;-)

Autor: Christian M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Leute,

ich habe mich ein bischen mit den Thema Can-Bus beschäftigt. Dabei habe
ich natürlich auch die Seite canathome.de durchgesehen. Aber den Siemens
Can-Controller bekommt man ja nicht bei Reichelt. Dafür aber den
MCP2515. Aber er ist vom Aufbau anders als der Siemens Chip und ich
weiß nicht, ob ich für ihn auch einen Can-Leitungstreiber brauche. Oder
schließe ich ihn direkt an den Can-Leitungen an? Sprich
Mikrocontroller (SPI)--> MCP2515 --> Can-Leitung

Schon mal danke im Vorraus.

Autor: mthomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
auch beim MCP2515 gehoert zwischen Chip und Bus ein
"Can-Leitungstreiber". Fuer "High-Speed-Can" z.B. Philips PCA82C250
(im Lieferprogramm) oder Nachfolger oder vergleichbar. Zur
"Inspiration" vielleicht hilfreich:
http://www.siwawi.arubi.uni-kl.de/avr_projects/can...

Autor: Christian M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die schnelle Antwort.
Damit kann ich einiges anfangen.

Autor: Danny P. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Klaus: und schon was in die luft geflogen? :)

nee im ernst, hast schon was probieren können?
für was für eine anwendung machst du das ganze denn?
Hardware schon fertig?


greetz
Danny

Autor: Klaus K (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Danny P.
Habe erst einmal Teile bestellt.
Anwendung: erst einmal Spielerei.
Wenn ich da durchsteige 'ne Hausautomation.
Stichwort www.pcdimmer.de die Adressierung ist klar, man legt sie
hardwaremässig fest, fertig. Der Taster bekommt per Programm die
Adresse, die er bearbeiten soll und tut hoffentlich das was man will.
Den Dimmer kann man im Haus auch gebrauchen. Das mit den Tastern und
Schalter ist schon da, deshalb der Wunsch nach einem Bus der die
Zugriffe gut handelt.
Einige Treads gibt es hier ja auch, nur finde ich einige Projekte zu
gross aufgebaut, grundsätzlich finde ich aber keine Hausautomation die
mindestens schon als Beispiel funktioniert und auch noch preiswert nach
baubar ist. Dabei finde ich mein System easy:
Der Taster wird abgefragt,
ist er kurz gedrückt :   toogeln
lang gedrückt:           dimmen
Kurzes Bascomprogramm gibt den seriellen Datenstrom zum Dimmer oder
Schalter. Der Schalter hat auch ein kurzes Bascomprogrammm weil er ja
nur auf seine ADR hören muss.
Naja, ich komme auf CAN wegen der möglichen Uberschneidungen, bis jetzt
kein Problem, leben nur 2 Leute im Haus, kann nicht viel Überschneidung
sein. Aber besser ist....
Aber erst einmal sehen....
Bei deiner Erklärung blicke ich soweit durch. Besser ist es aber, ich
baue Hardwaremässig auf und teste: learning by duing...

Autor: Danny P. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dann hast evt. ja auch unsere diskussion im "hausbus"-thread gelesen
,was?

mmh.. oversized mag sein... aber ich bin froh das der can-bus mir viel
arbeit (buskollisionen etc.) abnimmt und noch hohe leistungsreserven
bietet.
so bin ich mir ziemlich sicher das ich auch in 12 jahren noch glücklich
damit bin, auch wenn viel anwendungen (oder auch mal viel datenverkehr)
dazukommen
und teuer ist es nicht. ein buskoppler (mega8 + mcp2515 inkl. hardware
drum rum) etwa 12EUR (platine selbst geätzt)

Autor: Klaus K (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Danny P. bzw. @Alle
Noch ein Nachtrag: hat schon jemand was mit dem MCP über SPI und Bascom
gemacht?
Wenn ja wie verschaltet?
Danke für die Antworten.

Autor: Klaus K (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Danny P.
Dein Buskoppler ist sicherlich auch das was ich brauche, nur bestimmt
in C programmiert.... Verstehe ich ja nicht so..
Aber darf ich das Layout mal sehen und die Schaltung? Meine ist auf
Lochraster und ohne CAN.

Autor: Danny P. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Klaus: ohne can? wie hast du die kommunikation denn bisher gelöst?

Schaltung und layout lass ich dir mal zukommen, muss ich nur erst mal
zeichnen :) ich habe nämlich erst mal schnell schnell ne platine
gezaubert um möglichst früh die hardware testen und auswählen zu können
(obs funzt etc). nun mach ich mich an eine vernünftige doku.

aber hast du schon mal den "Hausbus" threat hier im forum gelesen?
dort diskutieren wird grad über einzelfunktionen, software, etc.
evt auch interessant für dich
dort hat Stefan seine bereits fertige Doku als zip reingestellt (auch
mit bilder etc.)
wie gesagt: meine doku mach ich jetzt die nächsten tage

Autor: Klaus K (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Danny P.
Einfach mit V24 Schnittstelle. Schalter schickt Telegramm über
Max-Baustein. Max-Baustein am Relais hört Nachricht und wenn er sie als
seine ADR erkennt schaltet er.
Meine Schaltung hat ja nicht viele Teilnehmer.
Den Tread habe ich gelesen und einiges an Info's für mich gewonnen.
zB. was ich per Variable mache, worauf mein Relais hört steht in meinem
Programm, besser:
Der Aktor bekommt in einer Parametrierung ins EEprom geschrieben,
worauf er hören soll bzw. wer ihn schalten darf.
Bisher habe ich keine Bestätigung der empfangenen Daten gemacht, hat
man auf die Taste gedrückt und es passierte nicht's, dann eben
nochmal!
Das Prinzip würde bei dem Dimmermodul (das war die Erweiterung jetzt)
sowieso nicht gut sein...deshalb komme ich ja auf CAN.
Besser: es wird geantwortet und danach wird entschieden ob nochmal
gesendet wird.
Nur mein Schált- bzw. mein Tastermodul soll nicht zu groß werden. soll
in eine UP-Dose passen.
Jetzt habe ich Max ´die Kondensatoren Quarz und Pullup's und Mega8.
Ich hatte schon mit Funkmodulen liebäugelt, aber das Teil ist zu
gross!
Irgentwie weiss ich auch nicht, warum ich grösser werden soll. RC5,
1Wire für Temperatur, ist alles nicht so groß..
Eine Uhr hönnte noch kommen, dafür wäre DCF ganz gut, müsste aber auch
irgentwie das Tageslicht sehen, sprich: wäre nicht in der
Schalterdose.
Rolladen könnte mit Umschaltkontakt gebaut werden (Zeitbegrenzung als
zusätzlichen Schutz).
Ich suche der Tread aber nochmal nach den Bildern ab, meine aber es war
ziemlich groß...
Die Teile von Reichelt werden sicherlich Dienstag da sein. Muss mir
dann mal 2 Mega8 verschalten und was probieren. Naja, Zeit müsste man
haben...
Deshalb frage ich ja auch nach ev. Hardwarebeispielen (nur nicht so
aufwendig), die schon laufen, möglichst in Bascom.

Autor: Christian Nöding (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, da ja hier kurz das Dimmerprojekt von www.pcdimmer.de angesprochen
wurde:

ich habe selber vor, meine (noch in der Planung befindliche) Wohnung
mit Softtastern auszustatten, damit ich nicht überall die 230V
Leitungen liegen habe.
Meine Idee ist es, zum ATtiny2313, der meine TRIACs steuert, noch
mehrere (vielleicht kleinere) AVRs zu nutzen (pro Zimmer vielleicht
einer), an dem 8 bis 12 Taster eines Raumes dran sind. Drückt man einen
Taster, wird das zugewiesene Ergeinis in diesem kleinen Steuer-AVR
ausgeführt und die (in der Firmware) voreingestellte Lichtszene per
RS232 an den ATtiny2313, der die TRIACs steuert, gesendet. Zudem ist
die ganze Lichtanlage des Hauses immer noch mit dem PC (oder vielleicht
bald mit PDA) steuerbar. Aber da muss ich noch etwas Entwicklungsarbeit
leisten g

Der kleine Raum-AVR kann ja in C, Basic oder ASM geschrieben sein,
hauptsache er schickt das korrekte RS232-Protokoll. Man nutzt als
Bussystem einfach den RS232-Bus, den ich bereits auf 200 Meter
funktionstüchtig mit 9600 Baud nutzen kann. Diese Lösung werde ich
verfolgen, da es in der Tat keine anderen kostengünstigen Vorschläge im
WWW gibt :-/


Als Kosten bleiben so nämlich nur ne Handvoll AVRs, Taster und ne 3-
oder 4-Adrige Leitung (GND, +RS232-Data, +5V Speisespannung)



Werde aber dennoch diesen Thread hier verfolgen g vielleicht kommt ja
noch die Idee.


schöne Grüße,
Christian

Autor: Danny P. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@christian: du hast die rs232 verbindung schon getestet.... aber auch
mit mehr als zwei µC?

rs232 ist ja kein bus sondern nur ne serielle schnittstelle...
da is nix mit einfach zusammenklemmen...

rs485, can, schonmal darüber nachgedacht? störsicher, echter bus und
teurer wirds auch nicht... (can controller 1,9EUR...)



greetz
Danny

Autor: Christian Nöding (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe derzeit 4 Atmels mit ner Wandlung des RS232-Pegels auf +5V
Niveau durch nen Transistor dran. Das klappt einwandfrei. Allerdings
habe ich mehr als 4 noch nicht getestet - aber mit 4 Prozessoren habe
ich bereits 4x8 Dimmbare Kanäle, was fürs Wohnzimmer und Hofbeleuchtung
locker reichen dürfte g

An den CAN-Bus habe ich mich noch nicht rangetraut, da ich hier doch
sicher nicht nur nen Chip Rs232->CAN und dann auf der anderen Seite
CAN->Rs232 einsetzen kann, oder? Da brauchts mehr... Un bei DMX, also
RS485, muss ich mein Protokoll überarbeiten, was derzeit aber noch
vollkommen ausreichend ist - da habe ich Kanal, Endwert und Fadezeit in
einem RS232-Frame und kann somit mit einem einzigen Frame bereits das
Licht von 0 auf z.B. 70% langsam Dimmen. Bei DMX muss ich doch dies mit
aufeinanderfolgenden Befehlen komplizierter realisieren? Warum neu
erfinden, wenns doch läuft? ;-)


Ich kalkuliere nur Probleme beim Entstören der TRIACs ein (-> anderer
Thread von mir) aber das ist nicht das Problem von RS232. Außerdem kann
ich bei dem RS232-Protokoll jeden Rechner an die Leitungen mit
dranklemmen und somit die Steuerung per PC übernehmen.


Also ich finde es mit RS232 bequemer, als mit CAN oder RS485, oder gibt
es Probleme, die ich blauäugig übersehe g


ciao,
Christian

Autor: Danny P. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oki seitens PC->µC´s hast du recht.

aber du hast ja auch dein "raum-avr" erwähnt der die tasten
einsammeln soll. und somit hast du ja mehrere µC am "draht" die alle
mal was sagen wollen.

wie gesagt, wenn einer sendet und alle empfangen - kein problem aber
andersrum... geht nicht ohne bus

greetz
Danny

Autor: Christian Nöding (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK, das sehe ich ein. Fürs erste ist die Anlage nur fürs Wohnzimmer
geplant. Da werde ich das mal im Dauereinsatz testen (Decke wird z.B.
passiv Beleuchtet, Deckenlampen und Wandlampen sollen alle mit an den
Dimmer).

Anfangs komme ich (hoffe ich) noch ohne Bus aus, da der Raum-AVR nur
blöd seinen RS232-Frame absendet, wenn eine Taste gedrückt wurde. Kann
dann nur zu Kollisionen führen, wenn dann gleichzeitig jemand mit PC
sendet (ist bei DMX aber auch so, da dort ebenfalls nur einer Master
sein darf). Zum Schauen, ob die Anlage überhaupt läuft, reicht es aber
allemal. Vielleicht entwickelt sich hier ja auch noch ein anderes
Projekt, wo ich dann sage: das ist es! :)

Werde mir erst mal ein Menü basteln, ála Semiton, damit ich mit drei
Tasten die Stimmung auswählen und abfahren kann - fertig ist das
Zimmerinterface.

tschau
Chris

Autor: Danny P. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
naja... DMX ist finde ich kein passender vergleich, da gehts ja auch nur
drum zentral viele "doofe" lampen zu -steuern-

es gibt hier einen thread der evt für dich interessant sein dürfte...
einfach mal nach "hausbus" suchen.

oder mal bei www.canathome.de reinschauen

oki, zum testen reichts so, das stimmt... aber ich mach mir mitlerweile
lieber anfangs viele gedanken als später wieder bei null anfangen zu
müssen weil ich nen neues system brauche

und mit nem bussystem eröffnen sich viiiiele ungeahnte
möglichkeiten/spielereien :)

greetz
Danny

Autor: Christian Nöding (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Spielereien? Seit dem ich in JurassicPark I das Computersystem zum
Steuern der Türen gesehen habe, wollte ich sowas auch. ;-) Inzwischen
komme ich immer näher dahin (Licht an/aus mit PC: geht. Dimmen mit
PC:geht. Dynamische Rückmeldung und alles auf einer Leitung: Bussystem
- ich sehe es ein :D )

Du hast recht... ich werde mir das Bussystem mal vornehmen und
ernsthaft studieren.


Bis denn!

Autor: Dieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hihi,
ich wollte mich mal an den AT90CAN128 rantrauen allerdings komm ich mit 
dem Datenblatt überhaupt nicht zurecht. Ich möchte im Prinzip mit dem uC 
nur Daten mit einem bestimmten Identifier vom CAN-Bus empfangen 
allerdings hab ich keine Ahnung was ich in die Register reinschreiben 
soll. Hat jemand damit schon Erfahrung?
Ich programmiere mit Codevision wäre net wenn mir jemand mal einen gut 
Auskommentierten c-Code schicken könnte mit dem von Atmel komme ich 
leider auch nicht zurecht.
Danke schonmal.

Autor: Uwe Bonnes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau Dir mal Ethernut an (www.ethernut.de)

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.