Posts

Immer wieder neue Erkenntnisse

Bild
Netduino mit meinem aktuellen Shield Zugegeben, habe ich mich vielleicht etwas übernommen, als ich geglaubt habe, dass ich das in wenigen Monaten schaffe würde, eine brauchbare Lösung zu programmieren, ohne an die praktischen Schwierigkeiten zu denken. Wer kennt es nicht, dass der PC mehr Arbeitsspeicher braucht für mehrere oder besonders speicherlastige Programme. Nun, mein Programmcode für den Controller zur Steuerung über Netzwerk und das Auswerten der Sensoren erfordert mehr Speicher als das, was im Netduino Plus steckt. Mit den 42KB Arbeitsspeicher scheine ich wohl derzeitig nicht auszukommen und so muss ich wohl einen anderen Weg finden, etwas kompakter zu programmieren. Die Nummer 16 hinter Hauptroutine, bedeutet, dass der Thread angehalten ist. Der Thread wird gebraucht, um die Regler anzusteuern. Wie wirkt es sich derzeitig aus? Sobald das Ende des Arbeitsspeichers erreicht ist, kommt es zu einem Ausnahmefehler in der Methode. Da ich jeden Thread mit einer eige

Vorerst mein letzter Sensor für mein Projekt Quadrocopter

Bild
Der Sensor GY-52 Es hat wieder einige Wochen gedauert, bis meine Bestellung aus China kam. Dafür hat es sich gelohnt, einige zig Euros zu sparen. Und wie schon gesagt, ich habe Zeit. Zunächst sehe ich zu, dass ich die Daten einlesen kann, und wie immer in C und C# werde ich Beispiele dazu posten. Nachtrag: Nachdem ich auch die Dokumentation zu dem Sensor gefunden habe, musste ich feststellen, dass es nicht gerade so einfach wird, die Daten auszulesen. Derzeitig bekomme ich zwar eine Verbindung, jedoch keine Daten. Bis ich mit der Doku durch bin, werde ich erstmal weiter an der Windows Phone 7 App und dem Programmcode für den Controller arbeiten.

Wie schließe ich ein Brushless Motor an

Bild
Brushless am Arduino zum testen. Vielleicht für den einen oder anderen Interessant, wie eigentlich ein Brushless Motor angeschlossen wird. Für die Versorgung sind zwei Zuleitung an den Regler, die jeweils mit Rot und Schwarz farblich zu erkennen sind. Andernfalls sind am Regler die Pol Richtung gekennzeichnet. Zum Bürstenlosen Motoren führen jedoch 3 Leitungen ab. In meinem Beispiel sind die Leitungen blau, andernfalls sind die Leitungen am Regler ebenfalls Kennzeichnet. Der Motor selbst hat wiederum gelb, rot und schwarz. Links zusehen, die Plus und Minus Kennzeichnung. Rechts die Kennzeichen A, B und C. Den ersten Blauen, bzw. hier Kennzeichen B, verbinde ich mit Schwarz. Im folgendem Bild ist der gelbe Leitung an Kennzeichen A und Rot an Kennzeichen C verbunden. Nun dürfte nach Anschluss sich der Motor beim durchsteuern gegen den Uhrzeigersinn drehen. Motor dreht sich Linksrum (gegen den Uhrzeigersinn) Schließe ich den  gelben an C und den roten an A, d

Netduino Sensor & Controller Shield für den Quadrocopter

Bild
Servo Test am neuen Neduino Shield Irgendwann kommt die Zeit, dass man sich von Altem trennen muss. Besonders dann, wenn man einen Prototypen Shield hat, der aus zusammengesteckten Leiterbahnen besteht und dadurch viele Fehlerquellen haben kann. Zudem musste ich über eine weitere Schaltung das PWM Signal verstärken. So baumelte noch bis vor kurzem eine weitere Platine mit 4 Pegelwandlern am Shield. Eine wackelige Angelegenheit kann ich euch nur sagen... Prototypen Shield mit zusätzlichen Pegelwandler Am letzten Donnerstag kamen endlich die bestellten Arduino/Netduino Platinen aus China. Die Verarbeitung ist vernünftig und das Geld wert. Ich habe hier 4€ pro Stück bezahlt, zusätzlich Porto und Versand. Hier ist es sinnvoll gleich ein paar mehr zu bestellen. Den richtigen Pegelwandler habe ich erst aussuchen müssen. Ich habe zwei verschiedene bestellt, zum probieren. Entschieden habe ich mich für den 74HCT125N. Der Pegelwandler soll später das Pulssignal bzw. PWM von 3,3

Den HMC5883L 3 Achsen Magnet Sensor auslesen

Bild
Der Sensor am Arduino Nano 3.0 Zuerst habe ich gedacht, dass der Sensor nicht funktioniert, bis ich den Beispielcode angepasst habe. In der Wiki zu diesem Sensor ist leider noch ein veralteter Code zu einer frühen Version vom Arduino Compiler. Nach einem Hinweis stellte sich heraus, dass sich die Bibliothek vom Arduino 1.0 gegenüber seiner älteren Version geändert hat. Im Quellcode der Datei HMC5883L.cpp war es notwendig, den Eintrag “#include <WProgram.h>” in “#include <Arduino.h>” abzuändern und die Einträge “wire.send” in “wire.write”. Anschließend ließ sich der Code auf den Arduino Nano 3.0 beschreiben und daraufhin auch erfolgreich auslesen. Ausgabe der Daten, die vom Sensor gemessen werden. Aus den drei Achsenwerten kann dann über das Gauß-Verfahren der Nordpol gemessen werden. Jetzt fehlt mir noch eine Portierung auf den Netduino. Einfache Verkabelung des Sensors Ich denke, das dürfte die Sache erleichtern, wenn ich zu den Beispielen auch

Brushless Motoren und Regler

Bild
Brushless Motor und Regler Vor einigen Wochen stellte ich fest, dass der Regler nicht immer den Motor so steuert, wie ich es erwarte. Das liegt wohl daran, dass ich mich an die Fahrtenregler für normalere Motoren gerichtet habe. Dass nun die Regler für Brushless Motoren ein paar Merkmale haben, wie sie richtig funktionieren, war mir bis vor kurzem unbekannt. Zum einen sollte das PWM Signal nicht gerade auf 2ms Impuls stehen, da sonst das Menü vom Fahrtenregler angesprochen wird. Die Mittelstellung ist für den Start besser geeignet, also 1,5ms. Brushless Motor. Die drei Anschlüsse sind notwendig um ein Drehstromkreis zu erzeugen. Beim Arduino kann einfach ein PWM Signal erzeugt werden, das genau für einen Servo oder hier für einen Regler geeignet ist. Anders ist es bei dem Netduino, womit sich PWM Signale erzeugen lassen, die nicht mehr für das Regeln geeignet sind. Zwar kann ein Digital Servo mit einer höheren Frequenz durchgesteuert werden, jedoch muss immer das Verh

Halterung für Netduino und Switch

Bild
Der 5 Port Switch links, und rechts der Netduino Nachdem es mich zum X-ten mal gestört hat, dass mein Controller immer mit dem Klettband hin und her wackelte, beschloss ich, die erforderliche Halterung zu bauen. Die Kästchen hatte ich mir bereits vor Wochen gekauft. Damit diese auch Halt finden, müssen wieder ein paar Quadratrohre bearbeitet werden. Unterseite, die später mit dem Rumpf vom Quadrocopter festgeschraubt wird. Wie immer liegt der Aufwand eher am Werkzeug, so dass ich oftmals improvisieren musste, um meine Löcher zu bohren. Leider habe ich nur einen Kasten mitgenommen, sonst hätte ich die andere Hälfte ebenfalls bearbeitet. Schließlich gehört hier noch ein Access Point dazu und der kleine LiPo Akku für die Stromversorgung. Morgen kommen noch weitere Löcher, da z.B. der Netduino in der Position noch nicht erreichbar ist für Netzwerk oder USB.

Fehlersuche auf meinem Shield

Bild
Fast nicht zu erkennen. Unterbrechung an der Leiterbahn. Irgendwann musste es ja so kommen. Hin und wieder reagierten die Regler nicht oder in einem Test sogar der Digital Servo. Mit einem einfachen Messgerät konnte ich die Unterbrechung feststellen. Da ich ja immer noch unterwegs bin, habe ich keine Lötstation dabei. Deshalb habe ich die Stelle vorrübergehend überbrückt. Naja. Leider ist die Lötarbeit von mir miserabel, weil mein Lötkolben keine richtige Spitze bildet. So langsam brauche ich eine neue Lötstation mit einem Lötkolben, bei dem ich leichter Ersatzteile finde.

So weit draußen

Bild
Kein UMTS. Mit dem Mobiltelefon sieht das auch nicht besser aus. Es gibt Teile in Deutschland, die soweit von den Städten (oder von mir aus auch von der Zivilisation) entfernt sind, da würde es mich nicht wundern unbekannte Ureinwohner zu finden. Wie jedes Jahr besuche ich meinen Vater am Geburtstag. Wer kein Auto zur Verfügung hat, der fährt mit der Bahn. Und hierbei bin ich immer wieder überrascht, was man heutzutage alles als "Bahnhof" bezeichnen darf. Zwar ist es in meiner Stadt auch eher dürftig, dennoch ist es ein Bahnhof mit Bahnsteig, Automaten, einem Kiosk der nicht in Betrieb ist und überbedachtem Fahrradstand. Auf der Strecke von Uelzen nach Gifhorn scheinen sich Bahnhöfe anders zu definieren. Einige davon scheinen nur einen Automaten zu haben, andere Bahnhöfe scheinen in einer Geisterstadt zu liegen. Zumindest sehe ich noch Menschen an den Bahnhöfen aussteigen und vereinzelt sieht man auch mal ein Fahrzeug. Am Ziel angekommen, als ich endlich die Stadt G

Pegelwandler für den Regler

Bild
Microcontroller und Regler mit Pegelwandler Nach dem ich einen Pegelwandler über dem Breadboard ausprobiert habe, dachte ich "löte doch mal das gleich auf die Platine!". Damit ich auch die richtigen Widerstände verwende, habe ich kurzerhand die Schaltung für meine Bedürfnisse berechnet. Im Grunde reicht die Grundformel R=U/I. Zunächst suchte ich in meinen Kisten nach den passenden Transistoren, und fand schließlich auch die PNP Varianten. Zuvor habe ich nur NPN verwendet, wodurch ich noch ein Inverter benötigt habe, um das richtige Ausgangssignal zu erhalten. Leider bin ich etwas gestolpert, als ich meinen Kaffee an meinen Tisch brachte. Was hier allerdings auffallen dürfte ist, dass ich nicht die Werte genommen habe, die ich eigentlich berechnet habe, sondern Widerstände mit einem geringeren Wert. Da ich meistens mit 1 Milliampere rechne, ist es nicht weiter tragisch, wenn die Belastung auf 2mA oder 3mA ansteigt und für meine Anwendungen absolut ausreichend.

Defekter Brushless Motor

Bild
Brushless Motor, Regler und der Arduino zum programmieren des Reglers Ärgerlich. Jetzt bin ich mit dem größten Teil der Programmierung durch, ist mir beim justieren ein Motor im wahrsten Sinne abgeraucht. Nach dieser neuesten Erfahrung musste ich feststellen, dass der Regler für Brushless Motor in einem schädlichen Bereich steuern kann. Vielleicht kann ich erst einmal einen Tricopter konfigurieren, um meine Tests fortzuführen und gegebenenfalls auch mal zu fliegen.

Provisorischer Pegelwandler von 3,3V auf 5V

Bild
PWM Signal über den Pegelwandler und Inverter Heute morgen habe ich meine Bestellung von ein paar Pegelwandlern abgesendet. Obwohl ich mir sicher bin, dass es dann mit der Ansteuerung der Regler funktioniert, habe ich testweise einen Pegelwandler aus zwei Transistoren, 3 Widerständen und einem Inverter zusammengesteckt. Es funktioniert! Zuvor ging es mit dem großen Servo nur teilweise und eigentlich wackelte der Arm nur ein wenig hin und her. Das gleiche dürfte auch bei den Reglern der Fall gewesen sein, so dass sich die Motoren nur ungenau und fast nur auf Vollgas drehten. Der provisorische Pegelwandler wandelt den Impuls von 3,3V auf 5V. Zumindest sollte das so sein. Es kamen hier jedoch nur 3,8V an, reichte allerdings, dass der Servo nun mit dem PWM Signal etwas anfangen konnte. Besser wäre es, wenn ich das vorher ausgerechnet hätte, dann wäre ich näher an der gewünschten Signalstärke. Wenn meine bestellten Teile ankommen, dann kann ich erst mal einen neuen Netduino Shield

Schwierigkeiten mit dem Steuerimpuls

Bild
Messen mit dem Oszilloskop Nachdem ich gestern etwas am Verzweifeln war, stellte ich heute etwas neues fest. Die Spannung, die als Signal Impuls ankommt, hat nur 3,3V und scheint bei Belastung zu weit abzufallen. Das führt nun dazu, dass die Regler nicht richtig durchgesteuert werden und die Motoren nur ein wenig hin und her wackeln. Dem Fehler auf der Spur. Spannung vom Signal zu gering. Erst heute fand ich zufällig bei meiner Suche die richtigen Einstellungen für die PWM Klasse im  .NET Micro Framework. Jedoch stellte ich fest, dass meine verwendeten Werte alle richtig sind, und ich nun darauf kam, mal das Signal etwas näher zu betrachten. Ach ja, bei meiner Suche im Internet fand ich einen Blog, der mir den entscheidenden Hinweis gab, und zwar die Spannung. Also schloss ich mein Oszilloskop an und legte den Messstift an den Microcontroller und siehe da, es stimmt. Die Spannung ist wie beschrieben bei 3,3V, und nicht wie immer angenommen bei 5V. Zwar sollte auch die Sp

Fernsteuerung Entwickeln für Windows Phone 7

Bild
Windows Phone 7 und in Expression Blend entwickelte Controls. Fast 2 Wochen habe ich keinen Blogeintrag getätigt, was allerdings nicht bedeutet, dass ich nicht weiter am Quadrocopter arbeite. Es ist vielleicht spannend, wie ich viele Tests durchführe, um die richtigen Einstellungen für die Rotorsteuerung herauszufinden. Jedoch habe ich dies ausgelassen und behalte das solange, bis ich fertig bin. Am Ende werde ich vielleicht auch eine kleine Dokumentation auf meinem Blog veröffentlichen in einer weiteren Kategorie. Vorläufige Steuercontroller. Schubwerte (die 4 Kreise links), Gleichgewichtsanzeige (sieht aus wie ein Radar), Verzögerungsanzeige (Netzwerkverbindungverzögerung), Batterieanzeige. Zudem Anzeigen welche Bereiche Betriebsbereit sind. Für die Programmierentwicklung reicht nicht nur die Entwicklung auf dem Microcontroller, sondern auch die Entwicklung für die Fernbedienung. Zudem war es für mich notwendig mich mit Expression Blend 4 auseinander zusetzen, dass ich nu

Beschleunigungssensor auslesen mit einem Netduino Plus

Bild
Arduino Plus, BMA020 und mein Sensor Shield Prototype Vielleicht hätte ich diesen Post früher veröffentlicht, wenn mich nicht andere Einflüsse behindert hätten. Dennoch habe ich es geschafft: statt mit dem Arduino Nano 3.0 ( zum Post ) habe ich den selben Sensor diesmal mit dem Netduino ausgelesen. Der Sinn dürfte klar sein, dass C und C# einfach sehr unterschiedlich sind. Das Prinzip ist allerdings das gleiche. Wobei es mit der mitgelieferten Bibliothek beim Arduino wesentlich kürzer erscheint, als beim Netduino und dem .Net Micro Framework. Anscheinend kommt man im C# nicht aus, ohne eine weitere Klasse zu schreiben, um an die Sensordaten heran zukommen. Bestimmt gibt es eine Lösung dafür, aber bei größeren Projekten macht es keinen Sinn. Zusammengesteckt und Verbindungen hergestellt Etwas lange habe ich nach einem Beispiel gesucht, wie man über den I²C Bus ein Modul erreicht und auch Daten bekommt. Die ersten Versuche zeigten sich mit Abstürzen und Abbruch des Program

Neu Verkabeln

Bild
Kabel und Stecker Zugegeben war ich unzufrieden, wie die Verkabelung auf meinem Quadrocopter aussah. Der Missbrauch  Steckersysteme zu verwenden, die Normalerweise im PC selbst zu finden sind, sah nicht schön aus. Daher besorgte ich im Conrad Shop entsprechendes Kabel und passende Stecker, die für den Modellbau geeignet sind.   Stecker anlöten Mit meinem anschlagenden Lötstation war das kein leichtes, alle Kabel so vernünftig wie möglich anzulöten. Schwierig waren die Stellen, wo zwei Kabel aneinander gelötet werden. Schrumpfschlauch herum, nur nicht zu lange mit dem Feuerzeug behandeln Ich hatte fast immer die passenden Schrumpfschläuche da. Ein wenig bunt wirkt es jedoch schon, da ich nicht immer die entsprechende Farbe wählen konnte. Fertig ist der Verteiler Das löten erwies sich als sehr langwierig, dafür ist es nun ordentlicher geworden. Jedoch stellte ich fest, dass mir meine Kabelbinder ausgegangen sind. Dies ist zwar nicht kritisch, da es gerade noc

Brushless Motoren montieren

Bild
Brushless Motor und entsprechende Teile Motor mit Propeller und Fahrtenregler Nach über einem Monat habe ich endlich die Motoren zu meinem Projekt “Quadrocopter” erhalten. Ärgerlich war, dass das Paket beim Zollamt abgeholt werden musste, weil die entsprechende Rechnung am Paket nicht vorhanden war. Somit hat sich die Montage um eine Woche verzögert. Motor am Rumpf montiert und verkabelt Nachdem ich wieder die Stellen markiert, gekörnt, angebohrt und gebohrt habe, konnte ich die Motoren montieren. Anschließend kam die Verkabelung dran. Da mir die entsprechenden Y-Verbindungen für die Fahrtenregler fehlten, lötete ich einige Stecker zusammen. Folgend kam die Verkabelung und die Verbindungen auf dem Rumpf. Leider finde ich die Verkabelung noch nicht ganz gelungen, und ich denke, das mache ich am nächsten Wochenende nochmal. Mit dem Arduino Nano 3.0 wurde durch geprüft Nachdem ich alles mehr oder wenig provisorisch verkabelt hatte, schrieb ich für