How to build a 21st century protection board

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Hi All,

Here is my development on microcontroller-based "smart" soft-start / protection, or, I would say, amplifier control board (see attached).

Let's use this thread for discussions on firmware-driven boards - no matter what the PIC is, I believe, exchanging experiences will be useful for everyone interested.

Cheers,
Valery

P.S. My firmware and gerbers are available on request ;)
 

Attachments

  • linear-gain-lab PIC Protection v1.1.pdf
    882.2 KB · Views: 4,894
Last edited:
Shucks you are turning me back into a programmer analyst, writing code and developing hardware AGAIN :t_ache:

But I am use to being that again, I want to focus on temperature and bias right at the output transistors, maybe mounting a LM35 right on the emitter or source pin right up next to the case, to read it temperature wise. While measuring the voltage drop across the emitter resistance, comparing them from device to device.
 
Shucks you are turning me back into a programmer analyst, writing code and developing hardware AGAIN :t_ache:

But I am use to being that again, I want to focus on temperature and bias right at the output transistors, maybe mounting a LM35 right on the emitter or source pin right up next to the case, to read it temperature wise. While measuring the voltage drop across the emitter resistance, comparing them from device to device.

Firmware-driven biasing is also an interesting one - didn't have time/courage to dig deeper, but it looks very attractive to me. When I thought about it some time ago, my initial idea was using some opto-pairs for bringing the current info to the controller (keeping it decoupled from the sensors at the same time)...
 
I am deeply interested in this project - did you start with the "kit" on the
Arduino website ?

As far as the active biasing , I'm sure it would work ... "map an analog in ,
use a pwm output to brighten/dim a led". (this would be another
heavily filtered opto-coupler).

But , what would happen in the case of failure ? Thermal runaway !
The advantages could be sensing a thermaltrack diode or collector
pin SMD to update the micro in almost real time - still , analog backup
would be nice. :eek:

OS
 
What if we put together a demo board with one or two pair on it, a hundred watter or smaller to give everyone a chance to see how all this works. we could include a small prototyping area on the board to make things easy to add or changed. Maybe develop a schematic that could be easily bread boarded and shared, with lots of photos and code example. Kinda like the very good LTSpice thread that Molly has blessed the forum with. Lets start somewhere and let everyone find out that it is NOT hard to do at all, once you get past the basics. There are ton of UTUBE videos out there like I posted.
 
Arduino = 16mhz clock - fast enough for basic bias adjustment. Also fast enough
for "on the fly" class A biasing with thermal feedback (safety).

I don't know if it could handle absolute real time class AB2 "fancy" biasing
or error correction. At this level , we would lose "analog" character ....
better off with class D.

It is not a PC , only 32K for any programming - (simple A/D -/set limits - then do X type operation). ;)

OS
 
I am deeply interested in this project - did you start with the "kit" on the
Arduino website ?

As far as the active biasing , I'm sure it would work ... "map an analog in ,
use a pwm output to brighten/dim a led". (this would be another
heavily filtered opto-coupler).

But , what would happen in the case of failure ? Thermal runaway !
The advantages could be sensing a thermaltrack diode or collector
pin SMD to update the micro in almost real time - still , analog backup
would be nice. :eek:

OS

Arduino environment, available at arduino.cc, does syntax "assistance" while writing the code, compilation and uploading. All you need.

Big advantage of such controllers - they are real time. Meaning - no operating system. The only thing running - is your program.

I don't like using PWM for such applications in audio - requires - as you say - heavy filtering and not reliable enough.
I prefer using a hardware DAC, either having it as part of the PIC chip (there are some), or having it as a separate chip. As an option - there is an appropriate Arduino extension board.

BTW, in some cases you may need more input/output pins, than Arduino can handle. In this case I use 74HC595N registers for extension and having the "locking" capability at the same time. They may be cascaded to have as much pins as you need (add up by 8 portions).
So, you push the desired "number" to the registers and lock it there. Then, before it's time to change the "number", you can do whatever you want in your program - handle protection, indication, etc. I used this approach in one of my professional designs, having one register to extend the inputs and two - to extend the outputs.

32K is A LOT. In the beginning of 80-th (last century :p) I made my first computer myself (Intel 8080A processor, brought from Switzerland, 4.7MHz clock) very custom design, had to write CP-M core myself for it. That one had 16K RAM for everything... ;) And no disks, so really for everything :)

Arduino is lightning fast, comparing to that one :D

P.S. I'm wrong - memory error :) - it was 2MHz clock, not 4.7
 
Last edited:
Occasional "live testing" - AC failure

Just had a power blackout in the whole building for 5 seconds.
AC power failure sensor triggered on the board, it disconnected the speakers immediately, then shut down the amplifier. PSU capacitors did not discharge in 5 seconds, so the board stayed alive, indicating "AC Failure" - one short flash every 2 seconds (Power LED).

Just as expected :)
 
Yes it does. That's how I realized a had a weird issue with the Slewmaster. It seems to be working very well so far. I haven't connected the bias circuits yet. Any suggestions on resistor values for a 63 volt amp? What voltage do the opto-isolators activate at?

In my case, I had it triggered at around 5A through the output pair (with 2 x 0.22R emitter resistors). But better test, just with some DC voltage (0.44R x 5A = 2.2V). It does not depend on the rail voltage - only depends on the voltage drop over emitter resistors.

Pls let me know if the default R values are ok at opto-pairs, or you have to adjust them... gathering statistics ;)
 
First, let me get this off my chest:

It appears that "PIC" has become a genericized name that many people use for ANY microcontroller. This can make for a lot of confusion. It just did for me in this thread, until I saw what was happening.

"PIC" is a registered trademark for a specific line of microcontrollers made by Microchip:
Microchip Technology Inc
Microchip has been making PIC microcontrollers for decades, and I can see why people might use PIC as a general term for any microcontriller, but it's still not a generic name for a microcontroller. The PIC name should only be used for MICROCHIP's microcontrollers.

The Arduino (and "Arduino compatible") boards use AVR microcontrollers made by Atmel:
http://www.,atmel.com
Atmel's AVR microcontrollers are incompatible with PIC microcontrollers (even though they may have comparable features). If you call it anything other than a microcontroller, you should call the microcontroller on an Arduino an AVR.
 
Hi,
Finally I see some members using micro to protect the speakers or some functions in the amplifiers. I been using the micro to protect the speakers for about 3 years. I am using the ACS712 current sensor to read the speaker current and if it reach the set point the rails voltage will be shut down. Te sensor give you a voltage output proportional to the current. The only thing you need to do it is read the voltage output and shut down the speaker at the desire current setting. You can buy them in Ebay for different current amps. They are in a module and the only thing to do it is cut the wires from the amplifier to the speaker and install it. Simple and accurate.
I am using the micro also to control the rails +/- voltage and if the output current reached the set point it will shut down the rails voltage.

I am using the Zbasic micro controller or the Basic Micro . Lately I am started to use the Arduino because it has a nice board that allow you to do anything that you want.

I will keep reading the thread and see if I can be of any help. I have been working with micro for about 5 years.

Keep the good work.
 
First, let me get this off my chest:

It appears that "PIC" has become a genericized name that many people use for ANY microcontroller. This can make for a lot of confusion. It just did for me in this thread, until I saw what was happening.

"PIC" is a registered trademark for a specific line of microcontrollers made by Microchip:
Microchip Technology Inc
Microchip has been making PIC microcontrollers for decades, and I can see why people might use PIC as a general term for any microcontriller, but it's still not a generic name for a microcontroller. The PIC name should only be used for MICROCHIP's microcontrollers.

The Arduino (and "Arduino compatible") boards use AVR microcontrollers made by Atmel:
http://www.,atmel.com
Atmel's AVR microcontrollers are incompatible with PIC microcontrollers (even though they may have comparable features). If you call it anything other than a microcontroller, you should call the microcontroller on an Arduino an AVR.
They're often referred to as atmegas as well.
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.