Hey allemaal,

Ik heb net een schakeling gemaakt voor de prototype van mijn robotje. Ik wilde jullie eigenlijk even vragen of jullie er even naar kunnen kijken en het zeggen als ik iets fout doe (die kans zit er namelijk wel in)!

Het idee is in ieder geval dat de robot gewoon vooruit rijd en dat hij om de 3 sec. of links of rechts gaat (hangt van de waarde van port 7 af).
Als de robot signaal krijgt van de IR ontvanger gaat hij een subroutine door die ervoor zorgt dat hij het obstakol ontwijkt.
Verder is de 555-schakeling voor een signaal van 38khz voor de IR Led en staan onderaan 2 h-bruggen om de motor te besturen.

http://img132.imageshack.us/img132/2980/circuitlb8.png

Alvast bedankt,
Jasper

Hoe je die rechter-motor aan het draaien wil krijgen, is me een raadsel. Als je pin 17 hoog maakt, gaat de tor rechtsonder geleiden maar zal de tor linksboven (die ook zou moeten geleiden) juist sperren. Idem met de andere twee torren.

Bij de linker motor is het niet veel beter hoor :)

:S, maar dit is toch een normale H-Brug?

[Bericht gewijzigd door Jasper91 op (93%)]

De linker-motor kan draaien, omdat de 4 torren afzonderlijk gestuurd kunnen worden.
Bij de rechter-motor is dat niet het geval. Je kan dat eenvoudig oplossen door de 2 rechter torren met pin 17 te sturen en de 2 linker torren met pin 18. Dan maak je ofwel pin 17 hoog en pin 18 laag, ofwel pin 17 laag en pin 18 hoog, ofwel beiden laag (om de motor te stoppen).

En vergeet de vrijloopdioden in de H-bruggen niet!

Nog iets: als je de motors wil voeden met 9V, werkt geen van beide H-bruggen. Met een stuurspanning van 5V kan je geen PNP laten sperren als diens emitter aan 9V ligt.

@HmH: je bent blijkbaar vroeger opgestaan dan ondergetekende... :-)

geen van beide motoren kunenn draaien!!

je moet op de basis van de PNP torren 9 V aanleggen om ze dicht te zetten

volgens mij werkt zo'n pic op maximaal 5 V

dus die bovenste torren gaan NOOIT dicht!

Ik weet niet zoveel van PIC's af, maar heeft een PIC16F648A interne pull-ups? Zoja dan heb ik niks gezegd.

Anders: T2 gaat niet veel uitmaken.

T2 is zelfs overbodig volgens mij. Ik zou dan wel het draadje dat naar de basis van T2 gaat aan de andere kant van R14 leggen.

Voor je H-Brug zou ik persoonlijk ook een hardware beveiliging inbouwen dat, wanneer je programma zou flippen, je rails niet kortsluit.

@ Prosje, kijk eens naar de pinnen van de linkermotor. Ze zijn aangesloten op pin1 en pin2. Niet afzonderlijk dus. Goed kijken :p

@mathieuke: goed gezien

@jasper: doe iets aan die tekenwijze, want dit is belachelijk: 2x dezelfde pinnen binnen 1 component op verschillende plaatsen naar buiten brengen...

Op 15 april 2008 09:58:38 schreef Mathieuke:
@ Prosje, kijk eens naar de pinnen van de linkermotor. Ze zijn aangesloten op pin1 en pin2. Niet afzonderlijk dus. Goed kijken :p

Nou zeg! Ik weet haast niets van PIC's. Misschien hebben die 2 stukts "PIN 1" en 2 stuks "PIN 2"... :-)

als pootje 17 hoog word gaat T8 geleiden... waardoor motor een plus aan de linkerkant krijgt....

en als pootje 17 hoog word gaat T11 geleiden waardoor motor een min krijg....

bij pootje 18 het zelfde verhaal, alleen is plus en min op de motor omgedraait, dus de motor draai de andere kant op... dit is toch goed?

Op 15 april 2008 10:11:09 schreef Arjan Swets:
als pootje 17 hoog word gaat T8 geleiden... waardoor motor een plus aan de linkerkant krijgt....

Even vooropgesteld dat de voedingsspanning v/d H-brug 5V is, gaat T8 juist sperren als pin 17 hoog wordt.

die hele 555 kan er toch ook wel uit, volgens mij kan die pic dat prima zelf

alleen als je ook de juiste kristal kiest en dan gewoon gaat delen in een countertje kan dat prima idd. Wel ff juiste kristal kiezen dus...

Kan je behoorlijk mee spelen hoor, een 38kHz ontvanger werkt ook nog op 38.46kHz (13us aan / 13us uit). Zoiets valt al met een 4MHz kristal te maken.

De schakeling..
100nF over de PIC zetten.
NE555 kan volledig weg, als je het ding toch gebruikt sluit het dan goed aan. Pin 4 van de NE555 is een enable ingang, die hang je rechtstreeks aan de PIC. Als die pin hoog is doet ie het, anders niet.
Wat T1 daar doet is me even een raadsel, een IR ontvanger kan je rechtstreeks aan de PIC hangen.
Die eerste H-brug geef ik weinig kans zonder blusdiodes, die tweede H-brug geef ik al helemaal geen kans. Hoe dan ook, je sluit altijd iets kort daar.

Ik gebruik trouwens Pull-Ups voor de ingangen...

En een PIC kan maar 1 ding tegelijk doen. Dus als ik dan tussen het uitzenden van de pulsen voor de IR LED ook nog eens mijn normale code kwijt moet :S... word lastig hoor

[Bericht gewijzigd door Jasper91 op (65%)]

Hardware PWM gebruiken.
Draait dan gewoon op de achtergrond mee.
Kijk maar eens in de datasheet naar de CCP/PWM module.

k, thx

[Bericht gewijzigd door Jasper91 op (99%)]

Ik heb nu de PWM gebruikt voor het maken van een 38khz signaal. Nu werkt dit wel maa voor de TSOP1738 moet je om de 10-70 pulsen een pauze nemen van min. 14 pulsen. Kan je dit wel voor elkaar krijgen met dezelfde PIC als waar je programma op draait of moet ik dit anders op gaan lossen?

Alvast bedankt,
Jasper

als dat via de counter werkt kun je vaak wel een interrupt geenreren waarin je telt...

dan mis je geen pulsen en geef je EXACT aan wanneer jij je pulsen wilt stopzetten door dan de PWM uit te zetten.

Hey allemaal,

Ik ben nog steeds bezig met het proberen mijn TSOP1738-PIC combinatie werkend te krijgen met PWM.
Het 38khz signaal heb ik. Maar nu moet ik nog zorgen dat mijn IR-LED maar zo'n 15 pulsen zend en dan weer uit gaat.
Nu heb ik dit gedaan:


main				MOVLW	09h
				MOVWF	porta
				CALL	delay
				CALL	delay
				CALL	delay
				
				MOVLW	04h
				MOVWF	t2con

				CALL	ir_delay
				
				MOVF	portb,0
				MOVWF	temp
				
				MOVLW	00h
				MOVWF	t2con

				BTFSC	temp,5
				GOTO	avoid
				
				BTFSS	temp,0
				CALL	turn_left
				
				BTFSC	temp,0
				CALL	turn_right
				
				
				GOTO	main

Nu probeer ik de PWM aan te zetten en die vervolgens 15 * (1/38000) aan te laten staan zodat er genoeg pulsen zijn gestuurd om verder te gaan.
Het probleem is nu alleen ik de PWM niet uit krijg.. Ik heb eerst 04h in t2con zetten en na de delay hem weer op 00h zetten geprobeerd maar dit hielp ook niet :S.

Weten jullie misschien hoe ik de PWM aan/uit kan zetten?

Jasper

BTW:
Dit is de code voor de delay van zo'n 15 * (1/38000) sec. De pic draait op 4mhz


ir_delay			MOVLW   0Bh
				MOVWF   count
				MOVLW   32h
				MOVWF   count_inner

ir_routine_loop			DECFSZ	count_inner,1
				GOTO	ir_routine_loop

				MOVLW   32h
				MOVWF   count_inner
				DECFSZ	count,1			
				GOTO	ir_routine_loop

Jasper waarom gevruik je niet gewoon de l293 H brug of de l298 het zwaarde broertje.

Bij de l293 zitten de diodes er al in bij de 298 niet.

Eindelijk, na 3 dagen werkt het, HET WERKT ;)!!
Ik heb nu dus na de IR LED een transistor(NPN) gezet die de LED aanzet/uitzet(weg naar aarde openen/sluiten) met een frequentie van 38khz.
Ik heb nu op portA4 een transistor gezet. Die transistor(NPN) staat voor de IR LED en word maar paar uS opengezet zodat er maximaal maar zo'n 30 pulsen worden gestuurd in samenwerking met de PWM..

Op 15 april 2008 09:09:55 schreef Jasper91:
:S, maar dit is toch een normale H-Brug?

-edit- vtwaren vijgen na psen ...

[Bericht gewijzigd door free_electron op (24%)]