Jeroen13
//Project Quadrocopter 2.0 in progress //dsESC4x //PIC32Flight
Hallo,
Ik ben bezig met een BLDC sensorless controller op basis van een 18F2431 uC. Ik heb veel Application notes gelezen en heb vooral gebruik gemaakt van de AN970A van microchip. tevens heb ik ook informatie gebruikt van de site www.mikrokopter.de.
Ik heb het volgende schema gemaakt
http://users.telenet.be/CyrusTheVirus/BLDC%20Schema.jpg
Als motor heb ik een Robbe Roxxy outrunner 2827-34 gebruikt.
Op het moment doet de software alleen openloop de motor aansturen dus de mosfets in een bepaald patroon aansturen zodat de motor gaat draaien. Dat gaat goed, alleen worden de mosfets nog al warm. Bij een gemiddelde stroom van 800mA worden de P fets rond de 40 a 45 graden, de N-fets worden rond de 50 a 60 graden. Als ik de duty cycle opvoer worden ze ook steeds warmer.
De PWM frequentie die ik gebruik op dit moment is 8KHz, daardoor piept de motor ook heel erg. Bij een hogere frequentie worden de fets ook warmer (logisch ook).
Hier onder zie je de spanning over de 3 parallel weerstanden.
Signaal 1: Phase A (10V/div)
Signaal 2: Phase B (10V/div)
Signaal 3: Phase C (10V/div)
Signaal 4: Midden punt (spanning waar de 3 weerstanden aan elkaar zitten en wordt gemeten ten opzichte van ground rond de 3,72)
1ms/div
http://users.telenet.be/CyrusTheVirus/DSC_0030.jpg
De signalen zien er ook niet het zelfde uit als in de application notes.
Ik heb ook de stijgtijd gekeken van de N-fet aansturen en die ligt rond de 25ns.
Op het moment word er om de 1,15ms geswitcht tussen de mosfets, als ik die tijd iets korter maak stop de motor met draaien.
Dus de vraag is wat kan ik doen om de hitte te verminderen (misschien zit er een fout in het schema). En hoe kan ik hem sneller laten lopen in openloop als dat uberhaupt kan (mijn ervaring met BLDC is nog vrij weinig). Weet dat er in de elektuur van 2006 Feb een artikel staat maar krijg hem niet gevonden.
[Bericht gewijzigd door Henry S. op (0%)]
De gnd aansluitingen van de 3 bovenste drivers hangen los?
Heb je de hoofdvoeding goed ontkoppeld?
Hoe heb je je dode tijd ingesteld staan?
Deze pic geeft stoorpulsen op z'n uitgangen bij een duty cycle van nul en een bepaalde dode tijd instelling. (zie errata op de microchip site)
Jeroen13
//Project Quadrocopter 2.0 in progress //dsESC4x //PIC32Flight
pinnen hangen wel in de ground was even vergeten te veranderen in schema.
Ik heb de dode tijd nu op maximaal staan, maar op een of andere manier zie ik die niet terug in mijn scope beeld. Ik gebruik op dit moment manual override. Maar dan zou de Deadtime gewoon moeten werken.
Heb ook nog even in de errata gekeken dan dan DTCON op Fosc/2 en DT value op maximaal gezet, maar er zit geen tijd tussen het switchen van de states.
Deadtime werkt niet in independend mode, die ik gebruikte. In complementary mode werkt die wel.
Alleen weet ik dan niet percies hoe ik de fets aan moet sturen, want hoe hoger het toerental hoe lager de stroom.
Heb nog even een scope beeld gemaakt met ohmse belasting ipv motor, met 100 duty cyle
2ms/div
http://users.telenet.be/CyrusTheVirus/DSC_0032.jpg
Het Zelfde signaal maar dan met PWM en ingezoomd
http://users.telenet.be/CyrusTheVirus/DSC_0033.jpg
[Bericht gewijzigd door Henry S. op (16%)]
Ik denk dat je de verkeerde gate driver voor de top gebruikt, volgens mij kan je die niet daarvoor gebruiken. Waarom neem je niet de FET van onder ook voor boven met een bijbehorende high side gate driver?
Jeroen13
//Project Quadrocopter 2.0 in progress //dsESC4x //PIC32Flight
ik heb gekozen voor Pmosfets, want bij Nmosfet moet je dus een speciale driver hebben, en die zijn vaak wat groter en meer randcomponenten. En daar heb ik geen ruimte voor.
Het is namelijk voor een quadrokopter dus ik kan geen grote drivers gebruiken.
Ik heb gister nog hele tijd aan gewerkt en nu ziet het er al beter uit. Heb wat waardes veranderd in het schema (schema is geupdate), want ik zag dat de risetime van de Pgate nogal hoog was enkele microsecondes. Nu is de risetime rond de 150ns maar dit komt vooral door de PNP die erin zit.
De risetime van de Nfet ligt rond de 23ns dus dat is wel goed.
Als ik de motor laat draaien op 20KHz PWM 50%, en een fase frequentie van 125Hz dan verbruikt de motor een gemiddelde stroom van 600mA de mosfets bereiken dan een temperatuur rond de 40 graden.
Wat ik ook vreemd vond is dat als ik een duty cycle van 60% kies de motor extreem veel verbruikt enkele ampere's.
pros
Prosper, yop la boum, c'est le roi du macadam (aldus Maurice Chevalier)
Over Q8:
Als je die te ver in verzadiging stuurt, is het niet uitgesloten dat hij meer tijd nodig heeft om uit verzadiging te geraken, dan de ingestelde dode tijd. Dat zou ik toch even controleren, als het nog niet gebeurd is.
Een Schottky-diode tussen basis en collector kan het schakelgedrag van Q8 al een flink stuk verbeteren. Anode aan basis en kathode aan collector.
Jeroen13
//Project Quadrocopter 2.0 in progress //dsESC4x //PIC32Flight
ik zal dat eens proberen pros
EDIT Heb deze schottky STPS2L30A toegevoegd maar daaar worde stijd tijd allemaal groter van.
Zonder ligt de stijgtijd op 1,13us, en met op de 2,15us
andere vraagje als de 3 phase een frequentie hebben van 125Hz betekent dat de motor dan op 7500rpm draait ? (125x60)
Of is dat het zelfde als bij een 3fase synchrone machine rpm=(120*Freq)/(aantal polen)
[Bericht gewijzigd door Jeroen13 op (13%)]
pros
Prosper, yop la boum, c'est le roi du macadam (aldus Maurice Chevalier)
Zonder ligt de stijgtijd op 1,13us, en met op de 2,15us
Huh?! Ik heb het even getest met een gewone BC547. Basisweerstand = 2k2, gestuurd met TTL-niveau. Aan de collector 470R naar 10V.
Zonder Schottky meet ik een vertraging van 1.9µS tussen het laag worden van het stuursignaal en het hoog worden van de collector.
Mèt Schottky is dat nog maar 0.47µS.
Als ik de BC547 vervang door een BS170, kom ik op 0.34µS. Zonder Schottky, maar mèt basisweerstand. Stuur ik de gate rechtstreeks, dan valt de vertraging niet meer te meten met mijn scoop.
Dat laatste is dus het beste. Maar ik weet niet of er kleine fetjes bestaan die zonder meer de gebruikte NPN kunnen vervangen.
Jeroen13
//Project Quadrocopter 2.0 in progress //dsESC4x //PIC32Flight
BS170 heb ik ook nog liggen alleen die passen niet 
Wat ik bedoelde is dat de stijgtijd groter word met schottky, ik had niet begrepen dat jij de vertraging bedoelde.
Zal het eens testen dadelijk
pros
Prosper, yop la boum, c'est le roi du macadam (aldus Maurice Chevalier)
Wat het schakelgedrag van een bipolaire tor ook aanzienlijk verbetert, is het overbruggen van de basisweerstand door een kleine C. 2k2 parallel aan 47p levert --samen met de Schottky-diode-- een resultaat op dat niet moet onderdoen voor de BS170.
Jeroen13
//Project Quadrocopter 2.0 in progress //dsESC4x //PIC32Flight
Nog een probleempje, Als ik in de PIC die ik gebruik de ADIE bit aanzet doet hij niks meer. Als ik die aanzet als de motor op toeren is wordt de uC gereset (zie geen dip verschijnen in de voeding). En als ik hem meteen aanzet dan doet de uC niks.
Heb nu een FDN327N Nfet gebruikt de stijgtijd is nu 160ns
[Bericht gewijzigd door Henry S. op (11%)]
pros
Prosper, yop la boum, c'est le roi du macadam (aldus Maurice Chevalier)
Jeroen13
//Project Quadrocopter 2.0 in progress //dsESC4x //PIC32Flight
SparkyGSX
Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken
Waarom ga je nou niet even met een scope kijken naar de spanningen over en stromen door de FETs? Misschien gaan je FETs helemaal open of dicht, misschien duurt het schakelen te lang, of misschien heb je gewoon last van shoot-throughs. Dat laatste lijkt me het meest waarschijnlijke.
Die FETs worden niet zomaar warm, daar is vermogen voor nodig. Vermogen is het product van spanning en stroom, dus ga die nou eens bekijken, in plaats van wild te gokken en blind wat dingen te veranderen.
Heb je eigenlijk al wel uitgerekend hoe warm de FETs zouden mogen worden, onder normale omstandigheden?
Jeroen13
//Project Quadrocopter 2.0 in progress //dsESC4x //PIC32Flight
ik heb dat nog niet gedaan, heb nog niet zo veel ervaring met fets meestal werkt het gewoon. ik zal alles eens meten en berekenen.
Krijg trouwens het probleem met de ad interrupt ook niet opgelost
big bang
Niets is zo eerlijk verdeeld als verstand: iedereen denkt er genoeg van te bezitten
Op 28 augustus 2009 12:41:06 schreef pros:
[...]
Huh?! Ik heb het even getest met een gewone BC547. Basisweerstand = 2k2, gestuurd met TTL-niveau. Aan de collector 470R naar 10V.
Zonder Schottky meet ik een vertraging van 1.9µS tussen het laag worden van het stuursignaal en het hoog worden van de collector.
Mèt Schottky is dat nog maar 0.47µS.Als ik de BC547 vervang door een BS170, kom ik op 0.34µS. Zonder Schottky, maar mèt basisweerstand. Stuur ik de gate rechtstreeks, dan valt de vertraging niet meer te meten met mijn scoop.
Dat laatste is dus het beste. Maar ik weet niet of er kleine fetjes bestaan die zonder meer de gebruikte NPN kunnen vervangen.
Op 28 augustus 2009 12:46:06 schreef DJJeroen:
BS170 heb ik ook nog liggen alleen die passen nietWat ik bedoelde is dat de stijgtijd groter word met schottky, ik had niet begrepen dat jij de vertraging bedoelde.
Ik heb het schakelingetje van Pros ook eens snel gemeten, met een 1N5817 schottky, en dan reageert je uitgang wel sneller, maar ik krijg een schuine opflank, trage stijgtijd. (zou het kunnen dat de schottky lekstroom er mee te maken heeft?) Als ik daar dan een 1N4148 infoefel, dan ziet het er stukken beter uit, stijgtijd zeer kort en uitgang schakelt bijna op zelfde tijdstip. Met speedup condensator erbij ben ik tot een paar Mhz moeten gaan om verschillen te zien.
- - big bang - -
pros
Prosper, yop la boum, c'est le roi du macadam (aldus Maurice Chevalier)
Ik had met een BAT85 ook een mooie stijgtijd. Maar de belasting was enkel een weerstand. Als je daar ook nog eens ingangen met een paracitaire capaciteit gaat aanhangen, krijg je weer een ander plaatje.
Jeroen13
//Project Quadrocopter 2.0 in progress //dsESC4x //PIC32Flight
In de microcontroller is ook een deadtime mode ingebouwd, die werkt alleen bij COMPLEMENTARY mode, in die mode is de lowside de geinverteerde van de highside en andersom.
Die kan ik gebruiken om shoot trough te voorkomen, alleen zou ik dan niet weten in welke stappen ik de uitgang moet aansturen om de motor te laten draaien.
pros
Prosper, yop la boum, c'est le roi du macadam (aldus Maurice Chevalier)
Met het programmeren van PIC's kan ik je geen hulp bieden, Jeroen. Maar als je Google loslaat op enkele passende trefwoorden (registers, bits) komt er meestal wel iets te voorschijn dat je op de goede weg zet.
Jeroen13
//Project Quadrocopter 2.0 in progress //dsESC4x //PIC32Flight
Hoe ik het moet programmeren wel, alleen je krijgt dan een andere aanstuur methode van de fets.
Maar heb nog even gekeken er zit meer dan tijd genoeg tussen het schakelen van high side en low side. Er zit minimaal 1ms tussen dus dat kan het niet zijn.
Ik heb ook een sense weerstand, als ik daarover meet zie ik een zaagtand die van 0A tot 20A loopt (0V tot 20mV) en het is een 0,001 ohm weerstands volgens de spec. Beetje raar want mijn voeding geeft max 0,6A aan en de voeding kan max 10A leveren. Dus twijfel een beetje aan de waarde van de weerstand. Mijn RLC meter geeft ook iets anders weer.
[Bericht gewijzigd door Jeroen13 op (41%)]
rew
four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Jeroen13
//Project Quadrocopter 2.0 in progress //dsESC4x //PIC32Flight
http://nl.farnell.com/welwyn/ulr3-r001ft2/resistor-metal-strip-r001-3w…
Deze is volgens de spec's toch echt 0,001ohm
SparkyGSX
Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken
Zo'n weerstand kun je niet meten zonder 4-draadsmeting. Doe je dat ook met die RLC meter of niet?
Die voeding kan waarschijnlijk wel kortstonding meer dan 10A leveren uit de elco's. De meter in de voeding geeft waarschijnlijk alleen het gemiddelde weer. Ik zou in ieder geval een wat grotere weerstand nemen om over te meten.
Zie je die 1ms vertraging ook terug op de scope?
Weet je zeker dat beide FETs wel goed sperren? Vooral de bovenste lijkt me verdacht.
Jeroen13
//Project Quadrocopter 2.0 in progress //dsESC4x //PIC32Flight
rew
four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Als je zegt dat je FETs warm worden, dan is er kennelijk "spanning maal stroom". Dus kan je de spanning en stroom door de fets eens op de scope toveren en met de hand proberen te achterhalen wat het vermogen in die dingen is?