Hallo Leute, ich habe bereits einen Hauscomputer auf PIC18F-Basis entwickelt. Licht und Rolläden funktionieren wunderbar. Jedoch kommunizieren die Pic-Bausteine via RS232 miteinander und da tauchen manchmal Übertragungsfehler auf. Damals habe ich mich nicht an CAN-Bus heran getraut und würde dies gerne jetzt ändern. Ich möchte den gesamten Hauscomputer auf CAN umstellen (neubauen). Dazu fehlen mir aber leider noch ein paar Informationen. Anbei habe ich eine Grafik, die veranschaulichen soll, wie künftig die Kommunikation laufen soll. Nun zu den vielen Fragen: 1.) Türstation + Hausrechner + Terminals + DCF + Außen-Station ist recht einfach. Endwiderstand bei der Türstation und an der Außen-Station. Aber was mach ich nur mit dem Kabelstrang zu der Garage bzw. zu dem nächsten Knoten? Soll ich den Hauptstrang hin und wieder zurück legen, somit den/die Knoten auflösen aber dafür ein längeren Bus in kauf nehmen? Oder soll ich mit 3 Can-Pics mir eine Aktiv-Weiche bauen? 2.) Die Türstation soll Audio- und Video(Bild)-daten zu dem entsprechenden Terminal senden können bzw. vom Terminal einen Audiostream empfangen können. Der Qualitätsanspruch brauch nicht so hoch liegen, sollte aber auch kein digitales Gekratze sein. Reicht die Bandbreite aus, oder soll ich lieber auf einem separaten Kabel ein anderes System setzten und wenn welches? Ich müsste dazu aber noch mal Drähte zählen gehen. Lieber wäre mir alles über den CANBUS zu regeln. Die Bus-Last zwischen Terminal und Hausrechner ist eher gering. Ab und zu mal eine Uhrzeitanfrage zum DCF, Wetterinfos abrufen, oder wenn ein User das Terminal bedient wird mal das eine oder andere Byte fließen. 3.) Hat jemand eine Idee/Link wie ich z.B. mit einem PIC18Fxx8 die Wandlung Analog-Digital bzw. auch umgekehrt hinbekomme? Gibt es auch eine simple Mono-Lösung? Bisher finde ich immer nur AD-DA-Chips für min. Stereo, aber soviele Daten brauche ich do garnicht. 4.) Wie sieht es mit einem Videostream aus? PAL, 5-10Bilder/s, schwarz-weiß würde auch reichen. Ideenen zur Wandlung nach Digital fehlen mir auch. Das Einzige was ich mal gefunden hatte steht hier http://mikrocontroller.cco-ev.de/de/webcam.php 5.) Was taugt der CAN-Treiber PCA 82C250 (1Mbit/s)? Kann ich diesen in meinem Projekt überhaupt verwenden? Würde mich freuen wenn jemand mir helfen kann? Sorry für den langen Text. Viele Grüße und DANKE im Vorraus Sascha
Hallo erstmal... wie hast du programmiert in C oder Assembler? Ich bastel auch mit PIC's der 18 Serie. Habe den Mikro-Basic Compiler, der unterstützt auch CAN-Bus. Selber habe ich nur mit den USB-Compiler-Lib's gespielt. Da die USB-Lib gut funktioniert denke ich, dass auch die CAN-Lib geht. Nur zu den Video und Audio-Wünschen fällt mir nichts ein, jedenfalls nicht mit PIC-Controllern. Da würde ich dann eher bei dem Gesamtprojekt auf LAN-Vernetzung gehen. Deine RS232-Geschichten bekommen einen XPort und damit je eine IP-Adresse. Nur dann wird es auch schon teuer. Bei Mikroe gibt es auch einen fertigen Baustein für Vernetzung und auch 'ne LIB dazu, aber gesehen habe ich noch keine Anwendung deinem Projekt vergleichbar http://www.mikroe.com http://www.mikroe.com/en/tools/serialeth/ http://www.mikroe.com/en/tools/can2/
Hallo und danke für Deine schnelle Antwort. Ich programmiere meine PIC-Projekte ausschließlich in Assembler. Besser gesagt unter der MPLAB-IDE. Ich habe mal ein Fotos von meinem Haus-Projekt, welches ich komplett NEUBAUEN will, begefügt. Zu den Gründen später mehr. blauer Pfeil: Die Module in Höhe des blauen Pfeils sind die Eingabe-Module mit jeweils 20 Eingangskanälen. Die Besonderheit hierbei ist, dass jeder Taster im Haus mit einer LED ausgestattet werden kann und diese auf Wunsch blinkt, pulst, oder einfach aus ist. Die Tasterstellung aber trotzdem ermittelt werden kann, und nur 2-Leitungen zum Taster erforderlich bleiben. Im Taster befinden sich außer der LED und passendem Vorwiderstand keine weiteren Bauteile. roter Pfeil: Diese 4 Module enthalten jeweils 12 Relais je 220V/8A Schaltleistung also insgesamt 48 Ausgänge. Das Programm ist so geschrieben, das ich zu jedem Relais eine eigene Aublaufzeit einrichten kann oder Dauerhaft schaltet. Auch wenn das Modul initialisert wird, kann festgelegt werden, ob das reine Schließerrelais als Öffner oder Schließer funktionieren soll. grüner Pfeil: diese beiden Module sind nur zu Rolladensteuerung gedacht und enthalten ebenso je Modul 12 Relais (für 6 Rolläden auf/ab). Prinzipiell sind diese Module fast identisch wie die einfachen Relais Module (rot pf.) nur, dass hier immer 2 Relais zusammengehören und durch eine Logik (XOR und AND-Glied) zwischen Prozessor und Relais verriegelt werden, damit nicht versehentlich ein Rolladenmotor in beide Richtungen Strom bekommt. Das Modul mit dem Display (ehemals ein Netzwerkhub) ist der Manager für automatische Prozesse, wie z.B.: Warmwasserzirkulationspumpe nach Zeitplan laufen lassen, Rollos auf/zu....Damit ich nicht immer die Uhr stellen muss befindet sich im Dachgeschoß noch ein weiteres Modul, welches sich z.Z. nur mit dem auswerten des DCF-Funk beschäftigt und zum Abruf immer bereitstellt. Leider unterlag das Projekt schwierigen Bedingungen. Zum ersten musste ich das Haus komplett selbst bauen. Also Stein auf Stein, Stockwerk für Stockwerk, Kabel ziehen und glaubt mir jede verfluchte Steckdose geht einzeln in den Keller, mal abgesehen von den vielen Tastern im Haus. Übrigens es gibt nur einen einzigen Lichtschalter, dass ist der im Technikraum, damit ich auch Licht habe, falls der Computer mal ausfällt, was er bis jetzt bis auf kleinere Abstürze (Reset drücken fertig) nie getan hat. Dadurch sind einige Planungsfehler entstanden. a.) Kommunikation aller Module seriell (rs-232) als Ring prob.: fällt ein Modul aus, ist die Kom. unterbrochen. Wenn also das Eingabe-Modul feststellt "Taster gedrückt" schickt es eine Nachricht zum Ausgabe-Modul, welche aber durch andere Module hindurch muss. Hab da viel Zeit reingehangen mit Prüfsummen und und zu arbeiten...Selbst mit Bestätigungsantwort vom Empfänger blieb erfolglos. Die Kom. auf dem Ring nahm nur zu und es kam vermehrt zu kollisionen. b.) Im Eingabemodul habe ich nicht ganz auf die Pegel geachtet. Hätte mit einem Schmitttrigger arbeiten müssen, damit nicht unter gewissen Umständen fehler auftreten können. c.) Das größte Übel ist aber die Wartungsunfreundlichkeit !!!!!! Man hatte das schon beim Zusammenbau merken müssen, aber ich glaube da war ich im Funktionswahn. Was ich damit sagen will, wenn mal ein Relais kaputt geht, alle Kabel ab, weil das Hut-Schienengehäuse sich zwar öffnen läßt, jedoch ist mit den Kabeln an die Platine so kein herankommen. Wenn ein Eingabemodul fällig ist, dann wirds richtig bunt. Unter diesem Gehäuse befinden sich 4 gestapelte Platinen die nicht mit Steckbrücken verbunden sind. Das war schon übel die zusammenzulöten, aber auseinander..... Wie Du erkennen kannst, liebe ich es alles selbst zu bauen (Unabhängigkeit). Alles ist bekannt und kann auch mal in 10 Jahren wenn es einen PIC18F252 vielleicht nicht mehr sollte, alternativ umgestrickt werden. Bei gekauften Sachen ist das so ein Problem (siehe Schallplatte und CD) mal ganz abgesehen vom Geld, welches ich kaum noch hab und mir es irgendwie dünner wie Wasser zu sein scheint. Trotzdem für Deine Bemühungen DANKE. So jetzt hab ich aber erst mal genug erzählt und wünsche mir noch wichtige Hinweise und Antworten zu meinem Audio-, Video- bzw. CAN-BUS-Vorhaben/Problem. VG Sascha
Respekt, Stein auf Stein und auch noch mein.... Haste mal den Compiler angeschaut? Ist bestimmt auch was für dich. Hab'noch ein Beispiel für dich: www.Canline.de hat den Pascal-Compiler von der gleichen Firma genommen um den CAN-Bus zu bauen. Hast du auch Lochraster gebaut?
Danke für Deine Antwort und den Link. Habe mal ein PDF-Dok beigefügt. Dort erkennt man die 4 Platinen-Layouts (altes CAD-Programm Leiterbahnen sind beim Konvertieren leider nicht ausgefüllt übertragen worden), die nach Bestückung in das HUT-C Gehäuse passen. Bei den anderen Modulen sind es nur 3 Platinen. Um Deine Frage zu beantworten, NEIN Lochraster-Platinen verwende ich meist nur, um kleine Schaltungsauszüge zu testen, bevor ich diese komplex aufbaue. Ich arbeite überwiegend (im Projekt hier ausschließlich) mit Fotoplatinen.... Die Compiler-Frage stellt sich mir nicht, da ich mit Assembler eigentlich ganz gut klar komme und wenn, dann lieber auf C wechseln würde. Trotzdem danke. Also noch mal meine Fragen in Kurzform: 1.) LowCost Audio digitalisierung Schaltungsbeispiele (AD-DA) ala Siedle Sprechanlage (digital) 2.) Video digitaliesierung (Low-Quali.) Schaltungsbeispiele (AD) 3.) Was taugt der PCA 82C250 für mein Vorhaben in hinsicht 1.)2.) ...siehe erster Beitrag VG Sascha
Statt des PCA82C250 solltest du den neueren und billigeren PCA82C251 nehmen, und ja, das Teil taugt für dein Vorhaben (nicht von 24V Automotive abschrecken lassen). Zur Frage Video und Audio kann ich dir nicht wirklich weiterhelfen, aber du solltest die möglichen Bitraten im Auge behalten. Ich fahre meinen CAN Bus mit 125Kbit, damit könnte ich höchstens MP3 in Sprachqulität streamen, da die Nettobitrate bei gefühlten 70-80 Kbit liegen dürfte (Extended Id!). Natürlich kannst du auch mit 500KBit fahren, dann darf die Gesamtlänge aber nicht mehr so hoch sein (dazu gibts Tabellen), oder du mußt Repeater verwenden.
Hallo MNR, danke für den Tip bezügl. des CAN-Treibers. Das IC ist sogar noch günster in der Anschaffung. Ich habe mit Winamp und Shoutcast TV nach 64kbit streams geschaut und war überrascht als Beispiel habe ich dort ein Video/Audio-Stream gefunden der Qualitätiv ausreichend wäre. 320x240 Pixel 15fps bei 89 kbps. Für eine Videosprechanlage mit Aufzeichnungsoptions absolut ausreichend. Wenn also ca 70 KBit machbar wären, dann müsste es funktionieren, da auch 5 fps auch zufriedenstellend sind. Ich habe aber auch schon darüber nachgedacht, den Audio und/oder Videostream einfach seriell abzuwickeln, da ja eine genaue Adressierung eigentlich nicht zwingend erfolgen muss. Sprich Video-Stream nur zu allen Terminals führen und Audio in beide Richtungen. Wie wäre diese Lösung? Oder soll ich lieber mit Audio-Signal direkt Analog bleiben und nur zum Aufzeichnen einen Anrufbeantworter umbauen?? Überigens hat jemand eine Idee(Link), wie ich ISDN-Signale mit einem PIC auswerten kann, um z.B. die Rufnummer auf einem Display einblenden zulassen. Kann ich einen Repeater so konstruieren, indem ich zwei PCA82C251 überkreuzt benutze, oder brauche ich da eine Logik (Buffer) zwischen? Welche Probleme entstehen beim verwenden von Repeatern und hoher Geschwindigkeit 1MBit?? Lässt die Zuverlässigkeit stark nach?? VG Sascha
Es gibt eigene CAN-Repeater Chips. Sind auch nicht sehr teuer, nur schwierig zu beschaffen (gabs mal hier einen Thread zu). ISDN anzapfen ist nicht so ohne. Einfacher wäre ein externes ISDN Modem benutzen oder gleich eine Fritzbox und die belauschen (braucht dann allerdings wieder was Webfähiges).
Wäre also das ganze Projekt über TCP/IP besser, oder wird es dann mit den Kabellängen (siehe erster Beitrag Anhang) problematisch? VG Sascha
Wenn ich mir dein erstes Bild ansehe, brauchst du eine CAN Bus Länge von 87m. Damit sind maximal 500kBaud machbar. Das sollte für einen Hausbus locker ausreichen.
>Wäre also das ganze Projekt über TCP/IP besser, oder wird es dann mit >den Kabellängen (siehe erster Beitrag Anhang) problematisch? Wenn du mit besser "aufwendiger, komplizierter, teurer" meinst, dann ist Ethernet (ich vermute, das meinst du mit TCP/IP) besser. >Ich habe mit Winamp und Shoutcast TV nach 64kbit streams geschaut und >war überrascht als Beispiel habe ich dort ein Video/Audio-Stream >gefunden der Qualitätiv ausreichend wäre. 320x240 Pixel 15fps bei 89 >kbps. Was die Datenraten in deinem Beispiel angeht: Wer komprimiert denn den Datenstrom überhaupt? Hast du mal versucht, so einen Algorithmus in einen von dir verwendeten PIC zu implementieren? Wie willst du diesen Datenstrom dann wieder dekodieren und womit anzeigen? Mir scheint die Benutzung von fertigen Komponenten da sinnvoller (WebCam, kleiner PC o.ä.). Den CAN-Bus kannst du dann verwenden, wofür er konzipiert wurde: zur Steuerung.
Hallo Sascha Wir (momentan vier Leute) fangen gerade das Abschlußprojekt unserer Techniker/Informatiker-Weiterbildung an. Da ich nächstes Jahr mit meinem Hausbau anfangen werden/muss, haben wir als Projekt einen Hausbus angefangen. Die Hardware besteht aus einem AT89C51CC03 mit CAN-Controller, der in C programmiert wird. Bis jetzt existiert schon ein Busankoppler und ein Anzeigemodul. Dazu soll (da es eine Informatikausbildung ist) ein PC-Programm den CAN-Bus belauschen und die Daten in eine Datenbank schreiben. Zusätzlich ist ein Webinterface geplant, das als Modul in einem CMS laufen soll. Ich weis nicht, ob ich dir mit vielen Hardwaretips helfen kann, allerdings mit Busprotokoll usw. könnten wir uns schon gegenseitig helfen.
> Wir (momentan vier Leute) fangen gerade das Abschlußprojekt unserer > Techniker/Informatiker-Weiterbildung an. > Da ich nächstes Jahr mit meinem Hausbau anfangen werden/muss, haben wir > als Projekt einen Hausbus angefangen. Hallo Stoote, Dazu wünsche ich Dir viel Erfolg und bleib bezüglich des Hausbaus sehr wachsam, wenn es um Firmen geht, die daran beteiligt sind. Es sieht zur Zeit auf diesem Segment eher dunkel aus. Vertrauen ist gut, Kontrolle aber besser. Wenn man nicht selbst baut, so wie ich, dann unbedingt einen UNABHÄNGIGEN BAUSACHVERSTÄNDIGEN von Anfang an mit einplanen! Das ist gut angelegtes Geld. Niemals im Vorraus Leistungen bezahlen..... > Ich weis nicht, ob ich dir mit vielen Hardwaretips helfen kann, > allerdings mit Busprotokoll usw. könnten wir uns schon gegenseitig > helfen. Ich habe mich auf die PICs eingeschossen (Programmer,Sprache,...). Da möchte ich lieber, wenn es möglich bleibt, mit diesen Chips weiter arbeiten. Trotzdem aber Danke für Deine Antwort. VG Sascha
Hallo MNR, > Wenn du mit besser "aufwendiger, komplizierter, teurer" meinst, dann ist > Ethernet (ich vermute, das meinst du mit TCP/IP) besser. Okay da gebe ich Dir recht, wobei lediglich die Terminals und das Haustürmodul mit Ethernet (TCP/IP Protokoll) ausgestattet sein müssten, jedoch würde auch die Anbindung an einen oder mehrere PCs leichter fallen. mmmhhh, echt schwer. > Was die Datenraten in deinem Beispiel angeht: Wer komprimiert denn den > Datenstrom überhaupt? Hast du mal versucht, so einen Algorithmus in > einen von dir verwendeten PIC zu implementieren? Wie willst du diesen > Datenstrom dann wieder dekodieren und womit anzeigen? > Mir scheint die Benutzung von fertigen Komponenten da sinnvoller > (WebCam, kleiner PC o.ä.). Den CAN-Bus kannst du dann verwenden, wofür > er konzipiert wurde: zur Steuerung. Mit der Kompession hatte ich eigentlich an einen MP3-Chip VS1002d (http://www.vlsi.fi/datasheets/vs1002.pdf). Dieser kann Audio de- und encoden. Vorteil mit wenig mitteln, könnte ich über die SPI-Schnittstelle die Steuerung und Rekording laufen lassen und die Echtzeit-Kommunikation über die Serielle-Schnittstelle. Was die Kamera betrifft, habe ich ja schon erwähnt und denke nach wie vor, dass Simons Projekt mir weiter helfen wird. (http://avr.auctionant.de/avr-ip-webcam/). Zusammenfassend. 1.) Hausbus auf CAN-Basis mit Ethernetschnittstelle(Webserver) zur Steuerung und Überwachung 2.) Audio-Kom. Steuerung über CAN-Bus. Die Audiodaten seriell (ala RS232) 3.) Kameramodul Steuerung über CAN-Bus. und Datenstrom ebenso seriell Wäre das so machbar? Oder seht ihr da irgendwelche Schwächen die bedacht werden sollten? VG Sascha
MCA25 einzubinden steht bei mir auch noch auf dem Programm. Dann aber seriell an einen Webserver (Foxboard oder NGW100). Die ~400KBit/s sollten über Treiber auch über 10m anzubinden sein. Allerdings glaube ich nicht, dass damit mehr als ein Bild/s hinzubekommen ist, eher weniger. VS1002 kannst du auch per uC über CAN laufen lassen, den Datenstrom müßtest du wahrscheinlich nur puffern. Insofern sollte das so machbar sein, wie du beschrieben hast.
Hallo stoote, ich habe meine Technikerausbildung bereits beendet. Mein Abschlussprojekt war ein CAN-BUS gesteuertes Kassensystem auf Basis eines AT89C51CC01. Wenn Du fragen zur Hardware hast kann ich Dir vielleicht weiterhelfen. Gruss Sascha
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.