chili-chips-ba / openCologne

Spicing up the first and only EU FPGA chip with a flashy new board, loaded with a suite of engaging demos and examples. https://www.chili-chips.xyz/open-cologne
https://nlnet.nl/project/openCologne
BSD 3-Clause "New" or "Revised" License
46 stars 2 forks source link

PCB PMOD Request: An array of Power Transistors (pwrIO) #42

Open chili-chips-ba opened 3 weeks ago

chili-chips-ba commented 3 weeks ago

Automation, industrial control and robotics projects need to drive motors and actuators. FPGA outputs typically don't have enough current and voltage capability to drive them directly.

While there are many application-specific ICs custom-tuned for a specific load, we are hereby seeking an array of generic power drivers for educational projects, which:

That's to facilitate labs on this subject. While Digilent has a PMOD along these lines, ours should come with more channels and higher power capability:

To get this discussion started, @aimamovic6 will follow up with a description of his external circuit for an FPGA-based D-Class Amp with Sigma-Delta DAC.

aimamovic6 commented 3 weeks ago

This blog post describes a nice way to build a Class-D audio amplifier using MOSFETs that can be adapted. It could also be useful to have a pair of transistors with open Source and Drain pins to give the user a choice of configuration. To save pins, some transistors could have Source grounded and only Drain left for user to connect.

I suppose also a potentiometer could be used to control the volume.

class d

chili-chips-ba commented 3 weeks ago

... since we are not looking for high power outputs from this PMOD, one option would be to find a multi-channel IC that integrates the pre-amp drivers with output transistors. Something like an all integrated 6-to-12 channels, with 0.5-to-2 Watts per channel.

Then, for apps that call for more power, the user could externally connect two or more channels in parallel.

And if app needs higher power, this entire PMOD could serve as a pre-amp for an external board with even larger power transistors...

goran-mahovlic commented 3 weeks ago

It would be good if someone could explore what is already available on github as open project - with some open license, as if something similar is available it would be easy to redesign it to our needs...

chili-chips-ba commented 3 weeks ago

Here are some good options for driver chips. The first two are especially interesting:

image

image

image

goran-mahovlic commented 3 weeks ago

We are often using L298D - it is widely available and easy connectable with few wires. Problem is that it is using 5V logic and we have at max 3.3V, same problem is with L293

From this list only TC4426 looks like it can have 3.3V for logic (minimum is 2.4V so that would also work on Olimex top connectors)

Maybe this one is it is not to week - TB6612FNG

That one is also standard on modules, and not super expensive

https://hr.mouser.com/ProductDetail/DFRobot/DRI0044?qs=F5EMLAvA7ID2YFYEixwScg%3D%3D

chili-chips-ba commented 3 weeks ago

The TB6612FNG fits the bill 👍 It is also available on LCSC

chili-chips-ba commented 1 week ago

We recommend employing two or even four of these chips, and so in a way that minimizes the use of FPGA pins, yet w/o limiting circuit flexibility. This could be accomplished by: 1) connecting the same-kind inputs together 2) but also providing a DIP switch option to negate half of them, by using an on-board discrete logic inverter chip 3) individually bringing all outputs to a connector

This then allows externally building both parallel (for the current boost) and push-pull (for the voltage boost) structures from these uncommitted outputs. The drive would typically be configured for:

image

chili-chips-ba commented 1 week ago

@pu-cc any requests or suggestions from your side?

goran-mahovlic commented 13 hours ago

Something like this?

4 motors + 2 encoder inputs

Screenshot from 2024-11-26 22-12-47

Screenshot from 2024-11-26 22-13-15

chili-chips-ba commented 10 hours ago

The layout looks nice and symmetric 👍

Could you please also share the schematic draft for a quick review.

goran-mahovlic commented 2 hours ago

If I add more chips it would be to big to fit 3 boards to Olimex.

If we stay at 2 we can do this:

Screenshot from 2024-11-27 09-04-24

Screenshot from 2024-11-27 08-53-48

Encoders are quite useful for motor feedback - so I will leave them.

Initial schematics is here:

pwrIO.pdf