ADC Spannung zu niedrig= Alarmton

Gast #778198
Lesenswert?

Hallo!

Ich hab meinen Spannungswächter jetzt zum laufen bekommen, und schon 
stellt sich die nächste Frage:

-PIC 16f87-
Wie kann ich in .asm den Befehl für einen Alarm geben?

Wenn der ADC zb. (Messbereich 0-1023) 500 misst, soll ein Piezo 
angesteuert werden.


Mit welchen Befehlen kann ich denn hier arbeiten?

Viele Grüße
Florian
#778213
Lesenswert?

Zunächst mal sollte man wissen, was du tatsächlich dranhängen
hast.
Ist das eine Piezo-Kristllscheibe oder ist das ein Summer.

Für ersteres musst du eine Rechteckschwingung ausgeben.
Im Prinzip ist das daher gleichwertig mit einer blinkenden LED,
nur dass sie schneller blinkt :-)

Letzteres summt ganz von alleine, wenn Spannung angelegt wird.
Im Prinzip ist das daher gleichwertig mit dem Einschalten einer
LED.

In beiden Fällen wirst du einen Treibertransistor brauchen,
der dafür sorgt, dass auch genug Strom durch den Schallgeber
gejagt werden kann.
#778243
Lesenswert?

flo wrote:
> hallo karlheinz!
>
> ich habe einen summer den ich gerne verwenden möchte.
> was müsste ich für einen Transistor benutzten?

Kommt auf den Summer an.

Schau mal hier:
Beitrag "SUMMER pfeift ganz leise obwohl er aus ist. :-("
Aber Achtung: statt den 557 nimmst du erst mal einen 547.
Der Widerstand zwischen Pin und Transistor-Basis: irgendwas
in der Gegend von 1kOhm sollte reichen.
#778267
Lesenswert?

Vorschlag:

ersetz den PIC komplett durch einen Komparator oder OpAmp (LM358 für 
knapp über 10cent)
Häng Transistor und Summer an den Ausgang, deine Referenz-Spannung über 
Poti an den + Eingang, und die zu messende Spannung (ggfs durch 
Spanungsteiler halbiert) an den - Eingang.
Fertig.

Die gesparte Zeit nutzt du, um dich (z.B. mit der o.g. Sprut-Homepage) 
erstmal mit den PIC-Grundlagen vertraut zu machen.
Gast #780557
Lesenswert?

Hallo!
okay, ich hab mal gesucht und bin auch fündig geworden, denke ich.

ich habe folgendes zum programm hinzugefügt:

  movlw  ST
  SUBLW  2
  BTFSC  STATUS, C
  bsf    out

ST ist die tausender Stelle die im display angezeigt wird, sobald diese
1 ist, soll der port RB1 high sein.
Portb,1 habe ich als out definiert.

es tut sich aber an RB1 nichts!
Kann mir jemand sagen warum?
wo muss ich diesen abschnitt einfügen?

viele grüße
florian

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren