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
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.
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.
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.
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
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
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.
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.
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.
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.
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
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.