Hallo zusammen, ich habe schon etwas recherchiert, und bin bereits positiver Dinge, dass mein Anliegen umsetzbar ist. Es handelt sich um "Sateliten" mit begrenzten Aufgaben, weshalb ich versuche in diesem Fall mit Arduino auf Kosten von Rescourcen einfach ans Ziel zu kommen. >>Fuzzy Bestandsaufnahme >Servo.h Ich habe schon gesehen, dass es eine Servo.h gibt, die scheinbar die Compare-Match-Hardware verwendet, welche an den Boardpins ankommen. Das ist schon mal gut. https://github.com/stm32duino/Arduino_Core_STM32/tree/master/libraries/Servo >Summensignal Ich habe ebenfalls gesehen, dass jemand unter dem Ardu-Framework das Summensignal eingelesen hat. >>Frage (zum verfestigen meiner positiven Hoffnung): A) weiß jemand ob sich neben der Servo.h mit Inputcapture-Interrupts arbeiten lässt? B) Bzw. generell, ob ich unter dem Ardu-Framework auf der Bluepill an die Interrupt-ISR komme? Gibts da ggf. eine Bibliothek die vll. nach einem Notifier-Pattern arbeitet? viele Grüße :>
Jasson J. schrieb: > Es handelt sich um "Sateliten" mit begrenzten Aufgaben Das kann alles und nichts bedeuten. Was sind denn für dich "Satelliten"? Und hat nicht alles "begrenzte Aufgaben"? Jasson J. schrieb: > weiß jemand ob sich neben der Servo.h mit Inputcapture-Interrupts > arbeiten lässt? Wenn du dafür einen anderen Timer verwendest, dann geht das. Jasson J. schrieb: > ob ich unter dem Ardu-Framework auf der Bluepill an > die Interrupt-ISR komme Diese Frage verstehe ich nicht. Was bedeutet "and die ISR komme"? Programmiere das Board doch einfach bare-metal ohne Framework. SO schwer ist das nicht. Hier hast du ein paar Codeschnipsel zum Anfangen: http://stefanfrings.de/stm32/stm32f1.html
Mit "Satellit" meinte ich sinngemäß das, was z.B. auch bei N.1 Soundsystemen Sateliten sind. Kleine Einheiten die zum Gesamtsystem gehören, aber verhältnismäßig einfach sind. Mir ist schon klar, das "verhältnismäßig" eine analoge Aussage ist. Klar, ich würde mit dem STM32 auch barematel zurecht kommen, habe für was früheres eins von den Discoverys benutzt. Im Moment bin ich auf TIVA-C unterwegs und will die spärliche Hobbyzeit nicht mit neuen IDE´s etc. belasten. Daher will ich mir wie oben angemerkt auf Kosten von Rescourcen einen schlanken Fuß machen. Time-To-PrivateUse :)
Jasson J. schrieb: > Mit "Satellit" meinte ich sinngemäß das, was z.B. auch bei N.1 > Soundsystemen Sateliten sind. Ich erkenne den Zusammenhang zwischen Lautsprechern und Arduino mit Servos nicht. Wenn das Ding so geheim ist, dann frag nicht!
Dann bist du nicht in der Lage den Begriff Satelit zu abstrahieren.
Beitrag #6086163 wurde vom Autor gelöscht.
Ich habe es nu erfolgreich einfach drauf ankommen lassen und eine erste Basis als quick and Dörte Machbarkeitsversuch hinbekommen. Das ganze gibt auf 10 Pins entweder PWM von 0% - 100% oder ein Modellbau-Servo-Signal mit 1ms - 2ms aus. Dabei soll jeder Pin frei wählbar beides können. Nach kurzen Analysen, was die Ardu-Bibliotheken hergeben, bin ich doch teilweise zum Bitschubsen übergegangen. Zudem wird über einen Input-Capture ein siebenkanaliges Summensignal eingelesen, übernommen und verändert von hier Youtube-Video "STM32 for Arduino - Connecting an RC receiver via input capture mode" Da immer einige Compare-Match Kanäle vom stm auf der BluePill an den selben Timer gebunden sind, müssen Timings und Wertebereiche gefunden werden, die sowohl für den 0-100% PWM, wie auch den Servobetrieb geeignet sind. Herausgekommen ist bei einer Fsys von 72MHz ein PSC von 18, ergibt 4MHz Timertaktung, was für eine Millisekunde 4000 Ticks macht, für 2ms entsprechend 8000 und bei einem Reloadwert von 10000 eine Frequenz von 400Hz für den PWM-Betrieb. Um einzelne Pins zwischen 0-100% PWM und Servo-Signal um zu schalten, wird das Update-Event Bit von Timer 4 verwendet um eine Funktion auf zu rufen, wo bei jedem Pin je nach Modus der PinMode zwischen Normal und Alternate Function umgestellt wird. Das heißt im Servo Mode wird für ein paar Timerzyklen der Pin auf Standard-Mode geschaltet, welcher einfach Low ist und der PWM auf die Art einfach geblankt wird. Wegen diesem Ansatz läuft die PWM-Outputlogik mit invertierter Polarität, um im Servobetrieb nach Ende einer Periode etwas Zeit zu haben, den Pin in Standard-Mode zu schalten. Eine simple Klasse "ActuatorPin" erleichtert abgesehen von Initalisierungen das "Anpacken" der einzelnen Ausgangspins im Programfluss. Für diesen Versuch ist einfach ein Multiplexing mit 10 Slots auf Kanal 1 eingebaut. Ein sinnvolles Konzept für eine Parametrierung von außen steht noch aus.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.