Hallo liebe MC-Freunde.
Könnt ihr mir was empfehlen für einen Anfänger mit kleinen Assember
Kentnissen:
MC für:
1 Eingang (Reed Kontakt) 1 Ausgang (Piepser)
und einem Analogen Eingang für Temperaturmessung oder schon integrierten
Temperaturfühler (???).
Das MC muss Timer haben, also :
Reed Kontakt ein: nach x Minuten piepseralarm
x ist Abhängig von Temperatur (tendenziell, nicht genau).
Das ganze mit Batteriebetrieb in einem kleinen Gehäuse,
darf also nicht allzuviel Strom verbrauchen.
Es soll an einen Fensterrahmen geklebt werden, also klein sein.
Ich will einmal so eine Schaltung bauen.
Wenn es sowas fertig gibt wäre auch nicht schlecht.
Danke, Manfred.
Manfred schrieb:> Könnt ihr mir was empfehlen für einen Anfänger mit kleinen Assember> Kentnissen:
Welche Kentnisse?
Welchen Controller kennst du schon?
'Den optimialen Controller' gibt es nicht. Optimial kann im Zweifelsfall
einfach nur der Controller sein, den du bereits kennst.
Wenn sich "Anfänger" auch auf Löterfahrungen bezieht, würde ich eher
einen Prozessor im DIP-Gehäuse empfehlen (ok, dadurch fällt auch der
Attiny10 weg - oder gibt es den auch in DIP6?). Der MSP fällt da auf
jeden Fall weg.
Der ATTiny25 ist nicht schlecht. Es gibt ihn in DIP oder SMD, er ist
preisgünstig und nicht übertrieben komplex, trotz der Mehrfachbelegung
der Portpins. Programmieren kann man mit AVR-Studio in Assembler, oder
mit AVR-GCC/WinAVR auch in C. Wer nur Assembler macht, kommt auch mit
dem Vorgängertyp ATTiny15 zurecht, der hat aber keinen eingebauten
Temperatursensor.
Vielen Dank an alle die mir mit ernstgemeinten Ratschlägen geholfen
haben!
Der ATTiny25 scheint zu passen, da er DIL Gehäuse und integrierten
Temperatursensor hat.
Aber im Datenblatt habe ich gelesen, da er 0.2mA Stromaufnahme hat,
bei ca. 2V, wobei es da nochmal einen aktiven / inaktiven Modus gibt...
Für Batteriebetrieb ist das etwas viel, zudem müsste ich zwei Spannungen
benutzen, da ein Pieper / Summer ja eine höhere Spannung braucht
Was mir noch über den Weg gelaufen ist ist ein PIC mit Flash-Speicher.
Habe mich noch nicht vertieft darin, aber vielleicht könnt ihr mir
ja von vornherein ab/- zuraten.
Manfred schrieb:> Was mir noch über den Weg gelaufen ist ist ein PIC mit Flash-Speicher.>> Habe mich noch nicht vertieft darin, aber vielleicht könnt ihr mir> ja von vornherein ab/- zuraten.
Es gibt eine riesige Auswahl von PICs mit Flash-Speicher.
Vorteihaft ist, dass man die Dinger beim Hersteller als Muster schnorren
kann (geht auch bei anderen Herstellern).
Sicher, AVRs und PICs sind für Anfänger gut geeignet, immerhin hast du
damit ein Standardteil das in unglaublichen Stückzahlen eingesetzt wird.
Beispiele, Tips und Tricks gibts mehr als du jemals lesen willst.
Manfred schrieb:> Aber im Datenblatt habe ich gelesen, da er 0.2mA Stromaufnahme hat,> bei ca. 2V, wobei es da nochmal einen aktiven / inaktiven Modus gibt...>> Für Batteriebetrieb ist das etwas viel,
Von wieviel Stromaufnahme träumst Du denn?
Der ADuC814 ist ein "einfacher" 8051er mit integriertem
Temperatursensor.
Hat ein 28-pin TSSOP package und funktioniert mit 3V oder 5V.
Natürlich hat das Teil einen integrierten Flash-Programmspeicher.
Und der lässt sich einfach per UART programmieren.
MarioT schrieb:> Von wieviel Stromaufnahme träumst Du denn?
Gute Frage, wenn man einen modernen Microcontroller im Schlafzustand
betreibt, stirbt die Batterie eher an Alterung, wirlich leer wird die
nicht.
Manfred schrieb:> Für Batteriebetrieb ist das etwas viel, zudem müsste ich zwei Spannungen>> benutzen, da ein Pieper / Summer ja eine höhere Spannung braucht
Der Tiny 25 kann auch schlafen und braucht dann weniger Stron.
Schau mal in das Datenblatt und in das Tutorial "Sleep".
Für den Alarm mit Piezo gibt es "aktive" mit eingebauter
Elektronik oder (hier besser) welche die man mit einer
"selbstgemachten" Frequenz ansteuert. Das wäre hier optimal.
Der Tiny 25 kann PWM und hat complementäre Ausgänge.
Wenn man dort bei 2 Volt VCC den Piezo anschließt "sieht"
dieser ein Rechtechsignal mit 4 Volt pp und macht schon
ausreichend Krach.
Hans
Manfred schrieb:> Aber im Datenblatt habe ich gelesen, da er 0.2mA Stromaufnahme hat,> bei ca. 2V, wobei es da nochmal einen aktiven / inaktiven Modus gibt...
Man kann den µC automatisch in den Schlaf-Modus schicken, kurz das
machen lassen, was er soll, und wieder in den Schlaf-Modus schicken,
usw...
Dann kommt man mit sehr wenig Strom aus.
(Z.B. ADuC814: Power-down: 15 µA (32 kHz oscillator running)
Nochmals Danke,
hier wird einem ja wirklich geholfen! :-)
Sleep - Modus:
Bis dahin hab ich mich im Datenblatt jetzt auch durchgelesen,
wäre ja Ideal für mich.
Warten auf REED offen, Alarm machen, wenn REED wieder zu: schlafen.
Kann ich 9V von einer Blockbatterie über eine "7V" - Zenerdiode in Reihe
an den AVR legen?
Das passt dann.
Zur Größe: die ganze Schaltung sollte in ein kleines Gehäuse
(max. Zigarettenschachtel) passen, das würde mit dem ATTiny ja klappen.
Da ich selber löten will/muss (Lochrasterplatine) und keinerlei SMD
Erfahrung oder Ausrüstung habe, ist so ein DIL (oder DIP?) Gehäuse
schon OK, 3x3 wäre sicher ZU klein.
Könnt ihr mir jetzt noch Tips geben, wo ich evt. ein Kompendium
und Schaltvorschläge herbekomme? Evt. sogar auf Deutsch?
Ist das hier
http://www.amazon.de/gp/product/3772348998/ref=cm_rdp_product/278-5905358-1164735
sinnvoll?
Schau mal ins Menü links oben, hier gibts jede Menge Kram für
AVR-Anfänger.
Das Lernpaket Von Burkhard Kainka ist sicher nicht übel, aber das Geld
kannst du dir sparen(für den Preis ist nun wirklich nicht viel drin).
Wichtig ist erstmal ein brauchbares Programmiergerät.
Noch einmal zum Stromverbrauch des Attiny25:
Für die Anwendung kann der Controller die meiste Zeit im Powerdown-Modus
mit deaktiviertem Watchdog-Timer bleiben. Zwei Mignonzellen mit 2000mAh
halten dann theoretisch über 1000 Jahre, wenn diese unangenehme
Selbstentladung nicht wäre. Der Controller reagiert dann nur auf den
Reed-Kontakt.
Während der x Minuten Wartezeit nach dem Schließen des Reed-Kontakts
reicht es, wenn der Watchdog-Timer läuft und den Controller bspw. einmal
pro Sekunde ganz kurz aufweckt. Wenn der Reed-Kontakt so oft betätigt
wird, dass der Timer nicht mehr abgeschaltet wird, halten die Batterien
immerhin noch gute 50 Jahre, wenn man die Selbstentladung nicht
berücksichtigt.
Selbst während des Piepsens muss die CPU des Controllers nicht
eingeschaltet sein, der Timer0 schafft das ganz alleine. Lässt man die
Schaltung ununterbrochen Piepsen, hält die Batterie immer noch über 3
Jahre, wenn man den Stromverbrauch des Piepsers weg lässt. Zusammen mit
einem Piezowandler bleiben dann zwar nur noch 1 Jahr übrig, aber dafür
kann ja der Controller nichts. Und wer lässt das Ding schon freiwillig
Tag und Nacht dauerpiepsen?
Mach dir also um den Stromverbrauch keine Sorgen. Aber auch bei anderen
neueren Mikrocontrollern spielt der Stromverbrauch für deine Anwendung
keine, aber auch gar keine Rolle, wenn du deren Sleep- und Powerdown-
Modi richtig einsetzt.
Ohforf Sake: Danke, ich werd mich da mal durchlesen.
Unter "Prgrammiergerät" verstehst du eien Platine, die
an RS232 angeschlossen wird und in die der Tiny gesteckt wird?
Passen da alle ATTiny25, 20, 16, 13 und wie die alle heisen rein,
oder muss ich ein spezielles nehmen?
Yalu X.: Danke,
OK, die Batterielebensdauer ist ja wirklich kein Problem,
wenn man den Sleepmodus richtig einsetzt.
Eine 9V Blockbatterie wäre mir aus mechansiche Gründen lieber,
aber mit 2x Mignon werde ich wohl auch was hingebastelt bekommen.
Für AVRs gibts Bascom, das ist ein extrem einfacher Basic Compiler von
dem es auch gratis eine trial gibt die auf 4kB beschränkt ist (in deinem
fall egal).
Für Leute die absolut keine Kenntnisse haben gibts noch Flowcode
(programmierung mit grafischen elementen), mit den Preisen davon hab ich
mich aber noch nich beschäftigt.
Welches AVR Programmiergerät das beste ist weiss ich nicht.
Beim Reichelt gibts z.B. "AT AVR ISP" mit USB Anschluss.
ISP bedeutet, dass du den AVR eben nicht ins Programmiergerät steckst -
das wäre unpraktisch.
Stattdessen baust du auf deine Versuchsplatine einen Anschluss, wo das
ISP-Gerät angeschlossen wird.
Beim Pollin gibts "ATMEL Evaluations-Board Version 2.0.1 - Bausatz" mit
seriellem Anschluss, lächerlich billig.
Für den Einstieg mag das Ding ganz nützlich sein.
Ich habe mir das Reichelt - Teil mal angesehen.
Ich verbinde den "AT AVR ISP" mit USB und stecke die Pfostensteckleiste
auf meine Platine mit dem Tiny? Wäre es dann hilfreich, auf dem fertigen
Gerät auch so eine Stiftleiste zum Programmieren zu haben?
Was macht dieser "AT AVR ISP" denn genau?
Ist das nur sowas wie ein USB - RS232 Wandler?
Die AVRStudio4 Software hab ich auch schon geladen,
wenn ich die Beschreibung richtig gelesen habe, kann ich ja vorab
schonmal mein Programm testen (Simulator).
Da könnte ich schonmal Probieren ob ich das was ich will auch kann.
Und dann die Platine löten.
Manfred schrieb:> Ich habe mir das Reichelt - Teil mal angesehen.>> Ich verbinde den "AT AVR ISP" mit USB und stecke die Pfostensteckleiste> auf meine Platine mit dem Tiny? Wäre es dann hilfreich, auf dem fertigen> Gerät auch so eine Stiftleiste zum Programmieren zu haben?>> Was macht dieser "AT AVR ISP" denn genau?> Ist das nur sowas wie ein USB - RS232 Wandler?>> Die AVRStudio4 Software hab ich auch schon geladen,> wenn ich die Beschreibung richtig gelesen habe, kann ich ja vorab> schonmal mein Programm testen (Simulator).> Da könnte ich schonmal Probieren ob ich das was ich will auch kann.> Und dann die Platine löten.
Was in dem original-ISP drin ist, weiss ich nicht.
Etwas ähnliches wird hier beschrieben :
http://www.sixca.com/eng/articles/avr_isp/
Ein ISP-anschluss in einem fertigen Gerät ist immer gut, damit man
bequem updaten kann wenn das Programm zickt. Oder bei SMD AVRs, weil man
die kaum in einen Sockel stecken kann.
Simulatoren sind nicht so toll, aber einen Versuch wert.
Richtig spassig ist "Proteus VSM for Atmel AVR" - damit kann man den AVR
im Schaltplan simulieren, mit allem moglichen Schnickschnack aussenrum,
wie LCD_Displays... Leider kostet das Programm richtig Geld.
http://www.labcenter.co.uk/products/avr.cfm
Der Pollin "ATMEL Evaluations-Board Version 2.0.1 - Bausatz":
Laut Beschreibung kann der keinen ATTiny25.
Stimmt das oder ist der 25er neu und deswegen nur nicht aufgeführt?
Auch hier im AVR Wiki ist der 25er nicht gelistet, oder hab ich da was
übersehen?
Der ATtiny25 kann problemlos mit dem Pollin-Board programmiert werden.
Er ist nur nicht ganz so uralt wie die in der Beschreibung aufgeführten
Typen (der ATtiny15 ist zwei Generationen älter und der ATtiny12 dürfte
schon langsam verwesen ;-)).
Bei dem Board musst du allerdings beachten, dass dein PC dazu eine
native RS-232-Schnittstelle haben muss. Ein USB-RS-232-Konverter geht
nicht oder höchstens unbefriedigend langsam.
Edit:
Ich habe die vorigen Beiträge nicht ganz gelesen. Wenn du vor hast,
einen Atmel AVR-ISP anzuschaffen, brauchst du die serielle Schnittstelle
nicht, dann reicht USB.
Edit 2:
> Auch hier im AVR Wiki ist der 25er nicht gelistet, oder hab ich da was> übersehen?
Im Wiki
http://www.mikrocontroller.net/articles/AVR_Typen
ist der ATtiny85 aufgelistet. Das ist ein ATtiny25 mit der vierfachen
Speichergröße (Flash, RAM und EEPROM). Angeschlossen und Programmiert
werden beide gleich, und für dein Vorhaben hat schon der ATtiny25
Speicher im Überfluss.
Du könntest dich auch mal in der PIC16F oder PIC18F Ecke umsehen. Dort
gibts es auch XLP (extreme low power) Controller, die für
Batteriebetrieb bestens geeignet sind.
Bei Microchip findet man auch immer viele Reference Designs, Beispiele
und Libraries.
Also MSP sind meiner Meinung nach schon die richtigen Buchstaben. Nur
die Zahlen dahinter sollten eher in die Richtung 430F2012 gehen.
Beim Einstieg solltest Du auch darauf achten, wie einfach die
Entwicklungsumgebung ist, Programmier-Adapter, Programmiersprache, etc.
Deshalb würde ich ganz eindeutig das EZ430 Tool von TI empfehlen:
Relativ billigm USB Anschluss, in C programmierbar. Und mit IAR eine
einfache und trotzdem gute Entwicklungsumgebung.
Die Module mit dem Prozessor kann man abnehmen und dann auch per
Stiftleiste auf eine Lochrasterplatine aufstecken oder löten.
Und Batteriebetrieb war und ist schon immer eine der stärken der MSP430
Serie.
MSP:
Ich werde mich diesbezüglich schlau zu machen versuchen.
Hat er auch einen integrierten Temperatursensor oder doch einen
Analogeingang?
Allerdings ist C nicht so mein Ding,
Turbo-Pascal, Delphi, etwas Basic und eben ASM aus
grauen Vorzeiten, das traue ich mir zu.
Ins C einsteigen wollte ich eigendlich wegen diesem Projekt nicht.
Manfred schrieb:> Eine 9V Blockbatterie wäre mir aus mechansiche Gründen lieber,> aber mit 2x Mignon werde ich wohl auch was hingebastelt bekommen.
Wenn du tatsächlich mit der Idee spielst eine 9V Batterie zu nutzen,
solltest du aber keinen Längsregler nehmen. Sonst verbrennst du bei 3V
CPU Spannung mal locker 2/3 der Leistung am Regler ;-)
Hi!
>Reed Kontakt ein: nach x Minuten piepseralarm>x ist Abhängig von Temperatur (tendenziell, nicht genau).>Das ganze mit Batteriebetrieb in einem kleinen Gehäuse,>darf also nicht allzuviel Strom verbrauchen.>Es soll an einen Fensterrahmen geklebt werden, also klein sein.> Eine 9V Blockbatterie wäre mir aus mechansiche Gründen lieber
Wenn ich dich richtig verstanden habe willst du bei geöffnetem Fenster
und 'kleinen' Temperaturen einen Pieper einschalten der dich völlblökt
"Fenster zu!" Wenn ja, wozu brauchst du da einen AVR?
Bei mir würde da ein 9V Block, ein Reedkontakt, ein NE7555, ein Pieper,
ein PTC und etwas Hünerfutter langen.
Der Redkontakt hängt zw. Bat. und 7555. Der 7555 mit dem PTC verzögert
den Alarm temperaturabhängig und als Pieper sind selbstschwingende
billig zu bekommen.
Habe ich irgendwas falsch gedeutet?
Viel Erfolg, Uwe
Nochmal zum MSP430F2012: Natürlich kannst Du den auch in Assembler
programmmieren. Der Assambler ist sogar relativ schön, da der Prozessor
16-Bit und eine ganz brauchbare Anzahl von Registern hat.
Und Analoge Eingänge und ADC sind auch drin. Im Falle des MSP430F2013
mit differentiellem Eingang. Ein Temperatur Sensor ist glaub ich aber
nur beim F2012 integriert. Und eher auch nur ein Schätzeisen und muss
auf jeden Fall für genauere Temperaturmessungen kalibriert werden.
Alles weitere hier: http://focus.ti.com/lit/ds/symlink/msp430f2012.pdf
Uwe:
Klar, ein 555 oder ein 723 OP (Schmitt-Trigger, Monoflop...)
würden es auch tun.
Aber wenn es sowas schon nicht fertig gibt und ich mich selber
ans Basteln machen muss, dann würde ich schon lieber nen MC
einsetzen um auf dem Gebiet mich mal einzuarbeiten und ggf.
zukünftig mich mehr damit zu beschäftigen.
Ich weis nur immer noch nicht genau, wie ich am besten anfange,
hab ja jetzt ne Menge Infos hier bekommen und muss mich da mal
durchkauen.
Wer noch Tips zu einem Einsteiger MC - Paket (mit Programmer und
Entwicklungsboard) geben kann, immer her damit!
An alle nochmals Dank für die vielen Tips und Infos!!!
schau Dir mal den PIC 12F683 an ..., betreibe ihn mit 2.5 oder 3 Volt
(2x Akku oder 1x Lithium) und 32 kHz, dabei braucht er einen Ruhestrom 1
µA mit timer1, Betriebsstrom 15 µA, hat ADCs onboard, oder den 12F675,
braucht 4 µA Ruhestrom bei timer1,
-> die laufen beide mit einer CR2032 jahrelang ...