Archive for December 31, 2013

Happy New Year 2014

facebooktwittergoogle_plusredditpinterestlinkedinmailby feather

happy new year no gnd

Making Interconnect Cables – TRS Male Plug

http://www.youtube.com/watch?v=2UlzA7toUNI facebooktwittergoogle_plusredditpinterestlinkedinmailby feather

Hello,

Many times at many gigs, either due to tiredness or being in hurry, I unplugged the equipment by pulling the cable instead of pulling the plug. Needless to say many times the cable came out but not the plug. It’s been a while though since i don’t have this problem for i found a very simple solution. It might’ve been around but I’ve never seen it.

Today i had to make a new interconnect so i decided to document it. Please read the disclaimer and be warned as i will use sharp tools and a lighter, things that might get you hurt or damage things if you try it. So be advised this is just informative article and I’m not responsible for any of your actions.

Making Interconnect Cables, TRS Male Plug

Figure 0

Now that tools needed are represented in figure 1 plus a soldering iron. I will be using a 6.3mm TRS male connector on both ends of the cable. TRS stands for Tip Ring Sleeve and it is also known as Jack connector.

tools for cables

Figure 1

My way of connecting is pretty standard using a 2 wire shielded cable color coded white and red, i connect the white to tip and red to ring. It is important to choose a quality cable. I always look for 2 things. First the shield has to be braided (figure 2) and second between shield and the core it has to have a cloth layer (figure 3).

High Quality Audio Cable

Figure 2

High Quality Audio Cable

Figure 3

All metal TRS male plugs will have a plastic insulator inside to protect the body of the plug touching the tip or the ring. Most are transparent so it is easy to loose it, in case you do (it happens ^^ ) you can use thermoretractable tube to isolate the connections. I usually use both just to be sure but it also protects the connections better especially if the cables work outside.

TRS Jack Male Plug

Figure 4

I will begin by removing the PVC isolation about 50 mm (2 inches) and cutting the shield around the cable so that you have about 6 mm clear to the PVC layer, just like in figure 5. Insert the plug’s body and plastic isolation on the cable.

DIY Audio Interconnect TRS Jack Male Plug

Figure 5

Fix the cable on the plug with the shield in the sleeve’s grip. Now that the cloth around the sleeve and tie it very tightly. This is the trick that will keep the plug on when pulling the cables. After that cut the excess cloth and use a lighter to melt it so that it wont come loose. See figure 6.

DIY Audio Interconnect TRS Jack Male Plug

Figure 6

Cut the signal wires about 10mm from the point it meets the tip and ring connections. Remove the isolation. At this point i put a small thermoretractable tube (3-4 mm) on the signal cable. Insert the cable through the tip and ring connection and then wrap it around as far as it goes. It is of very high importance to make a good mechanical connection before soldering. Also the signal cables must not be stretched. Leave a small bent or loop.

DIY Audio Interconnect TRS Jack Male Plug

Figure 7

DIY Audio Interconnect TRS Jack Male Plug

Figure 8

Solder the joints and then cover it with the shrink tube and heat it with the lighter. Now solder the shield to the sleeve as well to make a firm connection. Attach the plastic isolation and screw in the plug’s body. Refer to pictures below.

DIY Audio Interconnect TRS Jack Male Plug

Figure 9

DIY Audio Interconnect TRS Jack Male Plug

Figure 10

DIY Audio Interconnect TRS Jack Male Plug

Figure 11

DIY Audio Interconnect TRS Jack Male Plug

Figure 12

This is it, it is simple and will ensure a very sturdy and long lasting cable. To show better what i mean to do with a cloth i recorded a video. Please take a look at the link below. Also the music is something i composed a while ago. Hope you enjoy it.

Thanks for visiting.

 

Digital Thermometer monitoring up to 10 different areas

facebooktwittergoogle_plusredditpinterestlinkedinmailby feather

Hello, こんにちは,

私の日本語があまり上手くありませんが許して下さい.

One day i was talking with a client and he mentioned that he has a chicken egg incubator and that it is hard to keep track of the temperature inside. I offered my help to build a device that can display the temperature of all the incubators on the same screen.

これは10の分野のためのデジタル温度計です。それがPIC18F4620マイクロコントローラ、LM35温度センサとDigole12864ZW LCDを使用しています。記事の終わりには、Cのソースコード、HEXファイルとPCBレイアウトを見つけることができます。

For this task i used a PIC18F4620 and a Digole 12864ZW graphic LCD. Sensor units (LM35) are separate and i will not discuss it in this article.

The below image (figure 1) shows the electronic schematic of the monitor. J1-10 are 3 pin terminal blocks like the ones in figure 2. Each terminal block provides +5V and ground connection and a pin for sensor data.

Temperature Monitor Digole 12864ZW PIC18F

Figure 1

3 pin TBlock Connector

Figure 2

The circuit is very simple each sensor is connected to one of the ADC inputs of the PIC18F4620 through a 100 ohms resistor and the rest is basically software. The LCD is configured to work in parallel 8 bit mode because it is easier and the microcontroller has enough I/O pins available.

Working with the display was a bit hard in the beginning as the documentation isn’t really clear on some aspects. There weren’t many resources from other DIY-ers that used this display either. I got it to work in graphic mode using a XLCD library from Microchip and Application Maestro to configure it. You can use this library for text mode with no modifications.

I will cover the graphic mode of the Digole LCD in a future article describing in detail how it works.

Once you have generated the XLCD files using application Maestro (setting the data port to port D, RS pin to RB5, RW pin to RB6 and EN pin to RB7, delay mode), you will need to modify XLCD.c file and specifically XLCDinit() function. You can delete it if you want and copy the one below:

void XLCDInit(void)
{
_vXLCDreg=1;

XLCD_DATAPORT_TRIS  = 0x00;
XLCD_DATAPORT = 0;
XLCD_RSPIN_TRIS =0;                        
XLCD_ENPIN_TRIS =0;
XLCD_RWPIN_TRIS =0;
XLCD_RSPIN  =0;                            
XLCD_ENPIN  =0;
XLCD_RWPIN=0;                              
XLCDDelay15ms();
XLCD_DATAPORT   = 0b00110000;  
XLCDDelay4ms();
XLCD_DATAPORT   = 0b00110000;  
XLCDDelay4ms();
XLCDCommand(0x0C);
XLCDDelaylcd();   
XLCDCommand(0x01);
XLCDDelay15ms();  
XLCDCommand(0x06);
XLCDDelaylcd();
XLCDCommand(0x34);
XLCDDelay15ms();    
XLCDCommand(0x36);
XLCDDelay15ms(); 

_vXLCDreg=0;
return;
}

I created functions to display digits and some special characters. Basically these functions accept coordinates as their arguments and draws the specific pixels at the proper address. An example of such a function is below:

void display1(int x, int y)
{
        if(y<27)
    {
            XLCDCommand(0x80 | y);
            XLCDCommand(0x80 | x);
                XLCDPut(0b00000000);
                XLCDPut(0b00000000);
            XLCDCommand(0x80 | y+1);
            XLCDCommand(0x80 | x);
                XLCDPut(0b00000000);
                XLCDPut(0b00000000);
            XLCDCommand(0x80 | y+2);
            XLCDCommand(0x80 | x);
                XLCDPut(0b11111000);
                XLCDPut(0b00000000);
            XLCDCommand(0x80 | y+3);
            XLCDCommand(0x80 | x);
                XLCDPut(0b00000000);
                XLCDPut(0b00000000);

    }            
    else
    {
            XLCDCommand(0x80 | y-27);
            XLCDCommand(0x88 | x);
                XLCDPut(0b00000000);
                XLCDPut(0b00000000);
            XLCDCommand(0x80 | y-26);
            XLCDCommand(0x88 | x);
                XLCDPut(0b00000000);
                XLCDPut(0b00000000);
            XLCDCommand(0x80 | y-25);
            XLCDCommand(0x88 | x);
                XLCDPut(0b11111000);
                XLCDPut(0b00000000);
            XLCDCommand(0x80 | y-24);
            XLCDCommand(0x88 | x);
                XLCDPut(0b00000000);
                XLCDPut(0b00000000);

    }    
}

As can be seen XLCDCommand sets the address and XLCDPut sets the value. These functions are defined in XLCD library from Microchip. The condition set for y coordinate is needed because of the way the LCD is made. It is split in two horizontally. Data width is 16 bits sent in two transmissions of 8 bits each.

Each bit in the 16 bits word represents the state of a pixel so you always draw 8 pixels with each instruction. This can be annoying when trying to write values that change dynamically. So you can’t control one pixel at the time horizontally, but you can control each vertical line. This is why i turned the display on a side and it proved much easier to draw the graphs.

digole 12864ZW PIC18F LCD

digole 12864ZW PIC18F LCD

digole 12864ZW PIC18F LCD

The role of SW1 push button is to switch between the screens on Digole 12864ZW showing time graphs and bar graph for each of the 10 sensors. The program verifies the state of SW1 on each loop so it will require to hold the button for about 1second. Also holding too long might cause the screen to go beyond the area you need.

The button is verified with the switch(counter) function in main(). Case 0 is the first screen displaying all the sensors. Cases 1 -> 10 correspond to individual areas and call the zone(area) function, where area takes a value between 0 and 9.

Here is how the zone(area) function looks like:

void zone(int area)
{
        int i;
        int val_t;
        int val_mem;
        xygraph(); // function that displays the time chart
        bargraph(); // function that displays the bargraph
        // below instructions display 0 Celsius
        XLCDCommand(0x80 | 30);
        XLCDCommand(0x80 | 4);            
        XLCDPut(0b00000000);
        XLCDPut(0b11100000);
        XLCDCommand(0x80 | 29);
        XLCDCommand(0x80 | 4);            
        XLCDPut(0b00000000);
        XLCDPut(0b10100000);
        XLCDCommand(0x80 | 28);
        XLCDCommand(0x80 | 4);            
        XLCDPut(0b00000000);
        XLCDPut(0b11100000);
        XLCDCommand(0x80 | 26);
        XLCDCommand(0x80 | 4);            
        XLCDPut(0b00000000);
        XLCDPut(0b01110000);
        XLCDCommand(0x80 | 25);
        XLCDCommand(0x80 | 4);            
        XLCDPut(0b00000000);
        XLCDPut(0b10001000);
        XLCDCommand(0x80 | 24);
        XLCDCommand(0x80 | 4);            
        XLCDPut(0b00000000);
        XLCDPut(0b10001000);
        XLCDCommand(0x80 | 26);
        XLCDCommand(0x80 | 6);            
        XLCDPut(0b01110000);
        XLCDPut(0b00000000);
        XLCDCommand(0x80 | 25);
        XLCDCommand(0x80 | 6);            
        XLCDPut(0b10001000);
        XLCDPut(0b00000000);
        XLCDCommand(0x80 | 24);
        XLCDCommand(0x80 | 6);            
        XLCDPut(0b10001000);
        XLCDPut(0b00000000);
        if(SW == 0) // Checking button
        {
            counter++;
        }
        switch(area) //display the area number
        {
            case 0: display0(6,17);break;
            case 1: display1(6,17);break;
            case 2: display2(6,17);break;
            case 3: display3(6,17);break;
            case 4: display4(6,17);break;
            case 5: display5(6,17);break;
            case 6: display6(6,17);break;
            case 7: display7(6,17);break;
            case 8: display8(6,17);break;
            case 9: display9(6,17);break;
        }
        //level display
        val_t=ADC_Read(area); //read the sensor specific to that area
        val_mem=val_t*48; //convert to degrees
        chart(val_mem); // plot value on xychart
        showtemp(val_mem,5,35); // displays the temperature
        showlevel(val_mem); // displays level on bar graph

        for(i=0;i<25;i++) // delay
        {
        XLCDDelay15ms();
        }

}

 

At the end of the article you can download the full C file without the XLCD library also the hex file. Below you can see a version of double sided PCB layout, images are not mirrored:

PCB Temperature Monitor

top silk

PCB Temperature Monitor

Top Copper

PCB Temperature Monitor

Bottom Copper

On the PCB J13 corresponds to SW1 in the schematic.

Temp Monitor PIC18LH4620 Digole 12864ZW

Thank you for visiting,

ご覧いただきありがとうございます。

 

 

Using Digole 12864ZW LCD with PIC18F

PIC18F interface with digole 12864ZW PIC18Fとグラフィック ディスプレイのインターフェイス facebooktwittergoogle_plusredditpinterestlinkedinmailby feather

Hello, こんにちは,

私の日本語があまり上手くありませんが許して下さい.

PIC18Fとグラフィック ディスプレイのインターフェイス

Digole 12864ZW is a 128×64 pixels graphic LCD that can be found at attractive prices and this is why it started appearing in projects across the web. It is based on ST7920 chip which is not so well known and to me it wasn’t the easiest to work with.

私は、グラフィックモードでDigole12864ZWを使用する方法について記述します。C18コンパイラとPIC18F4620を使用しています。

ここで、LCDのデータシートです。

The documentation for this display can be found here. You can find a couple of examples on how to use this display and some attempts on making a library and most of this information is for interfacing with arduino. For PIC interfacing i couldn’t find much info.

The module has a 20 pin connection, each described below. Vout i havent used and left it unconnected. For contrast you can use V0 (pin 3) by connecting it to Vdd through a 10k variable resistor. However to get it to work you will need to enable jumper J1 from the back of the module as in figure 1.

Pin # Function
1 Vss
2 Vdd
3 V0
4 RS
5 RW
6 EN
7 DB0
8 DB1
9 DB2
10 DB3
11 DB4
12 DB5
13 DB6
14 DB7
15 PSB
16 NC
17 RST
18 VOUT
19 BLA
20 BLK
Digole 12864ZW PIC18F contrast

Figure 1

As per the datasheet the display can be used in many ways and this is a strong feature. I used it the traditional way 8 bits parallel. For this, PSB pin must be connected to Vdd, i also connected RST pin to Vdd as i will reset the display in software. The rest of the connections are the same as with any 16×2 alphanumeric displays.

コントラストが機能するためには、J1を有効にする必要があります。写真1を参照してください。

Microchip XLCD library is a great starting point to using the Digole 12864ZW with a PIC microcontroller. I used Application Maestro to set up the library. As mentioned we will use 8 bits interface in delay mode. Set the ports and pins and the rest doesn’t really matter.

アプリケーションマエストロとのXLCDファイルの設定。

Application Maestro XLCD

Figure 2

Once done pressing Ctrl+G will generate the library files to be included in your project. You will need the XLCD.h, XLCD.c and XLCD.def. Now this Digole display can run in text mode with this library with major issues.To get to each line though you will need to go to specific addresses.

To use the LCD in graphic mode we will need to change the XLCDinit function in XLCD.c file. You can comment the one you have now and then copy paste the function below:

以下のコードでXLCD.cファイルにXLCDInitコードを交換してください。

void XLCDInit(void)
{
_vXLCDreg=1;

XLCD_DATAPORT_TRIS  = 0x00; 
XLCD_DATAPORT = 0;
XLCD_RSPIN_TRIS =0;                         
XLCD_ENPIN_TRIS =0;
XLCD_RWPIN_TRIS =0;
XLCD_RSPIN  =0;                             
XLCD_ENPIN  =0;
XLCD_RWPIN=0;                               
XLCDDelay15ms(); 
XLCD_DATAPORT   = 0b00110000;   
XLCDDelay4ms();
XLCD_DATAPORT   = 0b00110000;   
XLCDDelay4ms(); 
XLCDCommand(0x0C); 
XLCDDelaylcd();   
XLCDCommand(0x01); 
XLCDDelay15ms();  
XLCDCommand(0x06); 
XLCDDelaylcd();
XLCDCommand(0x34); 
XLCDDelay15ms();    
XLCDCommand(0x36); 
XLCDDelay15ms(); 

_vXLCDreg=0;
return;
}

The other two functions we will use from the XLCD library are XLCDCommand and XLCDPut, which are used to pass a command to the display and a value respectively. Using these functions you don’t have to worry about controlling RS , RW and EN.

After calling the XLCDinit() function in main() you have now setup the display in graphic mode. To start drawing you need first 2 XLCDCommand instructions that set the pixel address and then 2 XLCDPut instructions to draw the pixels.

In figure 3 you can see the address map of Digole 12864ZW in the operating mode described above. It can be observed the horizontally you cannot address pixels individually but in groups of 16 and values you can write in groups of 8. The 1st byte represents the byte in the first XLCDPut instruction and the 2nd byte the value in the 2nd instruction. You cannot make 1 byte to start at the middle of the address location. We have 8 addresses of 16 pixels each horizontally 8×16=128 pixels and 64 lines =>128×64 resolution.

Digole12864ZWグラフィックアドレスマップ

Digole 12864 Address Map アドレスマップ

Figure 3

//Example:

/* In figure 3 there are 4 red pixels. To set the pixel we need the following instructions:

Note that we are in region where x=0 => */

XLCDCommand(0b10010010); // 1st instruction

XLCDCommand(0b10000001); // 2nd instruction

XLCDPut(0b00110001); // 1st byte, red pixels are 1 in value

XLCDPut(0b00000010); // 2nd byte, red pixel is 1 in value

/* As you can see the position of the pixels in the two bytes are the positions of 1 in the XLCDPut values */

So to draw a horizontal line of a specific length you will need to take in consideration the fact that you will always set all 16 bits in one of the 8 horizontal addresses.

//Example: Draw line from pixel 41 to end of screen at line 10

/* x = 41/16 = 2; x_r = 41%16 = 9; This means we will start the line from the 2nd byte of horizontal address 010. y = 10 => H_ADDRESS = 0b10000010 */

// lets draw the first part of line 

int index_x, index_y, i;

index_y = 10;

index_x = 41/16;

XLCDCommand(0x80 | index_y); // V_ADDRESS

XLCDCommand(0x80 | index_x); //H_ADDRESS

XLCDPut(0x00); //1st byte is zero

XLCDPut(0x7F); //x_r%8 = 1 => values is 0xFF >> 1 meaning 0b01111111

//now draw to end of screen

for(i=3;i<8;i++)

{

XLCDCommand(0x80 | index_y);

XLCDCommand(0x80 | i);

XLCDPut(0xFF);

XLCDPut(0xFF);

}

Another good reason to use graphic mode is to create your own fonts for text. In its own text mode the display’s characters are very large and can only fit 4 lines. I have created my own set of characters of 7×7 pixels. I have used the fact that each horizontal address has two bytes so that i can fit a character’s width in one byte and leave 1 empty pixel as space. In Figure 4 you can see the W character and its pixel representation. It uses 1 byte on 7 lines so 7 bytes.

 

Character map DIgole 12864 display

Figure 4

This way each character can be represented as a vector of 7 bytes:

int chW[7]={ 146, 146, 146, 146, 146, 170, 68 };

To display a string i separate each character and based on its value i fill a matrix of [7][8] dimension representing a text line on the display. To use it easily the matrix is declared as follows:

union writebyte
{
struct
{
char LowByte;
char HighByte;
};

}linebytes[7][8];

This way you can easily call XLCDPut functions with LowByte or HighByte as arguments. Here is the case for W within the character switch function:

case ‘w':
{
for(j=0;j<7;j++)
{
if(k%2 == 0)
{
linebytes[j][k/2].LowByte=chW[j];
}
else
{
linebytes[j][k/2].HighByte=chW[j];
}
}
}break;

where j is the line number and k is the character number. Below you can see how it looks like:

 PIC18Fとグラフィック ディスプレイのインターフェイス

 PIC18Fとグラフィック ディスプレイのインターフェイス interfacing PIC18F with Digole 12864ZW

 PIC18Fとグラフィック ディスプレイのインターフェイス interfacing PIC18F with Digole 12864ZW

 

In the zip archive below you can find the font.h containing definitions for characters seen above and an example code for PIC18F4620 that displays the message stored in msg[] variable.

I will add more characters and functions with time but i hope this was helpful for anyone trying to interface Digole 12864ZW LCD to a PIC18F.

フォントの収集とPIC18F4620用のサンプル·コード

Digole 12864W sample code for PIC18F4620

Thank you for visiting,

ご覧いただきありがとうございます。

Project Ryu New Spider Concept Test スピーカースパイダーテスト

facebooktwittergoogle_plusredditpinterestlinkedinmailby feather

Hello, こんにちは,

私の日本語があまり上手くありませんが許して下さい.

 

Today i could do a first test of the new spider for my 12 inch field-coil loudspeaker. I attached the spider to a voice coil and to a frame. Without any added mass i applied variable DC voltage on the voice coil to determine how much it will move at a specific voltage.

この記事では、リュ·フィールド·コイル·ラウドスピーカー用の新しいSPIDERをテストしています。結果は、新しいコンセプトが良いliniarityを有することを示しています。私はそれがさらに良くするためにもっと勉強します。

 

First I had to create a variable DC Voltage generator.This can be done with op amp but since the voice coil has low resistance (Rdc = 5.1 ohms) the op amp will need to deliver high current. This is why i chose LA6520 which has a 500mA output current. In the picture below you can see the schematic. Please note that LA6520 has different pinout like in the next picture so keep it in mind when soldering. Also this circuit needs symmetric +/-15V power supply.

回路図では、LA6520 pinoutをご参照ください。

Small Voltage Generator Schematic 小さな電圧発生回路図   LA6520 pinout   The test setup includes a series resistor. We will measure the voltage drop on this resistor in order to calculate the current through the voice coil. It is advantageous to display excursion vs current as the force that pushes against the spider’s restoring force is defined by F=BL*i where BL is the motor strength factor and i is current through voice coil. The series resistor was formed from two 30W 3R3 resistors connected in parallel. This way temperature effects are negligible. Below you can see the setup. Spider test setup スピーカースパイダーのテスト·セットアップ

Spider’s behavior proved to be quite linear. Shown below is the results measured for the voice coil’s up direction. Above 3.5mm the voice coil is getting out of the magnetic gap so force becomes smaller. As can be seen though Project Ryu’s magnetic circuit is strong enough to use the fringe field to its advantage increasing this limit to about 5 mm.

テスト結果:

Spider x vs i field-coil loudspeaker project ryu SPIDERフィールドコイルスピーカープロジェクトリュウ

 

Below are some images of the test:

フィールドコイルスピーカースパイダー  Field-coil speaker Spider フィールドコイルスピーカースパイダー  Field-coil speaker Spider フィールドコイルスピーカースパイダー  Field-coil speaker Spider Voltage generator 電圧源

 

And a small video on youtube:

Thank you for visiting,

ご覧いただきありがとうございます。

Monitoring Amplifier モニターアンプ P2: Tone Controls

facebooktwittergoogle_plusredditpinterestlinkedinmailby feather

Hello, こんにちは,

私の日本語があまり上手くありませんが許して下さい.

In a previous article I wrote about a monitoring amplifier i want to build. This weekend i could continue with this and i built the tone control circuitry. It is a Baxandall type but the values are a little atypical as i made this tone control tailored for my needs.

この記事では、Baxandallのトーンコントロール回路図について書きます。私は、シミュレートし、測定結果を示します。ローレベルで音楽を聴くとき、このトーンコントロール回路は、低音レベルを調整することができます。また、それは大規模な2ウェイシステムでウーファーとコンプレッションドライバー間のSPL差を調整することができます。

I wanted controls that can help in a large format 2 way loudspeakers employing a crossover frequency around 1kHz. I need a shelving filter that can gradually bring up or down that range. Below is the schematic and the graph showing the maximum boost-cut levels.

Schematic of Tone Control Circuit

Schematic of Tone Control Circuit

Tone control range

Tone control range

The schematic represents 1 channel and it is not showing two 100n/63V polyester film capacitors used to decouple TL074 power rails.

List of Materials
# Component Quantity
1 TL074 1
2 C 100n/63V Polyester Film 2
3 R 10k 10
4 R 4k7 4
5 C 47n Polyester 4
6 C 10n Ceramic 4
7 C 150p Ceramic 2
8 Pot Dual 33k 1
9 Pot Dual 150k 1
10 Molex Connector 8 pin 2
11 6 pin header 1
12 Prototype Board 1

I didnt include the 3 pin Molex connector for input you will see in the pictures as i use it temporary to connect 2 RCA female plugs to it. Below you can see the picture of the circuit. It is a bit annoying soldering the SMD components on the prototype board but not a big problem. Since this is a high gain circuit grounding needs increased attention.

tone control circuit トーンコントロール回路図

tone control schematic トーンコントロール回路図

 

tl074 and caps TL074オペアンプ

SMD resistor

8 pin molex

Connection between boards will be made with a 6 wire shielded cable. This cable type is often used in home security installations like alarms systems and has each of the wires individually shielded.

シールドケーブル shielded cable

 

The shields are tied together and grounded to one side of the cable only as signal ground is carried on one or more of the six wires. Used thermoretractable tube to isolate the open shield cable end.

shielded cable molex connector シールドケーブルMolexコネクタ

 

Using the line input of the soundcard i could measure the response of the tone control circuit. As can be seen it is very close to the predicted response. At the bass boost you can see the line getting flatter towards the end because of saturation.

TL074とトーンコントロールオペアンプの周波数応答 Measured Tone Control Response

 

Here is a picture during tests:

Monitoring Amplifier LM3886 モニターアンプ

 

The bass control indeed it is just right, at low volume levels you can still get the deep bass without going through walls.

Thank you for visiting,

ご覧いただきありがとうございます。

New spider for field coil loudspeaker フィールドコイルスピーカーのための新しいSPIDER

facebooktwittergoogle_plusredditpinterestlinkedinmailby feather

Hello, こんにちは

私の日本語があまり上手くありませんが許して下さい.

For a while, we have been discussing on diyAudio the influence of the spider. Ideally we want a low mass, low radiating area compliance for this. Also a very high stiffness towards side-to-side movement to avoid rocking modes.

フィールドコイルスピーカープロジェクトRYU用SPIDER新しいタイプ。低質量、低放射面で、それは布スパイダーよりも優れています。すぐに私は、そのパラメータをテストします。

I have studied this for a couple of months and now the concept has materialized. Tests will follow shortly to determine the qualities of such a spider.

Project Ryu Fieldcoil loudspeaker spider compliance

 

Thank you for visiting,

ご覧いただきありがとうございます。

Project Harbinger: High Efficiency Loudspeaker System 高効率スピーカーシステム Part 2

facebooktwittergoogle_plusredditpinterestlinkedinmailby feather

Hello,

こんにちは,

To continue with Harbinger project i would like to investigate the drivers and what could be expected from them. I already mentioned two of the 15 inchers and that i decided to use a version of 8512F.

The motor on this driver is very strong 220mm in diameter, noiseless vent and T-shaped central pole piece for symmetric field in gap as seen below.

 

T-shaped pole piece Loudspeaker

T-shaped pole piece 8512F

 

The original had this set of parameters:

Mms: 144 g
Fs: 41.9 Hz
Cms: 0.1 mm/N
Bl: 26 Tm
Rms: 12.8 mech-ohm
SD: 0.09 m2

This results in the following equivalent electrical components:

Lces: 67.6 mH
Cmes: 213.017751 uF
Res: 52.8125 ohm

Lces -> corresponds to Cms; Cmes -> corresponds to Mms; Res -> corresponds to Rms

First modification was changing the suspension system with a more softer one. The new spider has larger deeper and fewer corrugations. I made this modification so that the woofer can perform better at lower input power.

Spider for 4" Voice Coil 15インチスピーカー、DIYのホーンスピーカー

Original spider of the 15 incher

Spider for 4" Voice Coil 15インチスピーカー、DIYのホーンスピーカー

New spider for the 15 incher

The replacement spider i used before for a 10 inch driver modification to fit in a 4″ voice coil.

At this point i needed to build a new box to put in the woofer and study it’s behavior. I built a 160 Liters vented box with 2 ports each of 72mm diameter and 140mm length.

High efficiency Loudspeaker Enclosure

High efficiency Loudspeaker Enclosure

High efficiency Loudspeaker Enclosure

High efficiency Loudspeaker Enclosure

High efficiency Loudspeaker Enclosure

High efficiency Loudspeaker Enclosure

After placing the driver in the box i ran impedance test and simulation of the model created with the spreadsheet from Electric Equivalent Model of Loudspeakers article. As you can see the model is very close to the measured result.

Spice simulation of loudspeaker equivalent model with LPF

Spice simulation of loudspeaker equivalent model with LPF

Measured impedance of 15 incher with LPF

Measured impedance of 15 incher with LPF

The box wasn’t well braced and needed some strengthening but the output in the bass region was satisfactory. Even at low levels the bass was low with a good amount of punch. My room helps a lot though on the low end. I have wooden floors and ceiling and lots of furniture.

In the next article we will look at what else can be improved on the drivers and the box.

Thank you for visiting,

ご覧いただきありがとうございます。

 

Monitoring Amplifier モニターアンプ P1

DSC03860 facebooktwittergoogle_plusredditpinterestlinkedinmailby feather

Hello, こんにちは,

私の日本語があまり上手くありませんが許して下さい.

I like listening to loud music usually, i like to feel the impact of instruments close to live levels. Of course this is not always possible especially after work at late hours.

私は、大音量の音楽を聴くのが好きです,ライブのレベルでの楽器の影響が好きです。もちろん、これは、特に深夜の仕事の後に必ずしも可能ではない。

To overcome this I decided to build a monitoring amplifier this weekend. It will allow me to see the level of the source before coupling to the power amp and also to switch speakers off and just use headphones.

モニターアンプこの週末を構築することを決めた。ソースのレベルをチェックすることができます, そしてまた、オフスピーカーを切り替え、ヘッドフォンを使用しています。

It is also important to have a good tone control circuit to adjust loudness at low levels.

トーンコントロールは低レベルに音量を調整することができます。

A first block diagram is presented below. アンプのブロック図。

Monitor audio Amplifier

Looking through my things to select components for this project, I found the chassis from the preamplifier module of a soviet Reel to Reel deck Rostov 105. The chassis has all the controls i needed on the front panel including two nice needle VU-meters.

amp chasis

I took the chassis down and cleaned it and i verified all the pots and switches and cleaned them.

Audio Monitor Amplifier

For Power Amplifier i have a LM3886 stereo kit which will be extremely useful. I used this kit for a while and it has a decent sound being one of the best audio chips in my opinion. I attached this kit to a heatsink from a Yamaha A-500.

The kit also comes with a dual VCA chip for DC volume control, the M5283P. This is a very good solution to keep noise from potentiometer out of audio path.

モニターアンプM5283 dual VCA

モニターアンプM5283

I built a power supply for the amplifier section and mounted them on the chassis.

LM3886 Audio Amplifier

LM3886 power amplifier

LM3886 Audio Amplifier

LM3886 Audio Amplifier

Potentiometer controlling the VC input of the dual VCA chip.

 

LM3886 Audio Amplifier

In the next article i will discuss more about the VCA and build the tone control, metering circuits.

Thank you for visitng,

ご覧いただきありがとうございます。