Jump to content
elektro-skateboard.de
  • BamBam BoardController


    barney

    Autor: Barney


    Aufgabenstellung:

    Es soll mit einer kleinen unauffälligen Handfernbedienung ein Elektroskateboard ferngesteuert werden. Es gab ein Vorläuferprojekt mit einen Arduino und Nunchuk. Aus diversen Gründen, nachzulesen unter:

    http://www.elektro-skateboard.de/forum/eigenbauten-95/wii-nunchuck-mit-teensy-3-1-a-2540.php

    wurde der Arduino Uno durch einen kleinen sehr leistungsfähigen Teensy 3.1 ersetzt.

     

    Folgende Funktionen wurde bisher gewünscht und umgesetzt:

     1. Z-Taste + Nunchuk Y vorn            -> beschleunigen (Integrationssteuerung/relativ oder DirectDrive/absolut)
     2. Z-Taste + Nunchuk Y hinten          -> entschleunigen mittelbar (Integrationssteuerung/relativ oder DirectDrive/absolut)
     3. Z-Taste + Nunchuk Y mitte           -> Geschwindigkeitsvorgabe halten (Integrationssteuerung), Motorfreilauf (DirectDrive)
     4. Z-Taste losgelassen                 -> Motorfreilauf (Integrationssteuerung/relativ oder DirectDrive/absolut)
     5. Z-Taste losgelassen + Hebel hinten  -> bremsen (unmittelbar Integrationssteuerung und DirectDrive)
     6. C-Taste + Nunchuk X neutral         -> Hupe (getastet)
     7. C-Taste + Nunchuk X links           -> Licht (geschaltet)
     8. 3 x Z-Taste + Nunchuk X links       -> Geschwindingkeitsumschaltung Hase / Igel
     9. 3 x Z-Taste + Nunchuk X rechts      -> Umschaltung IntegralDrive -> DirectDrive (gestartet wird mit IntegralDrive)
    10. Funkabriss                          -> Motor Freilauf
    11. Temperaturmessung
    12. Messung von Strom und Akkuspannung mit Bestimmung der umgesetzten Momentanleistung und Gesamtleistung
    
    

    Was ist eine Integrationssteuerung oder DirectDrive?

    Die Integrationsteuerung ist ein indirektes Steuern der Motorleistung durch zugeben oder wegnehmen der Leistung durch Bewegung der Nunchuk Y-Achse. Je weiter die Achse vom Nullpunkt verschoben wird, desto schneller wird die Leistung gesteigert oder verringert. Das Festhaltern der Z-Taste ist obligatorisch, um den letzten Wert zu halten. Wird die Z-Taste losgelassen, wird sofort in den Motorleerlauf geschaltet.

    DirectDrive ist die Direkte Ansteuerung des Motorcontrollers ohne Dämpfung. Wird die Nunchuk Y-Achse vollständig nach vorn gestellt, wird diese Anforderung ohne Umschweife an den Motorcontroller durchgereicht. Dies ermöglicht ein sehr sportliches Fahren, aber auch durch den sehr kleinen Nunchuk Hebel, unfallträchtiges Fahren.

    Die Umschaltung zwischen DirectDrive und die Integrationssteuerung erfolgt mittels Nunchuk (ab Version Elektroskate_Teensy31_v4p9_ADC_LIB_SwitchDriveMode) im Stillstand oder während der Fahrt. Deaktiviert seit dem 19.04.2015.

     

    Anschlussmöglickeiten:

    Obligatorisch:

    - Spannungsversorgung 5.2-45V
    - Nunchuk (Wireless: Logi 3 oder bevorzugt MadCatz)
    - Motorcontroller (Opto HV, oder unisolierte Typen mit BEC)

    Nice to Have:

    - Power on für die Leistungsstufe mittels Power MOSFET (Antispark inkludiert)
    - Spannungsmessung (sobald die Versorgungsspannung angelegt wird, wird diese vom Teensy gemessen)
    - Strommessung mittels ACS756-XXX (XXX = Typ 050A, 100A, 200A bipolar). Damit kann der Strom am Akku gemessen werden. Es besteht die Möglichkeit in der Software eine Strombegrenzung zu aktivieren.
    - Temperaturmessung mittels DS1820 (Motor und Motorcontroller Temperatur)
    - Bluetooth Verbindung zum Smartphone (Android) oder später zur Fernbedienung mit Teensy und Touch Display
    - Licht-Anschluss (steuerbar per Nunchuk)
    - Hupen-Anschluss (steuerbar per Nunchuk)
     
    Ab Leiterplattenversion > v2.5
    - optional BTS555 als Power Switch
    - Bremsservoanschluss (Speisung des Bremsservo kommt nicht von der Leiterplatte! BEC_A oder nach Möglichkeit direkt aus dem Akku)
    - Bremslicht-Anschluss
    - zwei weitere Schaltausgänge für z.B. Blinker
    - Trennung Speisung der Leiterplatte von Spannungsmessung, um die Platine auch bei über 45V verwenden zu können.
    - Ein zweiter Motorreglerausgang mit und ohne Optokoppler
    - Umbau Serial3 mit Vcc und GND für die Akku Einzelzellenüberwachung 6-12S

    In Arbeit:

    - Akku Einzelzellenüberwachung 6-12S auf eigene Platine
     

    Schaltplan Version 08.08.2014:

    schaltplan-20140808.jpg

     

    Auf der Leiterplatte 08/2014:

    elektroskate_leiterplatte_anschluesse_ko

     

    Neue Version:

    Schaltplan Version 30.11.2014 final:

    schaltplan_2.4_final.png

     

    Layout Version 05.12.2014:

    elektroskate_v25.jpg

    Aktuelle Version 2.7

    teensy_sch01.jpg

    teensy_sch02.jpg

     

    Entwicklungsumgebung:

    http://www.elektro-skateboard.de/wiki/bambam/teensy-programmieren

     

    Kosten:

    Mit Leiterplatte in einer Sammelbestellung, ca. € 80,-. Davon alleine € 15,- für die unbestückte Leiterplatte. Für den Stromsensor sind je nach Klasse € 7-14,- , für die Temperatursensoren je Sensor € 2,- , zusätzlich zu berechnen.

    Der Mad Catz Wii Wireless Z-Chuck kostet um die € 14,- und ist in den € 80,- enthalten.

     

    Bezugsquellen:

    Kleinteile: http://www.segor.de/#/

    LC78_03: http://www.elv.de/

    Teensy: http://www.exp-tech.de/

    BT-Modul: E-Bucht

     

    Bauteilliste V2.7 SMD:

    1 x Leiterplatte                  15,00 € Leiterplatte
    1 x LC78_1.0A 3.3V                09,19 € Spannungsregler (5,5V bis 42V)
    1 x Teensy 3.1                    17,80 € Mircocontroller
    1 x HC-05                         06,20 € Bluetooth-Modul (Telemetrie)
    1 x Mad Catz Wii Wireless Z-Chuck 14,00 € Nunchuk
    
    Optional:
    1-4 x BTS 555                  je 10,80 € Highside-Sw. 40V 128A (Antispark)
    1-3 x DS18B20+                 je 02,30 € Temperatursensor Motor, Akku, Motorcontroller
    1 x ACS 756 SCAxxx oder ACS 578   12,00 € Stromsensor +- 50, 100 oder 200A Strommessung
    
    Bauteilliste für eine Platine. Bestimmte Bauteile gibt es nur im 10er Pack. (Preise 18.04.2015)
     1:CNY 74-2                     2     0.48       0.96  Dual-Koppler 5kV 70V DIP8  
     2:IRLR 2905 Z                  5     1.10       5.50  N-MOS LL 55V 42A TO252     
     3:1N 4001-SMD                  1     0.72       0.72  50V 1A SOD123F=MiniSMA SMD   
     4:MBR 0540 T1-SMD              2     0.30       0.60  Schottky 40V 0,5A SOD123   
     5:ZD 15V  0,5W                 1     0.10       0.10  Z-Diode 15V 0,5W           
     6:LED 0805 ge /80mcd           1     0.20       1.20  SMD-LED gelb 590nm 0805    
     7:LED 0805 gn                  1     0.10       1.00  SMD-LED grün 565nm 0805    
     8:LED 0805 rt /70mcd           1     0.12       1.20  SMD-LED rot 660nm 0805     
     9:u10-R2.5-X7R                10     0.05       0.50  100nF X7R 10% 50V 1206 10er-weise
    10:4u7-1206-X7R/50V            10     0.20       2.00  4,7uF X7R 10% 50V SMD 10er-weise
    11:10u-1210-X7R/50V             1     0.60       0.60  10uF-50V 10% X7R SMD 1210    
    12:22u-1206-X5R/6,3V            1     0.40       0.40  22uF X5R 10% 6,3V 1206      
    13:Jumper-L                     1     0.10       0.10  Jumper m.Grifflasche sw    
    14:SL2x40-90G                   1     1.80       1.80  Stiftleiste 2x40p 90'      
    15:SL2x 4-180G                  2     0.12       0.24  Stiftleiste 2x4pol 180'    
    16:SL1x50-90G                   2     1.00       2.00  Stiftl.1x50p 90'flach gew  
    17:PC-352 L                     2     0.40       0.40  Platinensteckverb. 2pol    
    18:PC-353 L                     2     0.48       0.96  Platinensteckverb. 3pol    
    19:PC-503                       4     0.56       2.24  Platinensteckverb. 3pol.   
    20:1k0-1206-1%                 10   0.0400       0.40  1,0kOhm 1% SMD 1206 TK100  
    21:220R-1206-1%                10   0.0400       0.40  220 Ohm 1% SMD 1206 TK100  
    22:3k3-1206-1%                 10   0.0400       0.40  3,3kOhm 1% SMD 1206 TK100  
    23:4k7-1206-1%                 10   0.0400       0.40  4,7kOhm 1% SMD 1206 TK100  
    24:10k-1206-1%                 10   0.0400       0.40  10k Ohm 1% SMD 1206 TK100  
    25:470R-1206-1%                10   0.0400       0.40  470 Ohm 1% SMD 1206 TK100  
    26:6k8-1206-1%                 10   0.0400       0.40  6,8k Ohm 1% SMD 1206       
    27:180k-1206-1%                10   0.0400       0.40  180kOhm 1% SMD 1206 TK100  
    28:DILLAB08                     2     0.20       0.40  Präzisionssockel DIL08     
    29:SILLAB32                     2     0.77       1.54  SIL-Sockelstreifen 32p     
    30:SILST20 Z                    2     0.72       1.44  SIL-Stecker 20p verzinnt   
    
    

    Dimensionierung der Spannungsmesswiderstände:

    R13 (R32) = 10k Ohm (diesen nicht verändern)

    R14//R15 (R30/R31) = ? (R14 (R30) und R15 (R31) sind parallel geschaltet! Damit können besondere Widerstandswerte durch Parallelschaltung erreicht werden, die so nicht zu kaufen sind. Auch ein Feinabgleich ist damit möglich!)

    Uteensymax = 3.3V

    UBatt = z.B. 52V (Achtung nicht Nennspannung des Akkus, sondern die maximale Spannung nach dem Laden)

    R14//R15 = (UBatt * R13) / (Uteensymax) - R13

    R14//R15 = (52V * 10k) / 3.3V -10k = 147k Ohm -> 150k Ohm (kaufbar, nur R14 oder R15 einlöten) -> bis ca. 52.8V maximal messbar. Diesen Wert in die Software eintragen

    #define BattSpgMMax (float) 52.8 // Maximale messbare Batterienspannung 33V (10k Ohm / 2 x 180k Ohm), oder ca. 43V (10k Ohm / 121k Ohm) UBatt = z.B. 36V -> R14//R15 = 120k Ohm -> bis ca. 42,9V messbar.

    
     
    V Ubatt  
    Ohm

    Achtung: Wenn der Wert von R14//R15 (R30//R31) schon durch einen Widerstand erreicht werden kann, wird nur ein R14 (R30) oder R15 (R31) eingelötet, der andere Platz bleibt unbestückt.

     

    Teensy mit der aktuellen Software programmieren.

    https://github.com/esk8b/bambam-controller

     

    Änderungshistorie

    letzte Änderung:

    durch:

    Verlauf:

    Version:

    31.08.2014
    Barney
    Ersterstellung
    V00
    11.10.2014
    Barney
    Erste Ausführungen
    V01
    07.11.2014
    Barney
    Schaltplan
    V02
    18.01.2015
    Barney
    Tools bereitgestellt und neue Software
    V03
    • Thanks 1


×
×
  • Neu erstellen...