Jump to content
elektro-skateboard.de

barney

Elektro-Skater
  • Gesamte Inhalte

    3.658
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    8

Alle erstellten Inhalte von barney

  1. Hi Benne, da du fast alles weglassen willst was Freude bereitet, erst mal die Anschlussbelegung: Pin A4 Empfaenger SCL Pin A5 Empfaenger SDA Pin 9 wird der Motorcontroller angeschlossen Pin 8 Status LED fuer Pairing Pin 10 Hupe C-Taste Pin 11 Licht C-Taste Diese Doku findest du im Sourcecode! Folgendes solltest du auf jedenfalls beachten. Wenn du einen Motorregler mit BEC verwendest (dieser liefert ca. 5V Versorgungsspannung) prüfe nach, ob dieser nicht mehr als 5,5V liefert. Sonst grillst du deinen Arduino. Sollte er die richtige Spannung liefern, bist du schon mal die Versorgungsthematik los. Ansonsten musst du dir einen Spannungsregler besorgen, der deine Akkuspannung verträgt und 12V ausgibt. Diese 12V schließt du am Arduino 6..12V Anschluss an. Der Nunchuk Empfänger verträgt nur 3.3V! Diese Spannung bekommst du vom Arduino Board. Die zwei Kommunikationsanschlüsse sind oben im Text aufgelistet (A4,A5). An dem Pin 9 des Arduino Board wird der Motorcontroller angeschlossen. Der Motorcontroller hat einen dreipoligen Anschluss: sw -> GND rt -> +5V ws -> Pin 9 (Impulsausgang)
  2. Mail kommt<br />

    VG<br />

    Barney

  3. Werde ich nochmal neu beschreiben. Hi Benne, ja ich habe alle Dateien gelöscht. Das hatte zwei Gründe: 1. Lauter verwirrende Versionen. 2. Ich möchte sichergehen, dass nicht nachher eine "Kommerzielle" Version existiert. Ich habe das bei Flightgear.org gelesen. Die haben den Flugsimulator unter GPL gestellt. Eine Firma hat diesen dann gegen Geld verkauft. Ohne eine Zeile Code Änderung! Ich weiß noch nicht wie ich damit umgehen soll. Per PN kann ich dir den Code leider nicht zukommen lassen. Das geht mit diesem Forum nicht. Natürlich bekommst du den Quelltext zur Verfügung gestellt. Ich suche nur noch eine vernünftigen Lösung bis morgen dafür. Ich werde einen Schaltplan skizzieren und ins Forum stellen. Der Schaltplan bezieht sich natürlich auf meine Bauteile die ich verwende! Solltest du einen anderen Bluetooth Controller nehmen, so musst du eine passende Lösung für deinen Controller finden. VG Barney
  4. Hi Bene, bei diesem Modell kann ich dir nicht sagen, ob es läuft, da der Prozessor ein anderer ist. Sunni hat sich das Board "Arduino Nano" gekauft, welches den selben Prozessor verwendet, den ich auch benutze. Du musst beim Nano darauf achten, dass du den Microcontroller "ATmega328" mit 16Mhz kaufst. Wenn es am Platz nicht mangelt rate ich zum: Arduino Uno R3 + Arduino Uno Shild v3 Welche Funktionen willst du denn umsetzen? 1. Licht /Hupe 2. Bluetooth 3. Strom und Spannungsmessung 4. Temperaturmessung? VG Barney
  5. Hallo, gerade habe ich die Auflösung der Strommessung nachgerechnet: Bei einen Messbereich von 50A mit den Hallsensor ACS756SCA-050B wird je 1A/40mV Spannungsdifferenz erzeugt: Berechnung Annahmen: Messbereich Stromsensor +- 50A mit 40mv/A -> +-2V Auflösung Atmel 10Bit (0..1023) Messereich Atmel 0..5V Berechnung: 1024/5V * 2V -> ca. 410 Bit für 50A -> ca. 120mA/Bit Bei 24V Akkuspannung -> 24V * 120mA -> 3W Auflösungsvermögen/Bit Es kann einen maximale Leistung von 1200W (24V * 50A) gemessen werden, mit einer Auflösung von 3W. Fazit: Für die Leistungsmessung und Reichweitenabschätzung sollten keine allzu hohen Erwartungen gestellt werden (wird nicht Metergenau sein:D). Es wird für die ungefähre Restkapazitätsabschätzung aber völlig ausreichen. Barney
  6. GetBlue Android So sieht es ohne eigene App auf die Schnelle aus.
  7. Hi Sonni, zum Thema Telemetrie: Was meinte ich mit "Strom und Spannung" sind noch nicht normiert? Die beiden Analog-Digital-Umsetzer im Atmel-Microcontroller lösen mit 10Bit auf. Da die Referenzspannung bei ca. 5V liegt bedeutet dies, das jedes Bit eine Wertigkeit von ca. 5mV hat. Da meine Akkus voll geladen ca. 28V haben, werde ich meine Messschaltung auf 30V auslegen. Damit hat jedes Bit eine Wertigkeit von ca. 30mV. Diese Umrechnung (Gewichtung) ist als Faktor in der Spannung noch nicht berücksichtigt. (Für die Spannung und den Strom werde ich noch drei Konstanten anlegen) Der Strom ist noch interessanter: Der Hall-Stromsensor, den ich verwende liefert bei 0A die Mittelspannung der Versorgungsspannung ab. D.h. bei einer Versorgungsspannung von 5V, hat 0A ein Spannungsäquivalent von 2,5V. Bei 50A -> 5V 0A -> 2,5V -50A -> 0V Wer einen Regler hat, der rekuperieren kann, erzeugt negative Verbrauchswerte! Diese würde in der Leistungsberechnung berücksichtigt werden! Stromformel für den 50A Hall-Sensor: U = (Imess * 20) - 2,5V Die Konstanten, werden heißen: SpannungsFaktor = 0,03; // Umrechnungsfaktor Spannung StromFaktor = 20; // Umrechnungsfaktor Strom 50A =^ 2,5V = 20 Strom0A = 2,5; // 0A Messspannung Um nicht mit Nachkommazahlen arbeiten zu müssen, überlege ich noch, ob ich mit mA und mV arbeite. Leistungsanzeige: Die aufintegrierte Leistung muss noch mit einen Zeitfaktor Multipliziert werden! Optimierung der Programmierung: Die Bluetooth-Schnittstelle wird mittels SoftSerial angesteuert. Leider hat der Arduino nur eine Serielle-Schnittstelle und diese wird zum Programmieren gebraucht. Da diese nach dem Programmieren brach liegt, habe ich vor diese für das Bluetooth-Modul zu nutzen. SoftSerial ist nicht Ressourcen optimal und wird wie der Name schon sagt, durch Software emuliert. Ist das BT-modul direkt an der Hardware Serial Schnittstelle angeschlossen, so lässt sich die Arduino nicht mehr programmieren. Lösung sind hier zwei Jumper-Brücken. Für die Programmierung wird das BT-Modul von der Schnittstelle getrennt und nach der Programmierung wieder angeschlossen. Debug Ausgaben würden zukünftig über Bluetooth erfolgen. (Finde ich viel besser ) Edit: Der Unterschied liegt bei 1400 Byte Kompilat! Android-Software: Ich bin momentan der Ansicht, keine eigene Software zu schreiben. Die Anzeige mit GetBlue reicht mir vorerst völlig aus.
  8. Version 2.0
  9. Hi, die neueste Version der Motoransteuerung per Nunchuk ist fertig: 1. Der Quellcode wurde vereinfacht und besser kommentiert 2. Das Kompilat ist jetzt deutlich kleiner durch umstellen der Variablen von int auf byte. 3. Arduino Servo Lib wurde durch PWM Timer1 ersetzt. Dadurch konnte der Kompilierte Code um 20% verkleinert werden. Die Auflösung für den Motorsteller wurde mal 10 größer. 4. Bluetooth läuft jetzt auch und gibt die Temperatur für mehrere DS1820 Sensoren aus, sowie Spannung, Strom und Leistung (noch nicht normiert!) 5. ISR (Timer 2) für ein festes Zeitraster der Abläufe. D.H.: - 60mal die Sekunde der Nunchuk abgefragt und der Motorstellwert entsprechend angepasst. (Achtung die Werte z.B. für die Dämpfung haben sich verändert!) - 10mal die Sekunde wird die Spannung und der Strom gemessen. - 1mal die Sekunde die Temperatur gemessen und alle Werte ausgegeben 6. Optionen die nicht vorhanden sind, können in der ISR auskommentiert werden.
  10. barney

    ideen für Eigenbau

    Hi Sonni, falls dich die Langweile übermannen sollte, oder dich die Neugier treibt: http://www.linear.com/designtools/software/#LTspice Damit kannst du Schaltungen simulieren. (Aber die Transistoren können dort nicht qualmen! ) Damit sollten deine MOSFET-Fragen erschlagen sein.
  11. barney

    ideen für Eigenbau

    'Ich würde das nicht machen? Wenn die Akkus frisch geladen sind, ist das zuviel. Der Regler hat garantiert ein BEC-Ausgang?!
  12. Der Widerstand ist auch dafür da, falls der FET defekt ist,oder ein andere Fehlerfall, die Source Spannung nicht nacher am Microcontroller liegt.
  13. Hallo Sonni, ich weiß jetzt, warum dein Motorsteller keine Werte unter 20 annimmt. Laut Spezifikation für den typischen Servo darf das PWM Steuersignal eine Impulsdauer von 1 bis 2ms haben. Die Arduino lib liegt heftig daneben. Diese generiert Signale von 0,544ms bis 2,2ms. Das kommt nicht bei allen "Servos" gut an. Bestimmte Servos vertragen von 0,8ms bis max. 2,2ms Signale. Wie kannst du dein Motorsteller glücklich machen: Stelle im Programm folgendes ein: // Laut Internet ist zum Thema folgendes zu lesen // der untere Grenzwert sollte bei 1000 und oberer bei 2000 liegen // 800 bis 2200 wird noch oft akzeptiert mymotor.attach(8,800,2200); // Motorpin zuweisen und unteren und oberen Grenzwert festlegen Dann bist du dichter an der Spezifikation. Die Begrenzung mit der 20 oder 21 musst du dann raus nehmen. Grüße Barney Laut Gesetzt sind Servos Motorsteller
  14. barney

    ideen für Eigenbau

    Das wäre mal eine Maßnahme. Ich muss auch bald löschen. Hier was wasserfestes mit 10° oder 30° Leuchtwinkel. 2 davon sollten reichen. An die Beschaltung mit Stromquelle denken. Conrad: LED-Modul ALUSTAR 3 W 10° LEDxON 9008095 Kalt-Weiß Max. 146 lm 10 ° 3 W (Ø x H) 38 mm x 20 mm Best.-Nr.: 180732 - 62
  15. Hi Sonni, irgendwo hatte ich was mal mit 50mA für ein Ausgangspin geschrieben. Ich würde immer versuchen nicht allzuviele Anschlüsse mit "hoher" Strombelastung am Arduino Board zu belasten. Für deine LED Beleuchtung solltest du einen MOS-FET verwenden (z.B. IRF 540 TO220 100V 28A 0,80€). Damit du im Fehlerfall dein Android Board nicht grillst, spendierst du noch einen 10k Widerstand vom Ausgangspin zum Gate.
  16. Auch die Temperaturmessung mit den DS1820 klappt jetzt. Jeder Sensor hat eine 64 Bit Adresse, die zuerst ermittelt werden muss. Danach wird die Adresse in einem zweidimensionalen Array eingetragen. Da jeder Temperatursensor ca. 13 ms CPU-Zeit belegt, würde ich es mit der Anzahl der Sensoren nicht übertreiben (Motor, Akku, Regler). Die Genauigkeit liegt bei +-1Kelvin in einer Auflösung von 0,5K. Diese Routine muss jetzt noch in das Nunchuk Programm eingearbeitet werden.
  17. barney

    ideen für Eigenbau

    Ich habe es mit einer 40A Sicherung probiert. Nicht lange, aber ich habe es probiert. Ich würde es nach oben nicht gleich übertreiben. Erstmal 100A und die Strommessung mit den Arduino. Danach kann die optimale Sicherung eingesetzt werden. Mir geht es nur um Brandvermeidung im Kurzschlussfall.
  18. @ benedikt: Was ist mir dir denn los? Du wolltest doch so was haben. Ich lese von dir momentan nichts!
  19. barney

    ideen für Eigenbau

    Die neueste Skizze: Die Flanschscheibe hat einen Durchmesser von 50mm
  20. barney

    ideen für Eigenbau

    Achse: Rund ist die nicht wirklich. ca. 25mm an der betreffenden Stelle.
  21. Das ist eine recht alte Version mit alten Parametern???
  22. Neue Version von 0 bis 180 Grad
  23. Hi Sonni, dein Regler scheint sehr eigen zu sein. Ich bin der Überzeugung, das der obere und untere Totpunkt nicht vom Regler richtig gelernt wird: Damit hast du die direkte Kontrolle über den Nunchuk. Vielleicht klappt das Anlernen dann besser. if (nunchuk.zButton == LOW && nunchuk.analogY < UntererTotpunkt){ StellWertMotor = nunchuk.analogY; } -> if (nunchuk.zButton == LOW){ StellWertMotor = nunchuk.analogY; } Aber bitte damit so nicht herumfahren! zu mymotor.attach(8,544,2400); das Anheben von 544 auf 600 oder 700 hat keine Auswirkung???? Nicht 10 oder 15 als unterster Wert für die Bremse? if (nunchuk.zButton == LOW && nunchuk.analogY < UntererTotpunkt){ StellWertMotor = nunchuk.analogY; if (StellWertMotor <= 21){ // negative Werte für den Motorregler sollte es nicht geben StellWertMotor = 21; // untere Grenze fuer den Motorregler } } Sollte dein Bremsproblem bei direkter Bremse lösen, wenn es mit mymotor.attach nicht klappen sollte. Ich baue meinen Regler heute mal auf. Der Unterschied fängt damit an, dass meiner für Hubschrauber ist und damit keinen Rückwärtsgang kennt. Linearität: Mist ich sehe den Gedankenfehler: Im Quellcode der Servo Lib sehe ich gerade, dass die Werte nicht von 0 bis 255 gehen, sondern 0-180 (Grad) alles über 180 wird auf 180 begrenzt. Damit ergeben sich mehrere Änderungen: #define Leerlauf 127 // Motor Leerlauf -> #define Leerlauf 90 // Motor Leerlauf Hat du schon erkannt (war vorher 255): if (StellWertMotor >= 180){ StellWertMotor = 180; // obere Grenze fuer den Motorregler Ich schreibe das Ganze kurz mal um und poste die neue Version!
  24. Hallo Sonni, anbei die Halterung, letzter Stand. Danke nochmal.
  25. Nö, das ist ja das Gute an der Hall Methode, der müsste erst wegschmelzen (ACS756CA)! Hier ist die Dimensionierung auf den typischen Nennstrom wichtiger als ein evtl. Spitzenstrom. In deinem Fall müsste ich nochmal darüber nachdenken. Wer sagt denn, dass da noch jemand auf dem Board steht. Mein Arbeitstitel für mein Board lautet T1000. Yo!
×
×
  • Neu erstellen...