hallo

ik ben een robot aan het bouwen aangestuurt door een pic 16f877A. hiermee stuur ik een l298N ic aan die mijn 2 aandrijfmotortjes stuurt.
hier mijn kort programmatje


	'Poorten
		TRISA = 0x00 'alle A poorten als output zetten
		TRISB = 0x00  'alle B poorten als output zetten
		TRISC = 0x00  'alle C poorten als output zetten
		TRISD = 0x00  'alle D poorten als output zetten
		TRISE = 0x00  'alle E poorten als output zetten


	'Inputs          'naam toewijzen aan alle ingangen
		
	

	'outputs         'naam toewijzen aan alle uitgangen
		Symbol input1 = PORTD.0  
		Symbol input2 = PORTD.1
		Symbol enablea = PORTD.2
		Symbol input3 = PORTD.3
		Symbol input4 = PORTD.4
		Symbol enableb = PORTD.5
'voor de duidelijkheid dit zijn de inputs en enabels van de L298n ic en dus outputs van de pic


main:
Gosub test
Goto main
End    
                                           
test:
input1 = 1
input2 = 0
enablea = 1
input3 = 1
input4 = 0
enableb = 1
WaitMs 300
enablea = 0
enableb = 0
WaitMs 10
input1 = 0
input2 = 1
enablea = 1
input3 = 0
input4 = 1
enableb = 1
WaitMs 2000
enablea = 0
enableb = 0
WaitMs 10
Return                

mijn probleem is nu dat mijn pic helemaal nix doet.
Bij het uit testen en meten, wou ik eens aan de pin van het kristal meten.
Bij het aanraken van deze pin begonden plots de motortjes te draaien.
Bij het geven van een mclr signaal stopten deze en daarna deed hij weer niks ...
Telkens ik die pin van het kristal aanraak doet hij dat.
Aan het kristal hangen 2 22pF condensatoren die elk naar massa gaan.
Kan iemand mij helpen met deze bizarre fout

Geef eens een schema en een foto van het opgebouwde geheel.

Voeding ontkoppeld met een C'tje vlak aan de PIC?
Pull-up aan MCLR?
Juiste capaciteiten voor het gekozen kristal?

En probeer eerst eens een blink-a-led.

[Bericht gewijzigd door Jochem op (22%)]

Correcte configuratie opgegeven aan je compiler ?

Ik mis een CONFIG statement.

@jochem
pull up weerstand bij mclr is gebruikt
een schema zal ik maken en later posten. de voeding is correct alles word gevoet via batrij van 12V dan het standaard schakelingetje 1 condensator 220uF 1 100nF 7805 220uF 100nF vlak aan de voeding van de ic 100nF de condensator waarde voor christal is zeker juist heb die bij andere projekten al gebruikt 20Mhz 22pF condensatoren.

@ jowi
config statement is niet nodig ik werk met basic en heb de juiste microcontroller ingesteld

bij het programeren van de pic verloopt ook alles vlot hij geeft geen erors ook bij het compilen niet wat ik ook raar vind is als de motoren draaien ze niet veranderen van draaizin zoals zou moeten volgens programma het is alsof de pic blijft vast zitten

schema volgt later

Op 18 juni 2009 10:35:44 schreef jensdc:
@ jowi
config statement is niet nodig ik werk met basic en heb de juiste microcontroller ingesteld

Ook HSOSC ingesteld?

Blink-a-led?

ik heb nu difine clock_frequency20 toegevoegd aan begin van prog en het programma voor 1 pin aan en uit ingevoerd:


main:
Gosub test
Goto main
End    
                                           
test:
portA.1=1
waitms 3000
portA.1=0
Return                

echter heb ik weer juist hetzelfde probleem er gebeurt nix
als ik de pin van het christal aanraak met eender welk metalen voorwerp gaat portA.1 hoog worden maar wordt niet meer laag tot mclr...

Ik weet niet welke basic compiler je gebruikt, maar diegene die ik ken hebben allemal een regel als :

CONFIG INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF

Dit is voor PICBasic en de interne oscillator.
Maar elke PIC kent minimaal 4 oscillator configuraties en je moet wel opgeven welke je gebruikt.

ik gebruik ook de picbasic maar bij andere al werkende projecten heb ik dat nooit gebruikt maar zal het eens proberen

edit: ik heb de regel ingegeven zoals jij hier typt en bij het compilen geeft hij daarop een syntax fout + enkel het woord config word blauw

[Bericht gewijzigd door jensdc op (38%)]

Dat komt omdat de 16F877 geen INTRC_OSC_NOCLOCKOUT kent. Ik gaf een voorbeeld, de juiste instelling voor jouw situatie moet je zelf opzoeken. (Of het juiste bedrag op mijn bankrekening over maken, dan wil ik het wel opzoeken :) )

ik weet nog altijd niet wat er fout liep mss is het ene verkeer pic het is een 16f877A I/P ik heb hetzelfde programma in een 18f4431 I/P gestoken en hier lukt alles perfekt

Misschien 'toevallig' dat de config nu wel goed is. Als de weinig met de gegeven tips doet maar gaat lopen gissen kom je d'r kennelijk soms ook. Je weet echter niet wat er nu precies fout ging, misschien loop je er later weer tegenaan.

[Bericht gewijzigd door Jochem op (26%)]

ik probeer de tips heus wel uit hoor maar als de config bij juist dezelfde pic niet nodig was in een ander projectje dan is deze hier ook niet nodig hoor maar tog heb ik het geprobeert zonder resultaat ik denk dat de pic stuk is bedankt voor de hulp allesins en ik ben niet zo leeg dat ik geld ga storten voor hulp hoor

Op 19 juni 2009 08:30:13 schreef jensdc:
ik probeer de tips heus wel uit hoor maar als de config bij juist dezelfde pic niet nodig was in een ander projectje dan is deze hier ook niet nodig hoor maar tog heb ik het geprobeert zonder resultaat ik denk dat de pic stuk is bedankt voor de hulp allesins en ik ben niet zo leeg dat ik geld ga storten voor hulp hoor

Het is toCH en geprobeerd (en alleszins, maar dat zal een typfout zijn)
;)

Op 19 juni 2009 08:30:13 schreef jensdc:
ik probeer de tips heus wel uit hoor

Tja, als je dat niet terugmeldt weet niemand dat. Wat heb je uiteindelijk gedaan om de config voor de 877 op HS-kristal te zetten?

Misschien dat ik er wel helemaal naast zit, maar in jou progje schrijf je:

TRISC = 0x00  'alle C poorten als output zetten 

Op portc zitten ook je kristal aansluitingen. Het lijkt mij dat die niet als output moeten fungeren toch?

En het helpt misschien ook om dit in je programmatje te zetten:

 CONFIG WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF
Xtal 20 'configuratie voor een 20mHz kristal

Op 19 juni 2009 08:38:28 schreef CaptainObvious:
[...]
Het is toCH en geprobeerd (en alleszins, maar dat zal een typfout zijn)
;)

ja srr ik ben niet goed in schrijven

Op 19 juni 2009 08:47:28 schreef Jochem:
[...]Tja, als je dat niet terugmeldt weet niemand dat. Wat heb je uiteindelijk gedaan om de config voor de 877 op HS-kristal te zetten?

heb niet meer verder geprobeert met de 16f maar er kan nix verkeerd zijn met het prog of kristol of iets dergelijk want heb alles hetzelfde gelaten gewoon ander ic namelijk de 18F

Op 19 juni 2009 11:58:52 schreef jorim23:
Misschien dat ik er wel helemaal naast zit, maar in jou progje schrijf je:

TRISC = 0x00  'alle C poorten als output zetten 

Op portc zitten ook je kristal aansluitingen. Het lijkt mij dat die niet als output moeten fungeren toch?

En het helpt misschien ook om dit in je programmatje te zetten:

 CONFIG WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF
Xtal 20 'configuratie voor een 20mHz kristal

ik zal de code later eens uitproberen want alles werkt perfekt nu met lcdtje enzo erbij .

en voor dat ander zit je er idd naast port c bevat 8 pinen C.0-> c.8 in de datacheet kan je zien dat het kristal moet verbonden worden met osc1 en osc2 deze beveinden zich juist boven poort c.0 toch bedankt iedereen voor mij mag het topic gesloten worden want het werkt