mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmel 8 eingangssignal Länger gedrückt Relay nur kurzen Impuls


Autor: Christian R. (rchrisi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Bin nun auf den Geschmack mit den Atmel´s gekommen.Meine Frage: Ich bin 
zu dumm oder unwissend, den es ist mir nicht möglich unter Bascom einen 
Taster so zu Programmieren das wenn er länger gedrückt wird (so zwischen 
1 - 5 sek.) das das Relay nur ganz kurz ca 50-100ms anzieht. Wenn ich 
den Taster drücke zieht das Relay an und wenn ich loslasse fällt es 
wieder ab (oder bleibt mit dem Befehl wait noch angezogen.Ach ja das 
Relay soll die Ganze zeit solange der Taster gedrückt wird nur die 
50-100ms geschaltet werden und wenn man loslässt dann wieder von anfang 
an beginnen.Möchte ein Telefon mit einem Relay verbinden.



  $regfile = "m8def.dat"                                    'Die 
Anweisung bestimmt Controllertyp, hier AVR Mega 32

 $crystal = 4000000

 Config Portb.0 = Output                                    'Ein Pin 
wird aus Ausgang konfiguriert PC0 (also Pin0 von Port C)
  Relay Alias Portb.0
  Config Pinb.1 = Input
  Telefon Alias Pinb.1






  Do
     If Telefon = 1 Then

     Relay = 1

     Waitms 50
     Relay = 0
     End If




  Loop

Danke erstmal

Autor: Gast 57 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auch wenn ich nichts mit Bascom am Hut habe, versuche ich mal zu helfen:

Dein Programm schaltet solange die Taste betätigt ist das Relais
immer wieder für 50ms ein. Suboptimal

Mach es doch so:
Taste erkannt, Relais 50ms ein.

Anschließend Warten bis Taste wieder losgelassen,
dann von vorne beginnen


Eine andere Lösung wäre:
Taste erkannt, 50-ms Stopp-Uhr, die im Interrupt läuft,
Starten. Uhr zählt runter.
Sobald die Uhr 0 erreicht hat ein Flag setzen. (Passiert im Interrupt)
Flag in der Main-Loop abfragen und Relais aus.

Anders gesagt: Reagiere nicht auf den Pegel am Schalter sondern auf die
Flanke/Pegelwechsel.

Schönen Abend!

Autor: Christian R. (rchrisi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Danke erstmal für die flotte Antwort.
Das könnte die Lösung sein muss mir nur ansehen wie ich das unter Bascom 
Lösen kann.

mfG
Christian

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.