Recent Posts

Pages: [1] 2 3 4 5 6 ... 10 Next
1
Get out your red-blue anaglyphs, and see the football :)
It worked! 👍 :D
2
Projects, Designs, and Technical Stuff / Re: PC74hct4046ap Replacement
« Last post by Benta on Today at 06:31:33 pm »
instead of playing with the IC, try playing with R303, R304, R334 and C302.
Also adjust R302.
[/quote]

I agree. Optimizing the loop filter, aka loop controller will bring much more bang for your bucks.
Ultimately, using an active loop controller will probably result in best performance. But this is not an easy exercise.
3
Beginners / Re: Checking for noise in resistors
« Last post by TimFox on Today at 06:29:02 pm »
But what do you want to find? As I understand, the noisier the tube amp is - the better. Or not? If you don't want noise at all - use metalfilm resistors.

Who said that noise is a good thing in tube amps?
You are probably confused by advocates of single-ended amplifiers who like the even-order distortion from the circuit.
Metal film resistors work well with tubes, but sometimes the high resistance required may need metal oxide for practical applications.
4
Microcontrollers / Re: CH32V003 using I2C mpu6050
« Last post by jlsilicon on Today at 06:27:20 pm »
I added an I2C Bus Scanner.

But it does not see the Mpu6060.
- Is the prolem that :
-- the I2C Bus Scanner code ,
-- or the mpu6050 wiring to Ch32v003c8t6 board ,
--  or does the Board Not support I2C - with the User Led installed across SCL pin C2 ?

Code :

Code: [Select]

/*

 */

/*
 *@Note
 *Multiprocessor communication mode routine:
 *Master:USART1_Tx(PD5)\USART1_Rx(PD6).
 *This routine demonstrates that USART1 receives the data sent by CH341 and inverts
 *it and sends it (baud rate 115200).
 *
 *Hardware connection:PD5 -- Rx
 *                     PD6 -- Tx
 *
 */

#include "debug.h"

#include <ch32v00x_i2c.h>
#include <ch32v00x_rcc.h>


/* Global define */


/* Global Variable */
vu8 val;

/*********************************************************************
 * @fn      USARTx_CFG
 *
 * @brief   Initializes the USART2 & USART3 peripheral.
 *
 * @return  none
 */
void USARTx_CFG(void)
{
    GPIO_InitTypeDef  GPIO_InitStructure = {0};
    USART_InitTypeDef USART_InitStructure = {0};

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD | RCC_APB2Periph_USART1, ENABLE);

    /* USART1 TX-->D.5   RX-->D.6 */
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
    GPIO_Init(GPIOD, &GPIO_InitStructure);
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
    GPIO_Init(GPIOD, &GPIO_InitStructure);

    USART_InitStructure.USART_BaudRate = 115200;
    USART_InitStructure.USART_WordLength = USART_WordLength_8b;
    USART_InitStructure.USART_StopBits = USART_StopBits_1;
    USART_InitStructure.USART_Parity = USART_Parity_No;
    USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
    USART_InitStructure.USART_Mode = USART_Mode_Tx | USART_Mode_Rx;

    USART_Init(USART1, &USART_InitStructure);
    USART_Cmd(USART1, ENABLE);
}

//

/*
 *@Note
 7-bit addressing mode, master/slave mode, transceiver routine:
 I2C1_SCL(PC2)\I2C1_SDA(PC1).
  This routine demonstrates that Master sends and Slave receives.
  Note: The two boards download the Master and Slave programs respectively,
   and power on at the same time.
      Hardware connection:
            PC2 -- PC2
            PC1 -- PC1

*/

#include "debug.h"

/* I2C Mode Definition */
#define HOST_MODE   0
#define SLAVE_MODE   1

/* I2C Communication Mode Selection */
#define I2C_MODE   HOST_MODE
//#define I2C_MODE   SLAVE_MODE

/* Global define */
#define Size   6
#define RXAdderss   0x02
#define TxAdderss   0x02

/* Global Variable */
u8 TxData[Size] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06 };
u8 RxData[5][Size];


/*********************************************************************
 * @fn      IIC_Init
 * @brief   Initializes the IIC peripheral.
 * @return  none
 */
void IIC_Init(u32 bound, u16 address)
{
    GPIO_InitTypeDef GPIO_InitStructure = {0};
    I2C_InitTypeDef  I2C_InitTSturcture = {0};

    RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC | RCC_APB2Periph_AFIO, ENABLE );
    RCC_APB1PeriphClockCmd( RCC_APB1Periph_I2C1, ENABLE );

    /// SDA : ///
    GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_2;
    GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_AF_OD;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init( GPIOC, &GPIO_InitStructure );

    /// SCL : ///
    GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_1;
    GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_AF_OD;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init( GPIOC, &GPIO_InitStructure );

    I2C_InitTSturcture.I2C_Mode        = I2C_Mode_I2C;
    I2C_InitTSturcture.I2C_OwnAddress1 = address;
    I2C_InitTSturcture.I2C_ClockSpeed  = bound;
    I2C_InitTSturcture.I2C_DutyCycle   = I2C_DutyCycle_16_9;
    I2C_InitTSturcture.I2C_Ack         = I2C_Ack_Enable;
    I2C_InitTSturcture.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit;
    I2C_Init( I2C1, &I2C_InitTSturcture );

    I2C_Cmd( I2C1, ENABLE );

// #if (I2C_MODE == HOST_MODE)
    I2C_AcknowledgeConfig( I2C1, ENABLE );

// #endif

}

//

/*********************************************************************
 * @fn      main
 * @brief   Main program.
 * @return  none
 */
int main(void)
{
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
    SystemCoreClockUpdate();
    Delay_Init();

    USART_Printf_Init(115200);
     printf("\r\n\r\n: I2C_MPU6050_003_2 : \r\n");
     printf(" SystemClk:%d\r\n",SystemCoreClock);
     printf( "ChipID:%08x\r\n", DBGMCU_GetCHIPID() );

    USARTx_CFG();

    //

// u8  i = 0;
u8  j = 0;
// u8  p = 0;
u8  res ;

// __IO uint32_t  i2creg=0 ;
__IO uint32_t   i2cxbase=0 , i2cxbase1=0 , i2cxbase2=0 ;
  i2cxbase = (uint32_t)I2C1 ;  // = (uint32_t)I2Cx;
//  i2creg = I2C_FLAG >> 28;
//  I2C_FLAG &= FLAG_Mask;
//  if(i2creg != 0)
//  {
//    i2cxbase += 0x18;
    i2cxbase1 = i2cxbase + 0x14;
//  }
//  else
//  {
//    I2C_FLAG = (uint32_t)(I2C_FLAG >> 16);
//    i2cxbase += 0x18;
    i2cxbase2 = i2cxbase + 0x18;
//  }


printf("> main(): IIC mode\r\n");
    IIC_Init( 80000, TxAdderss);

  while( 1 )
  {

printf("= main(): for(0..5) \r\n");
    for( j=0x01; j <= 0x7F ; j++ )
    {
       while( I2C_GetFlagStatus( I2C1, I2C_FLAG_BUSY ) != RESET );

printf("= main(): ->I2C:Start() \r\n");
      I2C_GenerateSTART( I2C1, ENABLE );
       while( ! I2C_CheckEvent( I2C1, I2C_EVENT_MASTER_MODE_SELECT ) ) {}

printf("  = main(): ->I2C:SendAdrId() = x%02X \r\n" , j );
//      I2C_Send7bitAddress( I2C1, 0x02, I2C_Direction_Transmitter );
//      I2C_Send7bitAddress( I2C1, 0x68, I2C_Direction_Transmitter );
      I2C_Send7bitAddress( I2C1, j, I2C_Direction_Transmitter );
//        while( ! I2C_CheckEvent( I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED ) ) {}
      res = I2C_CheckEvent( I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED ) ;
printf("    => MTM=%d " , res );
      res = I2C_CheckEvent( I2C1, I2C_Direction_Transmitter ) ;
printf(", DirT=%d " , res );
        Delay_Ms(1);

      res = I2C_CheckEvent( I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED ) ;
printf(", MTM=%d " , res );
//      res = I2C_GetFlagStatus( I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTED ) ;
      res = (*(__IO uint32_t *) i2cxbase1);
printf(", St=%d " , res );
      res = (*(__IO uint32_t *) i2cxbase2);
printf("%d " , res );

/*
        while( I2C_GetFlagStatus( I2C1, I2C_FLAG_TXE ) ==  RESET ) {}
            I2C_SendData( I2C1, TxData[i] );
       while( ! I2C_CheckEvent( I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTED ) )  {}
*/

printf("\r\n= main(): ->I2C:Stop() \r\n");
      I2C_GenerateSTOP( I2C1, ENABLE );
//      res = I2C_GetFlagStatus( I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED ) ;
      res = (*(__IO uint32_t *) i2cxbase1);
printf("      , St=%d " , res );
      res = (*(__IO uint32_t *) i2cxbase2);
printf("%d \r\n" , res );

       Delay_Ms(100);
    }

printf("\r\n---\r\n\r\n");
    Delay_Ms(1000);
  }  // - while(1) .

    //

    while( 1 )
    {
        ;
    }

    //

}

///

Also added to my github :
https://github.com/jlsilicon/Ch32v003/blob/main/Ch32v003/I2C_Bus_Scanner/User/main.c
5
Buy/Sell/Wanted / Re: FS: Motorola MVME 202, 310, 211
« Last post by LittleFrog on Today at 06:26:46 pm »
Hi,
I realise this thread is old, but please could I ask if you sold these boards?
Thanks, Dave
6
Test Equipment / Re: Choosing between entry-level 12-bit DSOs
« Last post by gf on Today at 06:25:14 pm »
All 4 channels on.
this is what i meant... perfect sine reconstruction.. i tuned my sim files to this setup, 220MHz sampled at 500MSps (f = Sr / 2.27), here is what i come up with. so it seems Rigol and VisaDSO got broken implementation.

What is the length of your Lanczos filter?
For example, lanczos3 has a reconstructability imit of sample_rate / 3.57, and for lanczos5 it is sample_rate / 2.72.
In order to achieve 2.27, you rather need lanczos10 or lanczos11.
7
Test Equipment / Re: Siglent SDS800X HD 1Specifications
« Last post by ebastler on Today at 06:25:05 pm »
anyone who has any open NTP-server IP to recommend for the scope?

Take your pick, e.g. here -- includes a few servers in Sweden:
https://wpollock.com/AUnix2/NTPstratum1PublicServers.htm
8
Test Equipment / Re: Fluke 732B battery float voltage
« Last post by aronake on Today at 06:22:31 pm »
I started using this battery http://www.digikey.com/product-search/en?keywords=p682-nd

I looked through datasheets and Panasonic seemed to have the best choice for me. Only time will tell but so far the last three are working fine. The faston tab is the 0.187 size and the correct battery pn should be LC-P127R2P1 (0.250).
It will be difficult to find batteries not made in Asia, so I depend on name brand batteries not sold by Batteries Plus. For me it is Panasonic or BB Battery.

It seems Panasonic have stopped producing suitable lead acid batteries.

What could be a good high quality alternative?
9
Manufacturing & Assembly / Re: Ribbon Laser Bonding on PCB
« Last post by ajb on Today at 06:22:11 pm »
What sort of volume?  And if you're looking at current shunts, I guess the surface doesn't need to be bare copper, but can be plated?

You could get whatever size and shape you want laser cut or stamped out of sheet metal.  Stamping can be very cheap if you've got enough volume to amortize the tooling/setup cost, and any company that does electronic stamping should be able to acquire pre-plated sheet coil, so they'd be ready for soldering after stamping and cleaning.  For assembly, you could probably get some custom plastic trays CNC milled, or maybe stacked out of laser cut sheets, to standard JEDEC sizes to go into a tray feeder.  Loading the trays from the bulk stamped parts might not even be too bad, if the wells are sized correctly you should be able to just throw a handful of parts onto them and shake until they settle into place.  Some assemblers may even be able to place loose parts out of tray wells, for example Europlacer machines have that as an option.
10
Test Equipment / Re: Choosing between entry-level 12-bit DSOs
« Last post by Mechatrommer on Today at 06:11:55 pm »
i tuned my sim files to this setup, 220MHz sampled at 500MSps (f = Sr / 2.27), here is what i come up with. so it seems Rigol and VisaDSO got broken implementation.
That interpolation looks broken indeed. It seems to assume that the sampled data points are alway the extrema of the curve. Why would that be the case? Whatever that "smooth" interpolation is, it's not sin(x)/x, I would say.

Edit: Did you ask for a sin(x)/x interpolation through all the linearly interpolated datapoints, by any chance? That might explain the strange results. Of course only the actual sampled points must be fed to the interpolation.
i just copied lanczos resampler code lying around in the internet somewhere, i dont have skill to code real Sinc filter nor i know how lanczos resampler is coded/works, assume its a black box functions. and yes i feed it with sampled points visible on screen and it returned like 10X points (sampled + interpolated points) and then plot on screen. i can guarantee those curve will pass through real sampled points... open source code like this... https://gist.github.com/kode54/6338299
Pages: [1] 2 3 4 5 6 ... 10 Next