Hallo Leute.
Euer Forum hat mir schon mehrmals gute Dienste geleistet, aber heute muss ich selber mal eine Frage stellen.
Ich habe mir einen kleinen Roboter auf Basis eines AT89C51CC03, für meine Abschlussprüfung (Systeminformatiker) im September gebaut.
Motor Ansteuerung und Sensoren laufen auf meinem Bus-System auch schon einwandfrei. Der Kleine fährt ohne Probleme.
Jetzt kommt das Problem. Er braucht eine möglichst günstige Fernsteuerung durch einen zweiten Mikrocontroller der am PC hängt.
Weder ich, noch meine Ausbilder haben viel Erfahfung mit Funktechnik und ich konnte auch nicht viel in der Foren-Suche finden.
Im Endeffekt soll nur hin und wieder 1 Byte übertragen werden, welches dann vom Roboter ausgewertet wird. (Fahrtmodus, Geschwindigkeit, etc).
Mein Plan wäre nun das Byte über ein Schieberegister an einen Bus Port des Roboters zu senden und dann dort einen Interrupt auszulösen wenn es vollständig übertragen wurde, damit das Signal vom Bus gelesen und verarbeitet wird.
Es muss nur eine Funkstrecke von vielleicht 5 Metern ohne Hindernisse bewältigt werden.
Wären dafür die Aurel Module RX-4M50RR30SF (Empfänger, Datenblatt) und TX-SAW433 (Sender, Datenblatt) genug?
Vielen Dank!
MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!
Weis jemand wonach das in Österreich geregelt ist, wann man eine Amateurfunklizenz braucht?434Mhz ist doch eine freie Frequenz, aber es gibt doch Einschränkungen bzgl. Reichweite oder Sendeleistung oder täusche ich mich?
Infos zu meinen Projekten gibts auf meiner Homepage: http://langeder.org/
Schaue Dir auch einmal die BTM 222 www.kh-gps.de/btm222.htm an, das kann mit jeden beliebigen Bluetooth Stick am PC "reden" und wird über RS232 (TTL Pegel) mit dem µC verbunden. Befehle können dann per Terminal oder selbst gestrickte Software vom PC gesendet werden. Natürlich muss auf dem µC ein entsprechendes Programm laufen welches bei eintreffen von Daten diese in einer IRQ abholt.Der Vorteil man braucht nur ein Gerät eine RS 232 TTL hat quasi jeder µC und viele PC/Laptop besitzen schon Bluetooth. Das BTM 222 gibt es schon für ~ 13 € und in etlichen Foren ist Hilfe zu finden. Viele preisgünstige Funk Bausteine haben kein Protokoll, das muss man selber schreiben und dann wird es leicht schwierig.
Gruß Richard
Okay, Ausbilder hat die Teile (und Antennen) bestellt und ich hab sie jetzt gerade vor mir liegen...
Jetzt hab ich aber ein Problem das ich garnicht beachtet habe.
Wie gesagt, ich muss ja nur 1 Byte übertragen (eigentlich sogar nur 4 bit) und wollte das per Schieberegister machen. Jetzt merke ich gerade, dass diese Sender/Empfänger (gegenüber den er400trs die wir vorher bestellt hatten, die aber nie geliefert wurden) überhaupt keinen Taktsignal Ausgang haben.
Wie mache ich das jetzt am dümmsten?
Ich wollte eigentlich nicht dauerhaft senden und die Schieberegister (wir haben hier 74597 und das Gegenstück 7459 brauchen ja schließlich auch einen Takt am Empfänger...
Irgendeine Idee?
Meine erster Einfall wäre jetzt nen relativ langsamen Quarz als Taktgeber an beide Register zu hängen und halt erstmal 0xFF oder sowas zu schicken, als Start signal und dann automatisch nach einem Byte wieder stoppen.
Gibt es da nicht ne bessere Möglichkeit?
Wie gesagt, sorry falls das dumme Fragen sind, aber ich hab eben noch absolut null Ahnung von Funktechnik...
Das meinte ich mit einfache Module arbeiten ohne Protokoll. Das müsst Ihr jetzt halt selber "basteln" z.B. Mittels Start Bit, Daten Byte, Stopp Bit. und gemeinsam festgelegter Baudrate. Die Baudrate kann auch aus der Länge des Startbits ermittelt werden und dann halbiert (in der Mitte der Daten Bits) Abfragen eingesetzt werden. Eine serielle RS 232 Schnittelle arbeitet auch ohne eine Taktsignal übertragung mit Start Bit stopp Bit und festgelegter Baudrate. Wobei die Übertragung eines Daten Bytes 10 oder 11 Bit (bei 2 Stopp Bits) benötigt. So etwas kann man auch ohne schiebe Register
mit einem µC erschlagen in dem man einen Eingaspin per shift oder ror Befehl über carry ins Register schiebt.
Einfacher wäre so ein BTM 222 mit implementiertem Protokoll gewesen.......
Gruß Richard
Naja, das Besondere sollte eben sein dass es nicht einfach die serielle Schnittstelle verwendet oder so. (Wollte ich so)
Und dass zwei Mikrocontroller verwendet werden. bzw. es ist wichtig dass am PC direkt ein Mikrocontroller mit RS232 hängt, da wir auch noch eine GUI in C++ mit nem vorhandenen Script machen müssen.
Und ganz ehrlich gesagt, ich habe gerne ne kleine (oder auch große) Herrausforderung.
Also, maximale Signalfrequenz ist laut Datenblatt 4kHz
Mein derzeitiger Plan:
Auf beiden Seiten ein 32.768 kHz Quarz mit 4 Frequenzteilern (=2048 Hz)
Wenn ein Signal gesendet werden soll, schicke ich erstmal 0xFF rüber ans Schieberegister als "Startsignal".
Dies setzt ein RS Flipflop und 8 Takte später (also wenn das eigentliche Datenbyte komplett am Schieberegister anliegt) wird es von einem D-Latch übernommen und alles wieder in den Ausgangszustand gesetzt und ein Interrupt ausgelöst, damit der Controller das D-Latch ausliest. (Dafür nehm ich einfach nen counter)
Ich könnte natürlich einfach auch GALs nehmen, oder nochmal nen kleinen Controller dazwischen schalten, aber das Prinzip ist ja das Selbe.
Meinst du das klappt so?
Hiho, also ich hatte zwar zuerst mein eigenes Protokoll entwickelt, aber dann ein paar ICs gefunden, die mir die Arbeit und den Platz ersparen (HT600 und HT614).
Der Roboter fährt jetzt mit Funkfernsteuerung, aber die Verbindung ist zugegebenermaßen lausig. Die Hälfte der Zeit kommt das Signal nicht sauber genug zum dekodieren an und anstatt alle 100ms die Datenbits zu empfangen, ist es eher alle paar Sekunden.
Ich nehme an, dass es an den Antennen liegt. Wenn der Roboter um die Ecke fährt, kriegt er nämlich kein Signal mehr und auch im reinen Test der Funkmodule, konnte ich nur knapp 5 Meter vom Sender entfernt stehen um noch ein sauberes Testsignal zu bekommen.
Ich hatte die dazugehörigen Antennen hier bestellt:
http://www.conrad.de/ce/de/product/1...01020&ref=list
Könnt ihr mir da etwas besseres empfehlen, oder soll ich selber eine bauen oder so?
MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!
Lesezeichen