Moin, ich beschäftige mich seit einiger Zeit mit PICs, denn ich habe eine Idee für meine Modellbahn und die möchte ich umsetzen. Ich habe ein Entwicklungsboard, mit dem ich schon viel ausprobiert habe. Aber für meine Idee hilft es mir nicht weiter. Zu meiner Idee. Folgender Aufbau: Mehrere Waggons hintereinander (Reihenfolge beliebig) in jedem Waggon ein PIC mit 2 IR-Sendern und 2 IR-Empfängern (jedes Ende ein Paar), 2 LEDs und bis zu 6 Servos. (Entkuppler, Türen, Phantos,...) jetzt soll ein PIC eine Zahl (1-255 reicht) per IR übertragen (Herkunft und Richtung der Zahl durch FunktionsAusgänge des Dekoders in einer Lok) der nächste PIC soll sie empfangen, zurücksenden als Bestätigung des Erhalts, ggf. Ändern der Zahl (Abhängig von der Zahl. Jede Zahl hat eine andere Bedeutung), dann ggf. über 2. IR-Sender (geänderte) Zahl weiter senden, auf Bestätigung warten, ggf. LED Schalten und evtl. Servo bewegen. Wie bekomme ich eine IR-Übertragung von PIC zu PIC hin? Hat da jemand eine Idee? Das ganze sollte Hardwareseitig sehr einfach und kostengünstig gehalten werden. Denn ich bräuchte, wenn es funktioniert über 100 Stück dieser Schaltungen. Ich habe meine ersten Schritte in Assembler gemacht. "C" ist nicht so mein Ding. Ich hoffe ich habe den Aufbau verständlich beschrieben. Wenn mir jemand helfen könnte wäre ich froh. Mit freundlcihem Gruß Harald
Harald Stellner schrieb: > Wie bekomme ich eine IR-Übertragung von PIC zu PIC hin? Hat da jemand > eine Idee? So wie jede IR-Fernbedienung Code für den Empfänger findest du z.B. im Artikel IRMP p.s. Und keine Angst vor C.
Das Zauberwort heißt IRDA. Da gibt es eine langsame, einfache Version namens SIR (Serial IR), und es gibt Transceiverbausteine wie zB den hier: http://www.vishay.com/docs/82633/tfbs4711.pdf Von der Sorte gibts noch viele andere, von Vishay, ROHM, Panasonic, Sharp. LiteOn, Zilog,... Das Ansteuern mit einem PIC ist gar kein Problem. Da nimmst Du einfach einen kleinen PIC24, denn die können alle schon das IRDA SIR Protokoll in Hardware erzeugen und auch dekodieren, d.h. für Dich ist es dann einfach nur eine serielle Schnittstelle, der USART des PIC24 macht den Rest. Dir reicht dann schon ein PIC24F(V)16KA301 (die V-Version hat einen Portpin weniger, kann dafür aber mit 5V betrieben werden). Der hat zwei serielle Schnittstellen, d.h. für jede Seite eine. Oder ein PIC24F08KL301. PIC12/PIC16/PIC18 haben keine IRDA-Unterstützung in Hardware, hier müsstest Du das alles in Software machen. Sooo schwer ist das nun nicht, aber es ist Arbeit und Zeitaufwand. Also nimm PIC24. fchk
> PIC12/PIC16/PIC18 haben keine IRDA-Unterstützung in Hardware, hier > müsstest Du das alles in Software machen. Sooo schwer ist das nun nicht, > aber es ist Arbeit und Zeitaufwand. Also nimm PIC24. Oder einen der vielen Pic Basic und C- Compiler die IRDA mit an Bord haben. Die Hardware ist da auch erklärt.
hallo harald, tschuldige, wenn ich deine idee so umdenke, aber ich glaube das mit der ir-verbindung solltest du dir nochmal ueberlegen. was passiert z b in einer kurve oder durch sonstige stoerquellen. ich an deiner stelle, wuerde da lieber zb einen rfduino nehmen und alle wagons direkt ansteueren. dann haste auch nicht das laestige problem, dass die komplette steuerung ueber die loks laufen muss. gruesse
Harald Stellner schrieb: > Ich habe meine ersten Schritte in Assembler gemacht. "C" ist nicht so > mein Ding. Dann evtl. Basic oder Pascal? Gibt es ja alles > Wenn mir jemand helfen könnte wäre ich froh. Mikroe hat komplette Demos inkl Schaltung Software und Video. Die wollen natürlich ihre Compiler verkaufen, aber da zwingt dich ja keiner zu. Deren Demoversion würde vermutlich reichen. Nur Infrarot: http://www.mikroe.com/click/ir/ Irda (Datenübertragung) http://www.mikroe.com/click/irda2/
Xx schrieb: > Irda (Datenübertragung) > http://www.mikroe.com/click/irda2/ Ein reichlich dummer Vorschlag. Da wird das IRDA-Protokoll durch einen extra Decoderchip gemacht, und der allein kostet fast so viel wie ein PIC24F08KL301, der zwei IRDA-Verbindungen und die ganze restliche Steuerung gleichzeitig handhaben kann. Ganz zu schweigen von dem benötigten Platz, der im Modellbau immer knapp ist. fchk
Frank K. schrieb: > Da wird das IRDA-Protokoll durch einen > extra Decoderchip gemacht, und der allein kostet fast so viel wie ein > PIC24F08KL301, der zwei IRDA-Verbindungen und die ganze restliche > Steuerung gleichzeitig handhaben kann. Ist ja Ok, nur brauchst du dann wohl auch einen IRDA Stack was für einen Anfänger doch eher schwierig ist. querdenker schrieb: > was passiert z b in > einer kurve oder durch sonstige stoerquellen. ich an deiner stelle, Na eine Fernbedienng funktioniert auch in der Kurve, nur eine Frage der Sendeleistung > wuerde da lieber zb einen ... oder unter jeden Waggon einen Bar- bzw. QRCode kleben. Der wird dann im Gleisbett gelesen. Spart die ganze wireless Arie und kostet nur Bruchteile.
Xx schrieb: > Frank K. schrieb: >> Da wird das IRDA-Protokoll durch einen >> extra Decoderchip gemacht, und der allein kostet fast so viel wie ein >> PIC24F08KL301, der zwei IRDA-Verbindungen und die ganze restliche >> Steuerung gleichzeitig handhaben kann. > > Ist ja Ok, nur brauchst du dann wohl auch einen IRDA Stack was für einen > Anfänger doch eher schwierig ist. Nein, brauch ich nicht. Ein Bit im USART, und der PIC24 macht IRDA SIR. fchk
Moin, Danke für die vielen Antworten. hier ein paar Gedanken von mir dazu. Etwas unsortiert, so wie es mir gerade einfällt. - Einen Bar- oder Qrcode unter jeden Wagen würde bedeuten, daß ich die Aktion immer nur an der Stelle auslösen kann, wo der Code im Gleisbett liegt. Ich möchte es ja auf der gesamten Anlage an jeder beliebigen Stelle tun können. - Mit dem rfduino habe ich das so verstanden, das die Komunikation über Bluetooth funktioniert und ich dann alle Wagen einzeln ansprechen kann. Dies wäre kontraprduktiv, dann könnte ich in jeden Wagen einen DCC-Dekoder einbauen. Wäre einfacher und billiger. Ich müßte dann aber immer von jedem Wagen die Adresse wissen. Nach 2 Stunden Rangieren wäre es ein Hütchenspiel mit 20 Hütchen. - Der Sinn meiner Schaltung soll ja sein, die Information von Wagen zu Wagen weiter zugeben. So kann ich (so meine Idee) z.B. 5 mal eine Funktionstaste der ziehenden Lok drücken, diese gibt eine 5 weiter der nächste Wagen eine 4, der nächste eine 3 usw. und an der Stelle mit der 1 werden bei beiden Wagen die Entkuppler betätigt und der Zug wird getrennt. Und wenn diese Verbindung schon mal da ist kann man sie auch für andere Dinge missbrauchen. - Kurvenfahrt soll ja durch Rücksenden des Signals als "ich habe Verstanden" kompensiert werden. - Reichweite braucht/muß max. 20cm betragen, möglichst auch im Freien. - Ist IRDA nicht mit Kanonen auf Spatzen schießen in meinem Fall? Oder macht es die Sache beim Programmieren einfacher? - Ich bin vom Hobby Modellbahner und Elektronik ist für mich ein Hilfsmittel. Ich habe nichts dadegen C zu lernen, nur leider fehlt mir die Zeit und jemand, der es mir vernünftig zeigt. Ich habe es schon öfters mal probiert und bin an den Büchern gescheitert. - gibt es für den PIC24F(V)(16/08)KL301 evtl. ein Entwicklerboard? Wäre dann wohl einfacher, oder? - leider ist Englisch für mich ein Buch mit 6 Siegeln. Windoof Fehlermeldungen und Ähnliches bekomme ich schon noch entschlüsselt aber ein Datasheet zu verstehen ist eine Tortour für mich. Gruß Harald
Harald Stellner schrieb: > - Ist IRDA nicht mit Kanonen auf Spatzen schießen in meinem Fall? Oder > macht es die Sache beim Programmieren einfacher? In diesem Fall macht es Dir die Sache einfach, weil Du es wie ein serielles Kabel benutzen kannst. > - Ich bin vom Hobby Modellbahner und Elektronik ist für mich ein > Hilfsmittel. Ich habe nichts dadegen C zu lernen, nur leider fehlt mir > die Zeit und jemand, der es mir vernünftig zeigt. Ich habe es schon > öfters mal probiert und bin an den Büchern gescheitert. Oh. Schade. Das sind keine guten Voraussetzungen. > - gibt es für den PIC24F(V)(16/08)KL301 evtl. ein Entwicklerboard? Wäre > dann wohl einfacher, oder? Nein. Das ist so primitiv, das kannst Du selber. Du brauchst nur einen 8 MHz Quarz, 2*22pf von den Quarzpins gegen Gnd, 1*100nf zwischen Vdd und Gnd, und das wars. Beim FV kommt noch ein 10uF gegen Gnd dazu. Siehe Seite 25 des Datenblattes. > - leider ist Englisch für mich ein Buch mit 6 Siegeln. Windoof > Fehlermeldungen und Ähnliches bekomme ich schon noch entschlüsselt aber > ein Datasheet zu verstehen ist eine Tortour für mich. Oh, das ist dann in der Tat ein Problem. Wenn Du in diesem Bereich Erfolg haben willst, musst Du die Primärliteratur lesen können. Und die ist halt in English. Ist halt so. fchk
Moin, Okay, ich habe mir ein Entwicklerboard mit einem Pic18 besorgt und werde jetzt erst einmal intensiv (zumindest so was meine Zeit zuläßt) C lernen im Zusammenhang mit einem Pic. Für das Datasheet werde ich mir dann jemanden Suchen müssen, der mir die Dinge übersetzt, die ich nicht verstehe. Gruß Harald
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.