Welcome, Guest
Username: Password: Remember me

TOPIC: Unit not working, U1 pin 3 = 1V

Unit not working, U1 pin 3 = 1V 1 year 8 months ago #1235

  • Charlez99
  • Charlez99's Avatar
  • OFFLINE
  • New Member
  • Posts: 3
  • Karma: 0
I just received & built my unit, but it doesn't work.
Significant noise and distorded sound when unit is ON, no noise when unit is OFF (dry).

I verified everything with no success;
All supplies are OK (+5 and -5V, TC1044 oscillating at around 20Khz).
LED is working and analog output stage is also working fine (tested with sinewave.ino).

Problem seems to be on the analog input stage.
All voltage on U1 are OK except abnormal pin 3 which is around 1.0V instead of 0.1V (Ref: Guide to troubleshoot...)
Different people have reported that issue with pin 3 on the forum but none have explained what was the source of the problem.

Anybody can help ?
Thx
Last Edit: 1 year 8 months ago by Charlez99. Reason: typo
The administrator has disabled public write access.

Unit not working, U1 pin 3 = 1V 1 year 8 months ago #1237

  • Ray
  • Ray's Avatar
  • OFFLINE
  • Moderator
  • Posts: 692
  • Thank you received: 146
  • Karma: 41
Significant noise and distorded sound when unit is ON, no noise when unit is OFF (dry).
- The power supply makes a huge difference in some boards, try to use an external 12V adapter or a better wall-usb adapter, have a look at this:
www.electrosmash.com/forum/hardware-peda...powering-arduino-due
- Also, make sure that the VR1 input trimmer is in a "sensible" position.

All voltage on U1 are OK except abnormal pin 3 which is around 1.0V instead of 0.1V (Ref: Guide to troubleshoot...)
Different people have reported that issue with pin 3 on the forum but none have explained what was the source of the problem.

Sorry, the 0.1V voltage on pin 3 is a typo (I already fix it in here: www.electrosmash.com/forum/hardware-peda...alshield?lang=en#269), the reading should be something between 0.8 and 1.0V on pin 3.
You should have 1.6V on the BIAS test point on the PCB, and then you have R2 that drops around 0.5V, so the bias point at pin 3 should be not far from 1.0V.
Last Edit: 1 year 8 months ago by Ray.
The administrator has disabled public write access.

Unit not working, U1 pin 3 = 1V 1 year 8 months ago #1239

  • Charlez99
  • Charlez99's Avatar
  • OFFLINE
  • New Member
  • Posts: 3
  • Karma: 0
Ray,

I tried to power my Pedalshield from my laptop and my desktop computer (both direct or via a powered USB hub), via an external linear power supply (made with 7812 & 7912 linear voltage regulator), and also from a 9V battery. There is no difference, it's always the same. The problem must be somewhere else.

Yes I adjusted the CR1 pot using the sketch made for that purpose.

I attached a set of screen capture that shows the input & output waveform using my scope (Yellow = input signal = 440Hz sinewave from a DDS signal generator, Blue = outout signal, with PedalShield foot switch OFF & ON).

YellowInputsine440HzBlueOutputDryswitchOFF.gif


YellowInputsine440HzBlueOutputWetswitchONsketchClean.gif



I also tried to do some resoldering using my hot air solering station, whitout success.

Thanks for correcting the typo regarding the 1V on pin3 in the troubleshooting guide, this was misleading.

PS
I've noticed something else a bit strange, the blue LED doesn't always turn ON when it should.
The 3.3V from the Due is OK, but output pin3, when ON is a bit low (around 3.0-3.1V) and seems unable to turn on the LED everytime (and blue LED requires a higher voltage than red LED).

Thanks for your help.
Last Edit: 1 year 8 months ago by Charlez99.
The administrator has disabled public write access.

Unit not working, U1 pin 3 = 1V 1 year 8 months ago #1242

  • Ray
  • Ray's Avatar
  • OFFLINE
  • Moderator
  • Posts: 692
  • Thank you received: 146
  • Karma: 41
I've noticed something else a bit strange, the blue LED doesn't always turn ON when it should.
The 3.3V from the Due is OK, but output pin3, when ON is a bit low (around 3.0-3.1V) and seems unable to turn on the LED everytime (and blue LED requires a higher voltage than red LED).
Make sure that the:
  //Turn on the LED if the effect is ON.
  if (digitalRead(FOOTSWITCH)) digitalWrite(LED, HIGH); 
     else  digitalWrite(LED, LOW);
Is included in the main loop, some codes does not have it.
Use the codes from the rar file: www.electrosmash.com/media/kunena/attach...HIELD_2015-04-16.rar
it contains the most up to date sample effects.


I try to reproduce your conditions and using a cheap version of your Hantek and this clean code code (taken from the .rar):
// Licensed under a Creative Commons Attribution 3.0 Unported License.
// Based on rcarduino.blogspot.com previous work.
// www.electrosmash.com/pedalshield
 
/* clean_sampled.ino adds a sampled funtcion to the previous clean_volume program. It sets the output sample rate at 44.1 KHz (CD quality). 
- Main Loop: Both ADCS and potentiometes are read.
- TC4_Handler: It is the sampling funtion, executed every 22.6us(44.1 KHz) adjusts 
the volume and writes de DACs.*/  
 
   int in_ADC0, in_ADC1;  //variables for 2 ADCs values (ADC0, ADC1)
   int POT0, POT1, POT2, out_DAC0, out_DAC1; //variables for 3 pots (ADC8, ADC9, ADC10)
   int LED = 3;
   int FOOTSWITCH = 7; 
   int TOGGLE = 2; 
 
void setup()
{
  /* turn on the timer clock in the power management controller */
  pmc_set_writeprotect(false);
  pmc_enable_periph_clk(ID_TC4);
 
  /* we want wavesel 01 with RC */
  TC_Configure(/* clock */TC1,/* channel */1, TC_CMR_WAVE | TC_CMR_WAVSEL_UP_RC 
  | TC_CMR_TCCLKS_TIMER_CLOCK2);
  TC_SetRC(TC1, 1, 238); // sets <> 44.1 Khz interrupt rate
  //TC_SetRC(TC1, 1, 109); // sets <>   96 Khz interrupt rate
 
  TC_Start(TC1, 1);
 
  // enable timer interrupts on the timer
  TC1->TC_CHANNEL[1].TC_IER=TC_IER_CPCS;
  TC1->TC_CHANNEL[1].TC_IDR=~TC_IER_CPCS;
 
  /* Enable the interrupt in the nested vector interrupt controller */
  /* TC4_IRQn where 4 is the timer number * timer channels (3) + the channel number 
  (=(1*3)+1) for timer1 channel1 */
  NVIC_EnableIRQ(TC4_IRQn);
 
  //ADC Configuration
  ADC->ADC_MR |= 0x80;   // DAC in free running mode.
  ADC->ADC_CR=2;         // Starts ADC conversion.
  ADC->ADC_CHER=0x1CC0;    // Enable ADC channels 0 and 1.  
 
  //DAC Configuration
  analogWrite(DAC0,0);  // Enables DAC0
  analogWrite(DAC1,0);  // Enables DAC0
 
  //pedalSHIELD pin configuration
  pinMode(LED, OUTPUT);  
  pinMode(FOOTSWITCH, INPUT_PULLUP);      
  pinMode(TOGGLE, INPUT_PULLUP);  
}
 
void loop()
{
  //Read the ADCs
  while((ADC->ADC_ISR & 0x1CC0)!=0x1CC0);  // wait for ADC 0, 1, 8, 9, 10 conversion complete.
  in_ADC0=ADC->ADC_CDR[7];             // read data from ADC0
  in_ADC1=ADC->ADC_CDR[6];             // read data from ADC1  
  POT0=ADC->ADC_CDR[10];                   // read data from ADC8        
  POT1=ADC->ADC_CDR[11];                   // read data from ADC9   
  POT2=ADC->ADC_CDR[12];                   // read data from ADC10    
 
  //Turn on the LED if the effect is ON.
  if (digitalRead(FOOTSWITCH)) digitalWrite(LED, HIGH); 
     else  digitalWrite(LED, LOW);
}
 
void TC4_Handler()
{
  // We need to get the status to clear it and allow the interrupt to fire again
  TC_GetStatus(TC1, 1);
 
  //Adjust the volume with POT2
  out_DAC0=map(in_ADC0,0,4095,1,POT2);
  out_DAC1=map(in_ADC1,0,4095,1,POT2);
 
  //Write the DACs
  dacc_set_channel_selection(DACC_INTERFACE, 0);          //select DAC channel 0
  dacc_write_conversion_data(DACC_INTERFACE, out_DAC0);//write on DAC
  dacc_set_channel_selection(DACC_INTERFACE, 1);          //select DAC channel 1
  dacc_write_conversion_data(DACC_INTERFACE, out_DAC1);//write on DAC
}

I get this when the effect is activated:

hantek_clean.jpg


Looks better than yours (output is green, the input looks bad because I am using my phone as a source signal, no DDS). and I wonder why:
  • The input signal that you are using is a bit weak, usually, guitars pickups are around 200mVpp
  • The RV1 input trimmer could be sensitive, move it a bit to make sure that is not adding rust to the mix. (very unlikely but you never know...)
  • By all the tests you did with the power supply seems that the issue is nothing to be with it.

The only thing I can think now is a faulty Arduino DUE board. I remember some folk complaining about having crazy ADC readings when using a chinese copy.
I wonder if the problem is the ADC or the DAC. is the sinewave generator code output clean?
The administrator has disabled public write access.
Time to create page: 0.268 seconds
Powered by Kunena Forum
Joomla SEF URLs by Artio