man merkt, daß Du dich schon ne Weile damit beschäfftigt hast. Mein Plan war bisher, die ganzen Daten im Modell zu speichern. Auf sowas, wie den Vorschlag, die Daten im Modell zu speichern und sie beim Verbinden an den Sender zu übertragen, habe ich noch gar nicht gedacht. Bin mir auch nicht sicher, ob das auch wirklich nötig ist. Ich will meine Modelle mit meinem Sender steuern. Deine Lösung wär praktisch, wenn mehrere Leute auf die gleichen Modelle zugreifen könnten. Z.B. könnte ein anderer das Modell am anderen Ende des Tisches übernehmen. Sowas stell ich erstmal zurück, kommt dann später, wenn die Grundfunktion paßt.
Was natürlich super wäre, wenn der Sender eine freie Frequenz finden könnte, diese ans Modell sendet und beide danach dorthin wechseln. Hab dazu aber nichts im Datenblatt gelesen. Was aber m.M.n. eindeutig sein sollte, ist die 5-Byte große Empfängeradresse.
Hast Du schon die Funktion "W_ACK_PAYLOAD" entdeckt? Damit sendet der Empfänger mit dem Auto-ACK auch noch bis 32 Bytes an Daten zurück, z.B. für die Modell-Akkuspannung.
Hab heute mal ausgemessen, wie oft mein Sender Daten sendet, also Potis auslesen, Umrechnung durch die 3-Punkt-Gaskurven, Schalter auslesen und zum Empfänger übertragen. Bin dabei auf eine Rate von 16 Durchläufe pro Sekunde gekommen. Reicht das? Denke da an die 25 Einzelbilder beim Fernsehen. Muß ich wohl noch weiter optimieren.
Sind Deine Platinen eigentlich einseitig gelayoutet? Meine habe ich einseitig gemacht, musste dazu aber die Standart-SPI-Pins verlassen, wollte Soft-Spi Nutzen. Jetzt hat sich aber ergeben, daß diese nicht funktioniert. Mist. Muß also auf Hard-SPI wechseln und die Platinen müssen zweiseitig gelayoutet werden.
klar, das mit den Daten übertragen kommt erst später dazu. Genau das mit mehreren Leuten und übernehmen hatte ich damit auch angedacht, weiß aber garnicht, ob des gewünscht ist, ich mein, lasst ihr gerne jemand anderes euer Modell übernehmen? Und dass man selber 2 Sender hat macht garkeinen Sinn. Also eher ein optionales Feature.
Zu dem freien Kanal finden: ich meine ich hab im Datenblatt was von einem RSSI (oder so) Byte gelesen, weis nicht ob das dafür gedacht ist. Aber man könnte es auch folgendermaßen machen: Die Module (Sender und Empfänger) bekommen alle eine (dieselbe einzigartige) Adresse eingestellt (es gehen ja bis zu fünf oder sechs). Wenn jetzt ein Modul überprüfen will, ob ein Kanal frei ist, dann sendet es an ebendiese Adresse ein paar Pakete und wartet eine gewisse Zeit auf eine Antwort. Empfängt jetzt ein anderes Modul dieses Paket, muss es halt eine kurze Antwort generieren, so ähnlich wie bei nem ping. Wenn keine Antwort kommt, dann ist die Frequenz frei. Auf dieses "Frequenzblegungsanfragenpaket" sollte jeder antworten, also Sender wie Modell.
Das W_ACK_PAYLOAD ist mir nicht aufgefallen, sehs mir aber mal an. Gute Idee mit der Spannungsabfrage, muss man bloß in der Empfängerhardware vorsehen, was ich auch vor hatte.
22 Aktualisierungen in der Sekunde müssten locker reichen.
Also, ich route meine Platinen gleich zweiseitig, einseitig kommt man in der Größe und dem Funktionsumfang überhauptnichtmehr hin. Bis jetzt hab ich noch die Hardwarepins vorgesehen, aber wenns sein muss ändert sich das auch. Aber hoffentlich nicht, das Hardwaremodul ist einfach effektiver.
prinzipiell würde deine Variante der Kanalabfrage funktionieren. #Allerdings setzt das voraus, das sich auf diesem Kanal nur Empfänger deiner Bauart befinden, die auf dein Packet antworten können. Solltest du mal den Fall haben das ein Modul mit der selben Frequenz aber einer anderen Software befindet, ist der Kanal auch belegt aber du merkst es nicht, da der andere Empfänger ja nicht weis was er mit deinem Datenpacket anfangen soll.
andere Möglichkeit, um einen geeigneten Kanal zu finden: Im RFM gibt´s ja die Möglichkeit des "Automatic Retransmission". Dies wird genutzt, falls mal kein ACK zurückkommt. Es lässt sich konfigurieren, wie oft er einen erneuten Sendeversuch starten lässt. Wird die max. Wiederholungsanzahl erreicht, wird ein Interrupt ausgelöst. Folgendes Vorgehen: Nach dem Verbinden wird auf eine zufällige Frequenz gewechselt, die der Sender an den Empfänger sendet. Dort könnte dann der Sender auswerten, wie oft dieser Interrupt passiert und wie oft er korrekt senden konnte. Bei schlechter Verbindung könnte er dann dem Empfänger anweisen, ab jetzt auf Frequenz X zu wechseln. Gleiches Spiel auf der neuen Frequenz nochmal. Entweder es funktioniert oder es wird wieder weitergewechselt. Verlieren sich die 2, könnte man nach bestimmter Zeit zurück auf die Frequenz wechseln, die zum Verbinden am Anfang genutzt wird.
Ich glaube aber, daß sicherlich mehrere Modelle auf der gleichen Frequenz nebenher betrieben werden können.
Wenn Sie hier auf Links zu eBay klicken und einen Kauf tätigen, kann dies dazu führen, dass diese Website eine Provision erhält.
Zitat von michael93Weißt du jemanden oder eine Firma, der/die halbwegs bezahlbar 2-seitige Platinen mit 0,5mm Basismaterial macht?
Hi,
hab mal einen Hersteller für 0,5er Platinen gesucht. Bei den üblichen Verdächtigen scheiterts leider an der Mindestbestellmenge, oder die sind schweineteuer. Was ich so gefunden habe würden wir hier am günstigsten wegkommen: Werbung: http://www.ebay.de/itm/Platinen-Leiterpl...=item413e6f6cec 30€ + 4,80€ Versand + X für die 0,5er Materialdicke. Ich schätz mal 50€ für 10x10cm. Macht ca. 30 Einzelplatinen mit 13x17mm
Gruß Gerhard
Mit diesem Beitrag wurden folgende Inhalte verknüpft
bei MME (Hier die originalseite: http://www.mme-pcb.com ) gibt es für Platinen mit 0,5mm dicke einen Mindestbestellwert von 2,5dm, das wären ca. 75€, also nicht so geeignet. Von der Qualität her sollen die gut sein, die Lieferzeit aber oft doppelt so lang wie angegeben.
Als erstes muss ich aber mal die Module zum funken bringen, und da komme ich in den nächsten 1-2 Wochen nicht dazu. Deshalb mal kein Stress mit Platinen.
Wenn man normales 1,5mm Material nehmen würde (zumindest für die ersten Prototypen), dann würde ich auch gleich noch einen neuen Sender designen und auch fertigen lassen. Aber das braucht noch Zeit.
und schon wieder ist fast ein Monat vergangen. Von mir mal ein Update. Habe mittlerweile den Empfänger fertig. Auf der Platine (selbstgeätzt, Einlagig), die nur minimal größer als das RFM-Modul ist, werkelt ein Atmega8 in TQFP (war grad übrig). Nächste Version wird dann wohl zweiseitig werden. Nachdem ich gestern die Software fertig gemacht habe (nur fahren und lenken), hab ich die Platine heute auf meinen "Versuchsträger" geschnallt. Und ich muß sagen: es funktioniert auf Anhieb besser als erwartet Der verwendete Lipo hatte 3,7 Volt, die RFM sind bis 3,6 Volt angegeben. Werde morgen mal den Lipo laden, um zu testen, was mit vollen 4,2 Volt passiert. Der Stromverbrauch scheint sich auch in Grenzen zu halten. Bin gut 10 Minuten spazieren gefahren (viel Vollgas-Anteil), wobei die Akkuspannung nur um 0,13 Volt abgefallen ist.
Wie es weiter geht: - ein ordentliches Modell bauen, daß man auch herzeigen kann - Licht programmieren (Licht, Blinker, Bremslicht, Blaulicht, Rückfahrscheinwerfer...) - Überwachen ob die Funkstrecke funktioniert, Abschalten des Modells bei Ausfall - Akkuspannungsüberwachung des Modells und Übertragung an Sender (ist auf Platine schon vorgesehen) - Expo-Funktion für Gaskanal testen - und noch so einige Hirngespinnste
@Michael: wie gehts Dir eigentlich mit den RFM?
Gruß Gerhard
Angefügte Bilder:
Aufgrund eingeschränkter Benutzerrechte werden nur die Namen der Dateianhänge angezeigt Jetzt anmelden! 26102011429.jpg
soweit es die Zeit zu läßt, werde ich mich auch daran machen, den Sender einmal nach zu bauen. Da mir aber das Gehäuse der normalen Sender nicht wirklich gefällt und ich auch keinen viereckigen Kasten haben möchte, habe ich das Platinenlayout etwas geändert. Nun sollte das ganze in einen X-Box Controller passen. Die Platine ist fast fertig gezeichnet und geroutet. Denke, das ich in naher Zukunft zum Ätzen der Platine kommen werde. Leider ist es eine zweiseitige Platine geworden! Bin sehr gespannt ob das alles so funktioniert wie es funktionieren soll. Anbei mal ein Screenshot vom aktuellem Stand der Dinge. Grüße Oliver
PS: alle Schalter ,Potis und Regler werden direkt auf die Platine gelötet. Somit entfällt das Einkleben ins Gehäuse!!!
Angefügte Bilder:
Aufgrund eingeschränkter Benutzerrechte werden nur die Namen der Dateianhänge angezeigt Jetzt anmelden! Siku_Sender.png
ich weiß nicht, in wie weit es bisher ersichtlich war, darum folgende Info um Mißverständnisse zu vermeiden: für die Navigation im Menü habe ich Taster verwendet, für das Schalten der Lichtfunktionen hab ich richtige Schalter verwendet.
danke für den Hinweis!!! Da werde ich mir wohl noch was überlegen müssen. Denn richtige Schalter sind momenten nicht vorgesehen außer zum Ein- und Ausschalten! Muss mal schauen ob es nicht Taster mit Haltefunktion (Kugelschreiberprinzip) gibt oder wie ich das anders realisieren kann. Denn ein Schalter ist bei so einen Kontroller nicht so praktisch! Grüße Oliver
Habe da noch ein paar Tipps. Soweit ich es sehen kann, sind dort einige Durchkontaktierungen unter dem Mikrocontroller. Ich würde sie, wenn es irgendwie möglich ist, vor dem Controller platzieren. Ich hatte nämlich schon einmal das Problem, dass ich den Controller dann nicht exakt auflöten konnte, da er durch die Durchkontaktierung "fliegende" Beinchen hatte. Das gleiche würde ich auch bei dem 6-poligen Wannenstecker machen .
Lässt Du dann die Platine später professionell ätzen?