ADC Spannung zu niedrig= Alarmton

Gast #778198
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
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.
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.
Gast
ich möchte den summer ja nur bei einem bestimmten adc wert auf 1 setzen.
wie ich einen µC ausgang auf 1 setze weiß ich schon, aber wie ich das 
mit dem ADC wert kombiniere weiß ich nicht.
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
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

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.