Skitvarm PIC dansar på mina NERVER !!!!!
Skitvarm PIC dansar på mina NERVER !!!!!
Vet inte vad det är för demon som hatar mina PIC:ar.. Dem går åt som smör =(. Allt vilar på en enkel krets, fattar inte vad problemet är. Hade tänkt att göra en enkel linjeföljare med en PIC12F629 men någonting är inte rätt... PIC:en blir skit varm efter ett tag och går sönder fast att jag kopplat som bilden visar, är det något fel jag har gjort som ni ser på bilden? Jag har i kompilator menyn avaktiverat MCLR (syns inte i koden) och som ni ser så har jag använt MCLR benet som en ingång. Jag har inte ens kopplat in sensorerna än utan ville bara prova så att PIC:en reagerade på ettor och nollor på ingångarna. Jag vet också att PIC:en får in störningar från mekaniska brytare så varje gång ja ställde om en brytare så stängde jag först av PIC:en, sätta på/av strömbrytaren och sen sätta på PIC:en igen. Har även testat med att köra med aktiva nollor (PNP transistor mellan motor och PIC) men också skippat MCLR och använt ett annat ben som ingång för att se om det var där skon klämde, men PIC:en blev varm även då och gick sönder.. för sjuttio elfte gången =(..
Själva koden är:
___________________________________________________________
void main() {
CMCON = 0x07; // turn off comparators
TRISIO.F0 = 0; //GPIO0 is output
TRISIO.F1 = 0; //GPIO1 is output
TRISIO.F2 = 1; //GPIO2 is input
TRISIO.F3 = 1; //GPIO3 is input
TRISIO.F4 = 1; //GPIO4 is input
TRISIO.F5 = 1; //GPIO5 is input
GPIO=0x00;
while(1){
if((GPIO.F2==1) && (GPIO.F3==1))
{while((GPIO.F2==1) && (GPIO.F3==1))
{GPIO=0x03; delay_us(500); GPIO=0x00; Delay_us(500);}}
if((GPIO.F2==1) && (GPIO.F3==0))
{while((GPIO.F2==1) && (GPIO.F3==0))
{GPIO=0x01; delay_us(500); GPIO=0x00; Delay_us(500);}}
if((GPIO.F2==0) && (GPIO.F3==1))
{while((GPIO.F2==0) && (GPIO.F3==1))
{GPIO=0x02; delay_us(500); GPIO=0x00; Delay_us(500);}}
if((GPIO.F2==0) && (GPIO.F3==0))
{GPIO=0x00;}
}}
___________________________________________________________________
Som ni ser så kör jag med PWM (duty = 50%).
Diod: 90034 (http://www.kjell.com)
Motormodul: http://www.hobbytronik.se/product_info. ... etod5hnb74
Själva koden är:
___________________________________________________________
void main() {
CMCON = 0x07; // turn off comparators
TRISIO.F0 = 0; //GPIO0 is output
TRISIO.F1 = 0; //GPIO1 is output
TRISIO.F2 = 1; //GPIO2 is input
TRISIO.F3 = 1; //GPIO3 is input
TRISIO.F4 = 1; //GPIO4 is input
TRISIO.F5 = 1; //GPIO5 is input
GPIO=0x00;
while(1){
if((GPIO.F2==1) && (GPIO.F3==1))
{while((GPIO.F2==1) && (GPIO.F3==1))
{GPIO=0x03; delay_us(500); GPIO=0x00; Delay_us(500);}}
if((GPIO.F2==1) && (GPIO.F3==0))
{while((GPIO.F2==1) && (GPIO.F3==0))
{GPIO=0x01; delay_us(500); GPIO=0x00; Delay_us(500);}}
if((GPIO.F2==0) && (GPIO.F3==1))
{while((GPIO.F2==0) && (GPIO.F3==1))
{GPIO=0x02; delay_us(500); GPIO=0x00; Delay_us(500);}}
if((GPIO.F2==0) && (GPIO.F3==0))
{GPIO=0x00;}
}}
___________________________________________________________________
Som ni ser så kör jag med PWM (duty = 50%).
Diod: 90034 (http://www.kjell.com)
Motormodul: http://www.hobbytronik.se/product_info. ... etod5hnb74
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
- FormerMazda
- Inlägg: 6442
- Blev medlem: 27 februari 2006, 14:59:36
- Ort: Asby (Östergötland)
Re: Skitvarm PIC dansar på mina NERVER !!!!!
Min gissning är för hög basström på trissorna.
Se över om inte drivsteget går att göra annorlunda?
Googlade snabbt och fann denna: http://picprojects.org.uk/projects/ppc/ ... #Schematic
Se över om inte drivsteget går att göra annorlunda?
Googlade snabbt och fann denna: http://picprojects.org.uk/projects/ppc/ ... #Schematic
Re: Skitvarm PIC dansar på mina NERVER !!!!!
Jag har ritat fel där vind ingångarna.. Ska vara 5 volt (samma källa som VDD). Picken och ingångarna får ström från en spänningsregulator och det är ett niovoltsbatteri som förser motorerna(transistorerna) med ström. Mitt mål är att bygga ett ENKELT drivsteg, annars finns det motordrivsteg att köpa men jag vill att allt ska va så enkelt och från början billigt som möjligt men Kjell och company:s aktier har nästan gått upp pågrund av mina PIC köp =(
Re: Skitvarm PIC dansar på mina NERVER !!!!!
Har du gjort den enklaste felsökningen och mätt upp att spänningen du tror att du matar med är spänningen som du faktiskt matar med?
Re: Skitvarm PIC dansar på mina NERVER !!!!!
Prova att flytta transistorerna så att de är "under" motorerna istället och sätt dit motstånd i serie med basen, 1k eller så.
Nått i den här stilen:
Sen, som hummel mycket riktigt påpekar, kan du inte lägga 9V direkt till en ingång på det viset. Du måste åtminstånde sätta ett motstånd (typ 10k) i serie så att strömmen genom de, i PIC'en, inbyggda clamp-dioderna begränsas. Bättre vore dock att göra en extern spänningsdelare eller resistor/zener clamp. EDIT: OK, då stryker vi det.
Avkoppling på 5V-matningen (100nF till GND direkt vid pin 1) är ingen dum idé.
Vad är syftet med dioden på VSS?
Sen är jag tveksam till att ha 330nF över motorn när du kör med PWM, nu kör du iofs rätt lågfrekvent PWM men det blir en del rippelström genom kondensatorn. (Inte för att DET kan skada PIC'en men i alla fall).
Nått i den här stilen:
Sen, som hummel mycket riktigt påpekar, kan du inte lägga 9V direkt till en ingång på det viset. Du måste åtminstånde sätta ett motstånd (typ 10k) i serie så att strömmen genom de, i PIC'en, inbyggda clamp-dioderna begränsas. Bättre vore dock att göra en extern spänningsdelare eller resistor/zener clamp. EDIT: OK, då stryker vi det.
Avkoppling på 5V-matningen (100nF till GND direkt vid pin 1) är ingen dum idé.
Vad är syftet med dioden på VSS?
Sen är jag tveksam till att ha 330nF över motorn när du kör med PWM, nu kör du iofs rätt lågfrekvent PWM men det blir en del rippelström genom kondensatorn. (Inte för att DET kan skada PIC'en men i alla fall).
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Re: Skitvarm PIC dansar på mina NERVER !!!!!
Väldigt tacksam för den hjälp ja fått hittills men ja har några frågor och svar innan ja sätter igång o avrättar min nästa PIC...
* Dioden på Vss var tänkt att "skydda" PIC:en från störningar motorerna skapar.. men det verkar bara vara onödigt o beror på att ja e noob =(..
* Sen undrar ja om att kondensatorn (100 nF) du vill ja ska koppla till PIC:en ska vara mellan jord och ingången på VSS? O va kan den va bra för?
* Vad är det för skillnad om transistorerna ligger över eller under, och ska dioderna vara paralellkopplade med motorerna?, vad ger det för skydd?
* Om jag inte ska ha 330 nF över motorerna, vad ska ja ha då för nåt? Är inte dem till för att minska störningar?
* Behöver ja tänka på att PIC:ar är ESD känsliga eller klarar dem sånt?
*jag har redan kollat så spänningarna stämmer överens och det gör dem.
* Kan inte detta ha något med MCLR att göra? Jag läste en text som ja inte förstod så mkt PGA min noobighet, men där stod det nogot om ESD skydd genom MCLR pinnen och att det annars kunde leda till för höga strömmar.. tänkte att ripple strömmarna från motorerna kunde kanske ha något med ESD effekten att göra.. Läs själv det tar 1 minut. Sök bara på ESD (control F) på http://www.kjell.com/filarkiv/SUPPORTPD ... /90602.pdf.
* Dioden på Vss var tänkt att "skydda" PIC:en från störningar motorerna skapar.. men det verkar bara vara onödigt o beror på att ja e noob =(..
* Sen undrar ja om att kondensatorn (100 nF) du vill ja ska koppla till PIC:en ska vara mellan jord och ingången på VSS? O va kan den va bra för?
* Vad är det för skillnad om transistorerna ligger över eller under, och ska dioderna vara paralellkopplade med motorerna?, vad ger det för skydd?
* Om jag inte ska ha 330 nF över motorerna, vad ska ja ha då för nåt? Är inte dem till för att minska störningar?
* Behöver ja tänka på att PIC:ar är ESD känsliga eller klarar dem sånt?
*jag har redan kollat så spänningarna stämmer överens och det gör dem.
* Kan inte detta ha något med MCLR att göra? Jag läste en text som ja inte förstod så mkt PGA min noobighet, men där stod det nogot om ESD skydd genom MCLR pinnen och att det annars kunde leda till för höga strömmar.. tänkte att ripple strömmarna från motorerna kunde kanske ha något med ESD effekten att göra.. Läs själv det tar 1 minut. Sök bara på ESD (control F) på http://www.kjell.com/filarkiv/SUPPORTPD ... /90602.pdf.
Re: Skitvarm PIC dansar på mina NERVER !!!!!
PIC12F629 i DIL-paket kostar 18:50:- ink. moms på Elfa, 10kr billigare än Kjell per styck.hioeral skrev:Kjell och company:s aktier har nästan gått upp pågrund av mina PIC köp =(
Köper du 10st i ett svep så får du dem för 15,90:-/st
Re: Skitvarm PIC dansar på mina NERVER !!!!!
Nackdelen med Elfa är att man blir gråhårig (jag i alla fall) innan man får sina grejjer plus att postkostnader tillkommer och alla deras produkter är presenterade EXKLUSIVE moms.. =/
Re: Skitvarm PIC dansar på mina NERVER !!!!!
det är avsaknaden av dioderna D1 D2 som säkert ställer till det.
de kortsluter induktionsströmmen som uppstår i motorn då du stänger av transistorn,
som annars drar ström från jorden genom IC´n(via bas->emitter i transistorn), i värsta fall med samma styrka som du driver motorn med.
gör som H.O ritat det är enligt praxis.....
de kortsluter induktionsströmmen som uppstår i motorn då du stänger av transistorn,
som annars drar ström från jorden genom IC´n(via bas->emitter i transistorn), i värsta fall med samma styrka som du driver motorn med.
gör som H.O ritat det är enligt praxis.....
-
- Inlägg: 2436
- Blev medlem: 28 januari 2007, 18:45:40
- Ort: Kungsbacka
Re: Skitvarm PIC dansar på mina NERVER !!!!!
Grejjorna finns antingen när du går till butiken, eller dagen efter.
Om du nu ska ha i brev så brukar det ta 2-3 dagar och det kostar 35:- extra.
Och anledningen att det är ex moms är för att ca 80% är företagskunder som inte betalar moms.
Om du nu ska ha i brev så brukar det ta 2-3 dagar och det kostar 35:- extra.
Och anledningen att det är ex moms är för att ca 80% är företagskunder som inte betalar moms.
Re: Skitvarm PIC dansar på mina NERVER !!!!!
Den är till för avstörning på matningen till din PIC.hioeral skrev:* Sen undrar ja om att kondensatorn (100 nF) du vill ja ska koppla till PIC:en ska vara mellan jord och ingången på VSS? O va kan den va bra för?
Transistorn är strömstyrd, du måste ha en viss positiv spänning över bas-emitter på din NPN transistor för att den skall leda. Relativt nollan är det inget problem men lägger du den "över" så måste du ha en extra, högre, spänningsmatning i kopplingen vilket blir mycket krångligare.hioeral skrev:* Vad är det för skillnad om transistorerna ligger över eller under,
De spikar som genereras när magnetfältet i motorn kollapsar när transistorn switchar av leds då över där och in i motorlindningen igen istället för att försöka ha sönder dina transistorer genom att gå över max kollektor-emitterspänning som de tål.hioeral skrev:och ska dioderna vara paralellkopplade med motorerna?, vad ger det för skydd?
H.O. har ritat bra, koppla så då kommer det att fungera.
Re: Skitvarm PIC dansar på mina NERVER !!!!!
Kondensatorn (100nF) ska du koppla mellan VDD och VSS direkt vid processorn, det kallas avkoppling, sök här på forumet så hittar du en massa om det.
Eftersom du frågar vad den gör så måste jag ju fråga om du inte heller har liknande kondensatorer/avkoppling till spänningsregulatorn, så som databladet anger?
Eftersom du frågar vad den gör så måste jag ju fråga om du inte heller har liknande kondensatorer/avkoppling till spänningsregulatorn, så som databladet anger?
- tecno
- Inlägg: 27248
- Blev medlem: 6 september 2004, 17:34:45
- Skype: tecnobs
- Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
- Kontakt:
Re: Skitvarm PIC dansar på mina NERVER !!!!!
Det var mig en nyhet att man inte behöver betala momsOch anledningen att det är ex moms är för att ca 80% är företagskunder som inte betalar moms.

Re: Skitvarm PIC dansar på mina NERVER !!!!!
Edit: Flera inlägg postade medan jag skrev men nu när jag skrivit det kan jag lika gärna posta det.
* Dioden på Vss var tänkt att "skydda" PIC:en från störningar motorerna skapar.. men det verkar bara vara onödigt o beror på att ja e noob =(..
Nej, ta bort den och sätt dioder över motorerna istället.
* Sen undrar ja om att kondensatorn (100 nF) du vill ja ska koppla till PIC:en ska vara mellan jord och ingången på VSS? O va kan den va bra för?
Ja, den ska i princip sitta mellan pin1 och pin8 på PIC'en. Dess uppgift är är filtrera/jämna ut (avkoppla med ett finare ord) matningspänningen till PIC'en som annars kan kan flukturera och innehålla en del störningar etc, speciellt om du har "långa" ledningar mellan din spänningsregulator och själva PICen - ibland går det bra utan men det "ska" sitta en konding där.
* Vad är det för skillnad om transistorerna ligger över eller under, och ska dioderna vara paralellkopplade med motorerna?, vad ger det för skydd?
Därför att du måste ha ~0.7V högre spänning på basen än vad som finns på emittern för att transistorn ska bottna (öppna helt). När du drar din PIC-utgång hög börjar transistorn att leda och spänningen på emittern börjar stiga från 0 till 9V, när den närmar sig 5V kommer den inte längre eftersom transistorn då börjar "stänga" på grund av att bas-emitter övergången inte längre är korrekt förspänd. När du sätter transistorn under motorn så är emittern "konstant" ansluten till GND vilket gör att den enkelt kan bottna.
Dioderna över motorerna skyddar transistorerna mot den spänning som uppkommer över motorn när strömmen genom den stryps (transitorn stänger av). Motorn är induktiv och en induktans vill inte gärna att strömmen som flyter genom den skall ändras. Dess "motgift" mot att detta sker är att "generera" spänning så att ström kan fortsätta att flyta. Denna spänning kan bli ganska hög (hundra eller tusentals volt t.o.m) vilket enkelt kan slå sönder transistorerna om man inte begränsar den - det är diodernas uppgift.
* Om jag inte ska ha 330 nF över motorerna, vad ska ja ha då för nåt? Är inte dem till för att minska störningar?
Jag skulle provat helt utan kondingar till att börja med. Det kan faktiskt vara så att de bidrar till mer störningar.
* Behöver ja tänka på att PIC:ar är ESD känsliga eller klarar dem sånt?
Det ska man alltid vara försiktig med men du behöver inte springa köpa ESD-skor, luftfuktare o sånt. Sunt förnuft bara eller köp ett ESD-armband på Kjell och koppla till närmsta ellement, diskbänk eller jord-anslutning i vägguttag.
* Dioden på Vss var tänkt att "skydda" PIC:en från störningar motorerna skapar.. men det verkar bara vara onödigt o beror på att ja e noob =(..
Nej, ta bort den och sätt dioder över motorerna istället.
* Sen undrar ja om att kondensatorn (100 nF) du vill ja ska koppla till PIC:en ska vara mellan jord och ingången på VSS? O va kan den va bra för?
Ja, den ska i princip sitta mellan pin1 och pin8 på PIC'en. Dess uppgift är är filtrera/jämna ut (avkoppla med ett finare ord) matningspänningen till PIC'en som annars kan kan flukturera och innehålla en del störningar etc, speciellt om du har "långa" ledningar mellan din spänningsregulator och själva PICen - ibland går det bra utan men det "ska" sitta en konding där.
* Vad är det för skillnad om transistorerna ligger över eller under, och ska dioderna vara paralellkopplade med motorerna?, vad ger det för skydd?
Därför att du måste ha ~0.7V högre spänning på basen än vad som finns på emittern för att transistorn ska bottna (öppna helt). När du drar din PIC-utgång hög börjar transistorn att leda och spänningen på emittern börjar stiga från 0 till 9V, när den närmar sig 5V kommer den inte längre eftersom transistorn då börjar "stänga" på grund av att bas-emitter övergången inte längre är korrekt förspänd. När du sätter transistorn under motorn så är emittern "konstant" ansluten till GND vilket gör att den enkelt kan bottna.
Dioderna över motorerna skyddar transistorerna mot den spänning som uppkommer över motorn när strömmen genom den stryps (transitorn stänger av). Motorn är induktiv och en induktans vill inte gärna att strömmen som flyter genom den skall ändras. Dess "motgift" mot att detta sker är att "generera" spänning så att ström kan fortsätta att flyta. Denna spänning kan bli ganska hög (hundra eller tusentals volt t.o.m) vilket enkelt kan slå sönder transistorerna om man inte begränsar den - det är diodernas uppgift.
* Om jag inte ska ha 330 nF över motorerna, vad ska ja ha då för nåt? Är inte dem till för att minska störningar?
Jag skulle provat helt utan kondingar till att börja med. Det kan faktiskt vara så att de bidrar till mer störningar.
* Behöver ja tänka på att PIC:ar är ESD känsliga eller klarar dem sånt?
Det ska man alltid vara försiktig med men du behöver inte springa köpa ESD-skor, luftfuktare o sånt. Sunt förnuft bara eller köp ett ESD-armband på Kjell och koppla till närmsta ellement, diskbänk eller jord-anslutning i vägguttag.