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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.