Pic 12f629 och wisp628....
Pic 12f629 och wisp628....
Jag har fortfarande problem med västduschen som jag skrev om en annan tråd. Jag hävdade ju att problemet var löst, för det var det verkligen. Jag hade testat under lång tid. Funktionen är som följer. Då man startar upp systemet ( slår på strömmen) går en pump igång under 2 sekunder. Sen är det en paus på 15 minuter. Sen startar pumpen igen i två sekunder och så loopar den så. Detta funkar bra så länge som programmeraren än amskuten till Picen!!! Då jag kopplar bort programemraren fungerar inget.
Programmeraren fungerar perfekt så det är inte troligt att jag har gjort något udda där.
Programmeraren fungerar perfekt så det är inte troligt att jag har gjort något udda där.
Jupp em nvar?
Kod: Markera allt
int tid = 0;
int i = 0;
int foo;
void main() {
CMCON = 0xff; // turn comparators of (digital in/out)
OPTION_REG = 0x7f; // Global weak pullup enableled
WPU = 0xff; // weak pull up
TRISIO = 001111; // 0,1,2 = in 4,5 = ut
foo = (GPIO & 0x07); // masking out some bits needed?
if (foo == 0x7) tid = 15;
else if (foo == 0x6) tid = 30;
else if (foo == 0x5) tid = 60;
else if (foo == 0x4) tid = 120;
else if (foo == 0x3) tid = 180;
else if (foo == 0x2) tid = 320;
else if (foo == 0x1) tid = 480;
else if (foo == 0x0) tid = 720;
do { // beginning of a repeat loop
GPIO.F4 = 1; // turn ON pump on gpio
Delay_ms(2200); // wait for 2 seconds
GPIO.F4 = 0; // turn OFF pump
for(i=0; i<(tid*2); i++){ // Wait the number of minutes set in "tid"
Delay_ms(29000); // wait for 29 seconds
}
} while(1); // endless loop
}
Du har ju ingen avkoppling alls efter stabben !!
Jag skulle sätta dit en elyt (10-100 uF kanske) och en 100nF ker eller polyster.
Du säger att "om jag har separat matning till picen så funkar det bra.".
Alltså något problem med spänningsmatningen. Leta fel i koden kan amn göra senare...
Diu säger först att "Då jag kopplar bort programemraren fungerar inget."
Sedan "Den funkar delvis om programmeraren inte är inkopplad."
Ren generellt skulle det underlätta om du håller dig till *en* version...
Sen skulle jag sätta en liten resistor mellan PICen och gaten på IRF540.
Gaten är kapacitiv, och på en power mosfet kan de bli en betydande
strömstöt vid omslag, du bör begränsa det till de 20mA som är
specade för PIC pinnarna, t.ex med 100 ohm.
Vad har R1 för funktion ?
Sätter du inte upp konfigen i källkoden ?
Jag skulle sätta dit en elyt (10-100 uF kanske) och en 100nF ker eller polyster.
Du säger att "om jag har separat matning till picen så funkar det bra.".
Alltså något problem med spänningsmatningen. Leta fel i koden kan amn göra senare...
Diu säger först att "Då jag kopplar bort programemraren fungerar inget."
Sedan "Den funkar delvis om programmeraren inte är inkopplad."
Ren generellt skulle det underlätta om du håller dig till *en* version...
Sen skulle jag sätta en liten resistor mellan PICen och gaten på IRF540.
Gaten är kapacitiv, och på en power mosfet kan de bli en betydande
strömstöt vid omslag, du bör begränsa det till de 20mA som är
specade för PIC pinnarna, t.ex med 100 ohm.
Vad har R1 för funktion ?
Sätter du inte upp konfigen i källkoden ?
Efter att ha undersökt programmeraren så ser jag att det sitter en konding på 22uF mellan matning och jord. Testar just nu med att inte ha programmeraren inkopplad, men istället en konding där, då löser jag problemet med att jag inte har någon avkoppling kring stabben.
Angående tvetydigheten hurvida det fungerar eller inte så är det så att den startar och kör på som den ska MINST tills pumpen stänger av, men inte till den ska starta igen.
En resistor på gaten kan vara en bra idé.
R1 sitter där för att dra upp minförbrukningen över det lägsta som stabben är specad för, verkar inte behövas.
Konfigen sätter jag i MikroC, så den syns inte i c-koden.
Angående tvetydigheten hurvida det fungerar eller inte så är det så att den startar och kör på som den ska MINST tills pumpen stänger av, men inte till den ska starta igen.
En resistor på gaten kan vara en bra idé.
R1 sitter där för att dra upp minförbrukningen över det lägsta som stabben är specad för, verkar inte behövas.
Konfigen sätter jag i MikroC, så den syns inte i c-koden.