Werte Mitbastler,
es war lange überfällig, ab heute wird das Programm von den Parametern getrennt!
D.h.:
Jeder hat sein eigenes
* Elektroskate_Custom_Settings.h -> BT vorhanden, Strom und Spannungsmessung erwünscht? u.s.w.
* Elektroskate_Custom_Parameters.h -> Hier können die Spannungsmessbereiche oder Überströme, Nunchukverhalten eingestellt werden.
* Elektroskate_Changelog -> Was wurde am Programm verändert?
* Elektroskate_Connection -> Wo wird was angeschlossen und was macht überhaupt das Programm?
Und die Debug Ausgabe wurde von der Datenausgabe getrennt. D.h. Debug über USB und Daten über BT-Modul!
Elektroskate_Custom_Settings.h
// Debugflag
#define DEBUG TRUE // Aktivieren der Debugausgabe DEBUG = TRUE, FALSE
// Wie soll gesteuert werden
#define DirectDrive FALSE // TRUE -> Direct Drive, FALSE -> Integrations Drive
// Sonderfunktionen
#define UIMESS TRUE // HW UI-Messung vorhanden (TRUE,FALSE)
#define LICHTHUPE TRUE // HW Licht, Hupe vorhanden (TRUE,FALSE)
#define TEMPMESS TRUE // HW Temperaturmessung vorhanden (TRUE,FALSE)
#define LESOFT TRUE // HW Leistungselektronik langsam hochfahren vorhanden (TRUE,FALSE)
Elektroskate_Custom_Parameters.h
// Serielle Geschwindigkeit
#define BT_BAUDRATE 115200 // Datenrate fuer das Bluetooth Modul, ggf. fuer ein anderes BT-Modul anpassen, Ausgabe über Serielle Schnittstelle 1
#define DEBUG_BAUDRATE 115200 // Datenrate fuer das Debugging in der Arduino IDE per USB
//Wertebereich von (Min..Max,SinnvollUntererWert..SinnvollObenrerWert)
// Nunchuk - Steuerparameter Sollwertvorgabe und Programmablaufsteuerung
#define MinYAchse 27 // Minmalwert y-Achse ganz unten (0..255, 0..30)
#define MaxYAchse 255 // Maximalwert y-Achse ganz oben (0..255, 240..255)
#define NeutralstellungYAchse 130 // Neutralstellung Y-Achse (0..255, 125..135)
#define ObererTotpunkt 145 // Wenn dieser Wert von der Nunchuk Y-Achse ueberschritten wird, wird beschleunigt (Integrationssteuerung) (0..255, 136..145)
#define UntererTotpunkt 124 // Wenn dieser Wert von der Nunchuk Y-Achse unterschritten wird, wird die Beschleunigung zurueckgenommen (Integrationssteuerung) (0..255, 115..124)
#define PairingLostTrigger 50 // Schwellwert fuer Funkabriss, wird dieser Wert ueberschritten liegt ein Funkabriss vor (0..255, 20..70)
#define PairingSuccessTrigger 5 // Schwellwert fuer erfolgreiche Verbindung (0..255, 5..10)
// Temperatursensoren
#define TempSensorAnzahl 1 // Die Temperatursensoranzahl -1 hier eintragen
byte TempAddress[3][8] = {{ 0x28, 0x75, 0x3F, 0x2A, 0x04, 0x00, 0x00, 0x73 } // Seriennummer der Temperatursensoren, diese muss extra ermittelt werden
,{ 0x28, 0x0D, 0xE2, 0x00, 0x04, 0x00, 0x00, 0x93 } // Seriennummer der Temperatursensoren, diese muss extra ermittelt werden
,{ 0x28, 0x0D, 0xE2, 0x00, 0x04, 0x00, 0x00, 0x93 }}; // Seriennummer der Temperatursensoren, diese muss extra ermittelt werden
// PWM Motorsteuerung
#define PWM_ObererStellWertMotorIgel 1.7 // Wert berechnen fuer Oebere Pulsweite Igel (1.7ms Pulsweite) (0.0..5.0, 1.6..1.8)
#define PWM_ObererStellWertMotorHase 2.0 // Wert berechnen fuer Oebere Pulsweite Hase (2.0ms Pulsweite) (0.0..5.0, 1.9..2.1)
#define LeerlaufOffset 0 // Offset zum schnelleren Ansprechen des ESC bei inkrementeller Steuerung (0..255, 0..200)
#define PWM_LeerlaufStellWertMotor 1.5 // Wert berechnen fuer Leerlauf (1.5ms Pulsweite) (0.0..5.0, 1.4..1.6)
#define PWM_UntererStellWertMotor 1.0 // Wert berechnen fuer untersten Wert (1.0ms Pulsweite) (0.0..5.0, 9.9..1.1)
// Incrementel Drive Parameter
#define BeschleunigungsDaempfung 7 // Je groesser die BeschleunigungsDaempfung, desto langsamer wird Beschleunigung oder Bremse angenommen (ggf. anpassen) (0..255, 0..20)
// Spannungs/- und Strommessung
#define BattSpgMMax 30 // Maximale messbare Batterienspannung 30V,
#define StromMMax 50 // Maximal messbarer Strom in A (ACS756SCA-050B Stromsensor)
// Strombegrenzung und Kurzschlusserkennung
#define Ishort (uint8_t) 50 // Maximaler Strom, dieser fuehrt zur sofortigen Abschaltung (<= StromMMax)
#define Imax (uint8_t) 30 // Grenzwert, ab dem die Strombegrenzung einsetzt
#define Strom0A (float) StromMMax // 0A Messwert, wird angezeigt wenn kein Strom fliesst und Strom0A = 0 (muss kalibriert werden)