Saturday, 4 November 2017

pcb - Help Needed with Voltage Controlled Synth Circuit


I am building a somewhat out-of-the-ordinary guitar pedal that involves some synth elements, namely controlled voltage. I'm a little confused by something that I suspect is actually pretty basic.


I am pretty comfortable with circuit diagrams for guitar distortion and overdrive effects, but this pedal uses controlled voltage, and I am being thrown off by the "CV1" and "CV2" markings on the linear pots on the upper left. As I have no experience with controlled voltage audio, I don't actually know WHERE or WHAT to connect these leads to. I understand these to be Controlled Voltage 1 and Controlled Voltage 2, but I am uncertain of what these represent in terms of the audio components, and where they lead to/from. As they terminate in X markings, they don't resemble the other voltage markings on the schematic, this is also confusing.


THIS is the circuit diagram I'm working from. enter image description here



This is probably a pretty nooby question, but I appreciate any and all help!




resistors - Different LEDs in parallel


Are there any special considerations I should pay attention to, when I wire multiple LEDs in Parallel?


I am doing a project with a 100 LEDs in parallel. Each LED could be a different color, and each LED is wired with a resistor (or should I not do this and group the LEDs with one resistor?)



I've calculated each resistor with regarding to the amount of current the LED will draw, and the power supply will come from a wall wart rated at 5v and 5A.


Sample diagram:


LED in Parallels




microcontroller - How to deal with multiple pull-up resistors on modules


I was thinking about doing a modules for a development board I did a few days ago that will include spi/i2c interfaces.


The problem is that I didn't included pull-up resistors in the MCU pins in the main board and was thinking to add them in the modules to make them more "generic" so every user could use them without need to add extra resistors in the prototype board.



But then I faced the next problem. If I add the pull-up resistos in the extra modules and I connect for example two or more modules to the same bus I'll get those resistors in parallel so the resistance will drop and will not accomplish their function.


But if I add the pull-up resistors to the main board I'll have those pins in the MCU always as active low.


So the main question is:


How to have multiple modules connected to the same bus having on each of them the pull-up resistors but not get them in parallel when you've more than one module? Is that possible?


Or the best solution here is enable the pullup resistors in the MCU and don't inlcude them in the modules?


Thanks.-



Answer



I'll assume that the total length of each of your buses is under 1 meter, which is typical for plain I2C and SPI. Also, the bus capacitance is within the spec.


There should be only one (1) set of pull-up resistors. As a result, the best place for them is on the main controller board. Don't put the pull-ups on the modules.


If you want to have pull-up in some cases and not have them in other cases.




  • Do not populate the pull-up resistors, when you don't need them.

  • Design the main controller board such that pull-ups are connected to the signal lines through jumpers. Remove the shorting blocks, when you don't need the pull-ups.


edit: Frankly, I think it's a mistake that Sparkfun puts pull-ups on I2C slave modules. Unfortunately, not everyone who buys modules realizes that excessive pull-up can be a problem. It would be nicer if the controller boards (instead of slave peripheral boards) had pull-ups with solder jumpers. Oh... Wait... Arduino doesn't carry the (optional) pull-ups (although perhaps it should). So, let's schlep pull-ups everywhere. Easier initial out-of-the-box experience. But add a few slave modules and the bus will stop working.


update (May 2015) :
- Related discussion in comments in another thread.
- In their recent modules, SparkFun began to add solder blob jumpers between Vcc and the I2C pull-up resistors (example). That allows to disconnect the pull-ups more easily.


update (Dec 2015) :
Similar questions about troubleshooting I2C with multiple modules keep popping up on message boards. Attempt at an extended general response.



motor - Automatic Rotating Platform



I would like to build a very simple, circular wooden platform that rotates automatically - no stopping. The torque is not very important, as it doesn't need to support much weight. As far as rpm, not too fast, but not incredibly slow - about the pace of a fast escalator? That's the only comparison I can make. It's for an art project. I know this is probably an easy one for most people, but I am starting from square one. Thanks for any help.



Answer



Why not just buy a record turntable? Stick a 3 foot platform on it. It's kind of fast, and doesn't support much weight.


Or get a small motor off eBay, and make your own.


Turntable


You just need some bearings to hold the turntable, and a belt to connect the small wheel on the motor to the big wheel on the turntable.


bias - FET Practical DC Analysis Problems


I just finished with theory understanding of FET transistor principles, etc.


Right after that I tried to make simple circuit Common-Source with FET and MOSFET the problems occurred one by another.


I could begin with JFET (n-channel) for start:



  • Idss (when Vds = 15V) = 6mA

  • Vgss(off) (when Vds = 15V & Id = 10nA) = from -0.5V to -8V


  • Different admittances at Vgs = 0 and I don't know which to chose for calculating Id


All I wanted was to bias the FET, so that Vds = Vdd/2, so in the middle of the load line (for the start). Vdd would be 20V and Id would be 5mA > Vds would then be 10V, right?


I can't find appropriate Vgs and also don't know how to connect gate resistor (series or parallel) + I can't calculate its value since gate current cant be calculated and/or is not practically usable (neglected).


schematic


simulate this circuit – Schematic created using CircuitLab


Transistor's datasheet: www.mouser.com/ds/2/149/bf244a-292510.pdf



Answer



If you have a one or a few JFET's in your disposal you can try to measure them.


You can use this setup:



enter image description here


AS you can see you can use a voltmeter to measure Vgs(off) and ammeter to measure Idss at once, all you need is to switch your multimeter between voltmeter/ammeter.


And you know Vgs(off) and Idss you can solve for Vgs:


$$V_{GS} = Vgs(off)* \left(1 - \sqrt{\frac{I_D}{I_{DSS}}} \right)$$


I have two JFET in my workbench First one is BF245A and I measure it and got


Vgs(off) = - 1.9V and Idss = 5mA


And BF245C:


Vgs(off)= -4.8V and Idss = 15mA


(the typical values given in datasheet are -5.6V/17mA).


So, If I want Id = 5mA I would use BF245C.



And Rd = 10V/5mA = 2.2kΩ


$$g_{m0} = \frac{2*I_{DSS}}{|V_{GS}(off)|} = \frac{30mA}{4.8V} = 6.25mS$$


Therefore the maximum gain passible for a given drain resistor is \$R_D = 2.2kΩ\$ is:


\$Av = g_{m0}R_D = 13.75 \; V/V\$ (without Rs)


For automatic bias you now need to select \$R_S\$ resistor


$$V_{GS} = Vgs(off)* \left(1 - \sqrt{\frac{I_D}{I_{DSS}}} \right) = -4.8V*\left(1 - \sqrt{\frac{5mA}{15mA}} \right) = -2V $$


$$R_S = \frac{2V}{5mA} = 400Ω = 390Ω$$


schematic


simulate this circuit – Schematic created using CircuitLab


And now we can test the circuit on the workbench.



Friday, 3 November 2017

Arduino Uno R3 hardware serial: peripheral interfering with the USB/Serial-converter?


I like to use the hardware serial port (pin 0 RX and 1 TX) to connect a bluetooth module. Internally these pins are also connected to the onboard USB to serial converter microcontroller which is used to flash the ATMega328 using the bootstrap code.


enter image description here (From http://arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf)



Now these two signals would interfer, I think.



  • Can the RX/TX pins be used to interface with an UART peripheral?

  • If, what should one do to avoid colliding signals?


I couldn't find examples in my Arduino books and with Google that used the hardware serial port of the Uno R3 to connect peripherals.



Let me add the following: I don't want to use the Serial monitor (of the Arduino IDE) and the peripheral (Bluetooth module) at the same time. I don't expect that it can be used at the same time. The device should run without USB connected. The Bluetooth module, in this case, will be used to remotely and wirelessly control the Arduino.


Even when not using both together, I suspect the ATMega16U and the periperal might interfer.


And: I know, there's a shield and also an "ArduinoBT", but I don't want to use them as long as it's possible to do this with the hardware serial port of the Uno.




The peripheral (Bluetooth) module operates at 3.3V while the Arduino operates at 5V.



Answer



Those two resistors, marked RN4A and RN4B, are used to protect the uart line from conflicts, while also assigning priority to the external header. They act like weak pullups, in that anything before (In this case, left of) the resistors will only affect the line after them, if the lines are not being used.


Anything serial connection plugged into the header, will take priority over the Arduino's usb/serial connection, as they can directly power the lines.


But this will also provide issues during programming, so use an enable pin, or power switch, or simply remove the bluetooth module while programming.


microcontroller - Designing a large 7-Segment display


I'm trying to design a product that have the following features for mass production, and I'm asking from your experience, how to get the lowest price for the components, quality of the chips in terms of stability due to temperature (it must work in temps over 40°C)


I would like to control a 34-digit 7-segment display. Which way should I go? Just connect lots of switch transistors, and give them one data line each? Or are there easier ways, such as dedicated chips with low price?




  1. There are 6 groups of 4 digits

  2. 8 digits for the date

  3. 2 digits for a counter


I have been away from the Electronics industry since 2008, and I mostly need help to refresh my memory.


I'm keeping in the design that I also need to play mp3 files, read RF remote control, RTC,..etc. So I may run out of the pins because of controlling 34 digits using TDM.



Answer



You want to control 34 7-segment displays. In my experience/opinion you should not multiplex beyond about an 8:1 ratio, especially if you need bright displays and/or high \$T_A\$ operation. So let's try that (8 groups of up to 5 digits).


Let's suppose you want an average operating current of 15mA/segment. Say they are common anode displays..the low side (segment) drivers must be able to handle 120mA each (8 times 15mA). ULN2803A or ULN2003A will handle 8 or 7 segments. You would need one output per segment per set, or 40 outputs (assuming decimal points). That's ~5 chips. And another set of outputs to drive the drivers, ~5 74HC595s. There will have to be 40 current limiting resistors (perhaps arrays, if the power dissipation capability is acceptable).


You would need 8 high side drivers, each of which is capable of handling 8 * 5 * 120mA = 4.8A for 12.5% of the time. This could be handled with 8 P-channel MOSFETs driven from something like a 1-of-8 demultiplexer (with enable).



To control this from a micro, you have 3 bits to select the digit (1 of 8), and preferably an enable line. Before you turn the digit on, you shift out serially 40 bits (assuming decimal points) to the 74HC595s, strobe the data to the output and only then bring the appropriate set of 5 anodes high. Repeat this about every 1msec, sending different data to the segments depending on the digit, of course. So only 7 GPIO lines are required for all digits (up to 40 digits).


The above-mentioned parts are all very inexpensive and suited for mass production. You'll need about an 5A 5V (25W) supply using the numbers above (worst case with 34 * 8 * 0.015A illuminated at once is 4.1A).


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...