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. Digitalthermometer TO92 +-0,5'C 1-Wire ;DALLAS DS 18B20+ bei http://www.segor.de für ca. 2,50€ /Stück Habe ich schon zuhause liegen, muss ich noch testen, ob die Ressourcen reichen. Ja leider, dafür aber ein anderes Schmankerl: Current-Sensor w/Hall-IC -50...+50A BF:gebogen ACS 756SCA-050B 8,90 € bei Segor Damit möchte ich den Strom messen und die Akkuleistung berechnen. Spannungsmessung muss ich aus durchführen, darum kein analoge Temperaturmessung sondern digital!
  2. Hatte ich eigentlich auch vor. Aber der Rohling gibt es nicht her. Chrizz lebt mit dieser Halterung recht gut. Aber danke für den Hinweis.
  3. Hi Sonni, hast du im neuen Programm diese Zeile schon gefunden: mymotor.attach(8,544,2400); // Motorpin zuweisen und unteren und oberen Wert fuer den Stellweg vorgeben Wenn du die 544 auf 600 anhebst sollte es "die nicht unter 20 Wert" Problematik für deinen Xerun nicht mehr geben.
  4. Laut den einschlägigen Foren kein Bluetooth! :mad:
  5. Hi Sonni, ich habe vergessen darauf hinzuweisen, dass sich wenige Pins verändert haben. Besonders der Motor Anschluss. Das Ganze ist dem Bluetooth Modul geschuldet. Zum Nunchuk und Bluetooth: Das sieht nicht gut aus, den Nunchuk direkt per Bluetooth anzusprechen, wenn es überhaupt Bluetooth ist, was der Billigcontroller da sendet oder spricht. Grüße Barney
  6. barney

    ideen für Eigenbau

    Hi Sonni, ich habe dein Youtube Video gesehen, das Impulsmuster kommt mir nicht richtig vor: Sieh dir das mal an: http://www.atmel.com/Images/doc2596.pdf Besonders Seite 3, Pulsmuster H1-H3. Bei dir sind Lücken im Ablauf! Zweite Anmerkung: Wenn ein Ablauf langsam funktioniert, heißt das nicht automatisch, dass wenn der Motor schnell dreht, die Impulsausgabe "sauber" ist. Du hast doch ein Ozi?! Soweit ich gesehen habe ein zweikanaliges. Ziehe den Sensorstecker vom Regler ab und siehe dir die Impulsmuster an.
  7. Hi Sonni das klingt super: http://www.elektro-skateboard.de/forum/elektro-skateboard-werkstatt-48/gemeinschaftsprojekt-streetboard-1715-4.php schau mal hier rein. Die genauen Maße sende ich dir morgen. Die Rohlinge habe ich auch schon. Momentan habe ich das Programm leicht neu gestaltet und kommentiert. Sollte jetzt besser lesbar sein. Bluetooth habe ich auch schon vorbereitet.
  8. Ansatz 1: Ich denke um eine Erweiterung nach, wie z.B. die Bewegung des Joystick mit einzubeziehen. Ansatz2: Ich werde versuchen, direkten Bluetooth Kontakt zum Nunchuk herzustellen. Vielleicht klappt dies ja. Ganz böser wunder Punkt. Mein Board ist derzeit ein Construction Set. Ich packe das Fräsen meiner Motorhalterung derzeit überhaupt nicht. Mein Rad habe ich auch noch nicht abgedreht. Programmieren kann ich auch immer nur für wenige Stunden. Aber das andere Programmierprojekt ist sei Mittwoch abgeschlossen, so das ich mir die Bluetooth Geschichte genauer ansehen kann.
  9. Nächste Falle: Mein Nunchuk neigt dazu, wenn er sehr ruhig gehalten wird, den Beschleunigungssensor "einzufrieren". Alle drei Achsen zeigen recht hartnäckig den letzten Wert an. Ein leichte Bewegung reicht aus, den Sensor wieder zu aktivieren. Um dies hinzu bekommen, müsste ich aber tot auf dem Board zusammenbrechen. So langweilig könnte ich nicht fahren. @Sonni Sonni wurde die Empfindlichkeit jetzt für deinen Nunchuk in Bezug auf die Beschleunigungssensoren gesteigert?
  10. Nochmal zum Thema Funkabriss: Da Sonnis Nunchuk sich leicht gedämpft verhält muss folgende Routine angepasst werden: accelXAlt = nunchuk.accelX; // Alten Wert des Beschleunigungssensors ablegen nunchuk.update(); // Neue Werte vom Controller holen // Warscheinlichkeitsdetektor Funkabriss if (nunchuk.accelX == accelXAlt){ //Serial.println("Warscheinlichkeitsdetektor Funkabriss"); // Debug //Serial.println(PairingLostCount,DEC); // Debug PairingLostCount++; // Sollte der Schwellwert ueberschritten werden if (PairingLostCount > PairingLostTrigger){ //Serial.println("Warscheinlichkeitsdetektor Trigger ausgeloest"); // Debug digitalWrite(InitReceiverStatusLED,LOW); // Status LED aus PairingStatus = LOW; // Verbindung zun Controller steht nicht } } Es wird nur eine Achse für den Funkabriss ausgewertet. accelXAlt = nunchuk.accelX; // Alten Wert des Beschleunigungssensors ablegen accelXAlt = nunchuk.accelX; // Alten Wert des Beschleunigungssensors X ablegen accelYAlt = nunchuk.accelY; // Alten Wert des Beschleunigungssensors Y ablegen accelZAlt = nunchuk.accelZ; // Alten Wert des Beschleunigungssensors Z ablegen if (nunchuk.accelX == accelXAlt && nunchuk.accelY == accelYAlt && nunchuk.accelZ == accelZAlt) Soll dann bewirken, dass wenn alle Achsen den alten Wert liefern, davon ausgegangen werden darf, dass die Verbindung abgerissen, oder der Nunchuk heruntergefallen ist. Die Empfindlichkeit wurde so deutlich erhöht. Noch an die an die Variablenerweiterung denken: int accelXAlt = 0; // Alter Beschleunigungswert X int accelYAlt = 0; // Alter Beschleunigungswert Y int accelZAlt = 0; // Alter Beschleunigungswert Z
  11. Nö, wir bringen deinen zum laufen! Die Routine muss universeller sein. Und du bist der Tester Dämpfung macht was anderes: StellWertMotor=StellWertMotor+((nunchuk.analogY-NeutralstellungYAchse)/Daempfung); Ist so zu verstehen: Der Zahlenwert für den Motorsteller liegt bei 0 bis 255. Der Nunchuk liefert auch einen Wert von 0 bis 255 (theoretisch! typisch 3 bis 245). Würde die Aufsummierung ohne Dämpfung stattfinden, würde bei einer Iteration die Möglichkeit bestehen gleich Vollpower zu haben. Dämpfung (dumm benannt) teilt den Eingangswert des Nunchuck auf einen kleineren Wert. Dieser wird dann bei jeder Iteration dann aufsummiert. Ich hatte den Wert so gewählt, dass wenn man den Nunchuk auf max. vorwärts hält, die Routine erst nach 3 Sekunden den max Wert 255 an den Motorsteller Weiterreicht. Aber nicht als zeitliche Verzögerung sondern als Rampe, die in 3 Sekunden auf den vollen Wert ansteigt (in Bezug auf die Neutralstellung 127). Jetzt die Falle: Wenn du deinen Motorsteller auf verzögerte Beschleunigung eingestellt hast. Treffen leider zwei Dämpfungsroutinen aufeinander. Die Zeitverzögerungsroutine vom Motorsteller und der Arduino Rampe. (Den Spaß hat Chrizz schon hinter sich) :mad: Wie kann man das Problem lösen. Den Motorsteller so einstellen, das er nur eine minimale Verzögerung aufweist. Dann hast du was von der Rampe für den seidigen Motorlauf. Sollte mit oben beantwortet sein! Alt: if (StellWertMotor <= 0){ StellWertMotor = 0; Für Sonnis Regler Xerun: if (StellWertMotor <= 21){ StellWertMotor = 21; Obwohl ich das unschön finde besser wäre: mymotor.attach(9); -> mymotor.attach(9,600,2400); Der unterste Wert ist default, wenn er nicht gesetzt wird 544. 600 Müsste als unterster Stellwert für deinen Regler reichen, ansonsten leicht anheben! Wenn wir anfangen an jeder Stelle die if-Grenzwerte zu verändern, wird das Programm nicht universell sein. Warnung: Mit jeder seriellen Ausgabe in der Loop Routine verlangsamst du das Programm in der Schleifengeschwindigkeit. Die Werte für Dämpfung usw. bekommen einen neuen Wert.
  12. besser als die 20 einzustellen ist den unteren Servo Wert anzupassen.
  13. Du kannst die Limits festlegen. Im Sourcecode findest Du zwei if Abfragen. Eine limitiert nach unten 0, die Andere nach oben 255.
  14. -> Hatte wir schon zum Anfang diskutiert. Auf eigener Gefahr. Fällt dir der Nunchuk aus der Hand, wird dies erst nach vielen Minuten erkannt. Dein Board wird in der Zwischenzeit zum unkontrollierten Geschoss. -> Das ist eine ganz schlechte Idee. Du gaukelst den Arduino eine Pairing vor. D.h. Ohne das der Empfänger und Nunchuk miteinander Reden, behauptest du die Verbindung wäre da. Dadurch das du den Lost Trigger auf 1000 gestellt hast, kann es Passieren, dass dein Board für viele Minuten die Flucht ergreift. Das würde ich an deiner Stelle wieder auf 0 stellen. :devil:
  15. Schwitz, dann gehe ich davon aus, dass jetzt alles klappt? Ist die Beschleunigung jetzt linearer? Hast du die Min, Max und Mittelposition für den Xerun neu angelernt? Das der Nunchuk nicht die 0 oder 255 erreicht ist kein Problem. Darum arbeite ich ja mit der Integrationsroutine. Die erreicht immer die Extrema. Unabhängig vom Nunchuk. Der Totpunkt für den Controller ist dafür da, damit im Falle einer schlechten Neutralstellung des Nunchuk (also nicht der Wert 127) keine Aufsummierung (Integration) stattfindet.
  16. Fällt mir erst jetzt auf: Für was brauchst du einen Rückwärtsgang? Willst du mit den Board einparken :confused5: Löscht den Modus und nimmt die Einstellung: 1. Running Mode: Vorwärts mit Bremse
  17. Der Rückwärtsgang und unter 20 will nicht müssen wir uns näher ansehen. Du Findest unter der Arduino Beispielsammlung -> Servo -> Sweep. Bock dein Board auf und verlänger die Sweep time auf ca. 20 Sekunden. Lasse dir die Werte auf der seriellen Schnittstelle ausgeben. Mit den Wert unter 20 kann zwei Gründe haben: 1. Max und Min wurden falsch durch den Xrun angelernt. Ist Chrizz auch passiert und er hat sich gewundert, warum sein Motor nie Vollpower lief! 2. Du kannst in der Servo-Parametrierung Minimale und Maximale Puls Pausen-Verhältnisse angeben. Es kann sein, dass dein Xrun die Defaultwerte nicht verarbeiten kann. http://arduino.cc/en/Reference/ServoAttach
  18. Hi Sonni, hier muss ich zu meinem Verständnis es neu formulieren: 1. Die Neutralstellung liegt nicht bei 127 sondern bei 20? 2. Rückwärts kann der Regler? oder meinst du der Bremsbereich liegt bei 0-20?
  19. Hi Sonni, der Link funktioniert nicht, aber ich habe das Modul bei •••• gefunden. Sieht erstmal gut aus. Zur genauen Beurteilung müsste ich es testen, ob es sich wie meins verhält. Da ich nur den Seriellen "Durchreiche" Modus verwende, sollten aber keine Komplikationen auftreten. Ggf. musst du das Programm wegen einer anderen Baudrate anpassen. Auf jeden Fall sind die Anschlüsse deutlich angenehmer als das, was ich verwende.
  20. Hi Sonni, nö, bei mir ist der Controller etwas empfindlicher. Ich habe überlegt, ob ich alle drei Achsen für die Lebenderkennung benutzen soll. So wie es aussieht, werde ich das wohl machen müssen. Dann sollte das besser funktionieren. Das Pairing habe ich noch nie verloren. Meinst du die LED vom Empfänger, oder die Pairing Debug Meldung?
  21. Und den Parameter für die Lebenderkennung schon im Sourcecode gefunden?
  22. Hi Sonni, wann holst du dir das Bluetoothmodul?
×
×
  • Neu erstellen...