Sida 1 av 2
PBP problem,koden finns!
Postat: 18 februari 2008, 22:15:02
av Patrick
Smäller in följande kod på en pic16f628A och kör intern osci.
Kör på utgång B0 ett relä som växlar polaritet till motorerna.
Utgång B1 som styr vänster motor.
Utgång B2 som styr höger motor.
(Relän)
Samt B4,B5 för vänser,resp höger knapp som funkar som sensorer.
(Motstånd från minuspolen[knapparna ligger på plus])
Tanken är att koden skall gå så att när den åker in i något.
Ifall det är höger knapp så ska den stanna,slå på reläet som växlar polaritet,sen slår den på ena motorn,så den vrider sig,sen stänga av allt igen så den kan gå rakt fram till nästa "hinder" inträffar.
När jag kör ner denna kod funkar inget.
Det klickar om reläna o motorerna får spratt..
Koden:
CMCON = 7
push0:
LOW PORTB.0
high PORTB.1
high PORTB.2
IF PORTB.3 = 0 THEN push0
IF PORTB.3 = 1 THEN FOLLO1
IF PORTB.4 = 0 THEN push0
IF PORTB.4 = 1 THEN FOLLO2
GOTO push0
FOLLO1:
LOW PORTB.1
LOW PORTB.2
PAUSE 10
high PORTB.0
PAUSE 100
high PORTB.1
high PORTB.2
PAUSE 2000
LOW PORTB.1
PAUSE 700
LOW PORTB.2
GOTO push0
FOLLO2:
LOW PORTB.2
LOW PORTB.1
PAUSE 10
high PORTB.0
PAUSE 100
high PORTB.2
high PORTB.1
PAUSE 2000
LOW PORTB.2
PAUSE 700
LOW PORTB.1
GOTO push0
Postat: 18 februari 2008, 22:20:49
av AndLi
Jag kan misstänka två saker, spikar i matningsspänningen när reläna slår. Som får picen att starta om...
Kontaktstuds i brytarna som får dina rutiner att kallas flera gånger, men det borde inte inträffa mtp alla Pause i koden. Misstänker att de är i millisekunder?
Postat: 18 februari 2008, 22:24:14
av Patrick
Kör kondensatorer som jämnar ut spikarna.
Märker ingen större skillnad om jag har kondensatorer på spänningen till matning eller ej.
Hur menar du med kontaktstuds?
Yesbox pause 1000 = 1 sekund

Postat: 18 februari 2008, 22:26:13
av Swech
Follo1 körs ju så länge som portb.3 = 1
Du borde väl inte köra denna mer än 1 gång?
sen en annan tankemiss....
IF PORTB.3 = 0 THEN push0
IF PORTB.3 = 1 THEN FOLLO1
----hit kan vi aldrig komma..... eftersom portb.3 alltid är 0 eller 1....
IF PORTB.4 = 0 THEN push0
IF PORTB.4 = 1 THEN FOLLO2
GOTO push0
Swech
Postat: 18 februari 2008, 22:30:15
av Patrick
Jävlar
Det har du helt sant i.
Skiter jag i IF 0 så funkar den ändå inte.
Har testat ett bra tag med massa olika.
Alltså varje gång tex knappen blir aktiv vid hinder,så ska den köra en slinga så att säga. tex FOLLO1
Postat: 18 februari 2008, 22:36:11
av sodjan
> IF PORTB.4 = 0 THEN push0
> IF PORTB.4 = 1 THEN FOLLO2
> GOTO push0
Första raden är så vitt jag ser helt onödig.
Den gör samma sak som tredje raden (i princip)...
Postat: 18 februari 2008, 22:38:18
av Patrick
Testat
push0:
LOW PORTB.0
high PORTB.1
high PORTB.2
IF PORTB.3 = 1 THEN FOLLO1
IF PORTB.4 = 1 THEN FOLLO2
GOTO push0
Det händer inte ett jotan
Inte ens PORTB.1 eller 2 blir höga
Postat: 18 februari 2008, 22:39:52
av sodjan
Har du kvar CMCON = 7 ?
Postat: 18 februari 2008, 22:40:28
av Patrick
Japp!
Postat: 18 februari 2008, 22:43:02
av AndLi
Jag utgår från att du testat utgångarna med tex:
LOW PORTB.0
high PORTB.1
high PORTB.2
push0:
GOTO push0
Har du gjort det och de funkar skulle jag lagt till en utgång till och anslutit en lysdiod, först i koden skulle jag tänt denna en sekund och sedan släkt den i själva huvudlopen. Skulle nu picen starta om syns det väldigt tydligt då lysdioden tänds i en sekund!
Nu behöver iof inte picen starta om pga spänningsspikar, den kan totalhänga sig med...
kontaktstuds betyder att man inte får ett snyggt överslag från 0->1 eller 1->0 utan att den hoppar några gånger fram ochtillbaka innan den ligger fast på det nya värdet.. Ett väldigt vanligt problem när man försöker läsa av knappar till ett tagentbord
Postat: 18 februari 2008, 22:51:39
av Patrick
Sätter utgång B1 och B2 hög.
Då är bara B2 hög
När jag sätter en diod på pinnen lyser den inte försn jag tagit bort TIP41C som styr reläna.
Då tänds den.
Drar den så mkt ström att jag inte kan få ut nåra mAmp till dioden samtidigt som TIP41C är påslagen?

Postat: 19 februari 2008, 06:40:11
av Swech
hur har du kopplat in Tip41?
Funkar det som tänkt utan Tip?
Postat: 19 februari 2008, 09:06:59
av sodjan
> När jag sätter en diod på pinnen.
Lysdiod ? Med eller utan motstånd ?
> Drar den [TIP41C] så mkt ström.....
Varför fråga oss ? Det är du som har kopplingen, mät själv !
Vi vet ju inte ens hur du matar prylarna! Eller hur det
hela är kopplat.
Du gör det inte speciellt lätt att hjälpa till med
dina dåliga beskrivningar av vad du gör, men
det är ju ditt problem...

Postat: 19 februari 2008, 11:12:02
av Patrick
Just nu via motstånd från pinen på picen!
Postat: 19 februari 2008, 11:58:06
av Patrick
Swech skrev:hur har du kopplat in Tip41?
Funkar det som tänkt utan Tip?
Via motstånd,det ser iallafall mer ut som det händer något i den stilen som det ska vara utan TIP,arna!