Forum: Mikrocontroller und Digitale Elektronik Mikrocontroller Einstieg


von Matthias (Gast)


Lesenswert?

Hallo,

würde mich als blutiger Laie gerne etwas in die Mikrocontroller-Thematik 
einarbeiten und möchte als Übungsprojekt Folgendes umsetzen:

- (Klingel)Taster schliesst Relais12V, welches das Relais5V 0 (4-pol 
Schliesser) über Öffnerkontakte von Relais5V 2 in Selbsthaltung bringt 
und die Versorgung für Mikrocontroller sowie die 2 Kontakte des 
Telefon-Gabelkopfs (Abheben) schliesst

- 0,5 bis 1,5 sek warten

- Ausgang 1 (Relais5V 1) schalten für 0,5 bis 1 sek (Tel.-Kurzwahltaste)

- 5 bis 10 sek warten

- Ausgang 2 (Relais5V 2) schalten und damit Selbsthaltung von (Relais5V 
1) unterbrechen (=Tel. wieder auflegen)

Info, welcher Mikrocontroller dafür am Besten geeignet ist, würde mir 
für weitere Recherche schon mal weiterhelfen.

Ideal wäre, wenn sich der Mikrocontroller in einer Hochsprache (VB, 
.NET, o.ä.) programmieren liesse.

Danke

Matthias

von Max H. (hartl192)


Lesenswert?

Matthias schrieb:
> Info, welcher Mikrocontroller dafür am Besten geeignet ist, würde mir
> für weitere Recherche schon mal weiterhelfen.
Eigentlich so gut wie jeder, ich würde es wahrscheinlich mit einem 
PIC16F1825 in C machen.

: Bearbeitet durch User
von NSA (Gast)


Lesenswert?

Mikrocontroller in einer .NET? Eher nicht. Aber in C.
Oder einen Arduino Nano in "Arduino-C/C++". Das entspricht vielleicht 
dem was du suchst.

Ansonsten ist die Aufgabe mit nahezu jedem Mikrocontroller lösbar, 
einfacher wahrscheinlich ohne uC mit entsprechenden Timer-ICs.

von Falk B. (falk)


Lesenswert?

Für sowas geht so ziemlich jeder Controller. Such dir den schönsten aus. 
Arduino, C-Control, whatever.

von Daniel A. (daniel-a)


Lesenswert?

Matthias schrieb:
> Ideal wäre, wenn sich der Mikrocontroller in einer Hochsprache (VB,
> .NET, o.ä.) programmieren liesse.

Das-hier ist sehr aufschlussreich:
Beitrag "AVR in VB.net programmieren"

Grundsätzlich kann ein uc mit jeder Programmiersprache Programmiert 
werden, wenn man genug Zeit dafür hat. Meistens ist es den Aufwand 
jedoch nicht wert.

von Martin V. (oldmax)


Lesenswert?

Hi
Nun, VB ist eine Objektorientierte Programmierung. Das mag auf einem PC 
mit ein paar Gigabyte Speicher kein Problem sein, ein µC hingegen ist da 
etwas schwachbrüstiger. So hat ein Atmega 8 grad mal 1 K RAM. Das reicht 
noch nicht mal, um ein Button zu generieren. Aber das ist auch nicht 
erforderlich. Wenn du mit VB bereits arbeitest, kannst du dir den 
Controlleran ein VB Programm mit einer Schnittstelle hängen und nach 
belieben Licht ein oder aussschalten, Heizung regeln und haus und Hof 
überwachen. Merke, ein µC ist ein kleiner Arbeiter, kein Verwalter. So 
ist es im Leben auch, dein Boss sagt dir "Hau den Nagel in die Wand" und 
dann überläßt er dir das Feld. Vielleicht kommt eer irgendwann einmal 
vorbei und hängt ein Bild auf, oder er übergibt diesen Job auch einem 
Arbeiter.
Bevor hier Stimmen laut werden, das es auch größere Controller mit 
wesentlich mehr Speicher und Leistung gibt, na klar, aber sicherlich ist 
das nix für einen Anfänger. ein Mega8 oder 16 dürfte für erste 
Experimente völlig ausreichen.
Gruß oldmax

von Falk B. (falk)


Lesenswert?

Wenn es denn PC artige sein soll, da gibt es noch Raspberry Pi & Co.
Die sind zwar millionenfach überdimensioniert für solche einfachen 
Dinge, aber das ist halt der Zeitgeist 8-0

von Walter Braun (Gast)


Lesenswert?

Um schnell was zusammenzubasteln wäre der CodeVision Compiler und ein 
AtMega 8 geeignet. Damit lassen sich später auch erweiterte Aufgaben 
lösen.

von Michael K. (Gast)


Lesenswert?

Daniel A. schrieb:
> Grundsätzlich kann ein uc mit jeder Programmiersprache Programmiert

Dann will ich den PIC10F200 in Phyton programmieren...
375byte Flash und 16byte RAM gehen doch klar ?

Bleib beim Arduino.
Eigentlich ist das C(++), aber die böse Hardware wird weitgehend 
versteckt damit man keinen Schrecken bekommt.
Zum Programmieren brauchst Du nur ein USB Kabel und die Clone Boards 
gibt es für ein paar Euro.

von Stefan F. (Gast)


Lesenswert?

Es gibt auch Java für einige Mikrocontroller.

Ich würde jedoch keine Programmiersprachen verwenden, sie auf eine VM 
oder sonstigen Code-Interpreter aufsetzen. Die Performance dürfte eher 
schlecht als Recht sein.

Nimm C, (eingeschränktes) C++ oder Bascom.

von M. K. (sylaina)


Lesenswert?

Matthias schrieb:
> Info, welcher Mikrocontroller dafür am Besten geeignet ist, würde mir
> für weitere Recherche schon mal weiterhelfen.

Machen kann das jeder Mikrocontroller. Meiner Meinung nach ist, auch für 
spätere Projekte, die 8 bit Mikrocontroller von Atmel (also die AVRs) im 
Internet am Besten dokumentiert. Wenn man da dann mal Hilfe benötigt 
findet man sie für die AVRs IMO am Leichtesten.

Ich habe auch mit PIC angefangen und bin dann zu AVR gewechselt da es 
dazu IMO einfach viel mehr im Internet dazu zu finden gibt und man bei 
Fragen hier schneller zum Ziel kommt.

Von der Leistungsfähigkeit hätte mir bei allen meinen Projekten auch ein 
PIC genügt, ob hier Atmel oder Mikrochip der bessere Anbieter ist vermag 
ich nicht zu sagen.

von WehOhWeh (Gast)


Lesenswert?

PICs haben aus meiner Sicht folgende Vorteile:
- Gut Verfügbar, weil Reichelt ein schönes Sortiment hat
- Bastlerfreundlich, da auch im DIL zu bekommen, auch ein paar "Dicke"
- Skalierbar von simpel (PIC12) bis groß (PIC32MX)

Schön ist MPLABx, das kann man nämlich schnell, einfach und kostenlos 
ohne bescheuerten Registierungszwang verwenden. Die Einschränkungen sind 
komplett egal für Bastler (begrenzte Optimierung).

Ich würde aber zumindest PIC18 oder gleich PIC24 nehmen. Mit den alten 
Gurken würde ich mich nicht zufriedengeben.

Vorschlag: PIC24FV32KA301


Alternativ:
STM32F0x + ein Discovery-Board als Debugger + Coocox - IDE.
Nachteil : Nicht ganz so bastlerfreundliche Packages
Vorteile :
- Sehr kostengünstiger Debugger (Discovery-Board)
- Leistungsfähig
Man muss aber durch den dummen Registierungszwang bei Coocox...

Lass dir keinen F4 aufschwatzen, das Ding ist unnötig kompliziert als 
Anfänger. Die F0 sind aber schön, vor allem der STM32F072.

Andere werden dir ATMEGAs/ATTINY empfehlen, die gehen natürlich ebenso.

von Matthias (Gast)


Lesenswert?

Hallo,

vielen Dank für alle Antworten und v.a. für den Tip auf Arduino (Clone).
Arduino Nano Clone und LCD wurde heute geliefert und ich bin von der 
Einfachheit der Sache begeistert - hatte das für Hexenwerk gehalten.
Habe zus. noch Digispark Kickstarter Clone für 2,88€/Stck bestellt und 
muss mal sehen, ob der nicht auch ausreicht.

Eine Frage hab ich noch:
In allen Infos, die ich gefunden habe, wurde zum Einlesen mit analogRead 
ein 10k Poti verwendet. Was ist der Grund und kann man auch ein 1k Poti 
verwenden?

Danke

Matthias

von Stefan (Gast)


Lesenswert?

Geht genauso. Nur zu hochohmig darf es nicht werden, sonst wird das 
eingelesene Ergebnis ungenau.

von Stefan F. (Gast)


Lesenswert?

Schau mal ins Datenblatt des Mikrocontrollers. Da wird irgendwo ein 
maximaler Widerstandswert empfohlen. 1k geht sicher auch.

Der Punkt ist: Wenn der ADC eine Messung beginnt, belastet er den 
analogen Eingang mit einem internen Kondensator. Dies führt dazu, dass 
die Spannung absackt. Je größer der Innenwiderstand er Quelle ist, umso 
stärker sackt die Spannung ab.

Man kann extern einen verhältnismäßig großen Kondensator an den analogen 
Eingang und GND legen (z.B. 100nF) um diesen Effekt zu reduzieren. Er 
stabilisiert die Spannung, jedoch reduziert er auch die Frequenz, die 
man dann erfassen kann.

von Matthias (Gast)


Lesenswert?

OK, vielen Dank

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.