Posts

Posts mit dem Label "Entwicklung - Steuerung" werden angezeigt.

RC Fahrtenregler für Lego Kettenfahrzeug

Bild
  Auf dem Markt gibt es viele verschiedene Module an Motortreibern. Diesmal verwende ich einen recht einfachen, der zur Ansteuerung bis zu vier PWM Signale verwendet. Der Motorschield für den Arduino hingegen benötigt noch eine Steuerung eines Shiftregister 74HC595. Ich weiß, das geht auch ohne, aber ich beziehe mich diesmal auf fertige Module, die kompakt aufgebaut sind. Aber nur ansteuern wäre diesmal zu langweilig und daher habe ich hier als Ziel, den Lego Technic Stunt-Racer damit zu betreiben. Wer das Modell kennt, weiß, dass dieser mit einer Infrarot Fernbedienung ausgeliefert wird und das eher nur in der Wohnung funktioniert.   Benötigt wird: Modul MX1508 (DC Motor Treiber) Arduino Mini Pro (5V Ausführung) 2x Servo Kabel 2x Lego Power Function Verlängerungskabel Lego Technic Fahrzeug mit Power Function Zwei Kanal Fernsteuerung und ein Empfänger mit PWM Signal A

Arduino Control (Teil 1) – LED ein und ausschalten

Bild
Diesmal gehen die folgenden Beispiele darauf ein, einen Arduino mit seinen Eigenschaften anzusteuern. Im Wesentlichen handelt dieser mehrteilige Blog Post davon, wie eine Eingabe vom PC zum Arduino kommt und auch wieder zurück. Die Anforderung wird sein, dass mit der Enter Taste die rote LED auf dem Arduino ein oder ausgeschaltet wird. Für das erste Beispiel reicht daher ein Consolen Programm aus, um eine Eingabe aufzunehmen und einen Befehl entsprechend zu senden. Beide Programme müssen dieselbe Baudrate haben, die hier bei 115200 Baut liegt. static void Main( string [] args) {     // Die Verwendete COM Verbindung     // sollte der aus dem Arduino Programm entsprechen.     SerialPort sp = new SerialPort ( "COM16" , 115200);     // Verbindung öffnen.     // Wenn das Programm gestartet ist,     // sollte der Arduino bereits mit dem PC verbunden sein.     sp.Open();     // Wird verwendet um den Zustand zu wechseln.     bool changeState = true ;     // Der Eige

Intervallaufnahme mit der Kamera ohne Interne Funktion

Bild
Die Funktion für eine Intervallaufnahme ist simpel, daher ist es für mich unverständlich, warum nicht zumindest die Systemkameras von der Nikon 1 Serie in ihren Modellen diese Option anbieten. Nun gut, dies war kein Kaufkriterium, wäre aber schön gewesen. Ich selbst verwende die Nikon 1 J3 (die J1 hat die Intervallaufnahme), allerdings sollte mein Beispiel auch für andere Kameras funktionieren. Grundsätzlich geht es darum einen Servo auf den Auslöser zu drücken. Für diesen Zweck habe ich aus Aluminium Eckschienen eine Vorrichtung gebaut. Wie schon am Bild zu erkennen ist, sollten zum Schutz die Alu Eckschienen nach der Verarbeitung abgerundet und ggf. mit Filzaufklebern beklebt werden. Die Materialliste: Alu Eckschienen ca. 20cm Filzaufkleber ein paar 3mm Schrauben und entsprechende Muttern Mini Servo mit ca. 10 Ncm Eine passende Schraube zur Kamera dass mit dem Stativ auch verschraubt werden kann. (siehe folgendes Bild) Zum Ansteuern wird der Netduino mit einem pas

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

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

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