Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Mit Delphi einen Mikrokontroller steuern (https://www.delphipraxis.net/169143-mit-delphi-einen-mikrokontroller-steuern.html)

fox67 2. Jul 2012 13:14

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)?

omata 2. Jul 2012 13:25

AW: Mit Delphi einen Mikrokontroller steuern
 
Ja, über die Serielle Schnittstelle zum Beispiel.

himitsu 2. Jul 2012 13:26

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)

grl 2. Jul 2012 13:30

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

p80286 2. Jul 2012 13:48

AW: Mit Delphi einen Mikrokontroller steuern
 
[OT]
Zitat:

Zitat von himitsu (Beitrag 1173156)
.. BASIC (ist fast sowas wie Pascal), Java, 'ne abgespeckte Art von Pascal ..

Gewährst Du Satisfaktion?

K-H
[/OT]

grl 2. Jul 2012 14:24

AW: Mit Delphi einen Mikrokontroller steuern
 
Zitat:

Zitat von p80286 (Beitrag 1173163)
[OT]
Zitat:

Zitat von himitsu (Beitrag 1173156)
.. BASIC (ist fast sowas wie Pascal), Java, 'ne abgespeckte Art von Pascal ..

Gewährst Du Satisfaktion?
[/OT]

[OT]
ich sekundiere, wenn gewünscht...
[/OT]

Kostas 2. Jul 2012 14:43

AW: Mit Delphi einen Mikrokontroller steuern
 
In Sache Mikrokontroller gibt es schon eine Pascal Alternative.
Die deutsche Firma http://www.e-lab.de/ hat eine eigene IDE basierend auf Pascal
um professionelle Anwendungen für die ATMEL Mikrokontroller zu entwickeln.


Gruß Kostas

fox67 2. Jul 2012 16:28

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.

yogie 2. Jul 2012 17:04

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, http://sourceforge.net/projects/tpapro/). Auf dem Mikro muss dann der Zeichenstrom möglichts im Interrupt empfangen werden.

Eventuell kann man die freie Version von BASCOM www.mcselec.com für dem Mikro verwenden, auch. Wenn jetzt die Puristen über Basic die Nase rümpfen, ich setze BASCOM seit längerer Zeit auch im professionellen Umfeld ein.

Valle 2. Jul 2012 17:56

AW: Mit Delphi einen Mikrokontroller steuern
 
Für den Zweck wäre ein Servo doch völlig ausreichend?

Liebe Grüße,
Valentin

WM_CLOSE 2. Jul 2012 18:51

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 Bei Google suchenBASCOM Compiler für Atmel AVRs.
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.

fox67 2. Jul 2012 18:57

AW: Mit Delphi einen Mikrokontroller steuern
 
Zitat:

Für den Zweck wäre ein Servo doch völlig ausreichend?
Ein Servo lässt sich aber nur um 90° drehen

grl 2. Jul 2012 19:00

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

fox67 2. Jul 2012 19:15

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 http://www.youtube.com/watch?v=ZwcI7...layer_embedded

Valle 2. Jul 2012 21:51

AW: Mit Delphi einen Mikrokontroller steuern
 
Zitat:

Zitat von fox67 (Beitrag 1173202)
Zitat:

Für den Zweck wäre ein Servo doch völlig ausreichend?
Ein Servo lässt sich aber nur um 90° drehen

Quatsch.

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

WM_CLOSE 2. Jul 2012 21:51

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 Bei Google suchenVelleman board
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

Bummi 2. Jul 2012 21:53

AW: Mit Delphi einen Mikrokontroller steuern
 
Zitat:

Ein Servo lässt sich aber nur um 90° drehen
aber es lässt sich ein beliebiges Getriebe dranbasteln

himitsu 2. Jul 2012 22:11

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:

Ein Stepermotor kann gern man einen Schritt überspringen.
ordentliche "kräftige" Stepper-Motoren/Schrittmotoren sind im Prinzip sehr genau.
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)

fox67 3. Jul 2012 16:08

AW: Mit Delphi einen Mikrokontroller steuern
 
Zitat:

PS: Ich habe das Gefühl, der TE hat keine Ahnung von Mikrocontrollern, deshalb der Tipp mit dem Velleman.
edit: Rechtschreibfehler, danke Himitsu
Das kann ich bestätigen ich hatte bis jetzt nur in der Schule damit zu tun(Basic Stamp BS1), deshalb bin ich auch auf die Idee gekommen des ganze mit e9nem Mikrokontroller zu machen

himitsu 3. Jul 2012 18:33

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


www.mikrocontroller.net
Bei Google suchenC-Control, bzw. auf www.conrad.de nach C-Control suchen
Bei Google suchenTinkerforge
Bei Google suchenarduino
www.robotshop.com/microcontrollers.html
http://de.wikipedia.org/wiki/Lego_Mindstorms
Hier im Forum suchenMicrocontroller
uvm.

fox67 3. Jul 2012 19:30

AW: Mit Delphi einen Mikrokontroller steuern
 
Hallo himitsu vielen dank für den Tipp mit dem C- Controll(Sind um Welten billiger als die wo wir in der Schule haben):-D. Ich habe mir als Platine das hier ausgesucht welcher von den hier aufgelisteten Mikrokontroller sollte ich nehmen?

himitsu 3. Jul 2012 20:02

AW: Mit Delphi einen Mikrokontroller steuern
 
Dieses Board ist für die große C-Control Pro 128
http://www.conrad.de/ce/de/product/1...archDetail=005

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:
http://www.conrad.de/ce/de/product/1...01129&ref=list
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")
http://www.c-control.de/die_c-contro...l_familie.html
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:
http://www.c-control.de/c-control-pr...pro_units.html
www.spiketronics.com/index2.html

Und ein Blick auf eBay und Co. kann eventuell nicht schaden.
alleine das LCD ist schon mehr Wert aber vielleicht findet man auch Neueres

[edit]
http://www.conrad.de/ce/de/product/1...ERSET-MEGA-128
Aber dein ggefundenes Board sieht irgendwie schöner aus.

fox67 3. Jul 2012 20:35

AW: Mit Delphi einen Mikrokontroller steuern
 
Hast du eigentlich schon einmal versucht Daten von deinem Mikrokontroller mit Delphi auszulesen und zu ändern?

himitsu 3. Jul 2012 21:10

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:
AssignFile(F, 'COM1');
Rewrite(F);
WriteLn(F, '1');
WriteLn(F, '3', 123);
WriteLn(F, '4');
ReadLn(F, Wert);
...
und in der C-Control dann quasi ein
Delphi-Quellcode:
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
Ich hoffe mal die Syntax stimmt halbwegs, aber es gibt auch genügend Beispiele auf der CD (damals noch Disketten).


Wobei ich es heute wohl eher über eine TComPort-Komponente und Binär erledigen würde.


[add]
Falls CCBasic genutzt wird
http://groups.uni-paderborn.de/physi...mc_ccbasic.pdf


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