#include "fba.h"
#include <avr/eeprom.h> // EEMEM, Kalibrierwerte für Potenziometer sind dort
// Vorgabewerte für EEPROM ab Adresse 0
Eedata eemem EEMEM={
0, // lamps
0xBC, // Adresse für Pampelmuse, mglw. I²C-Slaveadresse
{11,{ // Lenkwinkel in °, aufgenommen 230905, ausgehend vom Geradeauslauf
{ 9730, 38}, // 230905: Tatsächlich unterschiedliche Lenkanschläge
{12010, 30},
{14100, 20},
{16020, 10},
{17030, 5},
{17980, 0}, // Bei Geradeauslauf ist Führerhaus 1° nach links(!)
{18810, -5},
{19650,-10},
{21250,-20},
{22910,-30},
{24410,-39},
}},
{3,{ // Ladefläche in °
{0x1DB0, 0},
{0x3BF0, 30},
{0x5D00, 67},
}},
{3,{ // Verwindung in °
{0x19F0,-30},
{0x3CF0, 0},
{0x69B0, 30},
}},
3440, // 288 mV @ 0 °C entspricht 288 mV ÷ 3,3 V × 32768 = 2860
{0}, // Keine Steilheit wegen der Ungenauigkeit des Thermometers.
// Es zeigt sich eine erhebliche Abhängigkeit von der Spannung an ADC3!!
// Damit ist die Temperaturmessung auf diese Art eher für'n Arsch,
// Firmware-Änderung erforderlich.
// Bevorzugt: ADC0..2, dann Regler [0,2,3] starten.
// Während Reglerberechnung ADC3, dann ADC8, dann fertig.
// Dann sind die neuen PWM-Werte früh genug für den nächsten Zyklus fertig: Minimale Latenz!
{ // PID-Reglerkoeffizienten, bezogen auf 0,01° und 20 ms
// Kp Ki Kd Z L T M
{{ 16, 16},{ 8, 8},{ 4, 4},{-35,55,-25,45},{ -32, 32, -32, 32}, 30,50}, // Lenkregler (max. 3 s)
{{ 0, 0},{80,80},{ 0, 0},{-10, 2,-10, 2},{-126,126,-126,126}, 0, 5}, // Fahrtregler
{{ 24, 24},{ 2, 2},{ 0, 0},{-24,39,-21,36},{ -2, 16, -2, 16},150,50}, // Mulde (max. 15 s für geringere Batteriespannung)
{{ 0, 0},{ 0, 0},{ 0, 0},{-10,10,-10,10},{ -8, 8, -8, 8}, 10,50}, // funktionslos
},
{// Odometrie (Die Getriebeübersetzung ist nur schwer zu ermitteln.)
{-28,28}, // Maximale Fahrgeschwindigkeiten in cm/s (zurück, vorwärts)
5106, // onestep: 0,1 µm pro Tachotick (gemessen 230320: 0,5106 mm/Tick)
{580,1166,1692,2102} // q = Winkeländerung pro Schritt für 10°, 20°, 30° und 39°
}
};
/* Messdaten Kreisfahrt 230321: Wendekreis-Umfänge in m (vom Meterzähler)
╔═══════╤═══════════════╦═══════╤═══════════════╤═══════════════╦═══════╤═══════╤═══════╤═══════╗
║Knick │ vorwärts ║Knick │ vorwärts │ rückwärts ║ Mitte │Ticks │ q │ q°/λ ║
╟───────┼───────┬───────╫───────┼───────┬───────┼───────┬───────╫───────┼───────┼───────┼───────╢
║-39° │4,29 m │- ║+39° │4,17 m │4,16 m │3,90 m │3,90 m ║4,08 m │ 7980 │ 2102 │ 54 ║
║-30° │5,64 m │- ║+30° │5,02 m │5,02 m │4,84 m │4,85 m ║5,07 m │ 9916 │ 1692 │ 56 ║
║-20° │8,73 m │8,74 m ║+20° │6,72 m │6,77 m │6,58 m │6,60 m ║7,36 m │14395 │ 1166 │ 58 ║
║-10° │- │- ║+10° │- │- │- │- ║- │- │ 580? │ 58 ║
╚═══════╧═══════╧═══════╩═══════╧═══════╧═══════╧═══════╧═══════╩═══════╧═══════╧═══════╧═══════╝
q = Winkeländerung Δα pro festgestelltem Schritt vom Motor,
ist erwartungsgemäß gut lenkwinkel-proportional,
dürfte aber sehr von der Beladung abhängen.
*230623 Änderung Lenkregler-Slip-Stick-Parameter („Z“) nach Servo-Tausch
*230825 Änderung Lenkregler-Slip-Stick-Parameter („Z“) nach Servo-Tausch
*230906 Änderung Lenkregler-Slip-Stick-Parameter („Z“) nach Servo-Tausch
*/
Detected encoding: UTF-8 | 0
|