Very fast PWM with Arduino Due

  • 179 Views
  • Last Post 15 April 2019
cd_sharp posted this 13 April 2019

Hi, guys

I need some help with raising the voltage of the signal from an output port of Arduino Due:

The short signals (pink and blue) are good to go, they look good enough to input in a MOSFET driver like MCP1407.

But the yellow one is too low, the MOSFET driver does not do anything at this input voltage.

Any idea how I can use that signal (350 mV) with MCP1407 and also keep the switching speed?

Thanks

  • Liked by
  • Vidura
  • Jagau
Order By: Standard | Newest | Votes
cd_sharp posted this 13 April 2019

I wonder if this solution would be suitable:

http://www.aboveunity.com/thread/the-switched-flashlight-of-andrey-melnichenko/?order=all#comment-10a9ef65-1931-4faa-8b48-aa29013bf4a2

@Vidura, what do you think?

  • Liked by
  • Vidura
cd_sharp posted this 13 April 2019

My mistake, I had the yellow probe on 10X laughing

Vidura posted this 13 April 2019

Hi Cd This low voltage will in most logical IC s read as low state, even for the optocoupler-driver it will be to low. If I remember well it needs 800mv+ for logical hi state. Is this output from the Arduino board directly? This should be more than 2volts for a 3.3volt processor, even at high frequencies. Of course you can amplify the signal with a high speed comparator or opamp, but first you should check why you get this low voltage on the output. Vidura

  • Liked by
  • cd_sharp
cd_sharp posted this 14 April 2019

Hey, Vidura, it was directly from the digital output of Arduino. The problem was that I accidentally set the yellow probe on x10.

Thanks

  • Liked by
  • Vidura
cd_sharp posted this 14 April 2019

Hey, guys, I'm working on something similar to this circuit:

but multiplied by 3. I have 3 PWM signals out of my Arduino board and I inject them in 3 MCP 1407 MOSFET drivers. All the 3 MOSFET drivers are connected to a 9V battery. The problem is only one of the MOSFET drivers outputs a 9V signal. The other 2 MOSFET drivers output exactly the same signal level coming from the Arduino (3.3 V aprox).

Do I have to supply each MOSFET driver from it's own battery?

Thanks

  • Liked by
  • Vidura
  • Jagau
Chris posted this 14 April 2019

Hey CD,

Do I have to supply each MOSFET driver from it's own battery?

 

Normally, yes, but in the Thread I have pointed you to: Reliable and Flexible Switching System, a small Isolated DC to DC Converter was used to power each stage:

 

Its worth doing some deep study on the thread, as this is one place where many questions can be answered when it comes to switching and so on.

 

P.S:  All Microcontrollers have whats called Registers. Registers can be programmed to set and reset PWM and PWM Channels. I have Programmed some in the past. I believe I have given examples here on this forum, right at the moment it slips my mind exactly where, but this can be used to fire PWM out a single Pin or multiple Pins based on the Clock Speed (184Mhz or what ever your Micro is).

UInt32 CR1_OFFSET = 0x00;
Register CR1 = new Register(TIMx_BASE + CR1_OFFSET);

CR1.ClearBits(3 << 5);
CR1.SetBits((uint)mode << 5); //   <--- Bits 6:5 CMS: Center-aligned mode selection

 

P.P.S: Speed of switching especially from a microcontroller, is not going to make the difference between Above-Unity and Below-Unity. T.H. Moray had no such tech, nor did Tesla, nor did Hendershot, nor did anyone I can think of, not even Akula… The Magnetic Field Interactions give you Above-Unity. Not the speed at the switch.

Current Digital Tech can be no comparison for Spark Gap speeds!

   Chris

cd_sharp posted this 15 April 2019

Hey, Chris

You gave me some very good directions. Actually, that's what I did to obtain very fast switching, I programmed the Registers.

This turns a port on:

g_APinDescription[firstOutPin].pPort -> PIO_SODR = g_APinDescription[firstOutPin].ulPin;

and this line turns it off:

g_APinDescription[secondOutPin].pPort -> PIO_SODR = g_APinDescription[secondOutPin].ulPin;  

available for the AT91SAM3X8E chip.

I found out that the cause of the problem is that the signals were a little too short for MCP1407. I increased their duration just a little bit and the signals voltages start going up.

About the spark gaps, I'm afraid to work with high voltages and I don't have the equipment. If you know a work around, please let me know.

Thanks

  • Liked by
  • Chris
Chris posted this 15 April 2019

My Friends,

I fear too much time on things that are not important will create miss-direction.

My last few videos have given you all you need to reach the goal, which does not require "Fast Switching".

It requires instead, "Timed Switching".

I will not interrupt this thread again, I will let you continue on your path. I leave you with those few thoughts.

   Chris

Vidura posted this 15 April 2019

Hey CD
only i wanted to tell that when you use the 1407 driver or any no isolated driver you will always have connection to the ground of each driver and related switch and circuit section thru the signal-ground connection, regardless if you are using separate supply batteries.  This can in the worst case damage your Arduino board. The only way out is a decoupling from the signal, ideally with optocouplers. 

regards Vidura

  • Liked by
  • cd_sharp
  • Chris
Members Online:

No one online at the moment

Since Nov 27 2018
Advertise here:

Your 233 x 233 image

Content is screened.

Negotiable price.

Your Support:

More than anything else, your contributions to this forum are most important! We are trying to actively get all visitors involved, but we do only have a few main contributors, which are very much appreciated! If you would like to see more pages with more detailed experiments and answers, perhaps a contribution of another type maybe possible:

Donate (PayPal)

The content I am sharing is not only unique, but is changing the world as we know it! Please Support Us!

Donate (Patreon)

Thank You So Much!

Weeks High Earners:
Close