Naze 32 + brushed motor

Status
Nicht offen für weitere Antworten.
#1
Hallo,

ich bin grad dabei mir einen kleinen Acro Naze Quad mit winzigen brushed Motoren zu bauen.

Als regler hab ich jeweils BS170 MOSFETs (zur Not BUZ8 falls die Motoren mehrs als 0,5A fressen), bei denen das 5V PWM Signal am Gate ist. Die MOSFETs sollten sich damit durchschalten lassen. Sofern ich das PWM-Signal auf 100% bekomme zumindest. Und da liegt auch schon der Knackpunkt...

Klingt jetzt vielleicht etwas noobig, aber ich hab mir gerade das PWM Signal der Naze am Oszi angeschaut: Pulsabstand 2,5 ms und Pulsweite zwischen ca. 1 und 2 ms während ich den Throttle-Knüppel von gar nicht bis voll durch drücke. Da ging mir dann ein Licht auf, warum die Werte minthrottle und maxthrottle immer ca. bei 1000 bis 2000 liegen bei den Flight Controls.

Dachte ich, setz ich einfach im CLI maxthrottle=2500. Geht aber nicht, "ERR: out of range".

Klar könnte ich jetzt die entsprechenden Schranken im Code ändern, aber erstens weiss ich nicht ob das irgendwelchen unerwünschten Effekte mit sich brächte und zweitens bin ich mir nicht nicht sicher ob ich das mit meiner Toolchain kompilieren und flashen kann. (Hab mal "spaßeshalber" eine für ein STM32DiscoveryF3 Board eingerichtet, hat 2 Wochen gedauert..."

Also gibts da vielleicht einen Workaround? Hat das jemand schonmal gemacht oder eine Idee wie ers angehen könnte?
 

schnellmaleben

Erfahrener Benutzer
#2
Die Firmware müsste mindestens an einer weiteren Stelle geändert werden - nämlich minthrottle - ansonsten kannst Du ja nicht unter 40% Duty Cycle kommen, bei min 1ms pro 2,5ms frame. Außerdem bist Du so auf 400Hz PWM-Frequenz festgenagelt, wäre aber OK. Die Alternative zum Firmware ändern ist, genau wie es ein Brushless-Regler macht, einen Mikroprozessor zu spendieren der das RC-Pulsbreiten-Signal interpretiert und in eine entsprechende 0-100% PWM-Rate auf seinen FETs, in diesem Fall nur einen, ausgibt. Irgendwie ist das sicher auch in diskreter Elektronik (NE555-Projekt?) zu schaffen, aber das ist noch weniger sinnvoll. Du kannst beispielsweise einen Attiny2313 für alle vier Motoren/FETs nehmen, ich persönlich finde Firmware ändern aber doch einfacher :)
 
#3
Auf jeden Fall. Das coole dran ist ja, dass die Regelung theoretisch so einfach mit nem MOSFET funktionieren sollte. Das mit dem minthrottle hatte ich bedacht, aber die Motoren kriegen den kleinen bei 40% glaub nicht in die Luft. Ich werds einfach mal versuchen, auch wenn ARM-Programmierung ein "pain in the ass" ist und ich nur rudimentäre Programmierkenntnisse hab. Der Code von Timecop ist gut kommentiert. Ich hoffe nur dass das nicht noch andere Probleme mit sich bringt...

Btw. gibt es noch die Variablen mincheck und maxcheck. Ich weiss allerdings nicht wofür die sind und ob ich die ändern muss. Jedenfalls scheinen sie im CLI denselben value range zu haben wie min/maxthrottle. Also wärs wohl am einfachsten die Einstellungen für den Range zu finden und zu ändern.

edit: wie erwartet: das Einrichten der Toolchain treibt mich in den Wahnsinn :c

edit2: jetzt kompiliert er. unglaublich was es nicht alles an bescheuerten bugs gibt... 5 1/2 stunden hab ich dafür gebraucht. das meinte ich mit "pain in the ass" und darum wollte ich auch nicht die firmware verändern :D

edit3: 7,5 stunden später. dass es kompiliert heisst noch lange nicht dass es flasht... ich glaub ich geb auf und machs bei gelegenheit mit keil + alternativer toolchain ohne code begrenzung.

edit4: oder ich flashe es einfach nur mit windows :rolleyes: jedenfalls konnte ich die werte jetzt auf 2500 und 0 setzen. werde morgen mal versuchen obs auch so läuft wie ich mir das gefälligst vorstell.

edit5: hab TC gefragt. falls es nochmal jemand brauchen sollte:
http://www.multiwii.com/forum/viewtopic.php?f=22&t=2387&p=38347#p38347
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten