PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Schnelle Datenübertragung



ricoderrichter
03.07.2005, 08:52
Hallo Alle Zusammen!

Also ein ppaar Kumpels un ich machen ein Jugend-Forscht-Projekt.
Dabei geht es um ein funktionstüchtiges Modell eines Satelliten.
Aber um Baken-Daten d.h. Temperaturen,Steuerungsbefehle zu übertragen sollen diese über einen Audiokanal laufen und so ne Art Binär-zu-Morse Code sein.
Kann mir da jemand helfen?
Die anderen Beiträge zu sowas hab ich irgendwie net verstanden ](*,)
Das ganze soll dann von Empfänger aus über das Audio-In des Computers über eine Software ausgewertet werden.
Hat jemand Ahnung von Programmieren und könnte uns dabei helfen?
Müsste auch nur son Fenster sein von in Tabellenform die Daten angezeigt werden!

Ich danke schonmal allen die sich mit mir ernsthaft unterhalten wollen!

Mit freundlichen Grüßen
RicoDerRichter

Marco78
03.07.2005, 09:06
Wie schnell soll die Datenübertragung denn möglich sein?
Was steht euch denn zur Verfügung?
Welche Beiträge hast du nicht verstanden? Vielleicht kann man dir bei denen helfen oder drauf aufbauen?!

Ich denke ich würde das mit zwei Frequenzen realisieren. Eine für H eine für L. Der Vorteil gegenüber Morse wäre da schonmal das man sich das 'lang' sparen kann und damit schon wieder etwas Zeit gewonnen hat.

ghost0
03.07.2005, 09:28
Hallo,

wenn ich das richtig verstanden habe, wollt Ihr ein Sprechfunkgeraet (???) verwenden, um Daten zu uebertragen.
Was Ihr als erstes evealuieren muesst, ist wieviel Informationen je Zeit Ihr uebertragen muesst - sprich: versucht die Datenstruktur auf Papier zu bringen.
Dann ist zu ueberlegen, welche Art der Uebertragung Ihr waehlt - als Gedankenstuetze: DTMF, PCM, Amplituden,- Frequenzmodulation, Shifting etc.

Wie gesagt - einen Schritt nach dem Anderen
- Hardware definieren
- Detanformat definieren
- Protokoll festlegen
- Programmieren


mfg
Heinz

ricoderrichter
03.07.2005, 15:20
Hi!
Also das mit dem Sprechfunkgerät stimmt schon so ungefähr!
Datenstruktur is halt wie bei Morse, lang und kurz.
Und für jedes Signal ist ein Lang-Kurz Code festgelegt.
Als übertragungsart erstmal nur die Frequenzart von Walkie-Talkies!
Danke für die Antwort!
Mfg RicoDerRichter

FoCus
03.07.2005, 19:54
Er meinte mit Datenstruktur den Aufbau der Daten die Versendet werden sollen nehme ich an.
Also das WAS, nicht das WIE.

Gruss
Michael

ricoderrichter
03.07.2005, 20:00
Achso!
Also es soll verschickt werden:
Microcontroller-Stromzufuhr an/aus
Solarzellen-Stromdurchfluss an/aus
Batterie-Stromdurchfluss an/aus
Sender1-3 -Stromdurchfluss an/aus
Und dann gegebenenfalls noch Lichtsensoren oder Erdmagnetfeldsensoren auswertung in der Stromstärke

Das ganze soll dann am Computer in der vorgegebenen Reihenfolge zugeordnet und ausgewertet werden!

Mit freundlichen Grüßen
RicoDerRichter

ghost0
04.07.2005, 08:18
Mit der Datenstruktur meinte ich den Aufbau - und somit auch die Laenge der Packete - eventuell auch des Protokolles. Wenn ich das richtig sehe, ist eine bidirektionale Verbindung vorgesehen, d.h. Ihr muesst Euch noch gedanken ueber ein zeitmultiplexes Protokoll machen.

Als Gedankenstuetzte hilft vieleicht (Handshake-Protokoll):

Rechner: Master
Sat: Slave

Befehl (5 Bytes)
<ENQ><ID><CMD><CRC><EOT>

Antwort - OK (5 Bytes)
<ENQ><ID><ACK><CRC><EOT>

Antwort - Fehler (5 Bytes)
<ENQ><ID><NACK><CRC><EOT>

Antwort - Daten: (5 + n Bytes)
<ENQ><ID><RESP_DATA><LEN><Data1>...<DataN><CRC><EOT>

Was und wie versendet wird (ENQ z.B. "1" oder "6", CMD="A" - Abschalten etc.) bzw. wie der Datenblock aussieht koennt nur Ihr festlegen .

Aus der Länge der Befehle und Kommandos bzw. ACK & NACK-Pakete kann man die minimal notwendige Uebertragungsgeschwindigkeit ausrechnen, die benoetigt wird. Und hieraus ist dann das Uebertragungsverfahren (DTMF, Morse, PCM etc.) ableitbar.

Wenn Ihr das habt, koennt Ihr prinzipiell mit der Programmierung der 'oberen' Schicht auf beiden Seiten beginnen. Zum Gegentesten der beiden Systeme ersetzt die Protokollaufbereitung zeitweilig durch z.B. die serielle Schnittstelle. Damit koennt Ihr step by step das ganze in Betrieb nehmen.

Zum Thema Morse muesst Ihr Euch unbedingt noch Gedanken machen - so wie es 'normalerweise' verwendet wird, ist keine Traegerabsenkung oder aenhliches vorgesehen. Ein Uebersprechen anderer Sender ist per Maschine nur aeusserst schwer zu erkennen. Ausserdem - um per Morse noch "Human readable" zu sein, ist nicht mehr als 60 Zeichen / Minute drin (ich schaffe nicht mal 30 :-( ).

Heinz

FoCus
04.07.2005, 10:41
Mal eine andere Frage, braucht man, um einen Morsesender zu bauen, nicht auch einen Amateurfunkschein?

Gruss
Michael

Mobius
04.07.2005, 11:34
Nein, du bast ja keinen SENDER, sondern nur die Hardware, die die Bits in Töne umsetzt. Den Rest übernehmen dann die zwei Walkie-Talkies. Also, rein theoretisch hast du da nichts an diesen Rumgefummelt, d.h. ihre Funkerlaubniss ist dabei net flöten gegangen.

Aber Moressignale würde ich gaaanz Persönlich net nehmen. Dann schon eher ein Packet-Radio-Protokoll...
MfG
Mobius

ricoderrichter
04.07.2005, 15:07
Hi nochma!
Kann man nicht wie Mobius schomn gesagt hat einfach immer je nach Status und einprogrammierter laenge dem Tongenerator ein Signal schicken das er dann sendet?
Also ungefähr so:
Relais 1 an=25ms Signal aus=50ms Signal und je nach Status versenden.

Mit freundlichen Grüßen
RicoDerRichter

Mobius
04.07.2005, 15:27
Also, ich denk nicht, das das so gehen würde, aber wenn ihr nur Relais ansteuern möchtet würde es vielleicht so gehen (bin mir aber net gaanz sicher):

An: 2000 Hz signal
Aus:1200 Hz signal

Nun nimmt ihr zwei Bandpassfilter (Am Besten mit OPAmp), die auf die beiden Freuqenzen gestimmt sind und einen Flip-Flop. Kommt nun ein An-Signal an, erhält der Flip-Flop einen Clock-Impuls, worauf dieser das High an seinem Imput an den nicht-invetierenden Output und dieser Schaltet das Relais dann über einen geeigneten Transistor durch. Wird ein Aus-Signal detektiert, wird der Clr-Pin auf low (oder high, je nachdem ob es invertiert wird) gezogen und das Relais fällt, da der Transistor gesperrt wird.

Einzige Makel an der Sache sind, dass die Teile des Filters eine kleine Toleranz haben müssen und dass euer Tongenerator recht genau auf die zwei Frequenzen abgestimmt sein muss.

Ach, ja, für die zwei Frequenzen solltet ihr so wählen, dass der eine nicht eine Harmonika (nennt man das so?) des Anderen ist. Ansonsten müsste ihr euch dann nur noch mit den Werten der R/C-Bandpassfilter herumschlagen.

Wie gesagt, ist nur ein Gedankenspiel, wenn es ein totaler Blödsinn ist, dann bitte sagen ;), man lernt nur so :D.
MfG
Mobius

ricoderrichter
04.07.2005, 18:46
Ähm ja, also ich glaube des Funtioniert net so ganz. Wir wollen ja per Funk den Status von 4Mikrokontrollern, 9Relais, und noch ein paar Sensoren senden.
Also ich hab mir das so gedacht:
Relais1 an=25ms aus=50ms
.
.
.
Relais 9 an=25ms aus=50ms
Bei den Relais maximal 450ms
Mikrocontroller1-4 jeweils an=25ms aus=50ms
maximal 200ms
Das wären dann maximal 650ms insgesamt.
Beim Empfängerprogramm am Pc ist dann die Reihenfolge also Relais1, dann Relais2 usw. einprogrammiert, und so wird nach länge der Töne zugeordnet.
Jetzt ma zur Technik bzw. Software:
Wie isn dann der Schaltplan für das ganze und das Programm auf dem Mikrokontroller?
Mit freundlichen Grüßen
RicoDerRichter

NumberFive
04.07.2005, 19:29
mal ne ganz andere frage warum nicht zwei modems schlachten ?
ne Telefon leitung ist auch nur ein audio kanal.

Ich glaube nicht das dein Ton folge tut den der PC weiß ja nicht wann es los geht. So einfach ist seriale Übertragung nun auch nicht.

Gruß

tristate
04.07.2005, 20:11
ich versteh dich nicht als überschrift hast du doch von einer schnellen übertragung geredet. wieso kaufst dir nicht 2 entsprechend schnelle funkmodule? gibts doch überall und ist bestimmt leichter zu programmieren und hardware mässig einzubauen. was für eine reichweite brauchst du denn? -wie weit gehen denn die walkie- talkies?

Mobius
05.07.2005, 00:10
@tristate: weil schnelle (und zuverlässige) Funkmodule halt recht teuer sind. Und wenn man zu Hause ein Walkie-Talkie hat, der auf ~5 km geht, wieso soll man sich ein Funkmodul kaufen, dem bei 300m der Saft ausgeht? Natürlich sind die Module auf eine Digitale Übertragung ausgelegt, doch es kommt noch immer billiger, wenn du ein Handfunkgerät dafür "missbrauchst". Und wenn du die Frequenzen so wählst, dass es keiner mehr hören kann (>= 20 KHz), wird es wahrlich fast niemand merken (außer vielleicht leicht/starke Kopfschmerzen haben). Das einzige ist, dass ich nicht weiß, ob ein Walkie-Talkie diese Frequenz noch überträgt...

@rico: ...Achso... Dachte aus deinem Post, dass du nur ein Relais ansteuern möchtest. Da würde ich bei der Idee von ghost bleiben, also ein Protokoll entwickeln und diesen dann über den µC auswerten, welcher dann auch die 9 Relais durchschaltet.

MfG
Mobius

P.S.: Ich würde aber an eurer Stelle nicht auf die Länge der Fieptöne schauen, sondern auf die Frequenz, hat den großen Vorteil, dass ich nicht 100% syncron laufen müsst. Es macht wenig aus, wenn du, bei einem Burst von 20 Schwingungen die ersten 5 verpasst, du kannst es noch immer genau einordnen, als, wenn du bei deiner Übertragungsart 10m verpasst.

Blackbird
05.07.2005, 06:33
Wenn ich es richtig verstehe, dann sind 2 verschiedenen Probleme (getrennt) zu lösen:
1. das Übertragungs-"Protokoll", also in welcher Reihenfolge und in welcher Form (binär-, BCD-, ...-codiert) werden die DatenPAKETE übertragen und wie wird synchronisiert bei Datenverlust.
2. das Übertragungsverfahren, welches garantiert, dass ein 0-Bit oder eine 1-Bit auf der Gegenseite auch als solches erkannt wird.

Zu 1. hat @ghost0 schon einen schönen Ansatz geliefert und zu 2. würde ich zu den üblichen Codierungsverfahren aus der Compter-Anfangs-Ära und der Modemtechnik raten: Aufzeichnung auf Kassettenband, bzw. Mark-Space-Tonfrequenzen aus der Telegrafie-/Fernschreibtechnik. Erzeugt mit einem einfachen umschaltbaren Generator und erkannt durch eine simple PLL-Schaltung.
Stichworte zum googeln hast Du jetzt genug, Schaltungen gibt es massig.

Walky-Talkies können keine 20 kHz. Also immer im Bereich um 1kHz bleiben.

Blackbird

NumberFive
05.07.2005, 07:00
So jetzt habe ich mal ein paar links für funkmodems
gesammlt. Vielleicht bringt es euch ja weiter.

http://www.symek.com/d/fsk9601.html
http://www.cb-funk-shop.de/eurotnc.htm
http://www.wer-weiss-was.de/theme134/article378201.html
http://www.dqb656.de/lexikon.htm
http://www.spaceserver.de/hobby-elektronik/page11e.html

Dann fehl "nur" noch das Protokoll

Gruß

ghost0
05.07.2005, 08:25
Hallo,

Ihr muesst ja ohnehin noch etwas basteln :-). Nach m.A. bietet sich hier ein DTMF-Ton-Sender & Empfaenger an. Die haben die Filter bereits integriert und werden meisst ueber ein µC Interface gesteuert. Durch das Aussenden von jeweils 2 Frequenzen ist das ganze stoerunempfindlich. Der Frequenzbereich liegt im Uebertragungsbereich der Telefone (Postvorschrift ZV 5) - was also auch ein Funkgeraet locker uebertragen kann. Je nach IC koennen bei jedem Frequenztupel 10 ... 16 unterschiedliche Zustaende ueber die Leitung gehen - binaer ausgedruckt 3,5 ... 4 Bit.
Und: Mit einem Handsender (gibt es noch sowas ???) kann man diese auch extern erzeugen.

Allgemeines: http://www.vanity-rechner.de/dtmf.html
Empfaenger: http://www.dl5mgd.de/echolink/Dateien/echolink.pdf
All in one: MT8889 http://www.farnell.com/datasheets/2812.pdf

Hinweis: DTMF = MFV (Multifrequenzwahl) bei Telefonen

Heinz

ricoderrichter
05.07.2005, 13:37
Sagt ma, wenn ihr alle viel mehr Ahnung habt, wollen wir net ne kleine Bastelgemeinschaft ausmachen?
Wer Lust hätte könnte sich ja per PN bei mir melden!
Mit freundlichen Grüßen
RicoDerRichter

Marco78
05.07.2005, 18:59
Sagt ma, wenn ihr alle viel mehr Ahnung habt, wollen wir net ne kleine Bastelgemeinschaft ausmachen?

Woher kommst du denn? Extra einmal die Woche 400km zu fahren lohnt ja auch nicht ;)
Oder war das etwas sarkastisch?

ricoderrichter
05.07.2005, 20:25
Ne Ne das war überhaupt net sarkastisch (das is auch net sarkastisch gemeint!!!)
Ich wohn in der nähe von Liepzig.
Aber ich meine eigentlich mehr so Entwicklung per Mailkontakt und so...
Mit freundlichen Grüßen
RicoDerRichter

FoCus
07.07.2005, 08:45
Tonübertragung nennst du schnell??

voidpointer
07.07.2005, 10:34
Ist das "Binär-zu-Morse Code" und "Audio-In des Computers über eine Software" etwa die Anforderung an das Forschungsprojekt? Klingt ein bisschen weltfremd.

Sollte es nicht so sein, dann vergesst mal ganz schnell den Morsecode! Der ist für Menschen gemacht, nicht für Datenübertragung. Was spricht gegen die Manchester-Codierung?

Wenn Funkmodems zu teuer sind und Platz / Gewicht keine Rolle spielt, könnte man zwei PMR-Funkgeräte modifizieren und zur Datenübertragung verwenden. Die Daten mit einem Modem-Chip oder einem Chip zur Manchester-Codierung modulieren, senden und am anderen Ende wieder demodulieren. Auf www.mikrocontroller.net gibt es einige Hinweise dafür. Auch hier im Forum wurde es schon diskutiert. So sind angeblich Reichweiten bis zu 5 km möglich.

Gruß, Achim.

ricoderrichter
07.07.2005, 12:44
Na was is denn schneller???Kannst mir ja auch e bissel helfen wenn du mehr weißt als ich, dafür is das Forum ja da ;-)
Mit freundlichen grüßen
RicoDerRichter

Mobius
07.07.2005, 15:38
Schnell ist immer relativ:

Naja, wenn ihr eine Live-Video-Übertragung aufbauen möchtet, ist es mit einem Funkgerät net möglich (auch noch bei 443 MHz ist es net möglich), da bleibt euch nur der 2,4 GHz-Bereich. Und auch noch da ist es möglich, dass es ein wenig laagen wird ;)

Aber auf der anderen Seite reichen 150 Bytes (1K2 Baud, das was ein PMR-Funkgerät noch schafft) pro Sekunde schon aus, um Messdaten und noch einiges zu übertragen. Da passen auch noch ein schönes Protokoll und ein CRC-Checkcode rein. Und danach bleiben euch noch immer bestimmt so um die 75 Bytes einfach leer.


MfG
Mobius

ricoderrichter
07.07.2005, 17:19
Hi!
Hat ma jemand ein Vorschlag für ein Übertragungs-Protokoll?
Mit freundlichen Grüßen
RicoDerRichter

Archi
07.07.2005, 17:57
(*Erschlagen ein*) Wie wär's mit Machester- oder Disparitäten-Coder eines mit einem Hammig-Code geschützten Datenstroms, der vielleicht auch noch eine 16-Bit-Checksum (CRC16) enthält? (*Erschlagen aus*)

Spaß beiseite: Je nach Übertragungsart muss der Datenstrom eventuell gleichstromfrei sein - will heißen: genausoviele 0en wie 1en im Datenstrom. Eine Manchester- oder eine Disparitäts-Codierung Wird die Möglichkeit einer Fehler_korrektur_ einzelner Bits benötigt, oder reicht es aus, einzelne Fehler nur zu _detektieren_ und das Paket ganz zu verwerfen.

Welche Seite gibt das Timing vor? Arbeitet die Übertragungsstracke halb- oder vollduplex (also erst der Sender, dann der Empfänger oder beide gleichzeitig auf verschiedenen Kanälen)?

CU, Robin

ricoderrichter
07.07.2005, 18:25
Also das hab ich jetzt net so ganz kapiert *verzeih*
Der Sender sendet konstant immer wieder das Signal mit dem Zustand über Audio.
Am Boden wird das ganze dann durch den Computer gejagt und schon hat man seine Daten.
Weiß jetzt zwar net ob das ne Antwort auf die Frage is aber egal;-)
Mit freundlichen grüßen
RicoDerRichter

Blackbird
08.07.2005, 06:27
Suche Dir mal mit google die Schaltungen und Verfahren/Software zusammen, die man in der ZX81-/ZX Spectrum-Zeit zum Speichern/Lesen der Daten auf Kassette verwendet hatte.

Blackbird