Friday, 28 July 2017

microcontroller - Horn disturbs controller and lcd on common power source


I have a 60V battery which feeds a PCB itself switching down the voltage to a 12V bus and then from 12V to a 5V bus using two consecutive TI TPS54560 switching regulators (5A max current). I have a MCU connected to a LCD powered by the 5V bus. The 12V bus power the front lights, back lights and a horn.


Everything works fine but when I power the horn, for some reason the screen becomes empty or displays random characters. However, the second I input an analog signal into the adc of the MCU then the screen starts displaying the correct data again. The horn is a 12V 1.5A 105dB standard universal horn. Here is a simplified diagram of the circuit:


schematic


simulate this circuit – Schematic created using CircuitLab


If you need more information or clarification do not hesitate! Thank you for your help!



Answer




Three main suspects:




  1. Supply decoupling / filtering: use decoupling capacitor in all ICs power supply lines. Follow the datasheet guidelines for each device.




  2. Grounding: your schematic shows somewhat careless grounding. Use a ground plane and/or single point ground.




  3. Piezoelectric effect in ceramics capacitors: If the PCBs are close to the horn, the vibration induced by the 105 dB SPL levels can wreak havoc in ceramic capacitors. As this kind of capacitors are everywhere (coupling, decoupling, filtering, timing...), it's very likely this could be the main cause of the glitches you're observing.





How to mitigate the piezoelectric effect?




  1. Acoustically/mechanically isolate/decouple the PCB from the horn. Don't attach the PCB to a stiff surface that can couple to it the vibrations caused by the horn. Also, use acoustic foam around PCB to reduce SPL levels, put it inside a box, etc.




  2. Replace ceramics with equivalent electrolytic and film capacitor when possible and convenient.





No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...