Relais zieht beim Start des PICs kurz an

OP #751720
Hallo zusammen,

ich habe ein kleines Problem bezüglich einer Schaltung - ich vermute 
eher, dass es mit der Softwareseite zu tun hat, daher versuche ich es 
hier.

Ich habe eine einfache Schaltung mit einem PIC16F627, zum Kompilieren 
verwende ich den CCSC Compiler . A0 geht über einen 10k Vorwiderstand an 
einen Transistor, der das Relais schaltet. A1 ebenfalls.
Nun ist es so, dass die Outputs bei mir high sind, wenn die Schaltung 
startet. Erst wenn ich ouput_low(PIN_A0) aufrufe, wird der Ausgang low 
geschaltet. Das bedeuetet allerdings dass bis dahin das Relais an ist. 
Ich kann den Effekt minimieren wenn ich den Startup-Timer deaktiviere 
(PWRTE), was ich allerdings eigentlich nicht machen will. Ausserdem hört 
man das Relais auch noch minimal beim einschalten, und ich kann nicht 
sichergehen dass nicht doch kurz durchgeschalten wird. Wie kann ich es 
bewerkstelligen dass die Relais aus sind wenn ich einschalte? Muss ich 
dazu die Schaltung verändern? Oder habe ich an der Software einen Fehler 
gemacht?

Verkürzt sieht das Programm so aus:

#define __16f627A
#include <16f627A.h>

#fuses HS,NOWDT,NOPROTECT,NOLVP

#use fixed_io(a_outputs=PIN_A0,PIN_A1,PIN_A2,PIN_A3,PIN_A4)
#use fixed_io(b_outputs=PIN_B0,PIN_B3)

#use delay(clock=20000000)
#use rs232(baud=9600, xmit=PIN_B2, rcv=PIN_B1)

void main()   {
  output_low(PIN_A0); //RELAIS1 off
  output_low(PIN_A1); //RELAIS2 off
}

Für einen Hinweis wäre ich sehr dankbar!

Grüße, Daniel
Gast #751738
Vielleicht das

  #use fixed_io(a_outputs=PIN_A0,PIN_A1,PIN_A2,PIN_A3,PIN_A4)

weglassen und die Pins erst dann auf Output schalten, nachdem sie
vorher schon auf Low gesetzt wurden?
Gast #751760
Einen PNP nehmen?

Sind die Ports nach dem Einschalten im Tristate-Modus, würde ein richtig 
dimensionierter Pull Down Widerstand an der Basis helfen.

Oder ein Kondensator an der Basis, der das Einschalten solange 
verzögert, bis die Initialisierung durchlaufen ist. Natürlich würde er 
auch dann das Schalten der Relais verzögern.

MW

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.