Storing Cookies (See : http://ec.europa.eu/ipg/basics/legal/cookies/index_en.htm ) help us to bring you our services at overunity.com . If you use this website and our services you declare yourself okay with using cookies .More Infos here:
https://overunity.com/5553/privacy-policy/
If you do not agree with storing cookies, please LEAVE this website now. From the 25th of May 2018, every existing user has to accept the GDPR agreement at first login. If a user is unwilling to accept the GDPR, he should email us and request to erase his account. Many thanks for your understanding

User Menu

Custom Search

Author Topic: Micro Controller Pulse Circuit  (Read 17383 times)

CLaNZeR

  • Hero Member
  • *****
  • Posts: 1059
    • Overunity.org.uk
Micro Controller Pulse Circuit
« on: March 09, 2007, 10:15:53 PM »
Spent this week drawing up a Circuit that hopefully will help people wanting to build their own pulse motor but may find the electronics a struggle.

I will release the PCB, Firmware for the Micro Processor and Windows Config software when fully tested, all for Free, all I ask is for feedback.

Find below PCB V3 draft, that I will etch this weekend.

It uses a Microchip Pic 16F876A to control the timing of switching upto 4 Mosfets (Connected to Electromagnets or anything else you want to pulse!)  and also 4 Opto Switches to detect the position of the rotor. I have attached the datasheets below, but you should be able to swap out the Mosfets for any you want to use as long as the Pin config suits.

The power for each Opto Switch is controlled via some PNP transistors, so you can choose to switch them off and hence pull less current if only using 1 Opto switch and 1 Coil output.

The Pic Processor is connected to a RS232 level converter chip that allows it to connect to the serial port of a computer and this will allow two things to be achieved.

1.) Download and program new Firmware into the Processor as new versions get released.

2.) Configure the timing and functions of how you would like the processor to act via a simple Windows program that downloads the config you want.

An example is , if you wanted to switch one Electromagnet on everytime the first Opto Switch detects the position of the rotor and to pulse it the Electromagnet for one second, you would simply tell the windows software this is what you wanted and then it would download the config to the processor. If you wanted to add say a 10us delay after detection, again this can be downloaded, which will allow fine tuning of the pulse firing.

Another example you wanted to use 3 Opto Switches with one Electromagnet, this time the distance is measured from Opto Switch number one and Opto Switch two to get the speed that the rotor is running at  and this then determines the timing pause needed beofre the next pulse is applied on the Electromagnet.

Of course you could build a pulse motor with four coils and four Opto Switches, it will be upto you.

I will draw up the schematic this weekend and any feedback on what else could be added or any tweaks would be appreciatted.

(http://www.overunity.org.uk/pcbv372DPI.jpg)

(http://www.overunity.org.uk/overlayv372DPI.jpg)

Above Draft 3 of the PCB. ****UPDATED 25/3/2007****

I have tried to make the tracks as thick as I can for people making their homemade PCB's and increased Pad sizes where possible.

Regards

Sean.
« Last Edit: March 25, 2007, 02:41:39 PM by CLaNZeR »

barbosi

  • Sr. Member
  • ****
  • Posts: 261
Re: Micro Controller Pulse Circuit
« Reply #1 on: March 10, 2007, 12:01:58 AM »
I think this is a great idea and thanks for making available your efforts for free.

Before even being released, I dare with a comment. Not sure if there are ports available, but I think it would be great to have also a tool in this design (while adjusting pulses, to be able to display RPMs). Just a thought though, don't take it hard on me. I being thinking beside scopes and other fancy tools, it would be interesting to know what the controller think the speed is. That's all.

Cheers.

Maybe redundat serial transmision back to PC... Then it's PC's program to handle data and display it. This way wouldn't modify PCB.

CLaNZeR

  • Hero Member
  • *****
  • Posts: 1059
    • Overunity.org.uk
Re: Micro Controller Pulse Circuit
« Reply #2 on: March 10, 2007, 10:10:18 AM »
Hi Barbosi and thanks for the feedback.

I was thinking this also but if the Micro is busy doing the coil pulses and some calculations I was a little concerned about the accuracy of the Revs being sent back to the PC.

But now I have an idea that I will couple up one of the Opto Switches onto a spare buffer on the RS232 converter chip and get that to toggle Pin 7 on the serial port (RTS) line. This way the Software running on the PC can simply do the calculations and display the Rev Counter without it interfering with the pulse timing.

Will go see if I can squeese it in!!!

Regards

Sean.


I think this is a great idea and thanks for making available your efforts for free.

Before even being released, I dare with a comment. Not sure if there are ports available, but I think it would be great to have also a tool in this design (while adjusting pulses, to be able to display RPMs). Just a thought though, don't take it hard on me. I being thinking beside scopes and other fancy tools, it would be interesting to know what the controller think the speed is. That's all.

Cheers.

Maybe redundat serial transmision back to PC... Then it's PC's program to handle data and display it. This way wouldn't modify PCB.

CLaNZeR

  • Hero Member
  • *****
  • Posts: 1059
    • Overunity.org.uk
Re: Micro Controller Pulse Circuit
« Reply #3 on: March 10, 2007, 04:49:06 PM »
I have spent today drawing up the Circuit instead of running off and making the PCB as I want to make sure I have got it right, so any more feedback would be cool, especially if something does not look right.

I have now added also a 20K Pot that can be used to alter the timing while the Micro Processor is pulsing away and also the 4th Opto Sensor now feedback to the computer serial port direct, so it can be used as a Rev counter without interfering with the Micro Processor timing routines.
 

(http://www.overunity.org.uk/schema4.jpg)

Regards

Sean.

barbosi

  • Sr. Member
  • ****
  • Posts: 261
Re: Micro Controller Pulse Circuit
« Reply #4 on: March 10, 2007, 05:20:18 PM »
Very creative idea about pulse counting in PC!

Now brief comments:

- I don't see any protection for CMOS agaist BEMF pulse. Of course protection can be mounted out of PCB in parallel with coil, but is a shame to waste BEMF. This is the gold mine to harvest free energy. Maybe a neon lamp in parallel with CMOS will give you a chance to harvest at least partially this pulse...? See also: http://www.overunity.com/index.php/topic,1988.msg25252.html#msg25252

- Related also to RPM calculation; if processing time is a concern, then it will be also for all opto signals to be processd when they arrive at the same time. You'll have multiple processes competing for calculation time in real mode. This in case you use a RTOS. Just a thought...

Anyway no body thought it will be a smooth ride, and I presume this is why you asked for feedback. A good start is a half way towards a finished job.

Regards.
« Last Edit: March 10, 2007, 05:47:15 PM by barbosi »

CLaNZeR

  • Hero Member
  • *****
  • Posts: 1059
    • Overunity.org.uk
Re: Micro Controller Pulse Circuit
« Reply #5 on: March 10, 2007, 05:45:14 PM »
Thank you again barbosi for valuable feedback.

At the moment I am going to leave the circuit just as a controller and let other people worry about harvesting the BEMF and other forms of output down to them for now, as there seems varied opinions and configurations.

The Micro Processor should be fast enough to handle all 4 Inputs from the Opto switches while still switching the Coils at the correct time, but I think your idea of having the PC calculate seperately say the RPM's is a good idea. Again I think the Processor would probably be fast enough to feed data back to the PC, but by dedicating the RTS line and keeping it seperate will make coding easier for me and also be a good play safe!
A simple Windows application that sits there counting the pulses coming in on the RTS line say once every second, should be good enough for calculating the correct RPM's.
My lathe has a variable speed control and dispalys the RPM via a Digital counter and so I plan on popping a wheel into the end of it with one of the Opto Switches attached to check the accuracy.

Back to the coding this end.
 
Regards

Sean.

Very creative idea about pulse counting in PC!

Now brief comments:

- I don't see any protection for CMOS agaist BEMF pulse. Of course protection can be mounted out of PCB in parallel with coil, but is a shame to waste BEMF. This is the gold mine to harvest free energy. Maybe a neon lamp in parallel with CMOS will give you a chance to harvest at least partially this pulse...?

- Related also to RPM calculation; if processing time is a concern, then it will be also for all opto signals to be processd when they arrive at the same time. You'll have multiple processes competing for calculation time in real mode. This in case you use a RTOS. Just a thought...

Anyway no body thought it will be a smooth ride, and I presume this is why you asked for feedback. A good start is a half way towards a finished job.

Regards.

CLaNZeR

  • Hero Member
  • *****
  • Posts: 1059
    • Overunity.org.uk
Re: Micro Controller Pulse Circuit
« Reply #6 on: March 25, 2007, 02:48:00 PM »
Quick update from me, Last weekend I finished my PCB and soldered up and seems to work as I predicted!
I will update the site soon with Firmware and Software releases and of course Hi-Res PCB ArtWork for the PCB.

(http://www.overunity.org.uk/PCBM11.JPG)

I have now started work on my pulse motor and had head stuck into that this weekend.
Have opted for alluminium rather than PlexiGlass this time around.

(http://www.overunity.org.uk/pulse-ver1.jpg)

All I have left to do is Dril out some 20mm holes and fit the magnets flush in the wheel.

(http://www.overunity.org.uk/pMAGS-ver1.jpg)

Then add a small wheel for the Opto Sensors, mount the Electro Magnets and see how she goes.

I will then start working on how to get the energy back!!

CLaNZeR

  • Hero Member
  • *****
  • Posts: 1059
    • Overunity.org.uk
Re: Micro Controller Pulse Circuit
« Reply #7 on: March 25, 2007, 11:17:55 PM »
Is the 20K to adjust things or the serial port?  Not sure why you have both.  I would run it via the PC and get it all working, then move it into the PIC chip.  Or add a couple pots to the PIC to have more control there.

You should be able to do it all via the uC?  You have plenty of PIC chip there.

The FET probably has the diode, but add them if you are not sure.  They are not labeled.

What language are you writing the code in?  The serial routines might cause a little jitter.

EDIT:  Just saw the whole post, FETs are labeled earlier.  Mechanical work is nice..

Hi Mramos

The 20K pot allows manual tweaking of the Trigger delay to fine tune it and then read it back to the computer.
The PC software is just a configuration program so you can specify how you want the Pic Chip to control the Optical Sensors and the Coil triggering. It also allows each sensor and coil to be disabled etc etc.
I thought this would be an easier approach than releasing different version sof firmware for each configuration.

So the Pic is doing all the hard work as such. Here is a screenshot of the Windows application for reading the configuration and writing it back to the Pic. It has to be finished yet but should give you an idea.

(http://www.overunity.org.uk/softwarev1.jpg)

Regards

Sean.

FredWalter

  • Full Member
  • ***
  • Posts: 124
Re: Micro Controller Pulse Circuit
« Reply #8 on: March 26, 2007, 04:03:59 AM »
http://www.overunity.org.uk/softwarev1.jpg

You have an absolute pulse delay option, and absolute pulse width option...

Would it make sense to also have a relative pulse delay option, and a relative pulse width option, that take into account the RPM of the wheel?

Does your software allow one to configure how the RPM is calculated - for example, which opto-switch is used?

CLaNZeR

  • Hero Member
  • *****
  • Posts: 1059
    • Overunity.org.uk
Re: Micro Controller Pulse Circuit
« Reply #9 on: March 26, 2007, 11:06:47 AM »
Quote from: FredWalter

You have an absolute pulse delay option, and absolute pulse width option...

Would it make sense to also have a relative pulse delay option, and a relative pulse width option, that take into account the RPM of the wheel?

Does your software allow one to configure how the RPM is calculated - for example, which opto-switch is used?

The original plan was to have the option to measure the speed between any combination of the 4 opto's and allow that value to be the trigger delay for any of the Outputs, but due to controlling 4 Fet's with 1 Micro doing the extra routines is not so easy as the micro is tied up enough doing the trigger and PWM timings.

After the feedback here I might re-design the PCB and maybe have a small Pic chip for each Fet and a main chip that brings it all together. This will then give dedicated control for each output but obviously the circuit will pull more current. But then again it would be easy enough to put the Pic's in Sleep mode if they are not being used.

Ummm some more thinking needed here, so thanks for the feedback.


CLaNZeR

  • Hero Member
  • *****
  • Posts: 1059
    • Overunity.org.uk
Re: Micro Controller Pulse Circuit
« Reply #10 on: March 26, 2007, 11:09:38 AM »
Did you leave enough room for heat sinks on the FETs?  Figure someone will drop larger ones in to drive a coil :D


I did think about the Heatsink and first thoughts was I would leave all the Fets in line and use one big lump if needed.

But now I am thinking of a re-design of Circuit, I may opt for seperate Heatsinks Like I used on my power supply design.


(http://www.overunity.org.uk/cncdudez/powerkit.jpg)


Thanks for the feedback!

CLaNZeR

  • Hero Member
  • *****
  • Posts: 1059
    • Overunity.org.uk
Re: Micro Controller Pulse Circuit
« Reply #11 on: April 12, 2007, 02:46:11 PM »
Quote from: mramos
The board I made like yours, I did not finish the PC side.  Just hard coded the PIC and two pots for tweaking it. 

But my plan was to configure the board, write it to flash and unit was to be stand alone.  PC was only to configure it.  Is that you plan as well?  If so I will build one.

Need to get MAX 233 and 3232 next time I order..  Normally I use two transistors.

The Windows application downloads the settings to the Pic Chip and the Pic stores them in it's Eeprom memory as there is plenty of rooms, so this lets you disconnect it from the PC and run standalone.

I am drawing up a new design now which is going to be modular. So you have the first board that has the Max233 (I am using this level converter because I had one lying around and also it does not need caps like the max232) and main Pic Chip. Then you can attach upto 8 modular boards depending on how many optical sensors and coils you wish to run.
Each Board module will have it's own Pic Chip, Opto Sensor and Fet with BIG Heatsink this time! and will be able to monitor all the Opto inputs from extra Modules you add.

With this method the Main Pic Chip will communicate with the PC and then download the configuration to each add-on module you have in line. Then each module will be independant from the main Pic Chip and also be dedicated to the job it has been programmed to do. This then free's up the main Pic Chip to do the Tacho calculations and feed them back to the PC or even an LCD.

I have started laying up the PCB but trying to source some nice PCB connectors that will do the job of linking the modules together.

Will post more when done.

Regards

Sean.

FredWalter

  • Full Member
  • ***
  • Posts: 124
Re: Micro Controller Pulse Circuit
« Reply #12 on: April 15, 2007, 06:14:04 AM »
I am drawing up a new design now which is going to be modular.

Will your design work with the following motor?

http://www.overunity.com/index.php/topic,2222.0.html

From the sounds of it, the answer is yes, but I figured it wouldn't hurt to ask.

CLaNZeR

  • Hero Member
  • *****
  • Posts: 1059
    • Overunity.org.uk
Re: Micro Controller Pulse Circuit
« Reply #13 on: April 15, 2007, 11:54:37 AM »
Hi Fred

I can see no reason why not, just use one opto sensor for each coil trigger position and away you go.

Looks an interesting concept from Nali2001 and great graphics.

Regards

Sean.

IronHead

  • elite_member
  • Hero Member
  • ******
  • Posts: 970
Re: Micro Controller Pulse Circuit
« Reply #14 on: April 15, 2007, 02:15:50 PM »
If I understand this right CLaNZeR ,
You are making these boards up and selling them.
If that is the case I would like to buy 5 of them .
This would save me much time.