I am facing a choice regarding to use or not to use a ferrite bead in series with the VDDANA analog power domain. Like shown in below chart, Microchip advises to use a ferrite bead on the analog power domain for some application, to filter digital noise before it hits the DAC/ADC ( on page 1899).
What is your experience with this, with regard to analog measurement performance (inline current sensing)?
The datasheet does not provide a specific part, but says; “The bead should provide enough impedance (i.e., 50Ω at 20 MHz and 220Ω at 100 MHz) to separate the digital and analog power domains. Make sure to select a ferrite bead designed for filtering applications with a low DC resistance to avoid a large voltage drop across the ferrite bead.”
If the datasheet recommends it, then I would definately put it. They aren’t so expensive parts…
May I ask, are you running SimpleFOC on the SAME54? I just committed SAMD51 support to the dev branch of SimpleFOC yesterday night… I think SAME should be very similar. I have a Feather M4 CAN which is SAME51 which I was planning to use to test the SAME support sometime soon.
Im working on the SAME51, same MCU as the feather. If you look in the Adafruit Arduino folder (hidden) there are several variants. I did a compile some time ago, and it cleared without issues.
Keep me updated.
If you take a look at the datasheet, you will find that this IC is quite capable.
The ADC has a averaging function, hardware averaging i guess. This will offload the main loop to some degree. You do need to get down and dirty with the registers.
Another nice to have is the dead time insertion between two pins. For working with steppers this will be somewhat necessary. Those 2 phase steppers. Instead of half bridge sync. you gotta sync two full bridges. Ya know.
I like the SAMD/SAME too. I wish they had more of those TCC units with 8 outputs
I assume SimpleFOC will compile fine on SAME, but with “standard” PWM support - so no good for driving BLDCs. But Pinout and TCC units are the same as for the SAMD51, so I expect I can get it working quickly. I’ll move the Feather M4 CAN to the front of my queue of boards to test
With standard PWM support, do you mean single pin pwm half bridge control? Why not BLDC´s?
I have all bridge control on TCC0. The gate drivers take a single pwm input. So 4 bridges on the TCC0 and the drivers take care of dead time insertion for each bridge. Dead time insertion should still work for steppers and will also benefit non-inductive load applications to reduce real time current draw. I guess software dead time insertion for steppers is also a way to do it.
Hmm… Maybe im a bit to hangover to grasp this at the moment, i think actual experimentation is the way forward. I have made a order for the PCB´s from Multi-Circuit-Bords.eu. I could send you a prototype if you want to. To reflow the board I will try to use two different solder pastes, with different melting points, in order to not have to use glue for the bottom side. For OpenPnP machines, which typically don´t have advances glue capabilities this will hopefully make dual side board more accessible.
Hey, that’s so nice, but don’t because I don’t have the capability to reflow it - I order my SMD stuff assembled, and only solder the TH components… I’m too clumsy and short-sighted to do the small ones. And for reflow I don’t have the equipment…
If you have all the bridges on TCC0 it is a good start… for 4-PWM for a stepper they need to also be on the right channels for the hardware dead-time insertion. But if not, I support software dead time insertion if they are on the same TCC, so you should be good.
It will be interesting for me to hear your results, and I will be very grateful if you try it out, because I have no stepper setup to test with. I’m testing with BLDCs, and 6-pwm with HW dead time insertion is working, so I assume it will be good for 4-pwm also.
Ok, but i didn expect you to reflow it. I ment a populated board for you to test on. Maybe without TH components. I have changed the terminal footprint a bit, so that one can solder in those thicker wires. So TH wire solder point. If very chick, one can cut the center strands of the wire and make two TH anchors. The closer you get to the source the less resistance you have. The limiting factor will be the shunt resistors, which will be very application specific. The MAX40056 comes in 3 different gain options, I will probably go for the 50 V/V one. Metal resistors handle burst currents better then regular resistors, so there is no doubt in my mind this is the way to go. I guess you can go into the unknown region for a short while, but you would lose sensing capabilities. Booost!
Definitely a temperature probe would help inside the unknown region.
How much current do you think a filled via can carry ?
In that case if you have one to spare I would be very happy to do a bit of testing… It’s not so easy to find SAME boards.
Kicad has a PCB calculator which I consult for that kind of thing. It depends on the size. I think filled or not, a single via can’t carry much current and if possible its better to keep high current lines on one side.
But really I have so far stuck to lower current designs.
But I would keep in mind that drone ESCs and the Dimmer (as I understand its intended use) are very different use cases - for the Dimmer I’d keep everything very very far below the limits - for something installed in a lighting setup, possibly left in operation unattended for long periods of time safety would be my first design priority… but I guess there is some overlap between designing for maximum performance and having a big safety margin in normal operation
I really like your PCB rendering - which layout software do you use to make it?
Under normal circumstances I would´n attempt to fill vias, but on this board where the mosfets is not on the same side as the main power line I need to consider any bottleneck. The vias will also disperse the heat into the upper power line and further into the terminal lug. I managed to place a additional via per bridge, now my focus was there. Now there is 14 vias per bridge. In theory the filled vias will become a solid plane, compared to a perforated one. Multiplying the vias (0.33mm) gives a total of 4,62mm diameter conductor.
I really like your PCB rendering - which layout software do you use to make it?
I use Kicad build in render engine w. raytracing and I work on a 4k monitor, so when I make a screen cut the resolution is nice.
I just committed the SAME51 support in SimpleFOC to the dev branch. With this PWM you’ll be able to drive steppers and BLDCs with FOC-control.
It has the same fixed 24Khz PWM frequency as the SAMD21 at the moment.
Ok, I finally got the board populated. The MCU is powered, and I found the SAME51J19 bootloader. Kudos to jepler! Unfortunately my solder station is out of order, and I can’t get a decent connection without soldering the SWD pins to flash. I was able to reflow without glue, using two different solder pastes with different melting points. To fill the vias, going to the bridges, I need to remove the solder resist from the bottom side as seen on the main power vias. There was a error in the TMC2209 design (I somehow missed a cap), so that part will have to wait. But hay! It’s definitely progress. I’m exited to se how well the Stepper support is for simpleFoc. Apparently the best and most power efficient way to drive a stepper is to treat it as a bldc with 2 phases (closed loop current control). This will be my focus for motor control with this board. The disadvantage with open loop steppers is the lag of speed due to the time it takes to charge the coils, since there is so many poles.
Here is a webinar on closed loop steppers ( skip to 17m 30s for the important part).
By any chance, are you able to read out the fuses on your SAME51 IC?
I think I need to change some fuse settings to get the USB com going…
I can take a look, but I’m using Adafruit’s Feather M4 CAN - which comes all pre-configured. I’ll install the Atmel tools and see how far I get…
Maybe Adafruit’s repos have their setup somewhere? Their stuff is all open source…
Thanks, it’s the same IC. There is a tutorial on the lock-fuse which need to be unset for flashing the feather M4 Can, but not a full fuse setting list.
I did make a post in the adafruit forum. I’m actually not sure if the fuses get set when flashing the bootloader… but I think not.
Ok, I got Atmel Studio installed but I can’t help you at the moment, I don’t have a J-Link. It doesn’t seem to find the feather board via USB (not surprised) and so I can’t get anything out of it.
I’ll order a J-Link but in the meantime I don’t think I can help you.
I assume the tutorial you found is this one?
If I read that right then after successfully flashing the UF2 boot loader via SWD you should be good to go for USB boot loading.
Does it show up as a USB device in your OS at all?
That’s ok, don’t buy it on my behalf. But if you need it it nice to have. Adafruit, I suppose set all the fuses before shipping out the feathers, that’s why one has to unlock the bootloader space. I have a virgin chip with a bootloader on it and are unsure about the fuses. I’ll probably order the feather M4 can and give some credit to Lady Ada.
Im using Atmel ICE programmer/debugger
It does not show up as a USB device.