Shop OBEX P1 Docs P2 Docs Learn Events
Sensorless Brushless Motor Control using a propeller - Anyone done it? - Page 2 — Parallax Forums

Sensorless Brushless Motor Control using a propeller - Anyone done it?

2»

Comments

  • LawsonLawson Posts: 870
    edited 2011-08-04 20:04
    Cluso99 wrote: »
    This may mean that the PWM has to be controlled manually because we would need to synchronise with the point when all mosfets are off. I guess this way we will have total control of the deadband as well.
    You'd want to synchronize zero-crossing sampling with the PWM anyway. Sampling while any of the FETs are switching is a good way to get false zero-crossings.
    Cluso99 wrote: »
    Wouldn't the grounding have an effect on the motor? Perhaps it is so short that it is insignificant.
    Yes it will effect the motor. Mostly it will give the motor control regenerative braking capability. (and use fewer parts with lower losses) This will also allow much tighter velocity control. When I looked at the paper again, it looks like this technique will also work using catch diodes instead of synchronous rectification. Basically the ESC is acting as a Buck_converter driving the resistance and back-emf of the motor.
    As for the mosfet drivers, all are expensive when compared to using cheap ESCs. I am trying to replace the ESCs with a cheaper alternative, based on the fact we have 4 sets and less wiring. If this cannot be achieved, then may as well use cheap ESCs.
    Good point, FET drivers are often in the 5$/chip range. The additional control gained by directly driving the motors may be worth some extra cost though.

    Lawson
  • pjvpjv Posts: 1,903
    edited 2011-08-04 22:54
    @ Capt Quirk; Thanks for the pointer. Im wanting an inrunner with as high a speed as I can reasonably get. My present BLDCs are 3 a phase delta winding with a single N/S magnet.

    @ Graham; I have run these motors at 60,000 RPM, but only for a short period. Eventually I will do a long term run on them to get a sense of their reliability, and expect to destroy or seriously damage them in the process. But for now, I still need them for testing drive circuitry, so I don't want to hit them too hard just yet. I'm hoping not to have to make air bearings for them as that will complicate things, and make it more costly. I hope to find an inexpensive source that will fill my needs. Perhaps just upgrade the bearings might work. Most of the RC stuff I have seen seems to be delta wound, and I think that introduces a parasitic circulating current that would cause unnecessary heating. I believe that goes away by using a star configuration, and that should also simplify direct EMF position sensing.

    Cheers,

    Peter (pjv)
  • Cluso99Cluso99 Posts: 18,069
    edited 2011-08-05 02:47
    Lawson: Thanks for sending me the pdf. That is very interesting. I am still not sure how I am going to read this with the prop as its threshold is ~1.4V. Any ideas?

    Re the mosfet drivers, I found some that are ~$1 in qties 100. However, that only drives a pair, and you need 3 pairs for a motor. With ESCs << $10ea, the parts cost soon adds up.
  • Erik FriesenErik Friesen Posts: 1,071
    edited 2011-08-05 06:02
    Cluso99 wrote: »
    Lawson: Thanks for sending me the pdf. That is very interesting. I am still not sure how I am going to read this with the prop as its threshold is ~1.4V. Any ideas?

    Re the mosfet drivers, I found some that are ~$1 in qties 100. However, that only drives a pair, and you need 3 pairs for a motor. With ESCs << $10ea, the parts cost soon adds up.

    This seems to be core problem I ran into. Perhaps some can tell where the cheap esc's are sourcing, or what the trick is. Here is what I found total $5.13 per set. http://www.mouser.com/ProductDetail/Microchip-Technology/MCP14700-E-SN/?qs=sGAEpiMZZMvQcoNRkxSQknseOlDS%2fiinmNjFhnrH2so%3d

    http://www.mouser.com/ProductDetail/Infineon-Technologies/IPG20N06S2L-50/?qs=sGAEpiMZZMvECErq9cesgHAseocUGQ0DRfXA8iJ66YQ%3d
  • Cluso99Cluso99 Posts: 18,069
    edited 2011-08-05 16:11
    Erik: www.hobbyking.com is a great source for lots of ESCs as used in radio controlled models.
  • Cluso99Cluso99 Posts: 18,069
    edited 2011-08-05 16:46
    I want to control 4 BLDC motors with a prop.

    Each motor requires 6 control lines to switch the MOSFETs. I need at least 3 inputs to sample the back emf. That takes at least 36 pins. On top of this I require at least 1 pin if I use a second prop (for comms).

    It doesn't matter which way I cut it, I cannot find a way to get the prop to do what I want without some external expander/mux. The moment I do this, I may as well use a cheap tiny micro to totally control each motor :(
  • Capt. QuirkCapt. Quirk Posts: 872
    edited 2011-08-05 19:15
    You could use an SX48
  • LawsonLawson Posts: 870
    edited 2011-08-05 20:12
    Cluso99: one of the later sections in that paper addresses the effects of using a threshold other than 0 volts. Basically you have to spin the motors up faster open-loop before the 1.4v-crossing detector works, and the commutation gets offset from ideal timing. It still works just fine at high speeds though.

    I've seen BLDC controller chips for hard-drives that use only one pin for feedback. (multiplexed with some comparators though) Similarly, a bit of 74xx logic should allow you to multiplex the 6 FET driver pins onto fewer pins? (a looped 74xx164 loaded with the commutation pattern and some ANDs to add in the PWM might do it?)

    Lawson

    P.S. a 74xx595 might be better as the enable pin would be an easy way to mux in PWM.
  • pjvpjv Posts: 1,903
    edited 2011-08-05 20:22
    Cluso;

    I am starting to use the TI's MSP430 chips. They would seem quite suited to contol a single motor, so you might consider those. At less than $1.00 with an A/D built in, and about $0.35 for the stripped version when you buy 1000 of them, I'm quite taken by what these little chips offer. I will be using them for all sorts of external Prop peripheral sensors using Modbus comms. as well as OneWire. They can be very low power and a super fast clock wakeup of 1 or so micro seconds. Great for battery operation.

    Cheers,

    Peter (pjv)
  • Cluso99Cluso99 Posts: 18,069
    edited 2011-08-05 20:28
    I don't need to introduce much logic for the project to cost more than using a cheap micro for each motor. I did think about latching the mosfet driver pins using 74xx573 latches.

    Then I also have the extra complexity of the prop doing ADC - requires 13 pins (4 x3 + 1 for sigmadelta drive). Without analysing, I am unsure if they can be sampled quick enough.

    pjv: Yes, there is plenty of micros that can do the job for ~$1. In the end, I may still require another prop, and if this is so, then 4 micros < 1 prop saved. I just wanted to use a prop :(
  • Cluso99Cluso99 Posts: 18,069
    edited 2011-08-06 11:37
    Unless I can find a way to use a prop economically and small, I will use an ATTiny24A/44A/84 for each motor. There is an appnote with code examples. The ATTiny44A is $1.20 in qty 25.

    The hardest part of this will be the learning curve to get the free compiler working! It is not going to be easy compared to the prop with PropTool or bst. It is years since I worked using so called makefile solutions where the code is spread amongst so many modules!
  • LeonLeon Posts: 7,620
    edited 2011-08-06 12:01
    You don't have to use a makefile with gcc for the AVR, the AVR Studio IDE does all the work.

    The best tool to use with it is the AVR Dragon ($50).

    AVR Freaks is the best source of support:

    http://www.avrfreaks.net/index.php?name=PNphpBB2&file=index
  • Cluso99Cluso99 Posts: 18,069
    edited 2011-08-06 15:19
    Thanks Leon. There should be no reason why I cannot just program the attiny with the prop using the reset and spi pins???
  • LeonLeon Posts: 7,620
    edited 2011-08-06 15:33
    Yes, I originally used a programmer that was basically just connections to the PC printer port. It's nice to have a debug facility, though.
  • Cluso99Cluso99 Posts: 18,069
    edited 2011-08-06 17:31
    Leon wrote: »
    It's nice to have a debug facility, though.

    You never miss what you never had :)

    I started programming micros in 1976 (MC6800) by hand. I wrote my own cross-compiler on my Singer/ICL System Ten (mini-computer which was the length of my garage) which I purchased in 1977. In those days there were no debuggers, and you get used to that fact and (1) write better code (2) test sections of code along the way (3) learn other methods of debugging.
  • LeonLeon Posts: 7,620
    edited 2011-08-06 18:29
    I started with the 6800 as well, about the same time as you did, with a D2 kit. That had a simple monitor/debugger but no assembler. I wrote my own debugger for all the subsequent systems I designed using other chips.
  • Cluso99Cluso99 Posts: 18,069
    edited 2011-08-06 21:42
    Interesting Leon. I started with a D1 and connected it to ASR33 and then to the mini via RS232. Next I bought a D2. Later on I bought an assembler rom and fitted 8KB SRAM and a Motorola Video card and monitor (about 5"). I added a full keyboard from an older video terminal too. All my code resided on the mini hard drive (10MB washing machine size). I designed all types of interfaces to this mini using the MC6802 and then the MC68705P3S and U3S.
  • ErNaErNa Posts: 1,752
    edited 2011-08-07 04:47
    Hello Clusso,
    I feel we are running into the mud we escaped from finding the propeller. Is it really a good idea to save some $ and work for hours and days to go back to the old technology? I am just fighting such a fight, because I have to have the cheapest implementation of a control principle developed on the propeller. But in this case it really makes sense, something I do not see in a hobby quadcopter application.
    Having a prop for every propeller allows you to do things, which are impossible. Did you ever think about comparing the rotational speed of the rotors under different operational conditions? Is it possible to correlate the orientation of the copter to the rot speed when driving the single power stages equally? Those ways are open when you invest a few $'s. Impossible to think about such without having parallel capabilities.
    And you could help to solve the problem of booting props from one memory, sync them, communicate etc. A lot of work that can not be shared when having a inhomogenous hardware.
    My recommendation is: analyze the length of this thread and find out if it makes sense to waste time this way. Having had a lot of time to gain experiences and being closer to the end than to the start ;-(. ;-)
    ErNa
  • Cluso99Cluso99 Posts: 18,069
    edited 2011-08-07 05:08
    Erna: I have not totally given up on the idea. There are lots of reasons to do it with the prop because, as you rightly say, there are lots of things that can be done when a prop, with its 8 cogs, can control the motors specifically.

    However, one of my reasons is also to reduce the entry cost of the quadcopter, so that more can enjoy this hobby, and more can be introduced to the fantastic prop chip.

    One of the ideas I have is to be able use normal propellers (i.e. no counter-rotating propellers) and also no tilting of the motors to counteract the rotational forces. This would mean that the quad (or tri/hex/octo) would also spin like a flying saucer. Would the gyros and accelerometers be able to work fast enough? Would the prop chip be able to compute fast enough? I don't know, but it would be a great way to try. In this respect, flying control would no longer be specific to the axis of the quad, but the direction would be with respect to the pilot, or an arbitrary north. Certainly food for thought.

    One last thing... I would much rather do it on a prop chip than any other micro :)
  • ErNaErNa Posts: 1,752
    edited 2011-08-07 06:10
    OK, just one additional remark: it is no problem to drive two motors with one prop. And there is no real need to drive top and bottom fet from two pins, if the driver just takes care about hot having shoot through, what is possible. That would allow even 4 motors from one Prop. So there is a question about how to drive the power stages, a lot of circuits are available, they have to be screened
  • Cluso99Cluso99 Posts: 18,069
    edited 2011-08-07 15:39
    I want to be able to drive 4 motors. A TriCopter has been proven to work (3 motors), but in reality, 4 is a minimum I am shooting for.

    Now, if I used a 74xx573 per motor, this could latch the motor drive (6 common pins plus 1 pin for each motor latch = 10pins). Now, if a multiplexer chip was used for steering the BEMF via a switch (maybe analog or digital, depending on how the BEMF is being detected), the 74xx573 latch could also latch these 2 bits (2 more common pins = 12 pins now). Now we only have 4 BEMF feeback pins on the prop, plus 1 or 4 for sigma-delta (= 17 or 20 pins now). Perhaps a single micro could be employed to do the ADC.

    BTW I have no problem in driving the MOSFETs, either by hardware or software. Initially I was only asking if there was code already done as I often seem to reinvent the wheel, and my time is limited (too many prop projects!).
  • LawsonLawson Posts: 870
    edited 2011-08-07 21:36
    Cluso99: is there a simple way to make your FET drivers recognize a floating IO pin? If so, three pins should be enough for the fets on one motor. (i.e. HIGH = top fet on, LOW = bottom fet on, FLOAT = both fets off)

    Lawson
  • LeonLeon Posts: 7,620
    edited 2011-08-08 01:07
    I worked on something many years ago that used a technique like that. An op amp was used to recognise the three states of a pin - high, low, and input.
  • Cluso99Cluso99 Posts: 18,069
    edited 2011-08-08 03:18
    Lawson. Well yes, but this adds more logic... 1 XOR gate, 1 inverting and 1 noninverting buffer, and 4 resistors per Mosfet pair. 12 sets of these required!
  • AleAle Posts: 2,363
    edited 2011-08-08 04:14
    Those 68705... they were still in use in the mid 90s... I helped replace them with 68HC11s.. they are also gone now...
  • Cluso99Cluso99 Posts: 18,069
    edited 2011-08-08 14:50
    Ale: Yes, as I was still shipping products in the very early 90's. Not sure now though.

    I used a pair of MC68705P3S's on a small pcb that replaced 3 huge pcbs of logic. Only had a 7404 & 4011 & 2 transistors on the pcb too. They cost $150 ea initially in ~1981-2 and ~$8 in ~1986. My product was shipping with prototype 68705s because production was held due to a bug which did not affect my product :)
Sign In or Register to comment.