Dude Geschrieben 17. August 2014 Geschrieben 17. August 2014 Hallo Barney, hab da was komisches bemerkt, kannst Du bitte prüfen ob dies bei Dir auch so passiert:devil:: 1. niedrige bis mittlere Geschwindigkeit über den Nunchuck einstellen, nur noch Z-Taste gedrückt halten und nicht weiter beschleunigen 2. Strommessung über Poti langsam hochdrehen ... bei so ca. 35 A beschleunigt der Motor, die Stromanzeige geht auf 40 A und erst wenn ich den Poti weiter aufdrehe wird am Ende abgeregelt 3. Nice! Ich denke, dass sich da der Hovermodus für den Skater einschaltet - für ungeübte wie mich kann das ins Auge gehen. Gib mit bitte Bescheid, ob Du ähnliches beobachtest. VG Dude Zitieren
barney Geschrieben 21. August 2014 Autor Geschrieben 21. August 2014 Hallo Barney, hab da was komisches bemerkt, kannst Du bitte prüfen ob dies bei Dir auch so passiert:devil:: 1. niedrige bis mittlere Geschwindigkeit über den Nunchuck einstellen, nur noch Z-Taste gedrückt halten und nicht weiter beschleunigen 2. Strommessung über Poti langsam hochdrehen ... bei so ca. 35 A beschleunigt der Motor, die Stromanzeige geht auf 40 A und erst wenn ich den Poti weiter aufdrehe wird am Ende abgeregelt 3. Nice! Ich denke, dass sich da der Hovermodus für den Skater einschaltet - für ungeübte wie mich kann das ins Auge gehen. Gib mit bitte Bescheid, ob Du ähnliches beobachtest. VG Dude Hi Dude, ich habe es geschafft, die Programmierung meines Motorreglers völlig zu verstellen. Dies ist mir in der frühen Experimentierphase mit der Schottky-Diode passiert. Jetzt muss ich mir die Programmierkarte von Chrizz leihen. VG Barney Zitieren
barney Geschrieben 21. August 2014 Autor Geschrieben 21. August 2014 Abfrage: Gibt es Interessenten, die eine Leiterplatte (ohne Bestückung!!!) haben wollen? Ich würde die Leiterplatte zentral beschaffen und dazu den Teensy 3.1, sowie den Spannungsregler und das BT-Modul um die Kosten für die Beschaffung dieser Teile zu drücken. Folgende Kosten macht eine maximale Bestückung aus: Kostenaufstellung: 1 x Leiterplatte 12,66 € 1 x LC78_1.0A 3.3V 09,19 € 1 x Teensy 3.1 17,80 € 1 x HC-05 06,20 € 3 x LED 3mm 2mA 00,48 € 1 x Platinensteckv 2pol 00,50 € 1 x Platinensteckv 3pol 00,60 € 2 x PC503 00,70 € 1 x Stiftl.1x50p 90'f 00,67 € 1 x Stiftl.1x12pol 180' 00,25 € 1 x Stiftleiste 2x7pol 00,25 € 1 x Präzisionsso DIL08 00,25 € 1 x Z-Diode 15V 0,5W 00,60 € 1 x Dual-Koppler 5kV 00,60 € 2 x IRLR 2905 Z 01,76 € 1 x Jumper m.Grifflasc 00,10 € 2 x Platinensteckv 3pol 01,12 € 15 x Widerstände 00,75 € 5 x 100nF-50V 10% X7R 00,40 € 1 x 22uF-50V 6,3x11mm 00,20 € 1 x 10uF-63V 5x11mm 00,20 € 2 x SIL-Stecker 20p 01,80 € 1 x SIL-Sockelstre 32p 00,88 € 1 x Nunchuck 12,00 € 1 x Shottkey Diode 0,30 € 1 x 1N4004 Diode 0,30 € optional Temperaturmessung 2 x DS18x20 04,60 € optional Strommessung 1 x ACS756-200 14,50 € ------------------------------- Summe 90,36 € Strom und Temperaturmessung ist optinonal. Bestückungszeit der Leiterplatte ca. 3 Stunden mit dem richtigen Lötkolben. Ist eine unverbindliche Abfrage, um zu sehen, ob überhaupt ein Interesse vorliegt. Werde diese bis zum 01.09.2014 laufen lassen. VG Barney Zitieren
barney Geschrieben 22. August 2014 Autor Geschrieben 22. August 2014 Ergänzung zur Abfrage: Flubber hatte den wichtigen Hinweis, die verschiedenen Bestückungsmöglichkeiten näher zu erklären. Die vorherige Kostenaufstellung war die "ich will alles" Variante. Es geht auch: 1. Ich will nur steuern (Motorstellern HV-Regler mit eingebauten Optokoppler): 1 x Leiterplatte 12,66 € 1 x LC78_1.0A 3.3V 09,19 € 1 x Teensy 3.1 17,80 € 1 x Nunchuck 12,00 € 1 x Shottkey Diode 00,30 € 1 x 1N4004 Diode 00,30 € 1 x LED rot 00,16€ 1 x Widerstand 00,05€ 1 x Stiftleiste 00,67€ 2. Ich will nur steuern (Motorsteller ohne eingebauten Optokoppler): kommt zu 1 dazu: 1 x Präzisionsso DIL08 00,25 € 1 x Dual-Koppler 5kV 00,60 € 2 x Widerstände 00,10 € Von hier an gibt es noch mindestens 10 weitere Bestückungsvarianten, die ich aber nicht unterscheiden werde. Wer will kann auch noch für 5-10 € den zentralen Einschalter per MOSFET anschließen. Siehe Externe Links nur für Mitglieder sichtbar Grundkosten sind immer Porto und Verpackung, mit Versicherung maximal 6,90 € Gerne dazu gesehen ist eine Spende von 5-X € für das Fernsteuerprojekt. Zitieren
Dude Geschrieben 22. August 2014 Geschrieben 22. August 2014 Eine weitere Leiterplatte kann nie schaden. Dude Zitieren
barney Geschrieben 23. August 2014 Autor Geschrieben 23. August 2014 Hi Dude, hast du deinen Motorregler am Optokoppler Anschuss drann? Mir fehlt hier noch die Bestätigung das dieser Anschluss funktioniert. Zitieren
Dude Geschrieben 23. August 2014 Geschrieben 23. August 2014 Ja, Alien ESC Opto 120A, 3-12s: geht. Dude Zitieren
barney Geschrieben 23. August 2014 Autor Geschrieben 23. August 2014 Ich hätte bei dir nur auf das Foto von dir sehen müssen. Nein dein Regler ist Opto. Ich benötige noch eine Bestätigung für den Optoanschluss an der Platine. VG Barney Zitieren
Dude Geschrieben 24. August 2014 Geschrieben 24. August 2014 Ach so. Hab das falsch verstanden, da ich dachte Dein Eigenbau-Motorregler sei ohne OPTO und du hättest den daher auf der Teensy Platine aufgebaut. Dude Zitieren
barney Geschrieben 24. August 2014 Autor Geschrieben 24. August 2014 Ach so. Hab das falsch verstanden, da ich dachte Dein Eigenbau-Motorregler sei ohne OPTO und du hättest den daher auf der Teensy Platine aufgebaut. Dude Der spätere eigene Motorregler kommt an die Serielle Schnittstelle 2. Dieser wird dann auch mit einem Optokoppler galvanisch getrennt. Es kommt noch schlimmer, der Bremsservo benötigt auch einen Optokoppler. Also wird die Platine ca. 1-1.5cm länger und damit die Stecker nicht aneinander klemmen, werde ich die Platine ca. 3mm breiter machen. Wird ca. 1-2€ Aufpreis alleine für die Leiterplatte ausmachen, aber galvanische Trennung ist absolut notwendig. VG Barney Zitieren
barney Geschrieben 27. August 2014 Autor Geschrieben 27. August 2014 (bearbeitet) Der spätere eigene Motorregler kommt an die Serielle Schnittstelle 2. Dieser wird dann auch mit einem Optokoppler galvanisch getrennt. Es kommt noch schlimmer, der Bremsservo benötigt auch einen Optokoppler. Also wird die Platine ca. 1-1.5cm länger und damit die Stecker nicht aneinander klemmen, werde ich die Platine ca. 3mm breiter machen. Wird ca. 1-2€ Aufpreis alleine für die Leiterplatte ausmachen, aber galvanische Trennung ist absolut notwendig. VG Barney Wie angekündigt. Die Leiterplatte ist jetzt 3mm länger. Dafür wurde ein weiterer Optokoppler für das Bremsservo eingebaut. Das Brermsservo sollte über den ESC mit BEC versorgt werden. Edit: Warum ein weiterer Optokoppler? Das Bremsservo kann nicht mit den 3.3V für den Teensy ausreichend versorgt werden. Servos wollen typisch zwischen 4.8V bis 6V. Außerdem kann es negative Auswirkungen auf die Versorgungsspannung haben und der Teensy ggf abstürzen. Also musste eine Fremdspeisung her. Diese würde idealerweise aus dem BEC des ESC kommen. Damit würde aber die geschaltete GND-Verbindung, die mittels Power MOSFET geschaltet wird über den ESC kurzgeschlossen werden. Es könnten 30-120A über die kleine Leiterplatte fließe, die das nicht lange aushält. Darum die galvanische Trennung des Bremsservos. Warum werden die 5-6V vom BEC nicht für den Teensy verwendet. -> Weil HV ESC kein BEC haben. Allgemeine Frage: Muss ich mit noch einen Erweiterungswunsch rechnen oder sind wir durch? :confused5: bearbeitet 27. August 2014 von barney Zitieren
Dr. Board Geschrieben 29. August 2014 Geschrieben 29. August 2014 Ja ool, hört sich gut an, Was ist mit der aktiven Akkuüberwachung ?? Oder geht das über die Extension ??? Wo kann man den Bremspunkt einregelen ?? nur in der Software oder über einen Trimmer ?? Dr. B Zitieren
barney Geschrieben 29. August 2014 Autor Geschrieben 29. August 2014 Einzelzellenüberwachung: Extension Anschluss Bremspunkt: nur Software. Für Testzwecke könnte man ein Poti am Extension Anschluss ankoppeln. Wann soll eigentlich das Bremslicht angehen? Bei Impuls unter 1.5ms? Oder beim deakzelarieren? Zitieren
Dude Geschrieben 29. August 2014 Geschrieben 29. August 2014 <1.5 ms - davor bremsts eh net so richtig. Vermutlich weiß der Nachfolgende ohne Gebrauchsanleitung gar nicht, was er mit dem Licht anfangen soll:p Dude Zitieren
Dr. Board Geschrieben 30. August 2014 Geschrieben 30. August 2014 Spannungsfest bis 60 V ;-)))) Zitieren
barney Geschrieben 30. August 2014 Autor Geschrieben 30. August 2014 Spannungsfest bis 60 V ;-)))) Das ist deutlich über den Spannungsregler, der nur 45V verträgt. Und der Messeingang geht auch nur bis 44V. Der Teensy misst noch Spannung? Zitieren
barney Geschrieben 31. August 2014 Autor Geschrieben 31. August 2014 Besteller für die neue Version: 1 x Dude 1 x Dr. Board 2 x Barney ? x Flubber Du hattest mal angefragt! Ja oder nein? Wenn alle zustimmen, würde ich auch wieder die Bauteile zentral kaufen (spart Porto). Löten ist selbst angesagt! Zitieren
Dude Geschrieben 31. August 2014 Geschrieben 31. August 2014 Hallo Barney, ich nehme eine Platine. Bei den Bauteilen brauch ich aber nur die seit der letzten Bestellversion zusätzlich dazu gekommenen. Ich meine das waren 1-2 Mosfet, Opto, Diode, Stecker mit Kabel, ?. VG Dude Zitieren
flubber Geschrieben 31. August 2014 Geschrieben 31. August 2014 Besteller für die neue Version:? x Flubber Du hattest mal angefragt! Ja oder nein? Moin, so sehr ich deine Arbeit und das potenzial des "Projekt" schätze, muss ich leider einen Rückzieher machen. Ich hab im Moment so viel um die Ohren, dass ich nicht dazu kommen werde mich daran zu setzen.... Danke dir Zitieren
barney Geschrieben 14. September 2014 Autor Geschrieben 14. September 2014 Auch ein Barney hat es nicht einfach... Ich konnte heute zum ersten mal mein Board aus messtechnischer Sicht untersuchen. Die Strom und Spannungsmessung macht mir noch nicht so richtig Freude. Spannungsmessung: Ich habe mich gewundert, warum die Spannungsmessung um ca. 100mV schwankt ohne, dass der Motor lief. Ein Blick auf den Teensy 3.1 und hier besonders der Schaltplan verrät die Tatsache, dass die Referenzspannung für die ADC nicht aus einer stabilisierten Referenzspannungsquelle kommt, sondern die 3.3V sind, die er intern aus den 5V gewinnt, oder hier im Fall, aus den Spannungswandler den ich auf die Leiterplatte gesetzt habe. Dieser Spannungswandler hat aber keine Referenzeigenschaften. Mal liefert dieser 3.37 oder 3.375V. Das mag mäklich klingen, hat aber bei 12Bit eine erhebliche Auswirkung. Der Spannungsteiler ist auf 3.3V als Referenz gerechnet. Sollte die Referenz abweichen (wie hier) ist der Parameter #define BattSpgMMax (float) 33.5 anzupassen. Das ist schnell getan. Kling nicht schwierig. Wird aber durch das ständige Schwanken des Spannungsregler unmöglich. Strommessung: Hier ist der Nullwert des Stromsensors zu finden und der Maximale Strom zu ermitteln. Der Stromsensor ist recht unabhängig von der Spannungsschwankung des Spannungsregler. Denn URegler = Voller Messbereich. Damit sind die Schwankungen obsolete. Der von mir verwendetet ACS756-050 ist nun nicht gerade ein Präzisionselement, besonders nicht bei der leicht verrauschten Versorgungsspannung. Hier muss noch ein wenig Aufwand mit der Glättung der Versorgungsspannung getrieben werden. Fazit: Als Präzisionsmessinstrument wird der Aufbau nicht durchgehen. Hier müsste eine sehr stabile Referenzspannungsquelle aufgetrieben werden. Der Teensy hat ein eingebaute Bandgap Referenzspannungsquelle, diese liefert aber bei 3V 2.980V und hat damit auch nicht die gewünschte Eigenschaft. Zumal diese R-Quelle nicht nur die ADC, sowie die DAC versorgen müsste, auch der ACS756 möchte versorgt werden. Da der ACS756 pulsierende Ströme beim Messen zieht, würde sich dies negativ auf die Referenzspannung auswirken. Mehr als 50mV Spannungsgenauigkeit und 100mA bei der Strommessung scheint momentan nicht zu erreichen zu sein. Weitere Tests und Optimierungen stehen noch aus. Zitieren
barney Geschrieben 14. September 2014 Autor Geschrieben 14. September 2014 Eine mögliche Lösung für die Spannungsmessung: Folgende Annahmen für eine einfache programmiertechnische Lösung: Unter der Annahme das UrefTeensy bekannt und stabil ist Kann mittels Uref3.3V = 3.3V (der gehoffte Wert für die Referenz der ADCs) UrefTeensygemessen USpannungsregler ermittelt werden (Uref3.3/UrefTeensy)/(USpannungsregler/UrefTeensygemessen) USpannungsregler = (Uref3.3*UrefTeensygemessen)/UrefTeensy Mit USpannungsregler und dem Teilverhältnis vom Messspanungsteiler, BattSpgMMax dynamisch ermittelt werden. Schlussendlich könnte mit diesem kleinen offensichtlichen Ansatz die Spannungsschwankung des Spannungsregler rechentechnisch kompensiert werden. Mit viel Glück kann der Teensy intern die Messung, ohne löten, durchführen. Ansonsten muss ein analoger Pin auf AREF gelötet werden. Zitieren
barney Geschrieben 15. September 2014 Autor Geschrieben 15. September 2014 Tiefe Erkenntnisse: Aufbau 1: Teensy 3.1 auf Testboard mit zwei Potis. Auflösung eingestellt und Average auf 1 eingestellt. Erkenntnis 1: Zum heulen was da raus kommt. Aufbau 2: Average auf 32 und 64 eingestellt. Erkenntnis 2: Ich benötige immer noch Taschentücher. Aufbau 3: Da war einer mit den ADC unzufrieden und eine neue ADC-Lib geschrieben. Diese ist in der Lage beide ADCs zu nutzen. Erkenntnis 3: Was ist da denn los? Je nach Einstellung von "setConversionSpeed" und "setSamplingSpeed" wird auch ohne Average das Ergebnis so, dass man mit den Werten schon fast zurecht kommt. Aufbau 3+Average: ein Average von 8 und slow Speed reichen aus nur noch ein Wackeln von 1LSB zu haben. Die Messzeit beträgt 148µs. Vorher waren es 2µs Ein Fail gibt es noch. Es können nur die Eingänge 16 (A2), 17 (A3), 34-36 (A10-A13) für eine gleichzeitige Nutzung der beiden ADCs verwendet werden. Dann können auch beide mit verschiedener Auflösung und Average betrieben werden. Dumm gelaufen ich verwende A0 und A1. Ist was für die Revision 2.x. Aber die positiven Eigenschaften von oben lassen sich auf den jetzigen Aufbau anwenden. Zitieren
barney Geschrieben 15. September 2014 Autor Geschrieben 15. September 2014 Jetzt auf 10mV genau. Die Linearität konnte ich noch nicht testen. Sollte aber im kleinen Messfenster nicht so schlecht ausfallen. Jetzt muss nur noch der Strom justiert werden.... #define AnalogReadResolutionBits 12 // Bit-Aufloesung fuer die Analog Digital Umsetzer (ADC) zur Strom- und Spannungsmessung #define AnalogReadResolutionValue (uint32_t) pow(2,AnalogReadResolutionBits) // Festlegen der ADC-Aufloesung (Wertebereich) #define AnalogAveraging 8 // Durchschnittswert bei der ADC-Messung bilden // ADC Einstellungen pinMode(Pin_Ubatt, INPUT); // Spannungsmesspin aktivieren pinMode(Pin_Strom, INPUT); // Strommesspin aktivieren // ADC_0 adc->setReference(ADC_REF_EXTERNAL, ADC_0); //change all 3.3 to 1.2 if you change the reference adc->setAveraging(AnalogAveraging, ADC_0); // set number of averages adc->setResolution(AnalogReadResolutionBits, ADC_0); // set bits of resolution // it can be ADC_VERY_LOW_SPEED, ADC_LOW_SPEED, ADC_MED_SPEED, ADC_HIGH_SPEED or ADC_VERY_HIGH_SPEED adc->setConversionSpeed(ADC_VERY_LOW_SPEED, ADC_0); // change the conversion speed adc->setSamplingSpeed(ADC_VERY_LOW_SPEED, ADC_0); // change the sampling speed // ADC_1 diese Einstellung werden erst wirksam, wenn die speziellen ADC-Pins verwendet werden. // 16 (A2), 17 (A3), 34-36 (A10-A13) adc->setReference(ADC_REF_EXTERNAL, ADC_1); //change all 3.3 to 1.2 if you change the reference adc->setAveraging(AnalogAveraging, ADC_1); // set number of averages adc->setResolution(AnalogReadResolutionBits, ADC_1); // set bits of resolution adc->setConversionSpeed(ADC_VERY_LOW_SPEED, ADC_1); // change the conversion speed adc->setSamplingSpeed(ADC_VERY_LOW_SPEED, ADC_1); // change the sampling speed Ubatt = adc->analogRead(Pin_Ubatt, ADC_0)*UbattFaktor; // Ubatt in V messen Strom[stromIndex] = (adc->analogRead(Pin_Strom, ADC_1)*StromFaktor)-Strom0A; // Strom in A messen und in Array ablegen Zitieren
Dr. Board Geschrieben 15. September 2014 Geschrieben 15. September 2014 Der Controller MAgier tut wieder sein Werk !!!!!! ;-) Zitieren
barney Geschrieben 16. September 2014 Autor Geschrieben 16. September 2014 Ja und es wird noch besser: // kann nur verwendet werden, wenn nicht mehr die Pins A0 und A1, sondern A0 und A2 verwendet werden. // Vorteil ist, dass die Abfragezeit der ADC unter einer us sinkt adc->startContinuous(readPin, ADC_0); // Starte die Dauermessung der beiden adc->startContinuous(readPin2, ADC_1); // ADC im Hintergrund. Dies beschleunigt die Messwerterfassung um das // 150 Fache. Auch hohe Average stören nicht mehr // Die Abfrage der ADC muesste entsprechend angepasst werden adc->analogReadContinuous(ADC_0); // Hole den Messwert des ADC_0 ab Achtung asynchron adc->analogReadContinuous(ADC_1); // Hole den Messwert des ADC_0 ab Achtung asynchron Der Lib Autor hat einen Continuous Mode spendiert. D.h. die beiden ADCs messen permanent im Hintergrund und man kann sich irgendwann den letzten Messwert abholen. Warum ist das so gut? Leider sind viele Arduino Libs so ausgelegt (und teilweise geht das auch nicht anders) das eine Aktion ein Abwarten zur Folge hat. Es macht an vielen Stellen dann aber keinen Sinn eine CPU auf 72MHz zu takten, wenn die nur wartet, bis was fertig ist. Hier ein Beispiel mit den ADCs: Eine Messung mit 8 Durchschnittswerten dauert ca. 147µs. Solange wartet der Teensy. Da Strom und Spannung gemessen wird, sind locker 300µs CPU-Zeit damit verbraten. Der Strom wird sogar 10 x Sekunde gemessen. Damit sind 10 x 147µs + 1 x 147µs idle angesagt. Nicht gut! Durch den Continuous Mode wird permanent im Hintergrund gemessen. Der letzte Messwert wird weggeworfen und durch den aktuellen ersetzt. Wenn jetzt nach dem letzten Messwert gefragt wird, dauert diese Abfrage unter einer 1µs! Das ist mal eine Ansage. Wo ist die Fußangel? Dummerweise habe ich die analogen Pins A0 und A1 verwendet und beide zusammen kommen nicht in den Genuss vom Continuous Mode (Kotz). A0 und A2 funktionieren. A1 ist Pin 15 und A2 ist Pin 16. A2 geht derzeit ungenutzt auf den Extension Stecker und ist nicht belegt. Eine kleine Drahtbrücke zwischen A1 und A2 und man kommt in den vollen Genuss vom Continuous Mode und noch weiteren Annehmlichkeiten, wie paralleles Messen und verschiedene unabhängige ADC Einstellungen, wie Average, Auflösung, Referenzbezug, .... 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.