Sida 3 av 5
Postat: 21 juli 2007, 11:15:09
av björn
Jag vet inte om det finns för ljus tyvärr.
Postat: 21 juli 2007, 11:45:36
av peter555
Det finns ljussensorer som ger en digital utsignal, kommer tyvärr inte ihåg vem som gör såna.
Postat: 21 juli 2007, 14:27:05
av net4all
Med andra ord blir det till att leta igen elfas enorma register
Ska testa kimmis ritning idag och se om den fungerar bättre.
JimmyAndersson, har du kvar koden?
Postat: 21 juli 2007, 14:36:45
av JimmyAndersson
Tyvärr har jag inte kvar koden.
Gjorde bara en snabb test med MikroBasic och en PIC12F675.
I princip gjorde jag såhär:
* Gör I/O-pinnen till en utgång och sätt den hög (5V) i en sekund.
* Gör I/O-pinnen till en utgång.
* Starta en timer och knappa ihop en räknare som stoppar när I/O-pinnen blir låg.
Sedan används resultatet av "tidtagningen" för att bestämma hur lång tid urladdningen tog, dvs hur stort motståndet (sensorn) var.
Postat: 21 juli 2007, 14:48:06
av net4all
Som jag ser det är det ca 3 saker jag
inte gjorde, först:
*Hur fick du den till 5v? kan PICen höja så mycket?
*En sekund, jag körde med en ms!
*Räknare? jag tog och nollade TMR0 och lät den räkna upp och sen när pinnen blev "0" så sparade jag värdet i en variabel, c-kod:
Kod: Markera allt
char tid; //Variabel att lagra värdet i
TRISB.5=0; // Sätt porten som utgång
PORTB.5=1; // Dra pinnen till logisk 1
//vänta 1 sekund
TRISB.5=1; // Sätt porten till ingång
TMR0=0; //Nolla TMR0
while(PORTB.5==1)
{
tid=TMR0;
}
EDIT: Borde det inte fungera?
EDIT2: Hur presenterade du resultatet? Till datorn?
Postat: 21 juli 2007, 18:05:45
av JimmyAndersson
"Hur fick du den till 5v? kan PICen höja så mycket?"
Det beror på matningspänningen, men om PIC-kretsen matas med 5V så hamnar det på 5V, eller åtminstone väldigt nära. Har inte kollat på länge...
"Räknare? jag tog och nollade TMR0 och lät den räkna upp"
Det gjorde jag också. I mitt förra inlägg skrev jag:
"Starta en
timer och knappa ihop en räknare"
Jag presenterade resultatet genom att koppla lysdioder till resterande utgångar och låta dem visa resultatet binärt. Snabb testlösning.
Jag programmerar inte i C, men jag tycker ändå att det fattas massa saker i din kod. T.ex kollen av timer-interrupt, initiering av tja, allt möjligt.

Postat: 21 juli 2007, 18:42:24
av net4all
Jo, men det är inte ett helt program, bara ett snabbt utkast.
Timer interupt, du menar att man ska hålla reda på om den hinner slå runt?
Jo, det måste jag nog fixa.
Ut och testa igen.
Postat: 21 juli 2007, 21:05:12
av net4all
Nu fungerar det!
Fast några saker måste fixas:
Hur stor är risken för "spännings topp" dvs det som 100ohm motståndet skulle motverka? Och vad händer om det skulle hända? PICen går sönder?
JimmyAndersson: När du körde med 15Kohm över kondingen så fick du vänta ett tag på värden, eller hur?
Jobbar på att skriva interrupt rutinen för TMR0 nu(har alldrig använt interrupt förut).
OFFT: Vilka standard motstånd tycker ni att man ska köpa in, dvs bra att ha delar?
EDIT: Aj då! Det blev 2st

Hur för jag bort det första??
Postat: 21 juli 2007, 21:36:05
av bos
Klicka på krysset till höger om "citera", eller klicka "ändra" och sen "Ta bort det här inlägget".
Postat: 22 juli 2007, 00:55:13
av sodjan
> Vilka standard motstånd tycker ni att man ska köpa in,
En av de standard satser som t.ex C-O eller Kjell har.
Skulle bara bli löjligt att börja räcka upp olika värden...
> Hur stor är risken för "spännings topp" dvs det som 100ohm motståndet skulle motverka?
Den har inte den fuktionen. Tänk efter vad som händer när kondingen
är helt ur-laddad och pinnen lägger 5V direkt till den...
Postat: 22 juli 2007, 11:07:18
av net4all
Ok, hinner inte göra något nu, ska kolla på den där standard satsen..
5v till GND, Bränd PIC...
EDIT: Det finns inget kryss och ingen "Ta bort inlägg" knapp
Postat: 22 juli 2007, 11:35:51
av sodjan
> EDIT: Det finns inget kryss och ingen "Ta bort inlägg" knapp
Enbart på det *sista* inlägget i tråden, skulle inte vara bra
om man kan plocka bort inlägg inne i tråden som andra kanske
redan har svarat på...
Man får strömrusning om man lägger pinnen hög direkt till en (urladdad)
konding utan strömbegränsning. Spelar mer eller mindre roll
beroende på kondensatorns storlek, så klart...
Postat: 22 juli 2007, 17:53:09
av net4all
Ok, så ju större kondensator desto större "sug" eller desto mer ström försöker den dra till sig genom PICen då?
Har nu skaffat fram motorer och ska börja bygga på roboten.
Någon som har använt Lego motorerna förut? Går dom bra?
Postat: 22 juli 2007, 22:06:23
av JimmyAndersson
Plockade bort det dubbla inlägget.
edit: Utan motståndet på 100Ω så fick jag en spänningspeak på (tror det var) 8V. Testade med oscilloskopet, så den spänningen hamnade aldrig i PIC-kretsen.
Postat: 23 juli 2007, 11:23:28
av net4all
Ok, det blir till att köpa motstånd, har hitils kört med ca 60ohm.
Har nästan inga "standard" delar tex motstånd...
Ska nu ta och sätta ihop några gamla h-bryggor som jag köpte för ett tag sedan, får hoppas att dom fungerar med lego motorerna.
Fråga om h-bryggor: vad händer om man sätter en pwm pinne som går in i bryggan till 1? Bräns den sönder då? Det varierar så klart beroende på konstruktion, men vad brukar hända?
EDIT: Tack JimmyAndersson
EDIT2: Håller på att skriva ett bättre sensor program och skulle skriva min första interrupt rutin.
Och som vanligt stöter man på problem direkt, efter lite kollande så verkar det som om PIC16F628 inte har TMR0 interrupt.
Snälla säg att jag har fel!