hadv
Just find out what you like and let it kill you
Ik lees van alles over PWM voor het aansturen van motoren. Ik ben nu bezig met een 2-motor systeem aangestuurd door een L298. Ik wil echter de twee motoren een onafhankelijke snelheid en richting kunnen geven (bochten maken) & wil de L298 met een PIC (18F4550) aansturen.
Echter, ik kan in de PIC documentatie alleen maar terugvinden dat er 1 PWM signaal kan worden gegenereerd met de CCP modules. Uiteraard kan ik zelf best wel twee verschillende PWM-signalen genereren, maar dan heb ik een aparte PIC nodig omdat dat allemaal vanuit een interrupt gaat en er dan wel weinig rekentijd overblijft voor andere zaken.
Wat zie ik over het hoofd???
pros
Prosper, yop la boum, c'est le roi du macadam (aldus Maurice Chevalier)
Jochem
If you want to succeed, double your failure rate.
Ik meen dat een 18F4550 wel 4 PWM kanalen heeft, kijk dat eerst eens goed na (heb er nu zelf even geen tijd voor).
De chip heb je (mede) uitgekozen om de USB functionaliteit?
Een 18F4550 heeft twee hardware PWM kanalen als je ze in "normale" mode gebruikt. Alleen wanneer je een half- of full-bridge output met programmeerbare dead-band delay wilt heb je er maar een. Er zijn wel PIC types met meerdere full-bridge outputs. Ik heb geen idee of AVR's dit soort functionaliteit hebben.
pros
Prosper, yop la boum, c'est le roi du macadam (aldus Maurice Chevalier)
De ATtiny heeft alvast zoiets: 2 x 2 PWM-uitgangen die mekaars tegengestelde zijn, inclusief dead-time generator. Maar als je die in gebruik neemt, heb je nog maar 1 pin over... 
Bart Hiddink
Bart Hiddink is Ideetron; electronics and projects, http://www.ideetron.nl. LoRaWAN Nutcase.
Waarom maak je zelf je eigen PWM niet met behulp van een timer?
Zoek een PIC met twee timers en/of een PWM uitgang.
hadv
Just find out what you like and let it kill you
dank alvast.
of een ander merk processor mijn probleem oplost ga ik niet uitzoeken want ik heb weinig zin mijn arsenaal uit te breiden.
Het probleem met de 4550 is niet zozeer meerdere kanalen, maar slechts 1 generator. Dus elk kanaal krijgt dezelfde golfvorm, en dat zoek ik juist niet.
@Bart: dat is dus nu ook de werkende oplossing, ik wou alleen weten of ik iets over het hoofd had gezien.
@Jochem: USB speelt geen echte rol, al ga ik um vermoedelijk wel gebruiken voor het laden van de software. Ik heb er ooit eens 5 goedkoop op de kop getikt, en hij heeft lekker veel poorten.
[Bericht gewijzigd door hadv op (19%)]
Lithium
Zeg me wat je nodig hebt en ik zal je vertellen hoe je zonder kunt
Met een pic16f628a kan het wel heb het vorige week nog geprobeerd.
Je moet alleen weten hoe je het in het programma zet en dat zal niet makkelijk zijn je moet de stappen precies weten.
Op 11 september 2007 14:11:56 schreef hadv:
Het probleem met de 4550 is niet zozeer meerdere kanalen, maar slechts 1 generator. Dus elk kanaal krijgt dezelfde golfvorm, en dat zoek ik juist niet.
Nee, je hebt twee generatoren. Ze hebben beide dezelfde frequentie maar de duty-cycle kan je onafhankelijk instellen (met CCPR1 en CCPR2). De signalen hebben dus niet dezelfde golfvorm. De een kan je op 10% dutycycle zetten en de andere bijv. op 70%.
Jochem
If you want to succeed, double your failure rate.
Op 11 september 2007 14:11:56 schreef hadv:
@Jochem: USB speelt geen echte rol, al ga ik um vermoedelijk wel gebruiken voor het laden van de software.
Verkijk je niet op de effort die nodig is om 'even' USB te gaan gebruiken.
Als je er niet uit komt met de tip/uitleg van JoWi hierboven kun je (als USB weg mag) een andere PIC overwegen, uit m'n hoofd meen ik dat de 18F4431 nogal motor-sturing specifiek is, bekijk even of dat meer in je straatje ligt.
picsels
Volgend project: 7-seg gaming displays; dan dec-1982 labvoeding afmaken, dan funcgen met ad9833 afmaken, dan...
Op 11 september 2007 12:02:38 schreef hadv: ...
Uiteraard kan ik zelf best wel twee verschillende PWM-signalen genereren, maar dan heb ik een aparte PIC nodig omdat dat allemaal vanuit een interrupt gaat en er dan wel weinig rekentijd overblijft voor andere zaken.
Rekentijd voor andere zaken valt wel mee. Als je de PWM aansturing in je interrupt lean and mean houdt, kun je er nog genoeg bij doen. Alleen dat wat je 'erbij doet', is dan wel ondergeschikt aan je PWM aansturing. Dus daar moeten geen al te tijd-kritische zaken bij zitten (tenzij je dat ook weer vanuit je ISR doet).
Wel hangt e.e.a. van de kloksnelheid af. Ik heb zelf net met een 16F648A een dubbele dimmer gemaakt voor 2 lampen.
De fase-aansnijding gebeurt mbv interrupts.
Maar ik heb wel de kloksnelheid moeten opvoeren tot 16MHz, om flikkervrije lampen te krijgen (er gebeuren bij mij nog een paar extra zaken in de interrupt).
Just my 2 cents...
hadv
Just find out what you like and let it kill you
allen wederom dank voor de input.
@JoWi speciale dank omdat ik blijkbaar iets over het hoofd had gezien. Inderdaad is de frequentie niet belangrijk, maar gaat het idd om de dutycycle(s) die kunnen verschillen. Ik ga direct lezen...
hadv
Just find out what you like and let it kill you
& nog even een berichtje....het werkt inderdaad
net even uitgeprobeerd op een 18F242 in proefopstelling, die heeft ook 2 channels...
dat was dus inderdaad de truc
Marc Brummer
To tweak or not to tweak, that's the question!
Op 11 september 2007 15:16:15 schreef Lithium:
Met een pic16f628a kan het wel heb het vorige week nog geprobeerd.
Je moet alleen weten hoe je het in het programma zet en dat zal niet makkelijk zijn je moet de stappen precies weten.
Wellicht leuk dat je wat resultaten kan posten?
