Forum: Mikrocontroller und Digitale Elektronik Datenübertragung PC-Mikrocontroller


von Wugi (Gast)


Lesenswert?

Hallo,

Ich suche seit länerem nach einen weg wie mein mikrocontroller mit einer 
selbst geschriebenen PC Anwendung Daten austauschen kann.

Daten:
-Messwerte
-Portstelleung
-(Text)

mikrocontroller:
ATMEL
(zur zeit ein ATmega88 auf lager)
Programmierung mit Asembler oder Bascom

PC-Anwendung:
.NET Anwendung mit C++ (alternativ C#)
(=Windowsform Anwendung)
Aufgeabe sollen vorallem Benutzereingaben sein

Ich hab keine ahnung wie ich das umsetzen soll, ich hab am PC USB, 
COM(virtuell/ein umsetz Stick) und einen ISP-Programmer

ich bin für alle verschläge offen, außer:
sehr teure Technik
eigenbau mit SMD (hab ich ne die Technik zu)


Hoffe das jemand vorschläge hat.

von Tom (Gast)


Lesenswert?

Was spricht gegen den "Klassiker" der seriellen Kommunikation mit der 
(virtuellen) COM ?

von Helfer (Gast)


Lesenswert?

Am einfachsten und oft gemacht: UART auf USB mit FT232, gibt's fixfertig 
als kleines Modul. Könntest natürlich auch ein Bluetooth Modul oder WiFi 
Modul oder ... verbauen.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Na, die gute alte serielle Schnittstelle bietet sich an, denn für die 
brauchst Du nicht mehr viel.

Einen USB-Seriell-Umsetzer hast Du, damit verhält sich Dein PC fast 
genauso wie ein PC mit "echter" serieller Schnittstelle. Um Deinen µC 
daran anzuschließen, brauchst Du nur noch einen RS232-Pegeltreiber, wie 
z.B. den MAX232.

Außerdem musst Du bei der Takterzeugung für Deinen µC bedenken, daß die 
primitive UART der AVRs nur bei bestimmten geeigneten Taktfrequenzen 
ausreichend präzise Baudraten erzeugen kann, das Stichwort ist hier 
"Baudratenquarz". Die Nutzung des internen RC-Oszillators ist aufgrund 
dessen Ungenauigkeit nicht anzuraten.

Die Softwareseite ist hier im Forum in den Bereichen PC-Programmierung, 
im AVR-Tutorial und in Unmengen weiterer Beiträge unter µC&Elektronik 
ausreichend diskutiert worden, so daß eine einfache Nutzung der 
Forensuchfunktion Dir weiterhelfen sollte.

von Lehrmann M. (ubimbo)


Lesenswert?

Wugi schrieb:
> ATMEL
> (zur zeit ein ATmega88 auf lager)
> Programmierung mit Asembler oder Bascom

Man verwendet UART - die serielle Schnittstelle. Am Mikrocontroller 
heißt diese Schnittstelle UART, am PC meist RS232. Unterschied liegt in 
den Pegeln. Darum wird ein Pegelwandler MAX232 verwendet zu dem sich 
millionen Schaltungen im Netz finden. Ansonsten ein Tutorial machen 
http://www.mikrocontroller.net/articles/AVR-Tutorial:_UART
da steht das mit dem MAX232 auch drin.
Hier noch für die Hochsprache C:
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/Der_UART

Möchte man kein RS232 verwenden, da keine Schnittstelle mehr da ist, etc 
weicht man auf USB aus. Es gibt UART USB Bridges für wenige Euro - die 
erscheinen am Computer ganz normal als serielle Schnittstelle (COMx) und 
können dort entsprechend angesteuert werden. Am Ende dieser UART USB 
Bridge kommen dann ganz normale serielle Daten raus (=UART). Kein 
Pegelwandler erforderlich. Such mal nach "UART USB" oder "UART USB 
Bridge". Auf Ebay gibt es Fertigmodule für ca. 4€. Selbst löten ist 
meist ziemliche SMD Arbeit da die USB-UART-ICs meist in unmöglichen 
Formen (zum Handlöten) vorliegen.

Wugi schrieb:
> PC-Anwendung:
> .NET Anwendung mit C++ (alternativ C#)
> (=Windowsform Anwendung)
> Aufgeabe sollen vorallem Benutzereingaben sein

Das ist gut und vereinfacht vieles. .NET hat nämlich eine komplette 
COM-Port Kommunikation schon mit an Bord:
http://www.codeworks.it/net/VBNetRs232.htm
http://msdn.microsoft.com/de-de/library/bb979092.aspx
http://www.devtrain.de/artikel_713.aspx

Musst dich etwas einlesen und selbst googln. Ist eingentlich ganz 
einfach und wird vielfach gemacht. Such nach: "rs232 vb.net" oder 
"vb.net serial communication" oder sowas ....

Wenn du schon C++ kannst, warum verwendetst du dann für den AVR keinen 
C-Compiler (siehe Tutorails) und ersparst dir einen Haufen Arbeit 
(Assembler) oder verwendest kein ******************** Bascom?

von Wugi (Gast)


Lesenswert?

Danke für die Antworten erst ma

mit FT232R hat ich schon ma en Lernpaket gekauft das geht eigentlich
aber solche Module find ich einfach ne bei Reichelt gab es ma UM232H 
wollt ich mir schon ma holen aber is seit kurzem "nicht mehr lieferbar"

Das mit dem COM guck ich mir erst ma genauer an.

von Oldmax (Gast)


Lesenswert?

Hi
Wo ist das Problem ? Ein Atmega 8 mit Max 232 ( müsste mit Atmega 88 
auch gehen) und das ganze an den seriellen Port. Externer Taktgeber 
selbstverständlich, aber ich hab mit 8 sowie mit 16 MHz Quarz keine 
Probleme. Irgendwo hab ich hier mal ein kleines Tool veröffentlicht 
namens OpenEye. Diese liest die Variablen aus dem Controler und liefert 
eine Ansicht zur Laufzeit. Da steht auch in etwa beschrieben, was auf 
Controllerseite zu erledigen ist.
Wenn du ein billiges Board für Experimente brauchst, ich arbeite mit dem 
von Pollin. Da ist die serielle Schnittstelle gleich drauf. Viel Spaß 
mit em Projekt.
Gruß oldmax

von .... (Gast)


Lesenswert?

> Außerdem musst Du bei der Takterzeugung für Deinen µC bedenken, daß die
> primitive UART der AVRs nur bei bestimmten geeigneten Taktfrequenzen
> ausreichend präzise Baudraten erzeugen kann, das Stichwort ist hier
> "Baudratenquarz". Die Nutzung des internen RC-Oszillators ist aufgrund
> dessen Ungenauigkeit nicht anzuraten.

Der FT232RL hat einen 12 MHz Ausgang (der interne Oszi des FT232 ist 
sehr genau: USB hat da viel höhere Anforderungen als RS232), damit 
kannst Du gleich Deinen µC beschicken und den Quarz für den µC 
einsparen.

von BT (Gast)


Lesenswert?

Hallo Wugi!

Also wenn du eher mal sowas schnell aufbauen willst, dann würde ich dir 
zu ferigen Modulen wie es sie bspw. bei Sparkfun, Watterott,etc. zu 
kaufen gibt.
Da findest du in aller Regel auch die entsprechenden Schalpläne dazu.
Wenn dann alles läuft kannst du dir das dann alles auf deiner eigenen 
Platine aufbauen.

Über die Firmwareerstellung haben die Vorposter ja schon alles 
notwendige gesagt. ;-)

Ansonsten schau auch mal nach dem Arduino (ebenfalls z.B. bei den oben 
genannten  Händlern) da gibt es Boards die bereits alles notwendige für 
deine Aufgabenstellung mit drauf haben - für ~ 20€.
Und der µC lässt sich in "Arduino Slang" (C - ähnlich) als auch mit den 
bereits genannten programmieren (entpsr. programmer vorausgesetzt).

Gruß
BT

von Wugi (Gast)


Lesenswert?

hab mir das Arduino ma angeguck arbeitet wie viele andere auch mit FT232
das ding is eigentlich gut (~leider nur SMD) der rest is nur ne Simple 
Platine mit paar anschlüssen.

gibt es den FT232.. auch auf nem Bord ohne irgendwelchen zusatz?

von BT (Gast)


Lesenswert?

Hallo,

hier der Link für die FTDI Boards:

http://www.watterott.com/de/Schnittstellen/USB


Gruß
BT

von spess53 (Gast)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.