Für ein ehrenamtliches Projekt (Seifenkistenrennen) soll ich eine
Zeitmessung entwickeln. Versteht sich von selbst das hierfür leider
keine allzu umfangreichen finanziellen Mittel zur Verfügung stehen.
Mein bisheriger Aufbau besteht daher aus zwei einfachen Platinen (für
Start und Ziel) mit einem ATMega und einem RS232 Funkmodul sowie einem
2x20 Display. Start und Zieleinfahrt wurden in der ersten Version noch
per Taster gestoppt, zwischenzeitlich mit Lichtschranken.
Der Aufbau funktioniert soweit zuverlässig, hat aber den unschönen
Nachteil das es keine Zuordnung zum Fahrzeug gibt und man auch nicht
"einfach" mehrere Fahrzeuge gleichzeitig fahren lassen kann (bis jetzt
sind 2 Fahrzeuge über parallel verlaufende Strecken gelöst).
Idealerweise würde ich daher gerne RFID UHF Tags mit passenden Readern
verwenden, leider scheinen diese preislich für das Projekt nicht in
Frage zu kommen. Falls ich da aber Produkte übersehen habe freue ich
mich ber Hinweise :)
Meine Idee war jetzt günstige RFM12 Module zu verwenden die es ja für
wenige Euro gibt. Zusammen mit ne'm ATTiny hätte man quasi einen aktiven
Transponder dem man eine eindeutige ID geben kann. An Start und Ziel
gibt es dann eben einen RFM12 Empfänger der die IDs ausliest wenn sei
vorbeifahren und damit weiß wann das Fahrzeug gestartet und angekommen
ist.
Die Frage: Ist das überhaupt sinvoll/umsetzbar?
Als Problem sehe ich das man auf 868 Mhz ja nicht dauerhaft senden darf,
eventuell lässt sich da aber was machen wenn man gerichtete Antennen für
Start/Ziel hat und die Leistung soweit drosselt das nur im Umkreis von
2m gesendet wird.
Über Vorschläge/Hinweise/Tipps bin ich dankbar :)
Gruß
mistermoe
Ich habe leider die Zahlenwerte nicht mehr im Kopf, aber bei UHF-RFID
ist die maximal erlaubte Sendeleistung an den Öffnungswinkel der Antenne
geknüpft. Im Kopf habe ich 2W ERP, die bei einem maximalen
Öffnungswinkel von 70 Grad erlaubt sind.
Und noch mehr gefährliches Halbwissen: Mit LBT (Listen before Talk) darf
der Kanal (glaube ich) auch dauerhaft belegt werden. Aber da sagt besser
noch wer anderes was dazu.
Wie viel Budget hast du denn dafür?
Meine Empfehlung wären Funkmodule gemäß IEEE 802.15.4 (,,ZigBee''),
wahlweise auf 868 MHz oder 2,4 GHz. Die Teile beherrschen von Haus
aus CCA ("clear channel assessment"), damit ist, wenn denn mal zwei
gleichzeitig am Ziel sind, zumindest auch noch gewährleistet, dass
du nicht nur ,,Kauderwelsch'' empfängst, sondern dass beide
nacheinander senden. Zusammen mit dem eingebauten Acknowledgment
kannst du das auch noch soweit ausbauen, dass du die Übertragung
wiederholst, falls beide bspw. völlig gleichzeitig senden (sie haben
vorher CCA gemacht, der Kanal war still, dann senden sie los...).
Bei 868 MHz kann man dabei alternativ statt CCA auch das bereits
genannte LBT einschalten. Vom Gedanken her ist das ähnlich wie CCA,
allerdings benutzt es andere Parameter (die im entsprechenden EN-
Standard vorgegeben sind), und nur damit ist man von der duty-cycle-
Pflicht befreit. Bei 2,4 GHz gibt's das aber ohnehin nicht.
Bis jetzt hab ich um die 100 Euro ausgegeben.
max. 200-300 Euro kann ich verplanen.
Gibt's denn die genannten ZigBee Module zwischenzeitlich irgendwo zu
vernünftigen Preisen? Das letzte Mal als ich mich mit denen beschäftigt
habe waren die noch recht teuer.
mistermoe schrieb:
> Gibt's denn die genannten ZigBee Module zwischenzeitlich irgendwo zu> vernünftigen Preisen?http://shop.strato.de/epages/61427429.sf/de_DE/?ObjectPath=/Shops/61427429/Categories/ZigBee/%22ATMEL%20ZigBit%22/%22ZigBee%20Module%22
Sollte brauchbar in deinen Preisrahmen passen (natürlich abhängig
davon, wie viele Autos du damit ausrüsten willst). Nachteilig ist
lediglich, dass du die Teile irgendwo auf eine Platine setzen musst,
um sie zu kontaktieren, sind halt reine Module. Programmieren geht
meines Wissens nur via JTAG (kein ISP), aber da man den ATmega1281 da
drauf ja nun auch mit einem AVR Dragon ganz offiziell sogar debuggen
kann, sollte das kein Hindernis mehr sein.
Die Devkits dafür sind leider wirklich schweineteuer :-(, und die
darin enthaltenen Meshbeans nützen dir am Ende nicht viel.
special swine flu schrieb:
> was passiert wenn zwei Kisten fast gleichzeitig ankommen...werden die> dann eindeutig auch zeitlich / Reihenfolge erfasst ?
Ist die Frage, was "fast" dabei ist. ;-) Eine Auflösung von
einigen Millisekunden sollte sich mit 802.15.4-Zugriffen realisieren
lassen. Ist die Frage, wie man den abfragenden Sender am Ziel so
platziert, dass er von den Empfängern in den Fahrzeugen erst dann
wahrgenommen wird, wenn er die Ziellinie erreicht. Wenn natürlich
wirklich beide gleichzeitig da sind, kann in der Antwort logischerweise
nur einer von beiden der erste sein. Man könnte natürlich im Daten-
paket, dass der Ziel-Sender für die Abfrage benutzt, noch einen Zeit-
stempel unterbringen, den der Empfänger zurück sendet. Dann wäre
zumindest der Fall eindeutig identifizierbar, dass zwei Empfänger
mit dem gleichen Zeitstempel antworten; in dem Fall müsste man das
Rennen wohl als "unentschieden" bewerten.
Jörg Wunsch schrieb:
> http://shop.strato.de/epages/61427429.sf/de_DE/?Ob...>> Sollte brauchbar in deinen Preisrahmen passen (natürlich abhängig> davon, wie viele Autos du damit ausrüsten willst). Nachteilig ist> lediglich, dass du die Teile irgendwo auf eine Platine setzen musst,> um sie zu kontaktieren, sind halt reine Module. Programmieren geht> meines Wissens nur via JTAG (kein ISP), aber da man den ATmega1281 da> drauf ja nun auch mit einem AVR Dragon ganz offiziell sogar debuggen> kann, sollte das kein Hindernis mehr sein.
Danke, ich kannte die Module tatsächlich noch nicht. Preislich auf jeden
Fall interessant, zumal man sich überlegen kann ob man nicht einfach nur
x Transponder baut die man dann eben dem nächsten Fahrer gibt um nicht
30 Stück (was etwa das Starterfeld ist) haben zu müssen.
Eigentlich ist das extrem bitter das die Teile mit einer so hohen
Reichweite nur 12 Euro kosten, RFID UHF Tags und Reader aber noch so
extrem teuer sind :-(
Und wie ich schon sehe scheint das Vorhaben nicht ganz triviel zu sein.
Ein ZigBee Empfänger kann immer nur mit einem Sender gleichzeitig
kommunizieren? Also es ist nicht so das der auch von mehreren Sendern
Daten empfängt und dann einfach puffert bis man sie abruft?
mistermoe schrieb:
> Ein ZigBee Empfänger kann immer nur mit einem Sender gleichzeitig> kommunizieren? Also es ist nicht so das der auch von mehreren Sendern> Daten empfängt und dann einfach puffert bis man sie abruft?
Nö, das würde auch gehen. Du solltest halt sinnvollerweise auf einem
Kanal bleiben, sonst musst du dir noch um Zeitsynchronisation Gedanken
machen. Es kann natürlich immer nur einer zu einem Zeitpunkt an einer
Stelle senden :), aber gerade bei 2,4 GHz kannst du wohl relativ
einfach mechanische Konstruktionen zimmern, die den jeweiligen Sender
auf einen kleinen räumlichen Bereich eingrenzen (wenn sie am Standort
des nächsten Senders infolge einer Reflektion nochmal 50 dB geringer
empfangbar sind, stört das nicht weiter).
Nur zur Klarstellung: ,,ZigBee'' willst du hier sicher eher nicht.
Das ist ein (nicht gerade unaufwändiges) Netzwerk- und Anwendungs-
protokoll auf ISO-Schicht 3...7. Du brauchst eigentlich gar keine
Netzwerkschicht, weil du nichts im Netz weiterleiten musst (routing),
die Schicht 2 (MAC genannt) kann auch ziemlich dünn ausfallen (ein
paar fest vergebene Adressen, eventuell lässt du die "Transponder"
gleich mit ihren 64-bit-MAC-Adressen arbeiten, oder du verteilst jedem
eine feste 16-bit-Adresse per EEPROM) und beschränkt sich im
Wesentlichen dann auf Dinge wie die CRC-Prüfung, ein Bestätigungs-
protokoll, das schon genannte CCA -- alles Funktionen, die bei diesen
Teilen bereits in der Hardware erledigt werden. Das ist von der
Schicht 1 (PHY) dann IEEE 802.15.4, von der Schicht 2 halt ein paar
Teile dieses Standards.
Was für dich dabei interessant sein könnte (tut mir leid, ist nicht
ganz eigenwerbungsfrei :) wäre µracoli:
http://www.nongnu.org/uracoli/
Das sollte alle wesentlichen Bausteine enthalten, aus denen du dir
deine Firmware zimmern kannst.
mistermoe schrieb:
> Theoretisch könnte dann auch sowas hier gehen?> http://atmel.com/dyn/products/product_card.asp?part_id=4636
Naja. :) Hast du dir das mal genau angesehen?
Erstens ist es nur ein Sender, kein Transceiver. Zweitens noch dazu
ein sehr simpel gestrickter. FSK-Modulation ja, aber wie? Indem
mit einem open drain ein Kondensator zum PLL-Quarz zu- und abgeschaltet
wird...
Davon abgesehen wäre es ja auch erstmal nur der reine IC. Der braucht
noch einiges ringsum, bevor man damit auch loslegen kann.
mistermoe schrieb:
> Theoretisch könnte dann auch sowas hier gehen?> http://atmel.com/dyn/products/product_card.asp?part_id=4636
Naja. :) Hast du dir das mal genau angesehen?
Erstens ist es nur ein Sender, kein Transceiver. Zweitens noch dazu
ein sehr simpel gestrickter. FSK-Modulation ja, aber wie? Indem
mit einem open drain ein Kondensator zum PLL-Quarz zu- und abgeschaltet
wird...
Davon abgesehen wäre es ja auch erstmal nur der reine IC. Der braucht
noch einiges ringsum, bevor man damit auch loslegen kann.
Ich glaube, das hauptsächliche Argument für diese ICs dürfte sein,
dass sie spottbillig zu haben sind, sodass sich für die eingesparten
paar Cent der Zirkus mit dem ,,Wir implementieren alles zu Fuß statt
in der Hardware'' wieder lohnt -- wenn man denn auch 100000 Geräte
davon verkaufen kann.
Danke für die Hinweise.
Im Moment heißt das also ZigBee mit Kanonen auf Spatzen schießen und
auch nicht allzu leicht umzusetzen und die billigen Atmel
Sender/Transceiver noch viel zu teuer zu implementieren.
Eigentlich bin ich jetzt fast noch mehr verwirrt wie vorher und tu mir
schwer da jetzt eine möglichst einfache/günstige Lösung zu finden die
sich dazu auch noch gut umsetzen lässt :(
mistermoe schrieb:
> Im Moment heißt das also ZigBee mit Kanonen auf Spatzen schießen und> auch nicht allzu leicht umzusetzen
Du musst doch kein ZigBee nehmen. Zigbit ist doch nur der Name dieser
Module, weil sie halt für ZigBee gebaut worden sind (und es auch einen
ZigBee-Stack dafür gibt). Du kannst die Firmware halt viel, viel
einfacher stricken. Ich habe neulich eine Fernsteuersoftware für eine
alte Werkhallenuhr gebaut. Ich brauchte ohnehin einen Modul mit
irgendeinem Controller, um die Impulse für die Uhr zu erzeugen, und
die Funkfernsteuerung bot sich an, damit man die Uhr nicht jedesmal
von der Wand holen muss, wenn man sie stellen oder anhalten will. Die
Kommunikation dabei habe ich mit dem schon genannten µracoli gemacht,
der zugehörige Quellcode umfasst ca. 2 x 100 Zeilen (jeweils für den
Handsender und den Empfänger in der Uhr). Bei mir waren es keine
Zigbits, sondern Module von Dresden Elektronik. Die sind etwas teurer,
aber boten sich hier an, weil sie alles zusammen eine Komplettlösung
einschließlich des Batteriefachs für den Handsender boten.
Ich will mal folgenden Vorschlag machen:
Jede Seifenkiste bekommt einen Quarzoszillator welcher mit einem
Teiler/uC auf eine Frequenz zwischen 8 und 9 kHz geteilt wird. Dann gibt
es noch eine kleine Endstufe um das Signal zu verstärken.
Das Signal wird auf eine Spule auf einem Ferritstab gegeben. Der Stab
ist quer zur Fahrtrichtung angebracht. Am Zieltor sind dann rechts und
links zwei große Spulen (so wie bei den Diebstalschutz bei Müller und
Co.) angebracht. Dort wird das Signal gefiltert und verstärkt und in
einen Soundkarteneingang gespeist.
Der PC hat dann eine Polyphasenfilterbank und, wenn man es noch genauer
haben will, auch noch ein Amplitudenschätzung. Über die Frequenz wird
das Fahrzeug zugeordnet und die (einhüllende) Amplitude hat beim
Durchfahren des Ziels eine dreieckförmige Form.
Bis 20 Seifenkisten sollte das ohne große Probleme funktionieren. Evt.
geht mit mehr Aufwand bei der Auswertung (steilere Filter) auch noch
mehr.
Viele Grüße,
Martin L.
Danke für die vielen Hinweise, mir ist noch eine weitere Idee gekommmen:
In Sportveranstaltungen werden "normale" RFID Tags verwendet die 10-20
cm Reichweite haben. Um überhaupt einen zuverlässigen Empfang zu
bekommen wenn der Läufer/Fahrrad etc. über Start/Ziel kommt verwendet
man dort wohl eine Art Band mit sehr vielen RFID Antennen, siehe Bilder
hier: http://en.wikipedia.org/wiki/Transponder_timing
Hat jemand Erfahrung mit sowas, bzw. weiß ob man das eventuell nachbauen
kann? Wenn man diese Empfänger Antennen günstig hinbekommt (es reichen
1.5 - 2 m Breite für die Seifenkisten) kann man auch günstige RFID
Empfänger/Transponder verwenden die zuverlässig funktionieren :)