De eerlijkheid gebiedt me te zeggen dat het eigenlijk netter is om het PWM signaal op de inputs aan te bieden en de enable te gebruiken zoals 'ie eigenlijk bedoeld is, maar ik weet het, het gebeurt vaker en er wordt in het datablad geloof ik ook over gesproken.Het heeft wel het voordeel dat richting omdraaien dan via de PWM-signalen kan als ik het me goed herinner...
__ __ _______ __ | | | | | | | |__| |__________| |__________| |_____| |________ Kort Kort Lang Kort
Misschien kan je deze nog even groter posten. (Tip: Plaatje uploaden)
De L293D is wel de wat beperkte versie van de chip. Ik zou zelf 600mA wat krap vinden, dit omdat je niet alleen motoren moet voeden maar ook eventuele rijtuigen. Samen met een cirkelzaag motor kan dat wel krap zijn. Maar heb je dit niet is het natuurlijk prima.
Voordeel van het sturen met de enable (zeker als je de L293 als volle H brug gebruikt) is dat de motor op de momenten dat je PWM laag doet in vrijloop gaat ipv in rem. PWM je met de ingangen heb je pwm Hoog = draaien, pwm laag = remmen. Schakel je met de enable heb je pwm hoog = draaien, pwm laag is vrijloop. Maar dit is wel een beetje vals spelen met de componenten maar is het dat niet altijd
Heb je de boel nu al werkende? Gebruik je nu alleen lineaire pwm (vaste frequentie, duty aanpassen)?
PBM: ; PBM cyclus voor alle uitgangen FOR x = 0 TO PWM_cycles HIGH pen_a HIGH pen_b HIGH pen_c HIGH pen_d IF x >= pbm1 THEN LOW pen_a ENDIF IF x >= pbm2 THEN LOW pen_b ENDIF IF x >= pbm3 THEN LOW pen_c ENDIF IF x >= pbm4 THEN LOW pen_d ENDIF DELAYMS 1 NEXT GOTO Start
Of heb je er voor lage snelheid nog een extra lage PWM laag over om loc kleef te verminderen? Laatste kan er denk ik voor zorgen dat je nog langzamer kunt. Dus PWM als dit:Code: [Selecteer] __ __ _______ __ | | | | | | | |__| |__________| |__________| |_____| |________ Kort Kort Lang KortTimo
Het plaatje is nog steeds zo klein maar je kunt er nu wel op klikken en krijg je een groter plaatje wat je nog kun inzoomen.
PBM: ; PBM cyclus voor alle uitgangenFOR x = 0 TO PWM_cycles y++ IF x == 0 THEN HIGH pen_a HIGH pen_b HIGH pen_c HIGH pen_d ENDIF IF y = 7 THEN IF x == PWM_kick_cycles THEN y = 0; LOW pen_a LOW pen_b LOW pen_c LOW pen_d ENDIF ELSE IF x >= pbm1 THEN LOW pen_a ENDIF IF x >= pbm2 THEN LOW pen_b ENDIF IF x >= pbm3 THEN LOW pen_c ENDIF IF x >= pbm4 THEN LOW pen_d ENDIF ENDIF DELAYMS 1 NEXT GOTO Start
__ __ __ __ __ __ __ __ | | | | | | | | | | | | | | | |__| |_____________| |_____________| |_____________| |_____________| |_____________| |_____________| |_____________| |________ Kort Kort Kort Kort Kort Kort Kort Kort Periode 1 Periode 2 Periode 3 Periode 4 Periode 5 Periode 6 Periode 7 Periode 8
__ __ __ __ __ __ ________ __ | | | | | | | | | | | | | | | |__| |_____________| |_____________| |_____________| |_____________| |_____________| |_____________| |_______| |________ Kort Kort Kort Kort Kort Kort Lang Kort Periode 1 Periode 2 Periode 3 Periode 4 Periode 5 Periode 6 Periode 7 Periode 8
Het is ook nog even uitproberen hoeveel vermogen de trein vraagt, Welke zou je anders adviseren?
Waarom zitten pin B3 en A4 eigenlijk aan elkaar?
Ik zou het alleen wel in een timer interrupt stoppen ipv in de gewone flow. Als je nu bv langer bezig bent met het uitlezen van de knoppen zal je trein langzamer of sneller gaan...