Jump to content
elektro-skateboard.de

Controllereigenbau + Bluetooth + Arduino


barney

Empfohlene Beiträge

Geschrieben

Ja habe mal mit nem anderen getestet.

Gleiches Verhalten. Werde morgen mal gegen ne LED tauschen.

Auch beide Buzzer sind in Ordnung. Aber ist nicht so tragisch. Für heute reicht's. Werde moin wieder weiter machen.

Schönen Abend Dir,

 

Gruss Fabi

Geschrieben

Kannst du mir die Bestellbezeichung des Buzzers zusenden, oder die technischen Daten. Es scheint bei dir so zu sein, als wäre das kein 3,3..5V Buzzer mit Elektronik zu sein. Der darf auch nicht viel Strom ziehen. Wenn ich mich richtig erinnere, zieht meiner ca. 4mA.

Geschrieben

Hi Barney & Guten Morgen

 

hier mal der Buzzer

Externe Links nur für Mitglieder sichtbar

komisch...

Rein vom look her nur ein Buzzer ohne Elektronik. Aber ist eine Idee, ich werde mal nachmessen gehen.

BT-Module sind auch bestellt, ebenso Breadboards. Das heisst am Sa und So wird die Funkstrecke mal aufgebaut.

Ziel ist es, irgendwie ein Signal auf einen Servo zu übertragen...

 

Grüsse

Fabi

Geschrieben

Mit dem Servo hast du meine nächste Frage beantwortet. Also Servosignal.

Zur Geschwindigkeit: Es werden 10 Messzyklen je Sekunde übertragen. D.h. wenn du schnell genug bist, kannst du per Taster, z.B. eine LED 5x je Sekunde ein und ausschalten und dabei 10x je Sekunde den Servo verstellen.

Geschrieben

Hallo Barney

 

Ein Datenblatt ist keines dabei.

Ich habe auch einen 5V Buzzer getestet, dieser summte ebenso wie auch der 3V Buzzer. Aber bei dem Deaktivieren des jeweiligen Buzzers, war das Verhalten das gleiche.

Vielleicht überprüfe ich auch erst nochmal den Aufbau.

Muss eh etwas kompatker stecken um alles sauber unterzukriegen.

Vielleicht hilft das ja ;)

Ansonsten werde ich dann einfach mal den Buzzer ignorieren und versuchen den zweiten Teensy aufzubauen.

 

Grüssle

Fabian

Geschrieben
Hallo Barney

 

Ein Datenblatt ist keines dabei.

Ich habe auch einen 5V Buzzer getestet, dieser summte ebenso wie auch der 3V Buzzer. Aber bei dem Deaktivieren des jeweiligen Buzzers, war das Verhalten das gleiche.

Vielleicht überprüfe ich auch erst nochmal den Aufbau.

Muss eh etwas kompatker stecken um alles sauber unterzukriegen.

Vielleicht hilft das ja ;)

Ansonsten werde ich dann einfach mal den Buzzer ignorieren und versuchen den zweiten Teensy aufzubauen.

 

Grüssle

Fabian

 

Gucks Du:

Externe Links nur für Mitglieder sichtbar

 

Das mit dem Buzzer sollte so nicht sein.

1. Was passiert, wenn du nichts anschließt?

2. Anstatt dem Buzzer eine LED nimmst?

 

Es soll schlecht verarbeitete Teensy 3.1 geben, wo Lötstellen Kurzschlüsse verursachen.

Geschrieben

Ich werde heute Abend den zweiten Teensy mal anschliessen, prüfen ob das mit dem Buzzer besteht. Falls nicht voila, Problem erkannt. Falls doch, werde ich die Tests wie von Dir vorgeschlagen durchführen...

 

Mal schauen...

 

Cooler Link, jetzt geht Dein Projekt los :thumbsup:

Geschrieben

Wenn die HC-05 Module kommen, so müssen diese noch auf 115200 Baud umgestellt werden.

 

/*

AT Kommandos muessen innerhalb 0,5 Sekunden

nach Spannungsversorgung gesendet werden

*/

void setup() {

Serial.begin(38400); // Default fuer AT-Mode HC-05 38400 Baud

}

 

void loop() {

Serial.write("AT+NAME=Elektroskate-Controller\r\n");

Serial.write("AT+UART=115200,0,0\r\n");

Serial.write("AT+VERSION?\r\n");

Serial.write("AT+NAME?\r\n");

while (Serial.available() > 0) {

Serial.write(Serial.read()); // Hat das Modul es geraft?

}

delay (1000);

// Nur lesen!

/*

//Serial.write("AT+NAME?\r\n");

Serial.write("AT+VERSION?\r\n");

while (Serial.available() > 0) {

Serial.write(Serial.read());

}

delay (2000);

*/

}

 

 

Für die Programmierung muss der Pin PIO11 auf +3.3V vor dem Einschalten gesetzt werden!

 

Das Programm wird nicht erfolgreich durchlaufen, da es in der Zeile Serial.write("AT+UART=115200,0,0\r\n");

in der Datenrate umgestellt wird.

Nach der Umstellung musst du die Baudrate auf 115200 umstellen sonst siehst du nichts!

Die ersten beiden Zeilen:

Serial.write("AT+NAME=Elektroskate-Controller\r\n");

Serial.write("AT+UART=115200,0,0\r\n");

mit // auskommentieren!

 

Das FB-modul wird hiermit umbenannt und ist mittels BT Scan unter den Namen Elektroskate-Controller zu finden.

 

Sollte es geklappt haben, PIO11 ablöten!

Geschrieben
Zum Thema Gehäuse:

 

CAD und Design-Technisch bin ich sehr gut zu Gange. Soll ich loslegen? Hast Du grobe Vorstellungen?

 

Grüssle

 

Schreib mal Sonni an, der hatte eine geniale Idee für einen Controller am Unterarm. Als Geber würde ich den Nunchuk nehmen. Ob dieser noch modifiziert wird, bin ich mir noch nicht sicher!

 

VG

 

Barney

Geschrieben
Da ich die Module von Sparkfun verwende "Bluetooth Mate Gold" wird es wohl PIO4 (angeschrieben als PIO6) sein...

 

Die sind default 115200 Baud.

Preislich ist ein Modul so teuer wie 12 von meinen HC-05.

Ups....

Ich bin gespannt.

Geschrieben
Ich weiss :mad:

 

Aber lieber legal. Habe mich informiert und hier in der Schweiz ein absolutes No-Go.

 

Egal, sind schon bestellt...

 

Grüssle

 

Bluetooth benutzt das Lizenzfreie ISM Frequenzband. Und die HC-05 Module werden in der Industrie im 10ner Pack verbaut. Ist alles Standard. Da hättest du dir keinen Kopf machen müssen....

Naja ist ja noch der Prototyp.

Geschrieben

Nunchuk Problem gelöst:

Egal ob Wireless oder Wire, beide arbeiten jetzt einwandfrei. Also man hat jetzt mehrere Möglichkeiten:

● Nunchuk mit Wii Protokoll

● Joystick analog

● Carrera analog oder was noch irgendwie analog ist...

Geschrieben

Hi Barney

 

Und wie gelöst :skep:

Jetzt bin ich ja mal gespannt.

Leider sind die beiden BT Module nicht angekommen.

Somit werde ich erst die kommende Woche weiter arbeiten können...schade...

 

Grüssle Fabi

Geschrieben

Und wie gelöst :skep:

Jetzt bin ich ja mal gespannt.

 

Du hast gefragt:

 

Also ganz einfach - In der Nunchuk Lib

 

Nunchuk.cpp

void Nunchuk::update()

{

byte count = 0;

unsigned int values[6];

// crypto key data address

Nunchuk::_sendByte(0x40, 0x00);

 

Fehlte diese Zeile: Nunchuk::_sendByte(0x40, 0x00);

 

Und der Nunchu.init Befehl wird jetzt 10 mal die Sekunde ausgeführt.

Geschrieben

Hi Barney

 

Aha, habe nochmals getestet, läuft alles soweit.

Werde dann sobald die BT Module da sind ne Runder weiter aufbauen.

Habe mittlerweile eben ein wenig im CAD weiter arbeiten müssen.

Bin mal gespannt, wie das ganze dann läuft über BT.

Bist Du no weiter gekommen oder hast Dich auch mit Deinem weiteren Projekt voll beschäftigt?

 

Schönen Sonntag

 

Grüsse

Fabi

Geschrieben

Was heißt denn alles läuft, was hast du denn angeschlossen?

 

Weiter gemacht? Samstag hat die Sonne so intensiv geschienen, dass mein Board von mir ausgeführt werden wollte :D

 

Wie gesagt, ich habe noch keinen Empfänger geschrieben und benötige den zweiten Teensy derzeit für den BLDC. Das Tempo wird jetzt ein wenig einbrechen. Fang schon mal, an dir die Teensy Programmierung näher anzusehen.

 

Wie ein Servo angesteuert wird, bekommst du noch von mir. Auch wie du die Daten empfängst, dann hoffe ich aber darauf, dass du denn kleine Module schreibst, die ich mit einbauen kann.

 

Du bekommst noch ein weiteres Programm mit den Nunchuk als Empfänger. Hier muss "nur" noch die neue Fernbedienung eingearbeitet werden.

 

VG

 

Barney

Geschrieben

Hi Fabian, Hi Dude,

 

hier ein kleiner Teensy 3.1 Code zum Testen eines Servos oder Motorstellers.

Hier muss ich den Teensy Hersteller noch anschreiben, da stimmt was nicht mit der analogen Auflösung bei 50Hz noch nicht. Aber ein Servo lässt es sich schon damit ansteuern.

 

 

#define AnalogWriteResolutionBits 16   // Festlegen der Aufloesung in Bit fuer die Digital Analog Umsetzer, hier die PWM Auflösung
#define AnalogWriteResolutionValue (uint16_t) pow(2,AnalogWriteResolutionBits) // Festlegen der Aufloesung (Wertebereich) fuer die Analog Digital Umsetzer
#define PWMFrequenz 50                 // Festlegen der PWM Frequenz für die Ansteuerung des Motorstellers. Ueblicherweise alle 20ms ein Impuls
#define UntererStellWertMotor  (uint16_t) float(1*AnalogWriteResolutionValue*PWMFrequenz/1000)   // Wert berechnen für 1ms Pulsweite
#define LeerlaufStellWertMotor (uint16_t) float(1.5*AnalogWriteResolutionValue*PWMFrequenz/1000) // Wert berechnen für 1.5ms Pulsweite
#define ObererStellWertMotor   (uint16_t) float(2*AnalogWriteResolutionValue*PWMFrequenz/1000)   // Wert berechnen für 2ms Pulsweite

#define Pin_Motorstelleranschluss A9 // Pin A9 Motorsteller PWM-Anschluss

uint16_t pos = LeerlaufStellWertMotor;    // variable to store the servo position 

void setup() 
{ 
 // Die Motorsteller benoetigen ein PWM Signal mit einer Impulsweite von
 // 1ms bis 2ms alle 20ms. Diese PWM wird ueber den 16 Bit Timer in Hardware realisiert
 analogWriteFrequency(Pin_Motorstelleranschluss, PWMFrequenz);   // Einstellen der PWM Parameter fuer den Motorsteller
 analogWriteResolution(AnalogWriteResolutionBits);               // analogWrite Aufloesung
 analogWrite(Pin_Motorstelleranschluss, LeerlaufStellWertMotor); // Geschwindigkeitsvorgabe Motor
 delay(2000);  
 // Ende PWM
} 

void loop() 
{ 
 for(pos = UntererStellWertMotor; pos < ObererStellWertMotor; pos += 1)
 {  // von 1ms to 2ms
   analogWrite(Pin_Motorstelleranschluss, pos); // Geschwindigkeitsvorgabe Motor
   delay(1);                                    // waits 15ms for the servo to reach the position 
 } 
 for(pos = ObererStellWertMotor; pos >= UntererStellWertMotor; pos -=1)     // von 2ms to 1ms 
 {                                
   analogWrite(Pin_Motorstelleranschluss, pos); // Geschwindigkeitsvorgabe Motor
   delay(1);                                    // waits 15ms for the servo to reach the position 
 } 
}

  • 2 weeks later...
Geschrieben

Hi Barney

 

ich bin leider etwas Land unter gewesen. Musste und darf auch die kommende Woche geschäftlich reisen...

Von daher habe ich seit Anfang Mai nichts mehr machen können.

Zu allem Überfluss ist mir auch noch ein Teensy abgeraucht. Hatte irgendwie plus mit minus vertauscht :mad:

Jetzt muss ich wieder einen nachbestellen. Bin aber ab morgen wieder unterwegs und dann endlich ab Freitag im Urlaub.

Von daher werde ich mich erst wieder im Juni einklinken.

Tolle Arbeit Barney :thumbsup:

Ich melde mich dann wieder.

 

Grüsse Fabi

Geschrieben

Hi Fabian,

 

das mit ab Juni, passt ganz gut. Dude hat das Teensy Empfangsprogramm für die Nunchuk Steuerung gut umgearbeitet. Vielleicht schaffe ich es noch die kommende Woche, alle anderen Funktionen (Strom-, Spannungsmessung, Temperatur und BT-Modul) zu testen. Sollte das alles wieder einwandfrei funktionieren, kann diese Software als geeignete Grundlage für die Teensy Fernbedienung dienen.

 

Mit dem Verpolen des Teensys hattest du echt Pech. Zum Glück hält sich der Schaden in Grenzen.

 

Bis demnächst.

 

Viele Grüße

 

Barney

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...