barney Geschrieben 15. Juni 2015 Autor Geschrieben 15. Juni 2015 Hi ToniGadget, das sieht schon recht krank aus. Die Asphalt Temperaturmessung kannst du weglassen, die hat sich nicht bewährt. :mad: Die Parameter sind alle in der BamBam_custom_settings.h aufgelistet. Dort ist der Parametername, der Wert und der Wertebereich sichtbar. Ich habe es aber bis heute nicht geschafft, die Parameter variabel und speicherbar zu machen. (Ich hoffe es kommt jetzt kein kluger drauf mir zu schreiben, mache aus #define ein int_32...., dass ist mir auch klar.) Die Variablen müssen in das Flash ROM geschrieben werden und da bin ich noch nicht ganz glücklich mit der Vorgehensweise. Und Zeit für eine Lösung habe ich momentan auch nicht. Aber nur vom Aufwand her, bitte nicht schlagen oder sauer sein, wenn der Teensy mit dem Banana Pi reden kann (per BT), dann ist die Programmierung mittels Webseite angedacht. Oder wer kein Handy benutzen möchte, kann an den Banana Pi mit einem günstigen Touch Display versehen und dort den lokalen Web-Browser zum Parametrieren einsetzen. Da muss dann auch keiner was löten, nur Module zusammenstecken. -> Wollte ich nur mal gesagt haben - abgeduckt und weg - Viele Grüße Barney Zitieren
ToniGadget Geschrieben 15. Juni 2015 Geschrieben 15. Juni 2015 (bearbeitet) Hi Barney, ...Aber nur vom Aufwand her, bitte nicht schlagen oder sauer sein, wenn der Teensy mit dem Banana Pi reden kann (per BT), dann ist die Programmierung mittels Webseite angedacht... Barney Keine Bange, ich bin eh einer von der ruhigeren Sorte... Und konstruktiver Kritik bin ich noch nie böse gewesen ! Es ist auch eher für jene gedacht die nicht "voll Aufrüsten" wollen oder ihr geliebtes Smartphone nicht gerne auf einem "Ritt" mit dem E-Skateboard mitnehmen möchten (z.B. wegen Displaybruchgefahr bei Hardcoreabstieg...) Zudem ist ohne viel firlefanz schnell und direkt der ein oder andere Wert angepasst. Gerade in der Anfangsphase oder bei Setup-Änderungen (Akku, Motor, Untersetzung...) am E-Skateboard. Die Endversion soll ein Nokia 5110 LCD Display mit Hintergrundbeleuchtung haben und sich mit einer Kette oder Kordel um den Hals tragen lassen! Eventuell im "Ruhezustand" mit Geschwindigkeitsanzeige (aktuell und Vmax), zurückgelegte Wegstrecke, Motor- & Akku Temp... bearbeitet 15. Juni 2015 von ToniGadget Zitieren
barney Geschrieben 15. Juni 2015 Autor Geschrieben 15. Juni 2015 Hi ToniGadget und die Parameter schon gesichtet. Sind da noch Fragen offen? VG Barney Zitieren
barney Geschrieben 15. Juni 2015 Autor Geschrieben 15. Juni 2015 Hi Dude, ich lade mir gleich deine aktuelle Version runter. Hast du dir das Flash-Konzept für Variablen angesehen? Viele Grüße Barney Zitieren
Dude Geschrieben 15. Juni 2015 Geschrieben 15. Juni 2015 Hi Dude, ich lade mir gleich deine aktuelle Version runter. Hast du dir das Flash-Konzept für Variablen angesehen? Viele Grüße Barney Nö, hab ich nicht ich bin gerade völlig begeistert und maximal gefordert die ganze Banana-Pro Geschichte aufzusetzen. Lernkurve hat maximale Steigung, hoffe ich rutsche nicht ab :arf: Btw, Kai ... Du wolltest noch die Umschaltung AP/WLAN etc. ins Git stellen. Ich freu mich schon, wenn der Lautsprecher am Banana aus dem Rucksack einem mitteilt, dass gerade auf DirectDrive geschaltet wurde und man genau weiß, jetzt haut's mich :thumbsup: Zitieren
ToniGadget Geschrieben 15. Juni 2015 Geschrieben 15. Juni 2015 Hi Barney, und die Parameter schon gesichtet. Sind da noch Fragen offen? Nope, aber die werde ich schon finden. Sollten ja alle im "void setup" stehen. Ansonsten weiß ich ja wo ich fragen kann ! Zitieren
barney Geschrieben 16. Juni 2015 Autor Geschrieben 16. Juni 2015 Nö, hab ich nicht ich bin gerade völlig begeistert und maximal gefordert die ganze Banana-Pro Geschichte aufzusetzen. Lernkurve hat maximale Steigung, hoffe ich rutsche nicht ab :arf: Btw, Kai ... Du wolltest noch die Umschaltung AP/WLAN etc. ins Git stellen. Ich freu mich schon, wenn der Lautsprecher am Banana aus dem Rucksack einem mitteilt, dass gerade auf DirectDrive geschaltet wurde und man genau weiß, jetzt haut's mich :thumbsup: Das mit der Sprachausgabe hätte letzte Woche wirklich helfen können. Ich hatte einen überhitzten ESC. @Dude: Damit ToniGadget, Kai sowie du die BT-Ausgabe besser auswerten könnt, soll ich vor den Werten einen zweistelligen Bezeichner unterbringen? 32.14;40.12;26.354;5.674;124.45;26.54 Ist ja nicht wirklich aussagekräftig -> besser T132.14;T240.12;U026.354;I05.674;P0124.45;L026.54 T1: Temperatursensor 1 T2: Temperatursensor 2 U0: Akkuspannung (ich benötige U1 bis U12 für die Akkueinzelanzeige, die noch kommt) I0: Gesamtstrom P0: Momentanleistung L0: Summierte Leistung über die Fahrzeit Zitieren
barney Geschrieben 16. Juni 2015 Autor Geschrieben 16. Juni 2015 - Korrekturpolynom fuer 42,9 V Messbereich ergänzt Und Dude, bist du mit dem Messergebnis zufrieden? Hat es sich deutlich verbessert? Zitieren
ToniGadget Geschrieben 16. Juni 2015 Geschrieben 16. Juni 2015 (bearbeitet) Hi Barney, ich hatte mir auch schon Gedanken gemacht wie man den Datenaustausch regeln kann. Meine Überlegung ging dahin das der BamBam-Controller (BBC) ein festes Protokoll ständig sendet. Dieses beinhaltet dann alle Größen der aktuellen ständig veränderlichen Werte. Also Livedaten wie z.B. Temp, Volt, Ah, Geschwindigkeit und so weiter. Dieses wird einfach immer und immer wieder über den BT-Äther gesendet. Dann ein zweites Protokoll welches nur dann mit ausgesendet wird wenn eine Anforderung Empfangen wurde. Wenn z.B. Dude, Kai oder ich ein #? senden kommen alle internen Werte wie Beschleinigungskurvenfaktor (Werte 95-155), max. Endgeschwindigkeit (8-35Km/h), Hase-Igel (Hase=1, Igel=0) Modus usw. als Protokoll --> #;122;17;0. Diese können dann über Smartphone, BananaPi oder auch der DSU empfangen werden, geändert und per Protokoll wieder als Werte an den BBC gesendet werden. --> #!;150;30;1 DSU sendet an den BBC: #? = Datenprotokollanfrage BBC antwortet mit: # = Datenprotokoll DSU sendet geänderte Daten an den BBC die nun Gültigkeit haben sollen: #! = BBC übernimmt geänderte Daten Ein ganzes Protokoll ist bei 115200baud schnell gesendet und der BBC wird nicht durch explizite Anfragen die erst in einer aufwendigen Logikprogrammierung analysiert werden müssen ausgebremst. Spart uns allen eine Menge Programmierarbeit und dem BBC wichtige Rechen-Ressourcen. Was halltet ihr, Barney, Dude und Kai davon ? bearbeitet 16. Juni 2015 von ToniGadget Zitieren
barney Geschrieben 16. Juni 2015 Autor Geschrieben 16. Juni 2015 Hi Barney, ich hatte mir auch schon Gedanken gemacht wie man den Datenaustausch regeln kann. Meine Überlegung ging dahin das der BamBam-Controller (BBC) ein festes Protokoll ständig sendet. Dieses beinhaltet dann alle Größen der aktuellen ständig veränderlichen Werte. Also Livedaten wie z.B. Temp, Volt, Ah, Geschwindigkeit und so weiter. Dieses wird einfach immer und immer wieder über den BT-Äther gesendet. Dann ein zweites Protokoll welches nur dann mit ausgesendet wird wenn eine Anforderung Empfangen wurde. Wenn z.B. Dude, Kai oder ich ein #? senden kommen alle internen Werte wie Beschleinigungskurvenfaktor (Werte 95-155), max. Endgeschwindigkeit (8-35Km/h), Hase-Igel (Hase=1, Igel=0) Modus usw. als Protokoll --> #;122;17;0. Diese können dann über Smartphone, BananaPi oder auch der DSU empfangen werden, geändert und per Protokoll wieder als Werte an den BBC gesendet werden. --> #!;150;30;1 DSU sendet an den BBC: #? = Datenprotokollanfrage BBC antwortet mit: # = Datenprotokoll DSU sendet geänderte Daten an den BBC die nun Gültigkeit haben sollen: #! = BBC übernimmt geänderte Daten Ein ganzes Protokoll ist bei 115200baud schnell gesendet und der BBC wird nicht durch explizite Anfragen die erst in einer aufwendigen Logikprogrammierung analysiert werden müssen ausgebremst. Spart uns allen eine Menge Programmierarbeit und dem BBC wichtige Rechen-Ressourcen. Was halltet ihr, Barney, Dude und Kai davon ? Hi ToniGadget, der Teensy sendet derzeit im Sekundentakt diese Daten. Die Auswertung der aktiven Anfrage ist für ein 96 MHz Prozessor kein Thema, aber der Teensy wird durch die Routinen der Seriellen Kommunikation ausgebremst. Heißt, wenn der Teensy Daten versendet, macht er nichts anderes, bis der Serielle Buffer meldet, er hat alles versendet. Das ist großer Mist, aber der Arduino Vereinfachung geschuldet. Daher kommuniziert der Teensy mit dem BT-Modul mit 230400 Baud. Dies verkürzt die Kommunikationszeit und gibt den Teensy schneller wieder frei. Eine Auswerte Routine habe ich schon für den BamBam Sender vor ein Jahr gebastelt. Diese könnte man hier sicher einsetzen. Externe Links nur für Mitglieder sichtbar Wie gesagt, ich muss die Parameter noch ins Flash bekommen, damit diese Persistent sind. Viele Grüße Barney Zitieren
Dude Geschrieben 16. Juni 2015 Geschrieben 16. Juni 2015 Das mit der Sprachausgabe hätte letzte Woche wirklich helfen können. Ich hatte einen überhitzten ESC. @Dude: Damit ToniGadget, Kai sowie du die BT-Ausgabe besser auswerten könnt, soll ich vor den Werten einen zweistelligen Bezeichner unterbringen? 32.14;40.12;26.354;5.674;124.45;26.54 Ist ja nicht wirklich aussagekräftig -> besser T132.14;T240.12;U026.354;I05.674;P0124.45;L026.54 T1: Temperatursensor 1 T2: Temperatursensor 2 U0: Akkuspannung (ich benötige U1 bis U12 für die Akkueinzelanzeige, die noch kommt) I0: Gesamtstrom P0: Momentanleistung L0: Summierte Leistung über die Fahrzeit Ich weiß noch nicht, ob das nötig ist. Wenn das Protokoll feststeht wissen Sender/Empfänger welche Werte kommen. Andererseits hätte man mit einem Identifier mehr Möglichkeiten. Dann würde ich mich aber gleich an einem Standard wie xml orientieren. Zitieren
barney Geschrieben 16. Juni 2015 Autor Geschrieben 16. Juni 2015 Ich weiß noch nicht, ob das nötig ist. Wenn das Protokoll feststeht wissen Sender/Empfänger welche Werte kommen. Andererseits hätte man mit einem Identifier mehr Möglichkeiten. Dann würde ich mich aber gleich an einem Standard wie xml orientieren. XML: Auf dem Handy nicht mehr lesbar und die gleiche Argumentation wie an ToniGadget gerichtet. Die Übertragung blockiert den Teensy. Daher so kurz wie möglich. Sorry, dann geht nur noch die USB-Schnittstelle mit 12 MBit/s. Oder ihr schreibt eine neue serielle Kommunikation mit IRQ Handler. Es ist wirklich unglaublich eine Serielle Kommunikation zu schreiben, die einen 96 MHz Prozessor ausbremst. Der 8 Byte Buffer im Teensy bringt mich da auch nicht weiter. Erst wenn Buffer leer, dann darf weiter gemacht werden. Nicht nebenläufiger Prozess. Edit: Externe Links nur für Mitglieder sichtbar Zitieren
Dude Geschrieben 16. Juni 2015 Geschrieben 16. Juni 2015 Hi Barney, ich hatte mir auch schon Gedanken gemacht wie man den Datenaustausch regeln kann. Meine Überlegung ging dahin das der BamBam-Controller (BBC) ein festes Protokoll ständig sendet. Dieses beinhaltet dann alle Größen der aktuellen ständig veränderlichen Werte. Also Livedaten wie z.B. Temp, Volt, Ah, Geschwindigkeit und so weiter. Dieses wird einfach immer und immer wieder über den BT-Äther gesendet. Dann ein zweites Protokoll welches nur dann mit ausgesendet wird wenn eine Anforderung Empfangen wurde. Wenn z.B. Dude, Kai oder ich ein #? senden kommen alle internen Werte wie Beschleinigungskurvenfaktor (Werte 95-155), max. Endgeschwindigkeit (8-35Km/h), Hase-Igel (Hase=1, Igel=0) Modus usw. als Protokoll --> #;122;17;0. Diese können dann über Smartphone, BananaPi oder auch der DSU empfangen werden, geändert und per Protokoll wieder als Werte an den BBC gesendet werden. --> #!;150;30;1 DSU sendet an den BBC: #? = Datenprotokollanfrage BBC antwortet mit: # = Datenprotokoll DSU sendet geänderte Daten an den BBC die nun Gültigkeit haben sollen: #! = BBC übernimmt geänderte Daten Ein ganzes Protokoll ist bei 115200baud schnell gesendet und der BBC wird nicht durch explizite Anfragen die erst in einer aufwendigen Logikprogrammierung analysiert werden müssen ausgebremst. Spart uns allen eine Menge Programmierarbeit und dem BBC wichtige Rechen-Ressourcen. Was halltet ihr, Barney, Dude und Kai davon ? my 2 cent: Während der Fahrt würde ich lediglich Werte zur Information über BT an den Pi versenden und keine Änderungen machen lassen. Ausgabe via WebBrowser. Änderungen hinsichtlich Steuerung (Hase/Igel; Direct/Tempomat) während der Fahrt bleiben wie gehabt Sache des Nunchuk. Zur Änderung von Steuerparametern (aus Komfortgründen auch via Webapplikation) würden die Parameterfiles entsprechend geändert und dann mittels Teensyduino-Kommandozeilen auf den Teenys geflasht. Dafür wäre aktuell noch eine USB-Kabelverbindung notwendig. Ich hatte das bislang als unkritisch eingeschätzt, da diese Änderungen nur sehr selten gemacht werden. Falls Ihr da anderer Meinung seid, müsste man das nochmals überdenken ... Zitieren
Dude Geschrieben 16. Juni 2015 Geschrieben 16. Juni 2015 Und Dude, bist du mit dem Messergebnis zufrieden? Hat es sich deutlich verbessert? Differenzwerte zwischen Messwert und tatsächlicher Spannung haben bei 25 V eine seltsame Nichtlinearität - mit dem Korrekturpolynom hab ich's aber einigermaßen hinbekommen. Ich leg bei Gelegenheit die xls mit den Sourcen ins Git, dann kann sich jeder die Qualität der Korrektur ansehen. Ich denke es sihet ganz gut aus, wäre aber auf Dein Urteil als Experte gespannt. Zitieren
barney Geschrieben 16. Juni 2015 Autor Geschrieben 16. Juni 2015 Zur Änderung von Steuerparametern (aus Komfortgründen auch via Webapplikation) würden die Parameterfiles entsprechend geändert und dann mittels Teensyduino-Kommandozeilen auf den Teenys geflasht. Dafür wäre aktuell noch eine USB-Kabelverbindung notwendig. Ich hatte das bislang als unkritisch eingeschätzt, da diese Änderungen nur sehr selten gemacht werden. Falls Ihr da anderer Meinung seid, müsste man das nochmals überdenken ... Die USB-Kommunikation war auch ein Ansatz von Kai! Macht auch Sinn. Willst du auf dem Banana Pi den Teensy kompilieren? :skep: Zitieren
ToniGadget Geschrieben 16. Juni 2015 Geschrieben 16. Juni 2015 Hi Barney, OK, dann werde ich meine DSU auch auf 230400baud umstellen. Wie gesagt, ich muss die Parameter noch ins Flash bekommen, damit diese Persistent sind. Keine Eile, ich habe auch nur sehr begrenzt Zeit um meinen DSU-Kram auf die Reihe zu bekommen. :smilewinkgrin: Aber das mit der Abwicklung #, #!, #? geht so in Ordnung? Liebe Grüße aus dem hohen Norden Toni Gadget Zitieren
Dude Geschrieben 16. Juni 2015 Geschrieben 16. Juni 2015 Willst du auf dem Banana Pi den Teensy kompilieren? :skep: Logo - ich hab's aber noch nicht probiert Zitieren
Dude Geschrieben 17. Juni 2015 Geschrieben 17. Juni 2015 Differenzwerte zwischen Messwert und tatsächlicher Spannung haben bei 25 V eine seltsame Nichtlinearität - mit dem Korrekturpolynom hab ich's aber einigermaßen hinbekommen. Ich leg bei Gelegenheit die xls mit den Sourcen ins Git, dann kann sich jeder die Qualität der Korrektur ansehen. Ich denke es sieht ganz gut aus, wäre aber auf Dein Urteil als Experte gespannt. xls im Git 1 Zitieren
barney Geschrieben 18. Juni 2015 Autor Geschrieben 18. Juni 2015 Aber das mit der Abwicklung #, #!, #? geht so in Ordnung? Ich würde erst mal ja sagen. Sollte sich umsetzen lassen. Zitieren
Dude Geschrieben 19. Juni 2015 Geschrieben 19. Juni 2015 Hi Barney, Beatbuzzer, et.al. kann ich eigentlich den PWM-Ausgang vom Teensy zur Ansteuerung des ESC's einfach parallel auf zwei separate ESC's (gleiche Einstellungen) drauf geben wenn ich 2 Motoren mit demselben PWM-Signal ansteuern möchte oder ist ein echter Dual-ESC (den ich nicht habe) völlig anders aufgebaut?? Danke Dude Zitieren
barney Geschrieben 19. Juni 2015 Autor Geschrieben 19. Juni 2015 Hi Barney, Beatbuzzer, et.al. kann ich eigentlich den PWM-Ausgang vom Teensy zur Ansteuerung des ESC's einfach parallel auf zwei separate ESC's (gleiche Einstellungen) drauf geben wenn ich 2 Motoren mit demselben PWM-Signal ansteuern möchte oder ist ein echter Dual-ESC (den ich nicht habe) völlig anders aufgebaut?? Danke Dude Ja! Aber auf der Leiterplatte sind zwei getrennte Anschlüsse, die derzeit den selben Wert ausgeben. VG Barney 1 Zitieren
barney Geschrieben 29. Juni 2015 Autor Geschrieben 29. Juni 2015 (bearbeitet) Kleine Neuigkeiten vom Compiler: Arduino: 1.6.5r2 Teensyduino: 1.2.4 adc->setReference(ADC_REF_EXT, ADC_0); Externe Links nur für Mitglieder sichtbar Dann freut sich auch der neue Compiler. Jetzt auch im GIT bearbeitet 29. Juni 2015 von barney Zitieren
barney Geschrieben 29. Juni 2015 Autor Geschrieben 29. Juni 2015 xls im Git Hi Dude, ich komme nicht so schnell nach. Die 12S Leiterplatte wird doch recht SMD-lastig. Wenn ich nur 0805 verwenden könnte.... Ich werde mir deine Version bald aufspielen und testen. Ich kämpfe derzeit mit meinen Nunchucks. Akkus sind scheinbar hinüber. VG Barney Zitieren
Dude Geschrieben 29. Juni 2015 Geschrieben 29. Juni 2015 Kleine Neuigkeiten vom Compiler: Arduino: 1.6.5r2 Teensyduino: 1.2.4 adc->setReference(ADC_REF_EXT, ADC_0); Externe Links nur für Mitglieder sichtbar Dann freut sich auch der neue Compiler. Jetzt auch im GIT Ist dafür was im Code anzupassen - dann würde ich das mit meiner Version mergen? Zitieren
barney Geschrieben 29. Juni 2015 Autor Geschrieben 29. Juni 2015 Ist schon im Git zu sehen. Suche nur die zwei Zeilen, wo setReference vorkommt. Zitieren
Empfohlene Beiträge
Tritt dem Gespräch bei
Du kannst jetzt posten und dich später registrieren. Wenn du bereits einen Account hast kannst du dich hier anmelden.