Hallo,
mich würde mal interessieren was ihr so mit einem uC ansteuert, ich kenn
mich mit AMD ganz gut aus (hab auf der Uni einiges gemacht z.B.: 7
Segmentanzeige angesteuert usw.) und mich würde mal interessieren was
ihr so mit einem uC ansteuert bzw. ist mir der Sinn eines uC nicht mehr
so klar, heute sind die Rechner ja schon so klein, dass es ja fraglich
ist, uC ohne Betriebssystem zu programmieren.
wie seht ihr das.
viele Grüß,
Hannes
Moin,
Hannes Weninger schrieb:> ist mir der Sinn eines uC nicht mehr> so klar, heute sind die Rechner ja schon so klein, dass es ja fraglich> ist, uC ohne Betriebssystem zu programmieren.
Kosten? Vergleich mal deinen AMD und das ganze außen rum mit einem alles
drin uC. Das dann auf 10Mio Stück hochrechnen. Der Sinn eines uC sollte
dann klar werden.
MfG
Hallo Hannes,
Du hast mit einem AMD eine 7-Segment-Anzeige angesteuert? Was für ein
AMD war das denn? Ein AMD Athlon? Dann war das ein PC auf dem alles
mögliche gelaufen ist (Betriebsystem, Netzwerk, ...) was für Deine
eigentliche Aufgabe NICHT nötig war. Wenns denn ein andere war wars kein
PC, was war es dann - ich kann mich nicht an AMD uC erinnern.
Und dann sieh Dich doch mal zuhause um welche Geräte Du zuhause hast die
"Intelligenz" besitzen und die NICHT an einem PC hängen. Wills Du da
jedesmal deinen PC opfern (TV Receiver, Espressoautomat, Telefonanlage,
Wetterstation, Radiowecker, ...).
Die Frage ist ähnlich gestellt wie: Warum gibt es so viele verschiedene
Transportmittel. Warum ein Fahrrad oder Roller wenn es doch den dicken
BMW gibt?
Grüße
OK, da habt ihr vollkommen recht.
Ich frag mich auch, wenn ich jetzt einen Motor ansteuern will, wie in
meinem Fall (ich hab mir da ein Extension Board gekauft) und den möchte
ich wie einen Schrittmotor ansteuern, dann bleibt mir im Grunde ja auch
nichts anderes übrig als diesen Motor an einem Port vom uC anzuhängen
und dem Motor dann die richtigen Signale zu senden, das würde mit einem
"herkömmlichen" PC ja gar nicht gehen - das wäre auch noch ein Argument
von mir.
Hannes Weninger schrieb:> dann bleibt mir im Grunde ja auch> nichts anderes übrig als diesen Motor an einem Port vom uC anzuhängen> und dem Motor dann die richtigen Signale zu senden, das würde mit einem> "herkömmlichen" PC ja gar nicht gehen - das wäre auch noch ein Argument> von mir.
Argument wofür? Theoretisch kannst du natürlich auch einen Schrittmotor
direkt vom PC steuern, von den nötigen Motorendstufen mal abgesehen. Du
bräuchtest halt einen HAL Treiber für einen parallelen Druckerport und
erzeugst daran die nötigen Schrittmotor Signale. Klar das man das nicht
macht. Jeder Plotter z.B. besitzt einen Controller, der die Hochsprache,
die der Computer verschickt, z.B. HPGL, in Bewegungen der Schrittmotore
und der Stifte umsetzt.
Dein Schrittmotor Projekt besteht aslo aus mehreren kleinen Stufen:
Zuerst setzt du die serielle Schnittstelle des MC in Gang, damit du mit
ihm kommunizieren kannst, dann implementierst du die Motorhardware- und
algorithmen. Dann kommen z.B. so Sachen wie 'weich anfahren und
stoppen', 'verstehe ein Kommando' usw.
Hannes,
Mit einem PC kannst Du ALLES steuern. Es gibt Besipiele für die
unterschiedlichsten Systeme (Heizungen, Bildverarbeitung, ...).
Angesteuert wird dann z.B. über Peripheriekarten (Steckbar oder über
Seriell/Parallel/USB angeschlossen). Damit hat man eine äußerst
leistungsfäghige CPU und eine (sogenannte) Standardumgebung. Wenn Du
aber auf letztegannte Funktionalitäten verzichten musst - und das sollte
eigentlich an der UNI auch gelernt (nicht: gelehrt) worden sein - dann
kommen als drei Prioritäten in der Industrie meist infrage: Kosten,
Kosten, Kosten.
Es ist also wichtig VOR dem Projekt alle Informationen richtig
zusammenzutragen, das was man möchte genau zu spezifizieren, und dann HW
und SW den Anforderungen anzupassen.
Zu Deinem Motor:
Ist das ein einfacher 12V Lüftermotor den ich an/ausschalten muss. Danzu
reicht der einfachste 8 bit uC. Ist das ein Schrittmotor den ich
möglichst schnell hochdrehen muss und möglichst schnell eine bestimmte
Position genau anfahren muss? Dann benötige ich einen lesitunsgfähigeren
uC mit speziller HW für die Ansteuerung des Motors und vielleicht den
entsprechnden SW Algortihmen dazu. Dann villeicht ein Dreipahsen
Drehstrommotor? JEtzt brauchst DU evtl eine ausgeklügelte
Motorenüberwachung udn Ansteuerung die meist ein ausgewachsenen 32bitter
(ARM/DSP) gut beschfätigt. Und zuletzt Die Steuerung eines
Schiffsantriebs bei dem suicher mehrere Steuerungssysteme durch einen
zentralen Rechner überwacht werden.
Du siehst: der uC wird nicht aussterben.
Grüße
PC's haben häufig keinen parallel-Port mehr, also keine GPIO Ports.
PC's werden in der Regel mit Windows oder Linux betrieben, und sind
damit nicht (oder nur sehr bedingt) echtzeitfähig.Sie können
zeitkritische Signale nicht erzeugen und auswerten.
Jedenfalls nicht ohne zusätzliche Hardware, und die enthält dann in der
Regel mindestens einen Mikrocontroller. Typisches Beispiel:
Programmieradapter für Mikrocontroller
Es gibt durchaus auch Dinge, die ich niemals mit einem PC oder einem
durchschnittlichen ARM machen würde, zum Beispiel:
- einfache Timer (z.B. Lüftersteuerung im Klo)
- Ein/Aus Schalter (z.B. mit Fernbedienung oder Batterie-Überwachung)
- Sender und Empfänger für Infrarot Fernbedienungen
Hannes Weninger schrieb:> mich würde mal interessieren was> ihr so mit einem uC ansteuert
Ich hab mir ein kleines Sensormodul gebaut, welches Daten über Funk zu
einem zweiten Modul übermittelt, das an einer UART-USB Bridge hängt. Die
Daten werden auf einem kleinen Ubuntu System aufbereitet (rrdgraph und
scripts).
> bzw. ist mir der Sinn eines uC nicht mehr> so klar, heute sind die Rechner ja schon so klein, dass es ja fraglich> ist, uC ohne Betriebssystem zu programmieren.
Das wäre für meine Anwendung totaler Overkill, und ja, ich hab etwas
Erfahrung mit freertos. Als Hobbyist mit 8bit Affinität ;) ist für mich
das blanke Metall das Faszinierende. :o)
Grosse OS benötigen grosse MCUs mit MMU, das bietet die AVR8 Plattform
nicht, ist aber dafür auch überschaubar und mässig komplex, IMO. YMMV,
und als Hobbyist steht für mich die Freue an der Sache im Vordergrund.
Ihr habt mich da jetzt auf etwas gebracht, wenn ich einen Motor
ansteuern will, kann ich da vom uC direkt ein paar Meter (z.B.: 20m) zum
Motor fahren oder sind die 20m zuviel und ich muss den Motor über die
Serielle steuern (wobei die Serielle ja auch wieder Einschränkungen in
der Reichweite hat).
...hast du schon mal etwas mehr mit deiner angeblichen programmierung
auf einem arm9 gemacht als mit kanonen auf spatzen zu schießen?? du
kommst mir vor wie ein troll.....
> kann ich da vom uC direkt ein paar Meter (z.B.: 20m) zum> Motor fahren
Du kannst fahren wohin du willst.
Gehe zurück auf Los und ziehe keine 4000 Euro ein
Die Anschlussleitungen des Motors kannst Du beinahe beliebig lang
machen. Sie müssen nur dick genug sein. 20 Meter sind keine besondere
Hürde.
Die Zuleitung meines Staubsaugers ist z.B. rund 6 Meter lang. Wenn ich
die ganze Strecke bis zum Kraftwerk rechne, sind es einige Kilometer.
Und das funktioniert - das staunst du, was?
Läuft bei Dir alles auf Batterie?