Fuzzbass
Mijn echte naam: Joris | Mijn elektronica website: Fuzzcraft.com
Sinds een paar maanden ben ik bezig met extreme 1:8 RC auto's. Ik heb 2 vierwiel aangedreven brushless trucks, een Thunder Tiger EMTA monster truck, en een Basher Berserker buggy, die ik aan het verbouwen ben.
De Berserker heeft een 150 A snelheidsregelaar met een 6-pins sensor aansluiting, maar de standaard gemonteerde motor is sensorless. Ik wil uitzoeken of ik die motor kan voorzien van hall sensors (en temp sensor) zodat de motor sneller reageert vanuit stilstand en beter te regelen is op lage snelheid. De wagen is (op 4S Lipo) onwaarschijnlijk snel, 70 km/h, maar bij het manoeuvreren eigenlijk gewoon slecht doseerbaar. Dat is niet erg als je in het zand of gras aan het rossen bent, maar je wil ook eens wat anders. Bijvoorbeeld de auto positioneren voor een schanssprong.
Wie heeft ervaring met sensored brushless motors, en kan info verschaffen over wat voor hall sensoren doorgaans gebruikt worden, en waar deze gepositioneerd kunnen worden, 60 graden, 120 graden? De info van Trackstar is heel summier.
Snelheidsregelaar: TrackStar 150A GenII ESC
Motor: Turnigy XK-4082 1450KV
Even nog wat mooie plaatjes ter opleuking van dit topic:
De Thunder Tiger Kaiser EMTA:
De huidige staat van de Basher Berserker (omgedoopt to Berserk-bug):
SparkyGSX
Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken
Je kunt gewoon willekeurige "latching hall effect" gebruiken. Ik heb een hele tijd geleden een stel van die dingen gekocht op Aliexpress en die doen het prima.
Hall sensors worden vrijwel altijd op 120 graden onderling geplaatst, maar dat zijn 120 elektrische graden; afhankelijk van het aantal poolparen van de motor moet je de sensor dus mechanisch anders plaatsen dan om de 120 graden.
Stel nou dat je motor 4 poolparen heeft, dan heb je dus 4 elektrische cycli nodig voor 1 mechanische omwenteling. Een elektrische omwenteling is dan dus 90 graden mechanisch, en je moet de sensoren dan dus op 0 graden, 30 graden, en 60 graden zetten, maar daar mag je een veelvoud van 90 graden bij optellen, omdat het patroon zich elke 90 graden herhaalt. In dat specifieke geval mogen ze dus ook mechanisch op 0, 120 en 240 graden zitten, maar met een ander aantal poolparen gaat dat niet perse op.
Je zult vervolgens uit moeten zoeken in welke volgorde je de hall sensoren moet aansluiten t.o.v. van de fase draden; je kunt dat proefondervindelijk doen. Als de motor dan wel loopt maar niet echt lekker (kan minder koppel leveren dan normaal), moet je het signaal inverteren, wat je kunt doen door de hall sensoren 180 graden te draaien. Houdt er dus rekening mee dat dat misschien nodig is. Je kunt er natuurlijk ook een extra torretje bij zetten om het signaal elektrisch te inverteren.
rew
four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Op 30 mei 2017 22:24:27 schreef SparkyGSX:
Hall sensors worden vrijwel altijd op 120 graden onderling geplaatst, maar dat zijn 120 elektrische graden; afhankelijk van het aantal poolparen van de motor moet je de sensor dus mechanisch anders plaatsen dan om de 120 graden.
logisch is er geen verschil met 60 graden. Zet je de bitjes van de hall-sensoren achter mekaar krijg je een drie bit getal. Van de acht combinaties zijn slechts 6 bereikbaar. De volgorde en mogelijk ook de waardes die bereikt kunnen worden zijn anders.
volgens mij: Stel het veld varieert tussen -100 en +100. Als je latching neemt, dan zal als het veld bijvoorbeeld tussen -20 en 20 is, de waarde gelijk blijven aan de eerdere waarde. Om hiervoor te compenseren zet je de sensor niet op 0-60-120, maar op 5-65-125. Nu draait ie 1 kant op weer perfect, maar de andere kant op sta je nu dus 10 graden verkeerd.
Je wilt dus een sensor hebben met zo klein mogelijke hysterese.
SparkyGSX
Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken
Nee met de sensoren op 60 graden zijn 0,0,0 en 1,1,1 geldige combinaties geworden, en twee andere combinaties ongeldig. De meeste drivers kunnen daar niet mee overweg. In principe heb je in je software nog steeds alle informatie die je nodig hebt, mits je dus met dat patroon overweeg kunt. Je kunt de situatie "hall sensors niet aangesloten" niet meer triviaal detecteren. Hysterese helpt tegen rammelen rondom het schakelpunt veroorzaakt door het veld van de stator, dus je wilt niet perse een kleine hysterese.
rew
four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Effe nog wat dieper nagedacht. Het flippen rond het omslagpunt hoeft geen probleem te zijn. Maar datzelfde geldt voor de hysterese.
Stel we zitten tussen het omslagpunt tussen uitlezing 4 en 5 (100 en 101). Voor beide mogelijke uitlezingen is een bepaalde aansturing van de spoelen gewenst. Wat bepaalt nu DAT daar het omslag punt moet zijn? Nou dat de koppel-curves van de twee mogelijke aansturingen mekaar kruisen. Per definitie zitten die dus aardig bij mekaar in de buurt. Of het nu door de hysterese of door flippen komt, beide aansturing sturen de motor dezelfde kant op en met vergelijkbare efficientie.
Afwijkingen in de positie van de hall sensoren resulteren in grotere problemen naarmate je sneller draait. Zodra je een toerental hebt dat het ook makkelijk zonder sensors kan, zou je moeten overschakelen op sensorless. Sommige controllers kunnen- en doen dat dan ook.
Fuzzbass
Mijn echte naam: Joris | Mijn elektronica website: Fuzzcraft.com
Bedankt voor de input!
Het is een 4 polige motor, dus ik kan de sensors op 0-120-240 graden zetten. Alleen nog een goede plek zien te vinden in/op het achterdeksel van de motor, waar ik de sensors op een verstelbare ring kwijt kan.
Heb inmiddels ook de waarschijnlijke pinout van de connector gevonden, maar de voedingspinnen kan ik natuurlijk even meten, en daarna kan er naar hartelust mee geprutst worden, alle overige pinnen zijn inputs, dus er kan niet mis gaan.
8.5.1.3 If the motor is sensored:
It must use a six position JST ZH connector model number ZHR-6 or equivalent connector with 6 JST part number SZH-002T-PO.5 26-28 awg contacts or equivalent. Wire sequence must be as follows:
Pin #1 ground potential
Pin #2 phase C
Pin #3 phase B
Pin #4 phase A
Pin #5 temp control, 10 k Thermistor referenced to ground potential
Pin #6 + 5.0 volts =1- 10%
De hystere is niet van invloed. Ik neem aan dat maar 1 flank gebruikt wordt door de ESC, juist om de hysterese af te vangen.
Wat ik me wel al een hele tijd afvraag: als de hall sensors dicht bij de spoelen zitten, en ik zie ze op sommige foto's IN de polen zitten, zorgt de ESC dan niet zelf voor storing op die sensors door het schakelen/PWMen van de spoelen? Aan het bekrachtigde magneetveld valt niet te ontkomen.
[Bericht gewijzigd door Fuzzbass op (13%)]
Eigenlijk heb je twee opties die je kan doen. Je kan ofwel de positie van de rotor meten en zo je controller binnen voeren (je huidige piste). Maar hieraan zijn wat nadelen verbonden namelijk de extra sensoren en de goede werking over tijd hiervan.
Anders kan je misschien opteren om een sensorless controller te nemen met een vectoriële sturing (FOC/DTC). Hierbij wordt de rotorpositie geschat door een model van de motor in de regellus te nemen en heb je de extra sensoren niet nodig.
edit: waarom geen goedkope optische encoders nemen van aliexpress? Ipv zelf met hall sensoren een encoder proberen te maken?
[Bericht gewijzigd door Kridri op (12%)]
Fuzzbass
Mijn echte naam: Joris | Mijn elektronica website: Fuzzcraft.com
De controller kan beide, en draait nu natuurlijk sensorless. Ik wil meer controle bij lage toerentallen en sneller starten, dus hall sensors, op de manier die de fabrikant van de controller voorzien heeft, is de meest logische oplossing. De controller is volledig geïntegreerd, dus daar kan en wil ik niets aan wijzigen.
Een optische encoder in een offroad RC wagen die met 70 km/h door het stof blaast is natuurlijk geen optie. Veel te gevoelig voor vuil.
[Bericht gewijzigd door Fuzzbass op (18%)]
rew
four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Op 31 mei 2017 10:27:22 schreef Fuzzbass:
De hystere is niet van invloed. Ik neem aan dat maar 1 flank gebruikt wordt door de ESC, juist om de hysterese af te vangen.
Neen.
Er zijn zes manieren om spanningen op de aansluitingen van de motor te zetten.
A+ B-
A+ C-
B+ C-
B+ A-
C+ A-
C+ B-Als je de motor van 0 tot 360 graden door z'n elektrische rotatie draait, is er steeds EEN van die aansturemethoden die het grootste koppel (in de juiste richting!) tot gevolg heeft. Met ideale hallsensoren weet je gewoon direct welke aansturing je moet hebben.
Ga je naar FOC aansturing, dan is niet zoals hierboven altijd een fasedraad ongaangestuurd, maar worden alle fasedraden sinusvormig aangstuurd. De genoemde daden zijn dan "de hoogste" en "de laagste" en de derde zit er tussenin. De aansturing hangt dan ook af van de positie van de rotor in het 0-60 elektrische graden gebied. Waar ie in dat gebied zit, daar zeggen de digitale hallsensoren niets over.
Kridri, Fuzzbass heeft gewoon een bestaande commerciele controller die je niet zomaar op een encoder kan aansluiten en dan kan hopen dat het gaat werken. Dat met hallsensoren is niet iets van "klunzen om zelf iets te prutsen" maar een veelgebruikte methode om dit soort motoren aan te sturen. Deels uit de tijd dat FOC en consorte veel te veel CPU vergden.
Even uitschrijven:
HA HB HC
A+ B- 1 0 1
A+ C- 1 0 0
B+ C- 1 1 0
B+ A- 0 1 0
C+ A- 0 1 1
C+ B- 0 0 1
dus zie je 101, dan weet je direct dat je A+B- moet sturen. Als het goed is, schakelt dus HC precies op het moment dat je van A+B- het beste naar A+C- moet schakelen. Positioneer je hem precies goed, maaar heeft ie hysterese, zal ie iets te laat schakelen. De motor draait dan niet optimaal. Dat kan je compenseren door de ring met sensoren te draaien. Maar dat is dan niet gunstig voor het achteruit rijden....
[Bericht gewijzigd door rew op (17%)]
SparkyGSX
Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken
Op 31 mei 2017 10:36:35 schreef Kridri:
Anders kan je misschien opteren om een sensorless controller te nemen met een vectoriële sturing (FOC/DTC). Hierbij wordt de rotorpositie geschat door een model van de motor in de regellus te nemen en heb je de extra sensoren niet nodig.
FOC werkt bij synchrone motoren ook niet bij hele lage toerentallen, je hebt een significantie tegen-EMK nodig.
Op 31 mei 2017 10:27:22 schreef Fuzzbass:
Bedankt voor de input!Het is een 4 polige motor
4 polen of 4 poolparen?
De hystere is niet van invloed. Ik neem aan dat maar 1 flank gebruikt wordt door de ESC, juist om de hysterese af te vangen.
Assumptions are the mother of all fuck-ups! Zo'n controller gebruikt meestal wel beide flanken, en in veel gevallen wordt de positie gewoon direct gebruikt voor de commutatie, zonder estimators e.d.
Wat ik me wel al een hele tijd afvraag: als de hall sensors dicht bij de spoelen zitten, en ik zie ze op sommige foto's IN de polen zitten, zorgt de ESC dan niet zelf voor storing op die sensors door het schakelen/PWMen van de spoelen? Aan het bekrachtigde magneetveld valt niet te ontkomen.
Ja, je zou toch wel verwachten dat je daar last van hebt; de truc is om de sensoren op een plaats te zetten waar het veld van de stator zo weinig mogelijk door de sensors gaat. Tussen de statorpolen in staat de sensor vrijwel haaks op de veldlijnen.
@REW: als je, door een fout in de uitlijning van de sensoren, of door de hysterese van de sensoren, een paar graden elektrisch verkeerd zit met de commutatie, zul je wel iets aan koppel verliezen, maar niet veel. De fases die in- en uitgeschakeld worden verschillen iets in koppelfactor, maar de 3de fase die niet veranderd leverde toch al het meeste koppel. Daarbij veranderd er niets aan het koppel op alle hoeken die verder van de hall sensoren overgangen vandaan liggen; de totale integraal zal dus wel iets dalen, maar niet merkbaar zolang de afwijkingen niet idioot groot worden.
[Bericht gewijzigd door SparkyGSX op (16%)]
Fuzzbass
Mijn echte naam: Joris | Mijn elektronica website: Fuzzcraft.com