The Engineer
Waar rook is, is Roel. 5e jaars EE student @TU delft met een uit de hand gelopen buizenhobby!
hallo,
ik had net een error met mijn programmer, maar die is komen te vervallen.
nu heb ik een ander probleem: mijn PIC wil niet opstarten in zijn circuit. het is een PIC18F2550. de voeding is ontkoppend met 100nf. deze zit direct naast het voetje. daarnaast heb ik op de oscillator een 20MHz met 2x 15pF condensators. vanuit de 5V loopt een 100K weerstand naar de MCLR, welke softwarematig toch disblad moet zijn, amar hij moet toch opgetrokken worden voor een schakelaar aan de grond. (NO)
op Portc.1 en portc.2 zit een LED constructie:
V+)-->I-(1)->I--(2)-->I--1K--(GND
vanuit 1 een 1K weerstand naar C.2 en vanuit 2 direct naar c.1.
dan zou ik bij, c1 = 1 en c2 = 2 de led dichst bij GND moeten zien branden, bij c1 = 0 en c 2 = 1 de middelste led zien branden, en bij beiden 0 de led dicht bij V+ zien branden.
Device 18F2550
XTAL 20
Config_Start
PLLDIV = 4 ; Divide by 5 (20 MHz oscillator input)
CPUDIV = OSC1_PLL2 ; [OSC1/OSC2 Src: /4][96 MHz PLL Src: /6]
FOSC = HS ; HS oscillator, HS used by USB
PWRT = OFF ; PWRT disabled
BOR = OFF ; Brown-out Reset disabled in hardware and software
WDT = OFF ; HW Disabled - SW Controlled
WDTPS = 1 ; 1:1
MCLRE = On ; RE3 input pin enabled; MCLR disabled
STVREN = On ; Stack full/underflow will cause Reset
LVP = OFF ; Single-Supply ICSP disabled
XINST = OFF ; Instruction set extension and Indexed Addressing mode disabled (Legacy mode)
Debug = OFF ; Background debugger disabled, RB6 and RB7 configured as general purpose I/O pins
CP0 = OFF ; Block 0 (000800-001FFFh) not code-protected
CP1 = OFF ; Block 1 (002000-003FFFh) not code-protected
CP2 = OFF ; Block 2 (004000-005FFFh) not code-protected
CP3 = OFF ; Block 3 (006000-007FFFh) not code-protected
CPB = OFF ; Boot block (000000-0007FFh) not code-protected
CPD = OFF ; Data EEPROM not code-protected
WRT0 = OFF ; Block 0 (000800-001FFFh) not write-protected
WRT1 = OFF ; Block 1 (002000-003FFFh) not write-protected
WRT2 = OFF ; Block 2 (004000-005FFFh) not write-protected
WRT3 = OFF ; Block 3 (006000-007FFFh) not write-protected
WRTB = OFF ; Boot block (000000-0007FFh) not write-protected
WRTC = OFF ; Configuration registers (300000-3000FFh) not write-protected
WRTD = OFF ; Data EEPROM not write-protected
EBTR0 = OFF ; Block 0 (000800-001FFFh) not protected from table reads executed in other blocks
EBTR1 = OFF ; Block 1 (002000-003FFFh) not protected from table reads executed in other blocks
EBTR2 = OFF ; Block 2 (004000-005FFFh) not protected from table reads executed in other blocks
EBTR3 = OFF ; Block 3 (006000-007FFFh) not protected from table reads executed in other blocks
EBTRB = OFF ; Boot block (000000-0007FFh) not protected from table reads executed in other blocks
CONFIG_END
ALL_DIGITAL TRUE
while 1 = 1
portc.1 = 1
portc.2 = 1
delayms 500
portc.1 =0
delayms 500
portc.2 = 0
delayms 500
wend
enddit heb ik erin geprogrammeerd, de verification was goed.
na er spanning op gezet te hebben gebeurt er niks.
de V+ is 4.97V en GND zit aan zowel pin 19 en 8.
ik ben overigens niet van plan de USB te gaan gebruiken. MSSP, EUSART en ADC wel.
wat doe ik fout?
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
MCLRE = On ; RE3 input pin enabled; MCLR disabledCommentaar klopt niet met de setting. Wellicht pull-up aan MCLR?
The Engineer
Waar rook is, is Roel. 5e jaars EE student @TU delft met een uit de hand gelopen buizenhobby!
er zit al een pullup aan, 100K vanuit V+. deze is laag te brengen met een grouded switch.
MCLRE_OFF maakt re3 een ingang?
[Bericht gewijzigd door The Engineer op (24%)]
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Als je je programma een label geeft
programma:
while
....
wend
end
Mclr gebruik ik altijd 33k
En volgens mij moet je deze toevoegen
osc = fs[Bericht gewijzigd door 19roland70 op (23%)]
The Engineer
Waar rook is, is Roel. 5e jaars EE student @TU delft met een uit de hand gelopen buizenhobby!
nog niks... heb m aangepast, erin gezet. daarnaast toegevoegd HIGH PORTB.7, voor de loop.
portb.7 blijft 0V.
@ roland, het maakt ook geen verschil in de verify. oud programma in de PIC, nieuw programma ter verificatie.
erin geladen, no difference either....
EDIT2: heb hem tidden cofig-start en config-end gezet. assembler herkent hem niet, dus geen HEX gekregen.
EDIT:
misschien oscillator niet goed?
na het laden van de HEX staan de geristers namelijk wel goed. misschien start-ie wel niet.
foto van de XTAL constructie maken? kan even duren...
[Bericht gewijzigd door The Engineer op (11%)]
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
The Engineer
Waar rook is, is Roel. 5e jaars EE student @TU delft met een uit de hand gelopen buizenhobby!
CPUDIV 00 maken?
laatmaar, was al 00.
Arco; geen verschil.
Programma:
HIGH LATB.7
while 1 = 1
LATc.1 = 1
LATc.2 = 1
delayms 500
LATc.1 =0
delayms 500
LATc.2 = 0
delayms 500
wendik vermoed nogsteeds de oscillator, ammer dat ik gee scoop heb.
[Bericht gewijzigd door The Engineer op (12%)]
Download " fuse generator " eens dan zie je gelijk alle optie die je nodig hebt ,want volgens mij staan er dingen aan die niet aan moeten
Ik heb dit ooit eens geprobeert on te kijken of de pic "loopt "
probeer die eens , ( device en de port effe aanpassen)
Device 18F4525
Config_Start
OSC = HS ; HS Oscillator
IESO = OFF ; Internal External Switch Over mode disabled
PWRT = On ; Enabled
WDT = OFF ; Disabled
MCLRE = On ; Enabled
LVP = OFF ; Disabled
Debug = OFF ; Disabled
Config_End
Xtal 20
All_Digital TRUE ;Alle ingangen digitaal
Opnieuw: ;Label met zelf te verzinnen naam
Toggle PORTE.0 ;Aan moet uit, uit moet aan
DelayMS 500 ;500 milliseconden = 0,5 seconde
GoTo Opnieuw ;Spring naar 'Opnieuw' en ga zo steeds door
End ;Einde programma
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Oscillator moet zo te zien HS_PLL zijn.
Als je niet weet of de oscillator werkt, probeer dan de interne eens ipv. het kristal.
(Draden aan kristal ook niet te lang / 2 condensatoren 22pF)
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
The Engineer
Waar rook is, is Roel. 5e jaars EE student @TU delft met een uit de hand gelopen buizenhobby!
interne osc heeft hij geloof ik niet...
FOSC = INTHS herkent de assembler niet.
onfig_Start
IESO = 1
PLLDIV = 4 ; Divide by 5 (20 MHz oscillator input)
CPUDIV = OSC1_PLL2 ; [OSC1/OSC2 Src: /4][96 MHz PLL Src: /6]
FOSC = INTHS ; HS oscillator, HS used by USB
PWRT = OFF ; PWRT disabled
BOR = OFF ; Brown-out Reset disabled in hardware and software
WDT = OFF ; HW Disabled - SW Controlled
WDTPS = 1 ; 1:1
MCLRE = OFF ; RE3 input pin enabled; MCLR disabled
STVREN = On ; Stack full/underflow will cause Reset
LVP = OFF ; Single-Supply ICSP disabled
XINST = OFF ; Instruction set extension and Indexed Addressing mode disabled (Legacy mode)
Debug = OFF ; Back
;daarna CP bits.
USB krijgt dan de externe, PIC krijgt de interne. we'll see.
ik moet die Ext. osc wel werkend krijgen, maar kan ik iig kijken of het probleem daar ligt.
[Bericht gewijzigd door The Engineer op (57%)]
De eerste keer dat ik met een 16F877A werkte, werkte die ook niet, en lag toen aan het kristal, nieuw geprobeerd en het werkte.
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
The Engineer
Waar rook is, is Roel. 5e jaars EE student @TU delft met een uit de hand gelopen buizenhobby!
ik heb zo'n low-profile kristal. misschien kan dat het zijn?
dan fiets ik zo naar de stad, want ik heb er geen meer hier. kan een uurtje duren. condensatoren zijn overigens 15pF.
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
The Engineer
Waar rook is, is Roel. 5e jaars EE student @TU delft met een uit de hand gelopen buizenhobby!
FOSC = HS_PLL is geen valide setting, FOSC = HSPLL ook niet?
pfew dan hoef ik niet te fietsen
scheelt weer.
ehm... ik moet even voor m moeder boodschappen halen... 
ben zo terug... *schaam*
[Bericht gewijzigd door The Engineer op (30%)]
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
hadv
Just find out what you like and let it kill you
Hallo daar!
Ga even naar Help>Documents. Daar staat 3 - PIC18 Config fuses.
Nu even de goede familie en vervolgens processor kiezen.......tada!
The Engineer
Waar rook is, is Roel. 5e jaars EE student @TU delft met een uit de hand gelopen buizenhobby!
iets meer toelichting graag... verder weet ik ook niets over het inschakelen van de PLL.
ik ga eens een nieuw kristal pakken. dit heeft ook geen zin gehad. ik heb nog een 16F913 liggen, die ook in het voetje past en welke ik ook kan gebruiken. eens kijken of deze wel ik lopen op het cristal.
913 draait ook niet op het kristal. een 4 mhz model werkt ook niet. 10pf condensatoren werken ook niet. er staat overuidelijk 4.96V op de PIC pinnen waar dat nodig is. het zijn zeker 15pF condensatoren.
help????? ik ben nu al een hele dag bezig dit werkend te rkijgen en wordt langzaam gek!
EDIT; geen topickick... testresultaten.
[Bericht gewijzigd door Henry S. op (36%)]
hadv
Just find out what you like and let it kill you
Controleer dan eens of je schakeling wel helemaal goed is. Klinkt naar missende/verkeerde aansluitingen en kortsluitingen.
Voor de oscillator van de 18F2550 moet je heel hoofdstuk 2 en 25 doorlezen, vooral de tabellen geven inzicht.
kloppertje
Diverse projecten en experimenten: www.elexperiment.nl
DEVICE = 18F2550
XTAL = 20 'voor 48 MHz: 20 / 5 = 4Mhz, 4Mhz * 24 = PLL(96Mhz), PLL / 2 = 48Mhz
CONFIG_START
PLLDIV = 12 ; Divide by 12 (20 MHz oscillator input)
CPUDIV = OSC1_PLL2 ; [OSC1/OSC2 Src: /1][96 MHz PLL Src: /2]
FOSC = HSPLL_HS ; HS oscillator, PLL enabled, HS used by USB
PWRT = Off ; PWRT disabled
BOR = OFF ; Brown-out Reset disabled in hardware and software
LVP = OFF ; Low voltage programming off
WDT = OFF ; watch dog timer off
CONFIG_END
ALL_DIGITAL = TRUE
ONBOARD_USB = 0
Dit moet gewoon werken (werkt bij mij prima). De goede instelling is dus HSPLL_HS. Deze configuratie is voor 20 Mhz.
Bovendien klopt je eerste configuratie van geen kant. Je hebt
PLLDIV = 4 ; Divide by 5 (20 MHz oscillator input)
CPUDIV = OSC1_PLL2 ; [OSC1/OSC2 Src: /4][96 MHz PLL Src: /6]
FOSC = HS ; HS oscillator, HS used by USBAls je dus een 20 MHz kristal hebt moet je met deze configuratie 20/4 * 24 / 2 doen. Daar komt dus 60 (kan de 18F2550 niet) uit, wat je bij xtal in moet vullen. Als je nu gewoon de bovenste instellingen neemt heb je 20/12 * 24/2 = 20, wat je dan dus weer invult bij xtal.
[Bericht gewijzigd door kloppertje op (25%)]