Forum: Mikrocontroller und Digitale Elektronik Einführung


von Christian (Gast)


Lesenswert?

Hallo leute!

Hab mich umgehört, und leider keine richtig brauchbaren infos dazu im
internet gefunden, geht um folgendes:

Arbeite seit einigen jahren mit visual basic, ein kumpel, der sich gut
mit elektronik auskennt sollte mit bei meinem projekt behilflich sein.
angefangen haben wir mit dem bau einer reiaskarte die über den LPT port
angesprochen wird, leider gibts dafür zu wenig datenleitungen, die ein
und ausgänge erkennen können. also wären dafür ne ganze menge ics
nötig, da mein projekt dann unüberblickbar wäre wende ich mich an euch
um weitere informationen zu erhalten.

ich will eine hardware bauen, die automatisierte signalverarbeitung
durchführen kann, geht nur um zustände. ein  aus  stop und natürlich
die antwort von dem jenigen gerät. will über ein visual basic programm
auf die hardware zugreifen können, und der hardware zb feste zeiten für
einen programmablauf eintragen können, die er dann selbstständig zur
genannten zeit ausführt.

zb. eine leinwand runterfahren, und zu einer bestimmten zeit wieder
hochfahren, da sich evtl was verhängen könnte, muss er bestimmte
zustände auch erfassen können, zb einen taster wenn die leinwand oben
ist. dass er abschaltet. das ganze hab ich mit relais geplant, die ein
dauerhaftes signal benötigen. benötige pro leinwand 3 datenleitungen,
eine für die taster zum abschalten, eine zum hochfahren, und eine zum
richtungswechseln.

jetzt meine frage: was benötige ich dazu? einen microcontroller? oder
microprozessor? ist das ein sogenannter eprom? wie programmiert man
den, vermutlich in assembler? da ich gesehen habe dass sich assembler
von anderen arten von assembler unterscheiden, was nimmt man da? einen
80x86? wichtig ist dass der pc nicht ständig laufen soll! deshalb eine
eigene hardware, die die aufgaben löst.


hoffe ihr könnt mir helfen! ;) wenn möglich bitte einfach ne email an
meine eingetragene email adresse.


mfg.
Christian

von The Daz (Gast)


Lesenswert?

Ein Mikrocontroller reicht dafuer. Ein Mikroprocessor ist ein
Mikrocontroller ohne zusaetzliches Flash/RAM/IO. z.B. Pentium/Athlon
etc. Ein EPROM ist ein Speicherbaustein, der seinen Inhalt ohne Strom
behaelt und der per UV-Licht geloescht wird. Ein Mikrocontroller (uC)
hat dafuer ein Flash-RAM. Das elektrisch programmiert und geloescht
werden kann. Dafuer brauchst du ein kleines Programmiergeraet. uCs kann
man in beliebigen Sprachen programmieren, vorrausgesetzt, du hast den
entsprechenden Compiler. Fuer AVR uCs gibt es kostenlose C-Compiler
(AVR GCC) und Assembler. Welchen uC genau du nimmst, haengt von der
Anzahl der benoetigten I/O Leitungen, on-chip devices (AD-WAndler, UART
etc) und benoetigtem Speicher ab. Vergiss 80x86, die Dinger brauchen
viele zusaetzliche externe Bausteine (eben weil sie Mikroprozessoren
sind).

von Christian (Gast)


Lesenswert?

hi!

Danke für die schnelle antwort!
datenleitungen kann man nicht genug haben, hätte da schon zwischen 500
und 1000 im sinne gehabt. die frage ist wie liegen die preise, was ist
realistisch, kann man die auch erweitern? und ist das programmiergerät
bei den dingern dabei? was sind on-chip devices? was können die? woher
weiß ich wieviel speicher ich benötige? ikann man das alles erweitern?
gibts auch eine möglichkeit die teile mit visual basic zu programmieren
und entsprechend zu kompilieren? (kann kein c) :(

von The Daz (Gast)


Lesenswert?

500 - 1000 Steuerleitungen ? Was willst du denn da steuern und wie
willst du alle Kabel ans Geraet anschliessen ? Geh man von max. ca. 80
I/O Leitungen pro uC aus. Man kann das mit shift-registern beinahe
beliebig erweitern, ist aber ne performance Frage (shiften kostet
Zeit). Programmiergeraete muss man separat erwerben. On-chip devices
sind z.B. eine serielle Schnittstelle (z.B. fuer RS-232 Anschluss an
einen PC) oder AD-Wandler. Wieviel Speicher du brauchst haengt von
deinem Programm ab. Speichererweiterung ist beim AVR bis auf wenige
Ausnahmen eher schwierig, wenn man mehr braucht nimmt man sich einen
groesseren uC oder wechselt die uC-Familie (z.B. MSP430). Meines
Wissens gibt es keine Unterstuetzung von uCs in Visual-Basic.

von Christian (Gast)


Lesenswert?

ok!

welche sprache wäre einfach zu erlernen wenn man vb kann, mit der man
das teil programmieren kann?
naja, das ding sollte ein gesammtes haus von a - z überwachen, steuern,
evtl auch versorgen in bestimmten bereichen. deshalb hab ich lieber mehr
leitungen als zu wenig, .... 5er paare an kabeln sind schnell weg für
diverse zwecke, aber wenn man diese einfacher weise erweitern kann,
sollte das kein problem sein. wie hoch liegen die kosten, und woher
bekomm ich das zeug das ich benötige? (hab noch gar nichts) und was
kostet so ein zusatz modul für 80 weitere datenleitungen?
und wie stell ich fest wieviel speicher ich benötigen werde? an was
kann ich mich ungefähr orientieren?
wieviele zustände kannn man in registern abspeichern? (auch ohne
stromversorgung) oder brauch ich extra einen eprom? oder sind die auf
microkontrollern vorhanden?

von Rahul (Gast)


Lesenswert?

Dann solltest du dir überlegen, ob du nicht vielleicht ein Netzwerk aus
Controllern aufbaust.
Übrigens wurde dieses Thema schon häufiger diskutiert...
Wenn man VB kann, liegt die Wahl von Bascom nahe. Damit kommt man
schnell zu Ergebnissen. Wenn man etwas tiefer in die Materie einsteigen
will (bitte nicht schlagen!), bieten sich C und Assembler an. C ist als
kostenloses Software-Paket für AVRs als WinAVR zu bekommen, Assembler
ist sowieso frei zu bekommen.

Übrigens ist die Hausautomation ein nicht gerade triviales Projekt,
wenn man bisher noch keinen Kontakt zur Elektronik hatte...

von Frank (Gast)


Lesenswert?

Deine Formulierungen lassen darauf schliessen, dass ausser heisse Luft
garnix vorhanden ist. Schaff dir erstmal einige Grundlagen drauf und
sieh dir an wie andere die Technik für ne Hausteuerung aufbauen und
überleg dann selbst mal was du überhaupt willst. Nur mit Begriffen um
sich werfen macht keinen Eindruck und ein echtes Konzept ist auch nicht
zu erkennen. Wenn du dieses Forum aufmerksam durchliest wirst du viele
Projekte finden die was mit deiner Intention machen. Ach ja, vergiss VB
einfach. Lern lieber richtig programmieren, denn da kommst du eh nicht
drumrum wenn du sowas verwirklichen willst.

bye

Frank

von Rahul (Gast)


Lesenswert?

@Frank: Das kann man auch freundlicher ausdrücken... Aber in gewisser
Weise hast du Recht.

von The Daz (Gast)


Lesenswert?

Aha, ich glaube wir reden aneinander vorbei. Du und dein Kumpel wollt
nicht wirklich selbst loeten, oder ? Haussteuerungen sind wohl besser
ueber Bus-Systeme zu realisieren, soll heissen, jedes zu steuernde
Geraet bekommt einen kleinen uC und wird an die gemeinsame 230V +
Datenleitung angeschlossen. Ueber diese Leitung tauschen alle Geraete
mit der Zentrale Daten (Kommandos und Status) aus. Das spart den
riesigen Kabelverhau bei einer Sternverkabelung. Such mal im Forum nach
dem Thema "Hausbus". Dieses Thema ist hochkomplex und nicht mal eben
so nebenher ohne Erfahrung zu bewaeltigen. Die Kosten werden sich
sicherlich auf etliche tausend Euro belaufen. Wenns mit fertigen
Modulen passieren soll, haeng noch ne Null dran.

von Sebastian K. (basti)


Lesenswert?

Hallo!
Wenn du viele I/O's brauchst wäre es vielleicht Sinnvoller jedem
Komplexen Prozess (Leinwand hoch/runter, Taster Oben/Unten, etc) einen
eigenen kleinen µC zu verpassen. Diese dann mit einem seriellen Bus an
eine Zentrale Steuerung anschließen (RS-485, CAN, je nachdem).
Bei den AVR's (µC-Familie) kannst du mit einem Basic-Dialekt arbeiten
(BasCom, Demo umsonst, Vollversion um die 80€?). Der Preis für einen
ATMega8 (beliebter "Einstiegs" Controller) liegt bei ca. 3€, bietet
bis zu 22 I/O's mit RS232, 8-Kanal A/D Wandler, I2C-Bus,
etc...kleinere oder ältere AVR's gibt's günstiger (musst bei Reichelt
nach dem Preis schaun, bei Atmel.com gibt's Info's zu den µC's).
Ein ATMega 8 hat 512Byte EEPROM und 4kByte Flash (für's Programm). Ein
Programmier Gerät kannst du dir recht günstig (für den LPT-Port) selber
bauen.
Das Buch von Roland Walter "AVR Microcontroller Lehrbuch" mit
Starter-Board für den ATMega 8 hab ich sehr hilfreich empfunden
(basiert auf BasCom Basic).

MfG
Basti

von Christian (Gast)


Lesenswert?

hi frank!

danke dir für dein großes interesse dämliche beiträge zu posten!
es gibt firmen, die nicht nur kleine programme schreiben in vb, sondern
riesige datenbanken, die auch laufen und keine probleme machen! und das
sind wohl keine hobby programmierer die sich ein jahr hin setzen und so
ein WAWI schreiben. überleg dir mal deine ausdrucksweise - dann können
wir weiter reden.
ausserdem hab ich nicht viel grundlagen in diesem bereich, genau
deshalb komm ich hier her um mal anzufangen infos zu beschaffen. was
für mich zu schaffen und nicht zu schaffen ist hast nicht du zu
entscheiden!

Wenn du helfen willst, mach das. Wenn nicht dann verdirb anderen leuten
nicht die laune.

Dankeschön an die anderen, werd mir die sachen morgen genauer
anschauen!

von Stefan Kleinwort (Gast)


Lesenswert?

Hi Christian,

ich selber baue mir meine eigene Haussteuerung - siehe andere Threads
hier. Wie DAZ schon sagte: das Ganze ist nicht ganz so einfach. Eine
einzige Platine im Schaltschrank kann nicht wirklich die Lösung sein,
Sinn macht das Ganze (meiner Meinung nach) nur, wenn die Intelligenz
"vor Ort" sitzt, sprich: ein Netzwerk mehrerer Microcontroller.
Vorteile: Displays vor Ort möglich, einfache Temperaturmessungen, fast
beliebige Erweiterbarkeit, etc.

Wenn Du Dein Konzept trotzdem machen willst: besser eine billige SPS
nehmen, da hast Du eine HW, die sicher störungsfrei arbeitet (SEHR
wichtiger Punkt, wenn Du den Hausfrieden auf Dauer erhalten willst).
Die Ausgänge einer SPS können direkt Relais schalten, und die Eingänge
sind sehr robust.

Zu VB:
Sobald Du auf Microcontroller wechselst, musst Du Dich vom V
verabschieden ... ob naktes Basic Dein Ding ist, musst Du selber
wissen. Basic gibt es nicht auf jedem Microcontroller, Du bist sehr
eingeschränkt. Leute, die mit Basic arbeiten <<scheinen>> häufiger
Probleme zu kriegen, die ich aus der C-Welt überhaupt nicht kenne
(meine persönliche Einschätzung aufgrund der Forumsfragen hier). Ich
persönlich benutze C - aus einem ganz einfachen Grund: das gibt es für
praktisch jeden Microcontroller.

Viele Grüße, Stefan

von 123 (Gast)


Lesenswert?

schau mal im wiki nach.

von NEokick (Gast)


Lesenswert?

hey leute

habt ihr schon mal was von EIB gehört
ich kann nur sagen das ist zur haussteuerung von irgenwelchen diversen
elektrogeräten am besten

wenn du willst kannst du sogar deine toster damit ansteuer

zu mal du bis zu 64 busteilnehmer in der line anschgließen kannst

so und 12 linen werden zu einem bereich,die du wiederrum an eien
hauptline anschließt
an dieser hauptline könne wieder 64 busteilnehmer angeschloßen werden
dann kannst du mit bereichskopplungen  maximal wieder 15 breiche mit
einander verbinden

und nun mal eine rechnung wie viele busteilnehmer du dann insgesamt
hast

n= (((64x12)+64)x15)+64= 12544

ich muss nur dazu sagen
EIB ist verdamt teuer!!!

von Christian (Gast)


Lesenswert?

hi NEokick

habs mir grad angesehen, sieht gut aus.
allerdings wirklich zu teuer. will da keine 10 000 euro ausgeben um ein
paar sachen machen zu können....

von Wegstabenverbuchsler (Gast)


Lesenswert?

@Christian

du widersprichst dich in deinen Aussagen:

"datenleitungen kann man nicht genug haben, hätte da schon zwischen
500 und 1000 im sinne gehabt"

"[will da keine 10 000 euro ausgeben] um ein paar sachen machen zu
können...."

Ja watt denn nu? Sind es "ein paar Sachen" oder sind es "1000
Sachen" die du machen willst?

natürlich sind in einem Haushalt viele Gegenstände vorhanden, welche
strombetrieben sind (oder umgerüstet werden können), und theoretisch
kann man jede Steckdose und jeden Rolladen und jedes Heizkörpervertil
dann individuell schalten.

Das teure ist nicht wirklich die 10.000 Meter (1000 Datenleitungen a 10
Meter) Strippe die du verlegen willst. Ob der Kabelbaum nur so dick wie
ein Unterarm ist, oder doch so dick wie der Oberschenkel vom
Terminator, das bleibt dir überlassen. Wenn du passend große
Kabelschächte hast, dann nutze sie halt.

Blos: Es macht aus Gründen der Störfestigkeit und des Verlegeaufwandes
ÜBERHAPUT keinen Sinn, ein derartiges Konzept mit einzelnen
Signalleitungen umzusetzen. Fazit: Du landes wieder beim Bus. Welcher
Bus das ist, ob der mittels Glasfaser, Twisted Pair, Koaxial oder
Plasma-Hohlleitungen arbeitet ist auch mehr eine Frage des persönlichen
Geschmacks, und ob es diese Strippologie für dein geplantes Bussystem
auch gibt.

Damit kommt man dann auch auf den Kernpunkt: Die zu steuernden
"Geräte" müßen entsprechende Anschlußmöglichkeiten bieten. Ob nun
dein Heizkörperventil selbst schon einen XYZ-Bus hat, oder nur einfache
Steuer- und Signalisierungsleitungen, kannst nur du wissen. Irgendwie
muß aber dann dein Hausbus und dein Gerät zusammen kommen. Und dazu
brauchst du irgendwelceh "Protokollwandler".

Ob du deine Weltraumschiff-Kommando-Zentrale zur Zentralen Steuerung
dann mit VB oder mit Cobol oder in einer noch nicht erfundenen
Programmiersprache betreibst, ist auch deinem persönlichen geschmack
überlassen.

Fakt ist: Das was du nicht selbst kannst (z.B. einen Protokollwandler
von EIB nach CAN) mußt du zukaufen. Und solche Komponenten kosten
halt.

schau auch mal hier auf dieser Webseite in diesem etwas versteckten
Forum nach:

http://www.mikrocontroller.net/forum/list-11-1.html

von Christian (Gast)


Lesenswert?

hallo Wegstabenverbuchsler!

die meinung mit datenleitungen nicht genug haben war so gemeint, dass
es  ausbaubar ist! und ich dann nicht auf 50 leitungen sitzen bleib
wenn ich irgendwann mal 100 brauch! kosten solls deshalb nicht viel, da
es für mich nur zum ausprobieren gedacht war, da ich ja nicht weiß wie
weit ich damit komme! An meinen heizkörperventilen ist noch garnichts,
hab im haus noch garnichts ausgebaut auf dieses thema bezogen. wollte
mir egtl möglichst alles selbst bauen..... und nach möglichkeit keine
bzw wenig fertigteile kaufen. werd mir die themen der genannten website
noch genauer anschauen! danke!

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

@Christian
wie schon mehrfach erörtert:

Beschaffe dir Kenntnisse über gängige Bus-Technologien.

Jeder Raum wired eine eigene Unter-Domäne mit seinem eigenen
(Mikrocontroller-basierenden) autonomen Untersteuersystem.

Für dein geplantes Vorhaben MUSST du die "Intelligenz" auf einzelne
Geräte, oder auf eine Unter-Steuerung verteilen.

Ein zentraler PC wird dann dei Aufgaben des "Vorarbeiters"
übernehmen, von dem man dei einzelnen Geräte dann abfrage oder neue
Werte setzen kann. Ab dann muß das Gerät wieder alleine klar kommen.

von NEokick (Gast)


Lesenswert?

hey leute

Wegstaben Verbuchsler

ich wollte mal was zu deinem text sagen und zwar

klar kann man sämtlich kabel nehmen die es zu bus gibt..
aber für normal anwendder reicht das normal eib kabel
weiß aber nicht genau wie das heißt aber es hat eine kupferader

dann kannst du an stelle eines pc einzelen eib steuergeräte nehmen und
die einzelnt programmiren lass über eine software
die du dann über taster im haus schalten kannst!!!

aber das muss jeder für sich wissen wir er das machen will
aber zu mal eib so wieso das einfachste ist um eine busleitung mit haus
zu verlegen
und zu programmieren, weil bei sps eine neuere generation ist die viel
zu schwer programierbar ist
aber auch hier jeder sein geschmack

wenn ihr mehr wissen wollt über eib
sagt mir bescheid!

mfg

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.