Forum: Mikrocontroller und Digitale Elektronik Newby-Frage zu µC-Wahl


von Christian Odenhausen (Gast)


Lesenswert?

Hallo allerseits!
Ich bin ABSOLUTER Anfänger auf dem Gebiet der Mikrocontroller - das
schonmal vorweg! ;)
Ich will folgendes basteln:
Ein paar einfache Lichtschranken sollen an einen Mikrocontroller
angeschlossen werden (über so eine Pin-Leiste halt), die "Zustände"
der Lichtschranken sollen dann verarbeitet/ausgewertet werden mit einem
C-Programm auf dem µC. Dann müßte ich irgendwie eine Art Schalter haben
am µC. Bei der einen Schalterposition sollen die Daten direkt per USB
an einen Computer geschickt werden, bzw. abgefragt werden können und
bei der anderen Schalterposition sollen die Daten inklusive Zeitstempel
(ich bräuchte also eine Echtzeituhr) auf einen USB-Stick geschrieben
werden (falls einer eingesteckt ist natürlich nur).
Prinzipiel sollte das ja möglich und auch nicht ALLZU aufwendig sein,
schätze ich.
Aber was für einen Controller (so günstig wie möglich) bräuchte ich
dafür und wie könnte ich diesen Schalter realisieren???
Im Voraus vielen Dank!
Gruß,
Christian

von David Madl (Gast)


Lesenswert?

Hi,

diese Wünsche... :o)
Als Anfänger würde ich auf jeden Fall mal nicht mit USB beginnen.
Hab ich richtig verstanden, dass du den USB-Stick aus deiner
Mikrocontroller-Schaltung beschreiben willst? Dazu braucht es mal
mindestens USB-On The Go oder besser einen USB-HC (Host Controller).
Schweineteuer (für Bastler - würd ich zumindest mal sagen) und
kompliziert zum Ansteuern.

Einfacher ist, wenn du RS-232 nimmst. Nur beim Notebook wirds dann
komplizierter, weils dort keine Stecker mehr gibt. Besorg dir nen
Adapter USB<-->RS-232.

von Christian Odenhausen (Gast)


Lesenswert?

Vielen Dank erstmal für die Antwort!
Richtig - ich müßte den USB-Stick direkt beschreiben können vom µC aus.
Ginge das denn, wenn ich den USB-Stick über so einen Adapter anschließen
würde, oder bräuchte man dafür auf jeden Fall so einen teueren
Host-Controller? Und was hieße teuer? Ich hab überhaupt keine Ahnung,
was so ein Controller kostet (ob nun mit oder ohne USB)!
Danke schonmal ...
Christian

von David Madl (Gast)


Lesenswert?

Hallo,

so ein Adapter funktioniert leider nur in einer Richtung.
Daten kann man natürlich in beide Richtungen schicken, aber der
USB-Anschluss vom Adapter ist ein Device Controller und deshalb nicht
mit einem anderen Device Controller, sondern nur mit Host Controller
(PC) zu verbinden.
(Host- und Device-Controller bezieht sich hier auf USB-ICs und nicht
auf Mikrocontroller...)

Als Alternative noch eine einfache Möglichkeit:
RS-232 Verbindung zum PC. Wenn der Schalter auf "USB-Stick"
geschaltet wird, dann sendest du dem PC ein Datenpaket wonach dein
Programm am PC weiß, dass er auf den USB-Stick schreiben soll, der in
den PC eingesteckt wurde.

Gruß,
David

von Bjoern B. (tishima)


Lesenswert?

Hallo!

Einen USB Stick zu beschreiben ist in der tat sehr Aufwendig. Machbare
alternativen sind MMC oder SD Card, gute Quellen zu dem Thema findest
Du auf http://www.ulrichradig.de/
Ein brauchbarer µC waere da der ATMega32. Ich wuerde zum Testen das AVR
Usb-Board hier aus dem Shop empfehlen und dort die Anbindung deiner
restlichen Hardware vornehmen.
Aber dennoch hast Du dir als totaler Anfaenger schon eine grösssere
herausforderung ausgesucht, ist aber alles machbar.

Um deine Funktionen umzuschalten, gibt es viele varianten von Tastern
die Du abfragst bis richtigen Schaltern die verschidene Signale auf die
Port Pins geben.
Mehr dazu im AVR-Tutorial hier auf der Seite.

mfg,
Bjoern

von Christian Odenhausen (Gast)


Lesenswert?

Hallo David!
Nochmal danke für die Antwort! ;)
Die Alternative ginge leider nicht, weil es im USB-Stick-Modus schon
wirklich ohne Computer funktionieren soll. Wäre das denn wirklich SO
teuer? Dass das nicht ganz einfach ist, soll kein Hindernis sein. Dann
dauerts halt entsprechend länger bis es funktioniert, aber das würde
ich schon IRGENDWANN hinkriegen - gibt ja zum Glück immer irgendwo im
Internet Tutorials. Aber die Möglichkeit, die Daten direkt auf den
USB-Stick zu schreiben, sollten eigentlich schon gegeben sein (ob ich
sie nun am Anfang nutzen kann oder nicht).
Und wie ginge das mit dem Schalter? Kann man wirklich einen kleinen
Schalter an den µC anschließen (einfach über einen Pin) und den Zustand
dieses Pins dann eben mit dem µC abfragen, so dass das C-Programm dann
entsprechend mit den Daten umgeht?

Gruß,
Christian

von Christian Odenhausen (Gast)


Lesenswert?

Hey Björn!
Vielen Dank auch für Deine Antwort.
SD-Card wäre natürlich auch eine Alternative - ich hätte nur nicht
gedacht, dass das einfacher wäre als ein USB-Stick. Schade eigentlich!
;)
Danke auch für die µC-Tips - wenn ich mich richtig erinnere liegt
dieses AVR-Board ja bei ca. 49€ - das wäre noch in Ordnung - insofern
werd ich den wohl auch nehmen, wenn Du sagst, damit kann ich alles
machen, was ich vorhabe.
Ich werde mir die Beschreibungen auf dem Link dann mal genauer
anschauen. Im Moment versteh ich da eh nicht wirklich viel von, aber
das wird sich ja hoffentlich bald ändern! ;)
Danke!
Christian

von Atmega8 A. (atmega8) Benutzerseite


Lesenswert?

@ Christian Odenhausen

Für Anfänger, wie ich es vor einem Monat noch war :-) gebe ich folgende
ratschläge:
- bau dir einen ISP-Programmer (STK200), also so eine kleine Platine
mit einem 74HC244 an dem Parallelport (wenn du oder ein Kumpel etwas
löten kann)
- nimm AVR-Studio und programiere in "C" (Ist einfacher)
(Ich denke mal dass man das Programm dann auch mit AVR-Studio auf den
Atmel-µC schreiben kann, wenn nicht kannst du dazu auch PonyProg2000
oder avrdude nehmen)

Vorteil: alles ist kostenlos (der STK200 kostet ja fast nichts)

Ich hab auch mit dem STK200 programmiert, da mein laptop keinen
Parallelport und keinen Com-Port hat musste/wollte ich mir einen
coolern Brenner bauen ... den USBisp-Programmer von www.matwei.de
Der versorgt die Schaltung gleich mit den benötigten 5 Volt.

Beim STK200 musst du eintweder ein netzteil und einen 5 Volt
Festspannungswandler nehmen oder du holst dir ein USB-kabel und legst
die 5Volt so zum STK200-Programmer.
------------------------

Deine eigentliche Frage:
- nimm dir einfach einen ATmega8 von www.Reichelt.de , den gibt es als
große DIP-28 version und als TQFP-32 version und kostet nur 1,69 eur!
Also holle dir vielleicht 3 Stück der DIP-Typen.


lg

von mr.chip (Gast)


Lesenswert?

> - nimm AVR-Studio und programiere in "C" (Ist einfacher)

AVR-Studio ja, C nein. Am Anfang solltest du in Assembler
programmieren. Nur dann bekommst du ein Gefühl für die genaue
Arbeitsweise des Controllers. Sobald dir dann Assembler mal wirklich
zu mühsam wird, verwende dann C.

von Christian Odenhausen (Gast)


Lesenswert?

Ich danke Euch für die vielen guten Antworten!!!

@ATmega8
Bei Dir klingt das alles so einfach! ;)
Ich mußte ja schon nachschauen, was überhaupt ein ISP-Programmer ist -
bin halt echt TOTALER Anfänger. Ich überleg schon, ob ich mir nicht
lieber einen E-Technik-Studenten oder so suchen soll, der mir das
zusammenbaut und ggf. programmiert. Das hört sich alles so kompliziert
und verwirrend an ...

Um es nochmal zusammenzufassen, was ich bräuchte (aus dem Shop hier):
-> AVR Entwicklungsplatine 17.50 €
-> ATmega8 (z.B.) 3.95 €
-> AVR-ISP (wenn ich es nicht selbst bauen will) 15.90 €
-> Netzteil (wird ja nicht teuer sein)
-> AVR-Studio (kostenlos)

Richtig?

Wäre denn da nicht sowas: "AT91SAM7S256 ARM Entwicklungsplatine"
einfacher, weil da schon alles drauf ist, sogar ein Slot für MMC/SD?

Gruß,
Christian

von Mike (Gast)


Lesenswert?

Klar, ist so einfach wie ein Ferrari im Vergleich zu ner Schubkarre!
Du solltest Dich wirklich erstmal mit der Materie beschäftigen und dann
einkaufen.

Das hier wirst du doch wohl noch hinbekommen:
http://s-huehn.de/elektronik/avr-prog/avr-prog.htm
Teile gibt´s bei Reichelt.
Und JA, Du solltest es selbst bauen!

von Stephan (Gast)


Lesenswert?

Zumindest gibts Controller mit integrierter USB-2.0-Schnitstelle. Sind
Host. Von Philips, glaube ich.

Auch mal bei Silicon Labs vorbeischauen. Die haben auch solche uCs.

Stephan.

von Christoph W. (christoph)


Lesenswert?

Von dem AT91SAM7S würd ich als Anfänger die Finger von lassen. Das ist
ein hochkomplexer und effizienter 32bit-Mikrocontroller - etwa wie ein
486er ohne FPU. Ich entwickel jetz scho knapp 3 Monate an Board,
Schaltplan und Software rum und bin bei weitem noch nich durchs Ziel
... halt dich erstmal an die AVRs. Die kannste auch auch
Lochrasterplatinen (Centkram) zusammenlöten. Du brauchst nicht
unbedingt diese Starterkits. Meine Erste Bestellung an Reichelt waren
19&#8364; und da hab ich alles eingekauft was für ein paar
starterpakete gereicht hat (kleiner AVR-Würfel, Programmer,
AVR-Temperaturfühler und AVR-Wecker (sogar mit 8 Stelligem Display).
Und natürlich den Kram zum selberätzen ausm Baumarkt. Schau dir hier
ein paar Projekte an, lern was alles an einen µC ran muss und mach dir
dann dein Board. Lass dir das am besten hier nochmal überprüfen (dann
kannste sicher sein, dass es auch klappt) und dann bau es auf. Dann
hast du es zu 100% selbst gemacht und du bist gleich doppelt so stolz
drauf ;). Obendrein lernst du viel besser und schneller, was alles
dazugehört und es is sogar noch billiger - dauert halt nur etwas
länger. Aber letztendlich musst du dich entscheiden ...

von mr.chip (Gast)


Lesenswert?

Hallo

Volle Zustimmung zum Posting von Christoph. Eine Grundplatine und den
ISP kriegst du locker auf einer Lochrasterplatine zusammengeschustert.
Für die allerersten Versuche reicht sogar ein Steckbrett. Mit dem
gesparten Geld für ein Starter-Board kaufst du dir besser ein bisschen
Peripherie zum herumspielen - z.B. Display, Sensoren, Servos, ... Zudem
wird schnell der Wunsch kommen, eine eigene Schaltung mal echt
umzusetzen. Bei mir wars ein Roboter, da war ich schon froh, selbst
eine Platine zu basteln, anstatt ein (teures) Entwickler-Board
hereinzuquetschen ;-)

Gruss

Michael

von Karl H. (kbuchegg)


Lesenswert?

<Mein Senf dazu>

Was du aber nicht vergessen solltest:
Mit heute einkaufen, morgen bauen und nächste
Woche läuft das Teil wird das nichts.

Bei deiner Aufgabenstellung wirds eher so um Weihnachten
rum werden, bis alles fertig ist.

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.