Hallo! kurze Frage, will ien kleines Fahrzeug mit nem µC (PIC) ausstatten der dann mit dem PC kommuniziert. Jetzt is aber das problem das das Fahrzeug kein Kabel oder sowas hat sondern batteriebetrieben is und ich die Daten zum PC irgendwie funken oder senden muss. Hab gedacht ob es irgendwie geht die RS232 Schnittstelle per IR zu senden??? Geht das und wenn ja wie weit udn gibt es da schon Schaltungen zu??? Bzw. was gibt es für bessere (einfache nicht sooo kostenaufwändige) Lösungen, evt FUNK??? MFG Hannes
also ich würde das mit funk machen. bei infrarot wär mir das zu unsicher, wegen sichtverbindung usw... http://www.funkmodul.de/ MfG formtapez
Hallo! Ahha mhhm naja sieht ja schon mal ganz gut aus ich hab nur leider keien Ahnung von Funk. Was brauch ich denn dazu, einen Sender und einen Empfänger reicht das??? Und kann ich da dann gleich die Pins der RS232 Schnittstelle anschließen oder wie funktioniert das??? MFG Hannes
wenn du nur eine unidirektionale datenübertragung haben möchtest reichen natürlich 1x sender und 1x empfänger. die rs232 pegel müsstest du aber noch mit z.b. einem MAX232 auf TTL niveau bringen. MfG formtapez
Ähh ne ne bidirektionale wäre besser, ich muss senden und empfangen können. Welche Module würden sich denn eigenen und was kosten die denn überhaupt??? MFG Hannes
die kosten sackeviel (1 Transceiver 50,00 €, egal wo!). Dafür aber bestimmt gut.
Hi! Naja 50€ wäre echt ein bissle viel, was is denn mit dem: STX433saw HF-Sendeplatine zur Eigenentwicklung eines Sendemoduls. Sendeleistung 6dBm/5V; 433,92MHz, SIL-Bauform 8,00 € kann man unter Sende HF-Module hier finden: http://www.funkmodul.de/Download-Files/Bestellformular/plfunk.pdf Würde es des ding tun??? MFG Hannes
Die Dinger funzen ganz gut. Allerdings brauchst Du für eine bidirektionale Verbindung 2 davon und auch noch 2 Empfänger-Module. Die Datenübertragung geht dann nur halbduplex. Auch wichtig: Bei diesen AM-Modulen ist der Empfänger ein Pendelempfänger, d.h. idealerweise ändert sich der Pegel andauernd. Such mal mit dem Stichwort "manchester" hier im Forum. Die Übertragung ist dann allerdings nur halbduplex, und bei ca. 2400 Baud ist Schluß.
aha mhhm hab mich jetzt mal komplett durchgearbeitet aber bin nicht so richtig zu nem Ergebnis gekommen. Also ich bräuchte 2 Sender und 2 Empfänger, was billiger wäre als 2 Transreciever. Dann müsste ich anstatt nem RS232 Code nen Manchester Code ausgeben. Und dann müsste ich noch schaun das das Senden und Empfangen richtig getimet ist sonst überschneiden sich die Daten. Naja also Die Module von funkmodul.de sind ja nicht sooo teuer. Aber wie bekomm ich nun den Manchaster Code hin???? Gibts da beispiele für den PIC???? Welche billigen Module gibts sonst noch bei Conrad kosten die 30 aufwärts des is mir zuviel. MFG Hannes
Leider komm ich bei deinem Link nicht ganz mit. Was meinst du genau auf der Seite?? Das Fuchsjagd Ding, das is doch nur zur Peilung oder?? MFG Hannes
Hallo, habe gerade neues Modul bei Conrad ausgemacht, 1 Paar Transceiver für 92 EUR, aber gleich mit AVR drauf, soll wohl ganz gut sein, lt. Conrad... Siehe auch Beitrag dazu vom 23.08.03 Gruss A. Arndt
92€ is aber auch noch viel naja evt werd ich mich mal an die Sender und empfänger von Funkmodul.com machen und da mal dann versuchen nen Manchaster Code in meinen PIC zu bekommen. Das Problem wird halt noch sein das ich ja auf jeder Seite ein Sender und Empfänger brauch für eine Bidirektionale Vebindung und dann muss ich noch das Multiplexing hinbekommen damit ich senden und empfangen kann oder halt irgendwie abwechselnd. Hat jemand beispiele für den PIC für sowas??? MFG Hannes
Lass lieber die Finger von den AM Modulen. Investiere lieber ein paar Euronzen mehr für ein FM Modul. Es sei denn, Du willst nur unter 5m überbrücken. Selbst da sehe ich Probleme. Googel mal in den Groups, dort findest Du einige gescheiterte AM Geschädigte => Billig bis preiswert = Schrott Ist leider so! Es sein denn, wie gesagt, wenig(st)e Meter Distanz...Dann KÖNNTE alles funzen! Berichte mal von Deinen Tests! HANS
da denke ich ein bißchen anders. bei 6dBm Sendeleistung und -100dBm Empfindlichkeit sollten auch mit AM 100m ohne weiteres möglich sein. Daß FM besser und störsicherer ist steht ohne Zweifel, aber die 5m gelten nur für Funksteckdosen (weniger als 1mW Sendeleistung und vielleicht 90dBm Empfangsempfindlichkeit)
Schau mal in den Artikel: Endlich ein Komplett-Funksystem mit Pfiff Da schreibt jemand über seine Erfahrungen mit den billig (also AM) Dingern. In Deiner Antwort (NoName) sehe ich auch, das Du noch keine praktische Erfahrung mit den Dingern gemacht hast!? - Wenn doch, schreib mal wie sich die AM Dinger bei Dir im Einsatz zeigen!? HANS
Mit Verlaub, bei DEINER Antwort stellt sich erst recht die Frage, woher Du Dein gesichertes Wissen nimmst. Mache Dir doch die Mühe und finde heraus, welche Leistungsdaten die AM-Module aufweisen ,welche in dem gelobten Beitrag am Pranger stehen. Und dann vergleiche mal mit meiner Behauptung (die natürlich, da von mir als Unerfahrenem, nur ins Reich der Phantasie gehören und in einem Forum nichts zu suchen haben!) Nix für ungut, aber Du kannst eben auch nicht pauschal sagen: Eine Taschenlampe leuchtet schwach (weil mal jemand ein oder zwei verschiedene ausprobiert hat)
Hi! Danke für die Antworten. Bin grad noch an einem kleinen Projekt zwecks Redezeit mitstoppenb und so aber wenn das fertig is und ich da mit I2C hinbekommen hab kauf ich mir mal 2 so Sender und Empfänger von Funkmodul.com und versuch nen Manchester Code hinzubekommen. Dann kann ich ja berichten wies gelaufen ist. Zwecks Mancheseter hab ich noch ne Frage, es heisst ja das der Gleichspannungsfrei is aber dies gilt doch nur wenn ich z.B. +5 V und -5 V als Pegel verwende bei Logicpegeln wie 5V und 0V stimmt dies doch nicht oder??? MFG Hannes
auf Deiner Platine stimmt das (da wären es 2,5V), aber auf der Funkstrecke gibt es kein Bezugspotenzial, d.h. es sollte schlichtweg im Mittel ausgeglichen sein, sonst werden die Daten entweder 0 oder 1-lastig. Dasselbe Problem gilt für optische Übertragung in Glasfasernetzen.
Aso ok Mhhm dann is das wohl trotzdem das Richtige Protokol. Werd mal ein bissle basteln. THX Hannes
zu Hans: Ich benutze die AM-Dinger schon seit einiger Zeit. Wenn man nur 5m damit hinkriegt, hat man das falsche gekauft oder sich nicht richtig damit beschäftigt. Bereits in den Datenblättern ist erwähnt, daß die AM-Kisten nur max. 3000 Baud vertragen, mit Start/Stop-Bits und etwas Klimbim kommen wir auf annähernd 2400. Dann noch Manchester draufgepackt, schon haben wir gerade mal 1200 Baud Netto. Mehr ist einfach nicht. Was viele auch nicht wissen: Die Manchester-Codierung ist bei AM-Modulen Pflicht. Die FM-Module sind eindeutig besser - das ist Prinzipbedingt und das kann ich auch bestätigen. Bis zu 9600 Baud habe ich hinbekommen, aber dafür hat die Sender-/Empfänger-Kombination 65 Euro gekostet. @maruu: Ich benutze einen kleinen Trick, um mir die Arbeit zu erleichtern: Ich wandele das zu sendende Byte in 2 Byte Manchester um (aus "0" mach "01" und aus "1" mach "10") und sende es dann weiterhin über den normalen UART. Die Start-und Stop-Bits stören da nicht weiter. Der Vorteil des Hardware-UART liegt in der besseren Störfestigkeit gegenüber einer Software-Lösung, beim Atmel beispielsweise wird der Port mit 16-facher Frequenz gescannt und eine Fehlerbehandlung gemacht. Auf der Empfänger-Seite hat man dann auch einen Vorteil: Solange man "01" und "10" - Pakete empfängt, ist alles in Ordnung. Sollte mal "00" oder "11" vorkommen, hat man einen Fehler in der Übertragung entdeckt. So kann man sich sogar die Prüfsumme sparen. Ich nutze die Manchester-Codierung sowohl im Funk- als auch im Powerline-Modem Bereich mit Erfolg.
Hallo! Hab so nen ähnlichen Beitrag von dir schon gelesen, danke. Das is echt interessant das mit dem Manchester over UART. Hab mir das auch schon überlegt. Aber ich hab da so meine Gedanken dazu. Ich will auch die UART und das mit dem Manchester benutzen aber ich will nen Interrupt auslösen wenn ein Byte empfangen wurde (das macht der PIC z.B. sonst muss ich Polling machen und das is zu Rechenzeitaufwendig), aber wenn jetzt rauschen und co auftritt dann interpretiert das der µC evt doch falsch und löst nen Interrupt aus oder wie is es bei dir gibt es da Fehler bei der Übertragung?? MFG Hannes alias Maruu
Ja, das Rauschen. Ist ein nettes Problem, kann aber auch per Software bewältigt werden. Um hinter den Grund des Rauschens zu kommen, muß man sich erstmal das Prinzip der AM-Funkübertragung zu Gemüte führen. Bei AM ist die Lautstärke für "0" oder "1" auschlaggebend. Dies hat den Nachteil, daß ein Sender auch dann "leiser" wird, wenn er sich entfernt. Um nun überhaupt größere Distanzunterschiede relaisieren zu können, werden sog. "Pendelempfänger" genutzt. Diese stellen sich auf unterschiedliche "Lautstärke"-Verhältnisse ein - ähnlich wie eine automatische Aussteuerung bei der Aufnahme von Kassetten. Nun hat das einen Nachteil: Sendet man z.B. sehr viele "0" hintereinander, erkennt der Empfänger irgendwann nicht mehr, was nun gesendet wird - weil er keinen Bezug zwischen "0" und "1" herstellen kann. So, nun kommen wir zu des Pudels Kern: Viele AM-Sender sparen sich das Senden einer "0" und schalten einfach ab. Eine "1" bedeutet, daß er sendet. Wird nun eine Zeitlang nicht gesendet, schraubt der Empfänger seine Empfindlickeit immer höher - und damit bekommt man das Rauschen am Ausgang des Empfängers. Man muß also zu Beginn einer Übertragung den Empfänger "trainieren", damit er sich auf die aktuelle Lautstärke des Senders einstellen kann. Ich sende hierzu eine "1" für eine Dauer von 5 Bits - das sorgt dafür, daß der Empfänger aufwacht und sich einpegelt. Diesen langen Impuls frage ich auf der Empfänger-Seite ab, so kann man zwischen Rauschen und Nutzsignal unterscheiden. Es gibt nur noch ein Problem: Die Logik des UART ist üblicherweise genau andersrum - Ruhepegel ist "1". Deshalb einen Inverter vor den Sender schalten, bei dem Empfänger ebenfalls. Dies ist aber abhängig vom Funkmodul - die bisher von mir benutzten benötigten diesen Kunstgriff. Ich sende also zuerst einen 5 Bit langen Impuls, dann eine 1-Bit Pause, anschließend schalte ich den UART-Sender ein und sende meinen Manchester-Code. Im Empfänger scanne ich den RXD-Pin "von Hand", empfange ich eine fallende Flanke, starte ich einen Timer, den ich bei einer steigenden Flanke wieder stoppe. Ist der Wert des Timers > 4,5 Bit, habe ich den Synchronimpuls erkannt. Dann wird der UART-Empfänger eingeschaltet und nimmt seine Arbeit auf. Gehe am besten Schritt für Schritt vor - z.B. erstmal sicher den Synchronimpuls erkennen, dann mal ein Byte senden und schauen, ob das klappt - und dann immer mehr.
aha des is ja schon mal interessant. Mhhm jetzt hab ich mir was überlegt, ich will ja eine Bidirektionale Verbindung herstellen und dazu benötige ich 2 Sender un 2 Empfänger je einen Sender und Empfänger am PC und am Fahrzeug. Nun ist das Problem das beides auf der gleichen Frequenz läuft und ich nicht vom PC zum Fahrzeug senden kann wenn gerade das Fahrzeug sendet. Ich muss also Multiplexen und da hab ich mir gedacht das ich immer ein Byte Sende, wenn dies auf der Gegenseite angekommen ist schickt die Gegenseite das Byte wieder zurück dann wieder zurück und immer hin und her. Und will nun einer der Beiden Daten Senden wird einfach das zu Sendende Byte anstelle des unnützen Bytes das bei keinem Datenverkehr gesendet wird gesendet. Bist du mitgekommen?? So würden wenigstens keine Kollisionen auftreten. Oder gibt es da was Besseres?? MFG Hannes PS: Dadürch würde der empfänger auch nicht ins Pendeln kommen da ja immer was gesendet wird, lieg ich da mit meiner Vermutung richtig???
Das "Pendeln" kommt durch den Manchester-Code. Wenn Du permanent sendest, kann eigentlich nicht viel passieren, da der Empfänger immer "scharf" ist. Was Du meinst, ist halbduplex-Betrieb. Diese Übertragungsart wird auch in anderen Bussystemen angewandt. Am besten versendet man kurze Datenpakete. Da Du nur zwei Teilnehmer hast, kannst Du die Adressierung weglassen - das macht es etwas einfacher. So kann man, wie Du schon richtig vermutet hast, so eine Art "Ping-Pong" spielen. Ich vermute, daß Du verschiedene Informationen übertragen möchtest. Was die Sache vereinfacht: Einen der Teilnehmer als "Master" = aktiv und den anderen als "Slave" definieren. Der Slave sendet Daten nur auf Anforderung des Masters. So sendet der Master dem Slave beispielsweise: "Lese A/D-Wandler Kanal 1" und der Slave sendet im Anschluß den Wert zurück, oder der Master sendet "schalte Relais 5 an" und der Slave schickt eine Bestätigung - falls diese Bestätigung ausbleibt, muß der Master die Übertragung wiederholen oder eine Fehlermeldung ausgeben. Schwieriger wird es, wenn man gleichberechtigte Teilnehmer hat - d.h. jeder der Teilnehmer kann von sich aus eine Datenübertragung beginnen. Dies ist aber relativ kompliziert (gleichzeitiger Beginn von Übertragungen muß festgestellt werden) und bei zwei Teilnehmern nicht sinnvoll.
mhhm des is jetzt ne gute Frage, also der gleichzeitige beginn würde mit meiner Methode, die immer ein Byte hin und her schickt und nur der der das Byte besitzt darf Senden, ausgeschlossen werden. Aber eigendlich wollte ich vom Fahrzeug alle 50ms oder so 20 Byte senden und der PC sollte nur Steuercomands an das Fahrzeug senden, aber die Idee das der PC halt anfragt und das Fahrzeug nur zurücksendet is auch ned schlecht, des würde viel Zeit ersparen zwecks alle Eingänge abfragen und die 20 Bytes senden. Mhhm is zwar ein bissle komplizierter zu realisieren aber dann kann ich das ganze auch Modular halten das ich einfach eine Interruptroutine schreib die dann die verschiedenen Sensoren aufruft und die ergebnisse sendet. Ausserdem würde es viel Datenverkehr einsparen und als Pingpong könnte ich ja immernoch ein Byte senden das wäre denke ich dann ideal. Also nochmal meine Idee, ich schicke immer ein Ping pong Byte rum, derjenige der das Byte hat darf senden, z.B. ein Anfragebyte oder zwei, er bekommt dann ein oder 2 Antwortbytes zurück und dann geht das Pingpongbyte wieder weiter. So könnte auch das Fahrzeug anfragen starten und würde Antworten vom PC empfangen können. Die Bytes sind natürlich als Manchestercode codiert und hierdurch wird dann die gleichstromfreiheit erzeugt. Das Pingpongbyte könnte ohne Stoppbits und Startbits so aussehen 10101010 um auch hier gleichstromfreiheit zu bewahren. Was hälst du von der Realisierung bzw noch is es ja ne Idee und was könnte man verbessern??? MFG Hannes
Hört sich gut an. Datenübertragung nur, wenn notwendig. Das Fahrzeug kann ja als Antwort auf das "Ping-Pong"-Byte einen Status zurücksenden, z.B. wenn ein Endschalter erreicht wird, so daß der Master als nächstes die Eingänge abfragt. Erhält der Master nach drei Anfragen keine Antwort, ist die Funkstrecke abgerissen - genauso der Slave: Bekommt er für eine gewisse Zeit keine Übertragung, werden die Fahrmotoren abgeschaltet - als Sicherheitsabschaltung. Noch etwas zu den Funkmodulen: Die Antenne ist wichtig (bei mir funktionierts ganz gut mit einer Wurfantenne, aber ich habe keine hohen Ansprüche an die Reichweite), noch wichtiger ist die Spannungsversorgung. Wenn Du Einstreuungen des Controllers auf der Versorgungsspannung hast (z.B. den hochfrequenten Takt) kommt es garantiert zu Störungen. Großzügige Masseflächen auf der Prozessorplatine (am besten 2-seitig mit einer großen Massefläche) wirk da Wunder. Man kann natürlich auch alles auf Lochraster aufbauen - da ist es aber Glückssache, ob man die Reichweite erreicht, die man haben möchte. Außerdem alle Digitalchips mit je einem 100nF - Kondensator direkt an den Spannungsversorgungspins versehen - das stabilisiert die Versorgungsspannung.
Das mit den Kondensatoren is klar, mhhm aber zur Antenne: Ich hab ja ned so viel Ahnung von den Funkdingen welche Arten ANtennen gibt es und was is ne Wurfantenne??? Wie lanbge sollte die ANtenne sein??? Kann ich da evt da Gehäuse nehmen oder eine Antenne die nach oben steht oder irgendwie ne Leitung missbrauchen??? MFG Hannes
Eine "Wurfantenne" ist einfach ein Stück Kabel. Die einfachste, aber auch schlechteste Lösung. Länge: 17 cm (für 433 Mhz). Dann gibt es noch Stabantennen, Stabkurzantennen mit Wendel... Bei http://www.funkmodul.com gibts eine kleine Auswahl. Für meine Zwecke hat die Wurfantenne immer gereicht.
Hallo! Muss die ANtenne 17cm sein??? Ich hab hier noch eine Handyantenne die is mit Magnetfuß ausgestattet und ca 20cm hoch. Tut es sowas auch??? MFG Hannes
Das paßt nicht. Die Handyantenne ist, unabhängig von der Länge, für ganz andere Frequenzen ausgelegt. Probieren kannst Du es ja mal, aber optimale Reichweite bekommst Du damit höchstwahrscheinlich nicht. Das hat mit der Wellenlänge zu tun, üblicherweise benutzt man lambda/4 -Antennen, bei 433 Mhz sind das 17,3 cm. Lambda ist die Wellenlänge der Funkwelle - 17,3 cm ist ein viertel davon. Für optimale Reichweite müßte dann die Antenne noch abgestimmt werden - auf eine sog. "stehende Welle". Aber dazu braucht man spezielle Meßgeräte.
Ahhhso mhhm ok dannw erd ich des wenn ich die Funkmodule hab mal vorerst mit ner Wurfantenne probieren. MFG Hannes
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.