-
-
Erfahrener Benutzer
Fleißiges Mitglied
Wenn ich das richtig interpretiere hilft das wahrscheinlich nur begrenzt weiter.
Ich möchte bei meinen Servos die analoge Steuerung rausschmeißen und durch eine digitale Version ersetzen, die per I2C Bus ihre Sollpositionsdaten erhält. Dabei muß der Prozessor ständig prüfen, ob das Servo noch in der aktuellen Sollposition ist und eben gegebenenfalls das Servo entsprechend bewegen. Dazu brauche ich kürzestmögliche Zyklenzeiten, die nicht durch unendliche Interrupts der Soft I2C Slave ausgebremst werden.
Die für Bascom käufliche I2C Slave Lib hatte zB den effekt, daß das Servo ständig über den Sollpunkt hinweg fuhr und darum ständig hin und her fuhr, wenn Daten am Bus übertragen wurden (auch wenn die Daten nicht für dieses Servo gedacht waren).
Da die Schaltung extrem klein und leicht werden muß, wollte ich einen µC in SO8 Bauform haben, darum Tiny13.
eventuell muß ich dann eben eine andere Lösung finden zB einen Mega8 zu nutzen, der dann gleich mehrere Servos kontrolliert, da dieser µC den I2C Slave als Hardwarefunktion eingebaut hat - oder täusche ich mich da?
PS: in den letzten Tagen hab ich es endlich geschafft meine alte FC16 RC-Fernsteuerung auf 2,4GHz zu pimpen. Darin werkelt jetzt ein Mega2561 mit einem 2,1" Grafikdisplay und überträgt die Steuerdaten per Xbee Pro zum Empfänger-Baustein - einem Mega8, der die gesamte Modellspezifischen Daten über Trimmung Failsafe und demnächst auch Mischerfunktionen im Eeprom ablegt und verarbeitet. Im Gegenzug wird der Empfängerbaustein Meßdaten samplen über Akkuspanung, Stromverbrauch, Flughöhe etc. und diese zur FC16 zurücksenden, wo dieses am Display erscheint... Dadurch kann man auch eine Variometerfunktion realisieren - werde dazu nächste Woche bei Hyline den SCP1000 Drucksensor mit einer Auflösung von 10cm bestellen, den ich ebenfalls am I2C Bus betreiben kann.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen