>> Ein winziger Mikrocontroller, wie z.B. ein PIC10F200, aber den muß man erstmal programmieren (können)
> Aber das MP muss auch in ein kleines Gehäsue passen
> und [...] mit einer 9V Blockbatterie auch lange genug laufen, mindestens 1 Jahr oder so.
Ein PIC10F200 hat 16 Byte Ram, 256 Befehle, 6 Beine und ist 2,8 x 2,6mm groß. Klein genug ?
Im Chip integriert ist ein Oszillator und Comparator und "Wakeup on Pin Change". Versorgung mit 100..200nA aus einer 3V Lithium-Knopfzelle (CR2032). Für die Timer/Buzzer-Applikation reicht das für ca. 30 Jahre Standby Betrieb (ohne Piepen) oder bis die Knopfzelle Rost ansetzt ;-)
Das Haupt"problem" ist, daß ein Reed-Kontakt einen Pullup/Pulldown-Widerstand braucht, und selbst mit 10Megohm zieht der geschlossene Reedkontakt alleine (bei geschlossenem Fenster und Kontakt) dann mehr Strom (300nA bei 3,0V) als der PIC (200nA)).
Dadurch sinkt für kleine Lithiumknopfzellen mit ca. 100mAh Kapazität die Standby-Zeit dann auf rechnerische 20 Jahre.
Ich würde wohl zum 12F683 ht tp:// ww1.microchip.com/downloads/en/DeviceDoc/41211D_.pdf greifen, weil der BOR (Brownout Reset) und einen optionalen Oszillator (u.A. 32kHz Uhrenquarz) bietet.
> Was gibts denn da so, etwas Assembler kann ich noch von wo ich jung war. :-)
Ich habe selber etwas mit Microchip PIC (www.microchip.com) gearbeitet, mag die Dinger aber inzwischen nicht mehr so, weil sie zu wenig Komfort beim Programmieren bieten. Die gängigen Alternativen sind wohl "Atmel ATMEGA","Arduino"
Für "kostengünstig", "klein" und "stromsparend" sind die PICs aber sehr gut, wenn nicht sogar ungeschlagen.
PIC-Programmierung fängt man am besten mit einem PICKit2 "Debug Express" an: www.reichelt.de/?ARTICLE=72928;
ACHTUNG, es gibt drei Kits, die man leicht verwechselt.
* DV 164120 PICKit 2 "Starter Kit" <<-- Die alte Version. Hat PIC16F690 (nicht so schön).
* DV 164121 PICKit 2 "Debug Express" <<-- Dieses willst Du haben, hat den "schlaueren" PIC16F887
* DV 164131 PICkit 3 "Debug Express" <<-- Hat einen nagelneuen PIC18xxx, wird idR. nicht mehr in Assembler programmiert.
Wenn Du Assembler kannst und "klein" bauen willst, dann das PICKit 2 "Debug Express". Da ist ein PIC16F887 drin, beim Kit sind auch Windows-Software und das Programmiergerät dabei. Das Programmiergerät unterstützt fast alle "kleinen" PICs (10Fxxx, 12Fxxx, 16Fxxx)
Als endgültige Version kannst Du, wenn Du mit dem PIC-System klar kommst auf einen PIC 12Fxxx oder besser 10Fxxx umsteigen, die sind stromsparender und haben kleinere Gehäuse, für einen Timer reicht's aber noch. Leider können die 10Fxxx und 12Fxxx keine "Breakpoints" im Debugger, das Entwickeln ist hier also mühseliger.
Bei den größeren Controllern (PIC18xxx, PIC24, dsPIC30, PIC32) wird die Produktpalette groß, die Geschwindigkeit hoch (z.B. 18F4550 bei 96 MHz = 24 Millionen Befehle Pro Sekunde), man kann z.B. USB und/oder Ethernet machen. Mir wird's für reines Hobby ab da etwas zu schwer. Für Einsteiger nicht zu empfehlen. Ich selbst habe mir an USB (alles nach HID oder RS232-Emulation) erfolgreich die Zähne ausgebissen, aber das ist eine lange Geschichte.
Angenehm ist die Peripherie, die idR. "up to spec" arbeitet, d.h. strikt nach den Angaben des Datenblattes und auch meist nicht sonderlich kompliziert zu bedienen ist. Register setzen, register lesen, fertig. Alle Ausgänge sind unbegrenzt kurzschlußfest (begrenzt auf 20mA), können also z.B. direkt LEDs treiben. PICs sind insgesamt fast unkaputtbar.
Mehrere Analog-Eingänge und Sonderfeatures wie RS232-Uart, Opamp/Komparator,1-3 Zähler/Timer,Hwarware-Watchdog,Spannungsüberwachung und eingebaute Oszillatoren etc. sind auf allen Chips zu finden, die Ausstattung variiert natürlich je nach Typ.
Die kleinen Serien der Mikrocontroller (10Fxxx,12Fxxx,16Fxxx) programmieren sich sehr ähnlich, üblicherweise in Assembler.
Es sind alles 8bit - Mikrocontroller, ab mehr als 80 Byte genutztem Speicher muß man hier Speicher-Paging verwenden, das erfordert etwas Einarbeitung, geht dann aber gut.
Programmiert werden alle aktuellen PICs "In Circuit", d.h. man baut die Schaltung mit PIC auf, schließt am PIC zusätzlich das PICKit (oder den "großen" ICD2/ICD3-Programmer) an. Das PICkit versorgt kleiner Schaltungen mit Strom und programmiert den Chip im eingebauten Zustand. So funktioniert auch das Debuggen, der Debugger guckt auf den im wirklichen Leben laufenden Chip, wenn ein bestimmte Position im Sourcecode erreicht ist "Breakpoint" und man kann (wenn auch nur mit ca. 1 Befehl/Sekunde) dem Chip beim Laufen zugucken. alle Register und den Speicher sieht man "live", man kann beim Stillstand auch Register/Speicher editiern. Auf dem Chip, nicht nur im Simulator"
Programmiert wird idR. in einer Windows-Software "MPLAB IDE", da sind der Assembler, ein Simulationstool "MPLAB Sim" und ein brauchbarer Debugger integriert. Ist schon recht lecker gemacht. Die ganze Software ist kostenlos.
Du kannst, wenn du möchtest sofort "MPLAB" von der Microchip-Webseite runterladen und eine Runde mit einem simulierten Chip drehen.
Aber Vorsicht: Auch hier ist ein nicht unerhebliches Stück "Lernkurve" zu erwarten, bis das alles wie gewünscht geht. Zeit und Frustrationstoleranz sind dringend empfohlen.
Beschaffung:
Reichelt, Elpro, zur Not Conrad (teuer!) oder alle anderen Elektronikdistributoren
Die kleinen PICs sind auch im bastlerfreundlichen DIP-Gehäuse zu bekommen.
Auf www.microchip.com konnte (kann?) man kostenlose Samples (sogar der Versand wurde/wird von Mirochip bezahlt) bestellen.
Alles, was Microchip herstellt, ist auch für Endkunden/Bastler direkt bei denen im Shop (Microchip direkt) bestellbar, kostet allerdings nicht unerheblich Versandgebühren weil aus dem Ausland (meist England) geliefert wird.
Weiteres:
Lies Datenblätter von Microchip.com, z.B. für den Start zum 16F84 oder 12F508. Das sind einfache Chips, da wirst Du noch nicht mit Funktionen über Funktionen erschlagen. Der Assemblercode steht in den hinteren Kapiteln der Datenblätter, Lektüre empfohlen, es sind nur ca. 30 Befehle.
Außerdem gibt es jeweils noch eine große Funktionszeferenz, für die PIC16xxx Serie heißt sie "Mid Range Reference Manual" ht tp: //ww1.microchip.com/downloads/en/DeviceDoc/33023a.pdf , da sehen auch ordentliche Sourcecode-Beispiele drin.
Liste der Reference-Manuals: ht tp:// www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1956
Softwaresammlung: ht tp:// techref.massmind.org/techref/piclist/begin.htm
-Theo
- Re: PIC-Mikrocontroller Manfred M. 02.06.2010 21:58
(1)
- Re: PIC: Programmiergerät und SLEEP-Mode Theodor Wadelow 06.06.2010 12:02
(0)
- Re: PIC: Programmiergerät und SLEEP-Mode Theodor Wadelow 06.06.2010 12:02
(0)