![]() |
Mit Delphi einen Mikrokontroller steuern
Hallo,
ich habe zu diesem Thema schon ein bisschen gegooglet und herausgefunden das woll Delphi Programme für den Kontroller zu gross sind und man deshalb meistens mit anderen Sprachenprogrammiert. Währe es aber Möglich das man einen Mikrokontroller programmiert(in Basic oder C oder sonst irgenteine Sprache) und diesen dann nur über ein Delphi programm steuert(Die Zahlenwerte der Variablen ändern)? |
AW: Mit Delphi einen Mikrokontroller steuern
Ja, über die Serielle Schnittstelle zum Beispiel.
|
AW: Mit Delphi einen Mikrokontroller steuern
Solange der Microcontoler irgendwie an den PC angeschlossen ist
> Seriell, USB, WiFi, LAN uvm. und Dieser auch noch über die ensprechende Schnittstelle verfügt... (der Controler, bzw. dessen Programm muß ja auf die Steuerbefehle reagieren, welche man ihm schickt) Ja, dann kann man ihn auch mit irgendeinem Programm (kann auch Delphi sein) steuern. Für Microcontrolern gibt es mehrere Möglichkeiten, womit diese programmiert werden könnten. Aber dazu gibt es auch schon mehrere Themen hier im Forum, wo man gerne etwas rumstöbern darf. Da gibt es Assembler, C, BASIC (ist fast sowas wie Pascal), Java, 'ne abgespeckte Art von Pascal und vieles mehr. (Java und CCBasic baisieren auf einem ByteCode, was man als einer Art aufgemotztes Assembler ansehn könnte) |
AW: Mit Delphi einen Mikrokontroller steuern
"Mikrocontroller" ist ein bischen sehr allgemein. Je nach dem was es denn für einer ist lässt er sich z.B. mit FreePascal programmieren, das gleich mächtig ist wie Delphi.
Was für einen Mikrocontroller hast du denn im Aug' und was soll damit realisiert werden? Luggi |
AW: Mit Delphi einen Mikrokontroller steuern
[OT]
Zitat:
K-H [/OT] |
AW: Mit Delphi einen Mikrokontroller steuern
Zitat:
ich sekundiere, wenn gewünscht... [/OT] |
AW: Mit Delphi einen Mikrokontroller steuern
In Sache Mikrokontroller gibt es schon eine Pascal Alternative.
Die deutsche Firma ![]() um professionelle Anwendungen für die ATMEL Mikrokontroller zu entwickeln. Gruß Kostas |
AW: Mit Delphi einen Mikrokontroller steuern
Ich würde mir gerne ein paar Instrumente für den Flugsimulator bauen(z.B: Höhenmesser) die von einem Steppermotor gesteuert wird, in der Schule haben wir schon mal ein Servo mit einem Mikrokontroller(Stamp BS1) gesteuert, mit einem Steppermotor dürfte das ja ähnlich gehen, nur muss ja der Wert aus dem Simulator an den Mikrokontroller gesendet werden und das am besten 2-3 mal in der Sekunde.Das würde ich gerne dann mit Delphi machen sprich die Differenz zwischen dem aktuellen Wert und dem aus dem Simulator erechnen und dann dem Mikrokontroller den Wert schicken.
|
AW: Mit Delphi einen Mikrokontroller steuern
Ja, die Kombination Delphi auf dem PC und ein anderes Programm auf
dem Mikro ist durchaus machbar. Auf jeden Fall empfehle ich eine Komponente für die Abwicklung der seriellen Verbindung auf dem PC zu verwenden. Es geht zwar auch anders, aber das macht doch sehr viel Arbeit. (ich verwende seit Jahren AsyncPro, gibt es bei Source Forge, ![]() Eventuell kann man die freie Version von BASCOM ![]() |
AW: Mit Delphi einen Mikrokontroller steuern
Für den Zweck wäre ein Servo doch völlig ausreichend?
Liebe Grüße, Valentin |
AW: Mit Delphi einen Mikrokontroller steuern
Wenn es dir um die Sprache Delphi an auf dem µC sich geht: vergiss es.
Ich empfehle dringend den ![]() Der BASCOM Compiler hat viele Bibilotheken (Displayanteuerung, Serielle Schnittstelle) an Bord. Zur Ansteuerung eines Servos langt ein ATTiny. Billig und einfach. Und wenn die Ausgänge nicht reichen kann man (weitgehend mit dem selben Programm) auf einen ATMega umsteigen. Die Kommunikation würde ich über RS232 realisieren, evtl. über einen USB-Umsetzer. Bedenke aber, dass du das Signal irgendwie vom Programm kriegen musst, damit du es an deinen µC weiterleiten kannst. |
AW: Mit Delphi einen Mikrokontroller steuern
Zitat:
|
AW: Mit Delphi einen Mikrokontroller steuern
Wenn ich richtig verstanden habe möchtest du Instrumente haben, die abhängig vom Flugsimulator einen Wert anzeigen, und nicht mit externen Instrumenten den Flugsimulator beeinflussen oder?
Wären da nicht Anzeigen auf einem Bildschirm eine Lösung? Schließlich werden zumindest in der modernen Luftfahrt nur noch Glascockpits verbaut. Mechanische (Rund-)instrumente haben schon einen ganz eigenen Reiz und Flair - das versteh ich gut - aber dürften auch nur mit viel Geschick zu fertigen und anzusteuern sein. Schließlich sollen sie sich ja möglichst realistisch bewegen - Servos dürften da zu ruckartig sein und Steppermotoren müsste man sehr sauber ansteuern. Ein Instrumentenbrett mit Displays ist da wahrscheinlich einfacher oder? Vielleicht könnte man das ganze auch auf einem einfachen Tablet laufen lassen? Das lässt sich gut in eine Konsole einbauen... Außerdem musst du bei Microcontrollern darauf achten, daß du ja unter Umständen mehrere ansteuern möchtest - jeden über einen eigenen Seriellen Port kann dich schnell in die Enge treiben - wenn du viele Serielle Schnittstellen willst stossen USB-ToRS232 Konverter schnell ans Limit. Und andere Ansteuerungsmethoden wie z.B. USB sind auf der Microcontrollerseite unter Umständen nicht einfach zu implementieren - schließlich muss das ganze ja auch stabil laufen. Gruß Luggi |
AW: Mit Delphi einen Mikrokontroller steuern
Ja aber ich bastel eben gerne und deshalb würde ich mir eben so einen Uhrenlanden bauen. Hier mal ein Video zu einem Servo Instrument
![]() |
AW: Mit Delphi einen Mikrokontroller steuern
Zitat:
Edit:// Ah, ich sehe gerade. Dein Problem ist nicht, um wie viel Grad es sich drehen lässt, sondern du willst, dass es beliebig viele ganze Umdrehung zulässt? Dann wäre ein Stepmotor okay. Aber sehr viel Arbeit, gerade auch was die Kalibrierung angeht. Ein Stepmotor kann gern man einen Schritt überspringen. Macht er das ein paar Mal, hast du ein dekalibriertes Instrument. Liebe Grüße, Valentin |
AW: Mit Delphi einen Mikrokontroller steuern
Hast du dir schonmal überlegt wie du an die Daten kommst. Das wäre nämlich der erste Schritt.
Dann überlegst du dir wie viele/Wie aufwändige Instrumente du haben willst. Wenn du nur wenige brauchst, benutz z.B. ein ![]() Das hat den Vorteil, dass du keinen Mikrocontroller programmieren musst - nur eine DLL ansprechen um die Spannung an einem Kanal einzustellen. U.U brauchst du dann noch einen Verstärker für die Servos. Wenn du mehr willst, besorg dir ein paar Käfer und lerne zuerst die zu programmieren. Dann baust du dir die Elektronik, weil man mehr als ein paar Servos sowieso nicht direkt an den µC klemmen kann. Das geht nicht so einfach "ich habs in nem Video gesehen, dann kann ich das auch" @grl: mit einem ATMega32 kann man schon ne ganze Menge Instrumente ansteuern bis man da an Schnittstellenmangel denken muss. PS: Ich habe das Gefühl, der TE hat keine Ahnung von Mikrocontrollern, deshalb der Tipp mit dem Velleman. edit: Rechtschreibfehler, danke Himitsu |
AW: Mit Delphi einen Mikrokontroller steuern
Zitat:
|
AW: Mit Delphi einen Mikrokontroller steuern
Velleman bestimmt mit nur einem M.
Es gibt auch sowas wie Roboterbausätze, welche oftmals extrem leicht bediehnbar sind (vorallem die für "Kinder") und selbst mit Lego und Co. kann man da so Einiges sehr leicht anstellen. Zitat:
Wenn es keinen großen beeinflussenden Wiederstand gibt, im Verhältnis zur Stellkraft, dann wird nahezu garnichts übersprungen. (sonst würden sich Drucker sehr viel mehr verdrucken) |
AW: Mit Delphi einen Mikrokontroller steuern
Zitat:
|
AW: Mit Delphi einen Mikrokontroller steuern
Die "Basic Stamp", bzw. das PBASIC klingt irgendwie wie eine Kopie der C-Control und CCBASIC von Conrad.
Nur das da die Conrad-Preise scheinbar günstiger klingen. Gut, die Atmel AVR sind nochmal wesentlich günstiger, aber bei Basic Stamp / C-Control hättest du ein paar Vorteile - ein System, welches du schon kennst - es gibt viele fertige Platinen/Bauelemente ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() uvm. |
AW: Mit Delphi einen Mikrokontroller steuern
|
AW: Mit Delphi einen Mikrokontroller steuern
Dieses Board ist für die große C-Control Pro 128
![]() Von der Rechenleistung und den Anschlüssen her, würde aber auch schon eine kleinere C-Control 1 ausreichen. Die Große kann mit 32 Bit rechnen und das auch noch multithreaded, allerdings wird da in C und Assembler programmiert. Bei den kleinen singlethread 8 Bit-µP kommt man, mit ihren bis zu 16 Bit-Zahlen, auch ein ganzes Stück weit und soviele MHz braucht man nun auch nicht. Die UNIT M 2.0 wäre da wohl Ideal/ausreichend. Sparset? :lol: ![]() Nja, da ist die ganz große 128er schon besser. PS: Mit der "Ersten" hatte ich damals rumgespielt (und mit deren Vorgänger, welche ich besser fang, als die neuere "MICRO CHIP") ![]() Damals hatten die AVR von Amtel noch nichtmal existiert. :angle: Auf den Seiten hat man nochmal einen groben Überblick über die Anschlüsse, Speicher und Geschwindigkeiten: ![]() ![]() Und ein Blick auf eBay und Co. kann eventuell nicht schaden. ![]() [edit] ![]() Aber dein ggefundenes Board sieht irgendwie schöner aus. |
AW: Mit Delphi einen Mikrokontroller steuern
Hast du eigentlich schon einmal versucht Daten von deinem Mikrokontroller mit Delphi auszulesen und zu ändern?
|
AW: Mit Delphi einen Mikrokontroller steuern
Variablen direkt Auslesen natürlich nicht,
aber man könnte es auch über eine Befehl ala "gib mit den Wert von Speicherzelle 123" erledigen und natürlich auch "setze an Adresse...". Noch mit Delphi 4, über den seriellen Port (damals hatten meine Rechner noch Einen), ging es problemlos, also über ein kleines Datenprotokoll, so ala - Befehl "1" = mache dieses - Befehl "2" = mache jenes - Befehl "3 123" = Setze Variable x auf 123 - Befehl "4" = gib mir Wert von Variable x - Befehl "5" = aktiviere Ausgang/Port 1
Delphi-Quellcode:
und in der C-Control dann quasi ein
AssignFile(F, 'COM1');
Rewrite(F); WriteLn(F, '1'); WriteLn(F, '3', 123); WriteLn(F, '4'); ReadLn(F, Wert); ...
Delphi-Quellcode:
Ich hoffe mal die Syntax stimmt halbwegs, aber es gibt auch genügend Beispiele auf der CD (damals noch Disketten).
DEFINE x BYTE
DEFINE y WORD #Loop GET x IF x = 1 THEN GOTO aa IF x = 2 THEN GOTO bb IF x = 3 THEN GOTO cc IF x = 4 THEN GOTO dd GOTO Loop #dd GET y irgendwas = y GOTO Loop #ee PUT irgendwas GOTO Loop #ff LCD_Locate(1, 1) LCD_WriteText("Hallo Welt") GOTO Loop Wobei ich es heute wohl eher über eine TComPort-Komponente und Binär erledigen würde. [add] Falls CCBasic genutzt wird ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:28 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz