Лето, жара, USB Холодильник своими руками

11-05-2013, 19:32 Cмотрели: 5136
Для постройки нашего мини холодильника нам необходимо найти или купить элемент Пельтье, что это такое и как работает Вы сможете прочитать ниже, и два радиатора. Вот этот самый элемент Пельтье, я выдрал его из сломанного компа, он там стоял между процессором и кулером. Счистил с него старую термопасту. В двух словах - этот элемент Пельтье при подаче на него постоянного тока начинает работать следующим образом - одна сторона у него начинает греться, а вторая охлаждаться, если поменять полярность источника питания, то стороны элемента будут вести себя наоборот! Далее я взял два массивных радиатора от ненужного усилка. Потом смазал элемент новой термопастой, которую купил в радио магазине, и зажал элемент Пельтье между радиаторов. Использование термопасты в данном случае обязательно...


 Экспедиция в природный парк Усть-Медведицкий (RFF-210)

11-05-2013, 11:13 Cмотрели: 844
В период с 9 по 12 мая 2013 года, команда радиолюбителей г. Волжского Волгоградской области под позывным сигналом RC4A/p, проводит WFF-радиоэкспедицию в Природный парк "Усть-Медведицкий". Референция по программе WFF: RFF-210. По дипломной программе RDA: VG-40 (Серафимовический район Волгоградской области). Запланирована работа в телефоне и телеграфе на диапазонах 3.5, 7, 10, 14, 18, 21, 24, 28 MHz. QSL via UA4ATL (бюро или директ). 73 и 44!


 Пушка Гаусса Из Фотовспышки

11-05-2013, 11:13 Cмотрели: 742
нашёл старую фотовспышку "фотон" 78 года, хочу прицепить котушку но не пойму как, уже все перепробывал(радиоэлектроникой занимаюсь недавно), зарядка кондесатора не идёт, подскажите пожалуйста что да как паять, схема прилагается, спасибо

Прикрепленные миниатюры





  • 2910596_original.png





Раздел: Начинающим


 Проблемы С Памятью

11-05-2013, 11:13 Cмотрели: 807
Здравствуйте.

не могли бы Вы подсказать, как посмотреть,где именно он пишет в некорректную облать памяти.




#include <stdio.h>
#include <stdlib.h>
#include <avr/io.h>
#include <avr/pgmspace.h>
#include <avr/eeprom.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include <inttypes.h>
#include "lcd_lib.h"
//define R2R port
#define R2RPORT PORTA
#define R2RDDR DDRA
//define button port and dedicated pins
#define BPORT PORTD
#define BPIN PIND
#define BDDR DDRD
#define DOWN 0//PORTD
#define LEFT 1//PORTD
#define START 2//PORTD
#define RIGHT 3//PORTD
#define UP 4//PORTD
//Define Highs Speed (HS) signal output
#define HSDDR DDRD
#define HSPORT PORTD
#define HS 5//PD5
//define eeprom addresses
#define EEMODE 0
#define EEFREQ1 1
#define EEFREQ2 2
#define EEFREQ3 3
#define EEDUTY 4
#define EEINIT E2END
#define RESOLUTION 0.095367431640625
#define MINFREQ 0//minimum frequency
#define MAXFREQ 65534//maximum DDS frequency
#define MN_No 5// number of menu items
//function prototypes
void delay1s(void);
void Timer2_Init(void);
void Timer2_Start(void);
void Timer2_Stop(void);
void Main_Init(void);
void Menu_Update(uint8_t);
void Freq_Update(void);
void Timer1_Start(uint8_t);
void Timer1_Stop(void);
void static inline Signal_OUT(const uint8_t *, uint8_t, uint8_t, uint8_t);
//adjust LCDsendChar() function for strema
static int LCDsendstream(char c, FILE *stream);
//----set output stream to LCD-------
static FILE lcd_str = FDEV_SETUP_STREAM(LCDsendstream, NULL, _FDEV_SETUP_WRITE);
//Menu Strings in flash
//menu 1
const uint8_t MN100[] PROGMEM=" exp \0";
//Array of pointers to menu strings stored in flash
const uint8_t *MENU[]={
MN100 //menu 1 string
};
//various LCD strings
const uint8_t MNON[] PROGMEM="ON \0";//ON
const uint8_t MNOFF[] PROGMEM="OFF\0";//OFF
const uint8_t NA[] PROGMEM=" NA \0";//Clear freq value
const uint8_t CLR[] PROGMEM=" \0";//Clear freq value
const uint8_t MNClrfreq[] PROGMEM=" \0";//Clear freq value
const uint8_t TOEEPROM[] PROGMEM="Saving Settings\0";//saving to eeprom
const uint8_t ONEMHZ[] PROGMEM=" 1MHz \0";//saving to eeprom
const uint8_t welcomeln1[] PROGMEM="AVR SIGNAL\0";
const uint8_t RND[] PROGMEM=" Random\0";
//variables to control TDA7313
struct signal{
volatile uint8_t mode; //signal
volatile uint8_t fr1; //Frequency [0..7]
volatile uint8_t fr2; //Frequency [8..15]
volatile int8_t fr3; //Frequency [16..31]
volatile uint32_t freq; //frequency value
volatile uint8_t flag; //if "0"generator is OFF, "1" - ON
volatile uint32_t acc; //accumulator
volatile uint8_t ON;
volatile uint8_t HSfreq; //high speed frequency [1...4Mhz]
volatile uint32_t deltafreq; //frequency step value
}SG;
//define signals
const uint8_t expwave[] __attribute__ ((section (".MySection1")))= //exp wave
{
0x00,0x09,0x12,0x1B,0x23,0x2c,0x34,0x3c,0x43,0x4B,0x52,0x59,0x60,0x67,0x6E,0x74,
0x7A,0x80,0x86,0x8C,0x91,0x97,0x9C,0xA1,0xA6,0xAA,0xAF,0xB3,0xB8,0xBC,0xC0,0xC3,
0xC7,0xCB,0xCE,0xD1,0xD4,0xD7,0xDA,0xDD,0xE0,0xE2,0xE4,0xE7,0xE9,0xEB,0xED,0xEF,
0xF0,0xF2,0xF3,0xF5,0xF6,0xF7,0xF8,0xF9,0xFA,0xFB,0xFC,0xFD,0xFE,0xFE,0xFE,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfe,0xfd,0xfd,0xfc,0xfc,0xfb,0xfa,0xfa,
0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf3,0xf2,0xf1,0xf0,0xee,0xed,0xec,0xea,0xe9,0xe8,
0xe6,0xe5,0xe3,0xe2,0xe0,0xdf,0xdd,0xdb,0xda,0xd8,0xd6,0xd5,0xd3,0xd1,0xd0,0xce,
0xcc,0xca,0xc8,0xc7,0xc5,0xc3,0xc1,0xbf,0xbd,0xbb,0xba,0xb8,0xb6,0xb4,0xb2,0xb0,
0xae,0xac,0xaa,0xa8,0xa6,0xa4,0xa2,0xa1,0x9f,0x9d,0x9b,0x99,0x97,0x95,0x93,0x91,
0x8f,0x8e,0x8c,0x8a,0x88,0x86,0x84,0x82,0x80,0x7e,0x7d,0x7b,0x79,0x77,0x76,0x74,
0x72,0x70,0x6e,0x6d,0x6b,0x69,0x68,0x66,0x64,0x62,0x61,0x5f,0x5d,0x5c,0x5a,0x59,
0x57,0x55,0x54,0x52,0x51,0x4f,0x4e,0x4c,0x4b,0x49,0x48,0x46,0x45,0x44,0x42,0x41,
0x3f,0x3e,0x3d,0x3b,0x3a,0x39,0x37,0x36,0x35,0x34,0x31,0x30,0x2f,0x2e,0x2d,0x2b,
0x2a,0x29,0x29,0x28,0x27,0x26,0x25,0x24,0x23,0x22,0x21,0x20,0x1f,0x1e,0x1d,0x1c,
0x1b,0x1a,0x1a,0x19,0x18,0x17,0x16,0x15,0x15,0x14,0x13,0x12,0x11,0x11,0x10,0x0f,
0x0f,0x0e,0x0d,0x0d,0x0c,0x0b,0x0b,0x0a,0x09,0x09,0x08,0x08,0x07,0x07,0x06,0x06,
};

//array of pointers to signal tables
const uint8_t *SIGNALS[] ={
expwave
};
//adjust LCD stream fuinction to use with printf()
static int LCDsendstream(char c , FILE *stream)
{
LCDsendChar(c);
return 0;
}
//delay 1s
void delay1s(void)
{
uint8_t i;
for(i=0;i<100;i++)
{
_delay_ms(10);
}
}
//initialize Timer2 (used for button reading)
void Timer2_Init(void)
{
TCNT2=0x00;
sei();
}
//start timer2
void Timer2_Start(void)
{
TCCR2|=(1<<CS22)|(1<<CS21); //prescaller 256 ~122 interrupts/s
TIMSK|=(1<<TOV2);//Enable Timer0 Overflow interrupts
}
//stop timer 2
void Timer2_Stop(void)
{
TCCR0&=~((1<<CS22)|(1<<CS21)); //Stop timer0
TIMSK&=~(1<<TOV2);//Disable Timer0 Overflow interrupts
}
//Initial menu
//show initial signal and frequency
//generator is off
void Menu_Update(uint8_t on)
{
LCDclr();
CopyStringtoLCD(MENU[(SG.mode)], 0, 0 );
LCDGotoXY(0, 1);
if (SG.mode==6)
{
CopyStringtoLCD(CLR, 0, 1 );
LCDGotoXY(0, 1);
printf(" %5uHz", (uint16_t)SG.deltafreq);
}
if (SG.mode==7)
{
CopyStringtoLCD(CLR, 0, 1 );
CopyStringtoLCD(RND, 0, 1 );
}
if (SG.mode==8)
{
CopyStringtoLCD(CLR, 0, 1 );
LCDGotoXY(0, 1);
printf(" %5uMHz", SG.HSfreq);
}
if((SG.mode==0)||(SG.mode==1)||(SG.mode==2)||(SG.mode==3)||(SG.mode==4)||(SG.mode==5))
{
CopyStringtoLCD(CLR, 0, 1 );
LCDGotoXY(0, 1);
printf(" %5uHz", (uint16_t)SG.freq);
}
if (SG.mode!=6)
{
if(on==1)
CopyStringtoLCD(MNON, 13, 1 );
else
CopyStringtoLCD(MNOFF, 13, 1 );
}
}
//update frequency value on LCD menu - more smooth display
void Freq_Update(void)
{
if (SG.mode==6)
{
LCDGotoXY(0, 1);
printf(" %5uHz", (uint16_t)SG.deltafreq);
}
if (SG.mode==8)
{
//if HS signal
LCDGotoXY(0, 1);
printf(" %5uMHz", SG.HSfreq);
}
if((SG.mode==0)||(SG.mode==1)||(SG.mode==2)||(SG.mode==3)||(SG.mode==4)||(SG.mode==5))
{
LCDGotoXY(0, 1);
printf(" %5uHz", (uint16_t)SG.freq);
}
}
//External interrupt0 service routine
//used to stop DDS depending on active menu
//any generator is stopped by setting flag value to 0
//DDs generator which is inline ASM is stopped by setting
//CPHA bit in SPCR register
ISR(INT0_vect)
{
SG.flag=0;//set flag to stop generator
SPCR|=(1<<CPHA);//using CPHA bit as stop mark
//CopyStringtoLCD(MNOFF, 13, 1 );
SG.ON=0;//set off in LCD menu
loop_until_bit_is_set(BPIN, START);//wait for button release
}
//timer overflow interrupt service tourine
//checks all button status and if button is pressed
//value is updated
ISR(TIMER2_OVF_vect)
{
if (bit_is_clear(BPIN, UP))
//Button UP increments value which selects previous signal mode
//if first mode is reached - jumps to last
{
if (SG.mode==0)
{
SG.mode=MN_No-1;
}
else
{
SG.mode--;
}
//Display menu item
Menu_Update(SG.ON);
loop_until_bit_is_set(BPIN, UP);
}
if (bit_is_clear(BPIN, DOWN))
//Button Down decrements value which selects next signal mode
//if last mode is reached - jumps to first
{
if (SG.mode<(MN_No-1))
{
SG.mode++;
}
else
{
SG.mode=0;
}
//Display menu item
Menu_Update(SG.ON);
loop_until_bit_is_set(BPIN, DOWN);
}
if (bit_is_clear(BPIN, RIGHT))
//frequency increment
{
if(SG.mode==6)
{
if(SG.deltafreq==10000)
SG.deltafreq=1;
else
SG.deltafreq=(SG.deltafreq*10);
Freq_Update();
loop_until_bit_is_set(BPIN, RIGHT);
}
if (SG.mode==8)
{
//ifhigh speed signal
if(SG.HSfreq==8)
SG.HSfreq=1;
else
SG.HSfreq=(SG.HSfreq<<1);
Freq_Update();
loop_until_bit_is_set(BPIN, RIGHT);
}
if((SG.mode==0)||(SG.mode==1)||(SG.mode==2)||(SG.mode==3)||(SG.mode==4)||(SG.mode==5))
{
if ((0xFFFF-SG.freq)>=SG.deltafreq)
SG.freq+=SG.deltafreq;
Freq_Update();
uint8_t ii=0;
//press button and wait for long press (~0.5s)
do{
_delay_ms(2);
ii++;
}while((bit_is_clear(BPIN, RIGHT))&&(ii<=250));//wait for button release
if(ii>=250)
{
do{
if ((0xFFFF-SG.freq)>=SG.deltafreq)
SG.freq+=SG.deltafreq;
Freq_Update();
}while(bit_is_clear(BPIN, RIGHT));//wait for button release
}
}
}
if (bit_is_clear(BPIN, LEFT))
//frequency decrement
{
if(SG.mode==6)
{
if(SG.deltafreq==1)
SG.deltafreq=10000;
else
SG.deltafreq=(SG.deltafreq/10);
Freq_Update();
loop_until_bit_is_set(BPIN, LEFT);
}
if (SG.mode==8)
{
//ifhigh speed signal
if(SG.HSfreq==1)
SG.HSfreq=8;
else
SG.HSfreq=(SG.HSfreq>>1);
Freq_Update();
loop_until_bit_is_set(BPIN, LEFT);
}
if ((SG.mode==0)||(SG.mode==1)||(SG.mode==2)||(SG.mode==3)||(SG.mode==4)||(SG.mode==5))
{
if (SG.freq>=SG.deltafreq)
SG.freq-=SG.deltafreq;
Freq_Update();
uint8_t ii=0;
//press button and wait for long press (~0.5s)
do{
_delay_ms(2);
ii++;
}while((bit_is_clear(BPIN, LEFT))&&(ii<=250));//wait for button release
if(ii>=250)
{
do{
if (SG.freq>=SG.deltafreq)
SG.freq-=SG.deltafreq;
Freq_Update();
}while(bit_is_clear(BPIN, LEFT));//wait for button release
}
}
}
if (bit_is_clear(BPIN, START))
{
if(SG.mode!=6)
{
//saving last configuration
SG.fr1=(uint8_t)(SG.freq);
SG.fr2=(uint8_t)(SG.freq>>8);
SG.fr3=(uint8_t)(SG.freq>>16);
if (eeprom_read_byte((uint8_t*)EEMODE)!=SG.mode) eeprom_write_byte((uint8_t*)EEMODE,SG.mode);
if (eeprom_read_byte((uint8_t*)EEFREQ1)!=SG.fr1) eeprom_write_byte((uint8_t*)EEFREQ1,SG.fr1);
if (eeprom_read_byte((uint8_t*)EEFREQ2)!=SG.fr2) eeprom_write_byte((uint8_t*)EEFREQ2,SG.fr2);
if (eeprom_read_byte((uint8_t*)EEFREQ3)!=SG.fr3) eeprom_write_byte((uint8_t*)EEFREQ3,SG.fr3);
//Calculate frequency value from restored EEPROM values
SG.freq=(((uint32_t)(SG.fr3)<<16)|((uint32_t)(SG.fr2)<<8)|((uint32_t)(SG.fr1)));
//calculate accumulator value
SG.acc=SG.freq/RESOLUTION;
SG.flag=1;//set flag to start generator
SG.ON=1;//set ON on LCD menu
SPCR&=~(1<<CPHA);//clear CPHA bit in SPCR register to allow DDS
//Stop timer2 - menu inactive
Timer2_Stop();
//display ON on LCD
Menu_Update(SG.ON);
}
loop_until_bit_is_set(BPIN, START);//wait for button release
}
}
/*DDS signal generation function
Original idea is taken from
http://www.myplace.nu/avr/minidds/index.htm
small modification is made - added additional command which
checks if CPHA bit is set in SPCR register if yes - exit function
*/
void static inline Signal_OUT(const uint8_t *signal, uint8_t ad2, uint8_t ad1, uint8_t ad0)
{
asm volatile( "eor r18, r18 ;r18<-0" "\n\t"
"eor r19, r19 ;r19<-0" "\n\t"
"1:" "\n\t"
"add r18, %0 ;1 cycle" "\n\t"
"adc r19, %1 ;1 cycle" "\n\t"
"adc %A3, %2 ;1 cycle" "\n\t"
"lpm ;3 cycles" "\n\t"
"out %4, __tmp_reg__ ;1 cycle" "\n\t"
"sbis %5, 2 ;1 cycle if no skip" "\n\t"
"rjmp 1b ;2 cycles. Total 10 cycles" "\n\t"
:
:"r" (ad0),"r" (ad1),"r" (ad2),"e" (signal),"I" (_SFR_IO_ADDR(PORTA)), "I" (_SFR_IO_ADDR(SPCR))
:"r18", "r19"
);
}
void Timer1_Start(uint8_t FMHz)
{
switch(FMHz){
case 1:
//start high speed (1MHz) signal
OCR1A=7;
break;
case 2:
OCR1A=3;//2MHz
break;
case 4:
OCR1A=1;//4MHz
break;
case 8:
OCR1A=0;//8MHz
break;
default:
OCR1A=7;//defauls 1MHz
break;}
//Output compare toggles OC1A pin
TCCR1A=0x40;
//start timer without prescaler
TCCR1B=0b00001001;
}
void Timer1_Stop(void)
{
TCCR1B=0x00;//timer off
}
//main init function
void Main_Init(void)
{
//stderr = &lcd_str;
stdout = &lcd_str;
//--------init LCD----------
LCDinit();
LCDclr();
LCDcursorOFF();
//-------EEPROM initial values----------
if (eeprom_read_byte((uint8_t*)EEINIT)!='T')
{
eeprom_write_byte((uint8_t*)EEMODE,0x00);//initial mode 0 – OUT~~~~;
eeprom_write_byte((uint8_t*)EEFREQ1,0xE8);//initial frequency 1kHz
eeprom_write_byte((uint8_t*)EEFREQ2,0x03);
eeprom_write_byte((uint8_t*)EEFREQ3,0x00);
eeprom_write_byte((uint8_t*)EEINIT,'T');//marks once that eeprom init is done
//once this procedure is held, no more initialization is performed
}
//------restore last saved values from EEPROM------
SG.mode=eeprom_read_byte((uint8_t*)EEMODE);
SG.fr1=eeprom_read_byte((uint8_t*)EEFREQ1);
SG.fr2=eeprom_read_byte((uint8_t*)EEFREQ2);
SG.fr3=eeprom_read_byte((uint8_t*)EEFREQ3);
SG.freq=(((uint32_t)(SG.fr3)<<16)|((uint32_t)(SG.fr2)<<8)|((uint32_t)(SG.fr1)));
SG.acc=SG.freq/RESOLUTION;
SG.flag=0;
//default 1MHz HS signal freq
SG.HSfreq=1;
SG.deltafreq=100;
//------------init DDS output-----------
R2RPORT=0x00;//set initial zero values
R2RDDR=0xFF;//set A port as output
//-------------set ports pins for buttons----------
BDDR&=~(_BV(START)|_BV(UP)|_BV(DOWN)|_BV(RIGHT)|_BV(LEFT));
BPORT|=(_BV(START)|_BV(UP)|_BV(DOWN)|_BV(RIGHT)|_BV(LEFT));
//---------set ports pins for HS output---------
HSDDR|=_BV(HS);//configure as output
//-----------Menu init--------------
SG.ON=0;//default signal is off
Menu_Update(SG.ON);
//-----------Timer Init-------------
Timer2_Init();
//Start Timer with overflow interrupts
Timer2_Start();
}
int main(void)
{
//Initialize
Main_Init();
while(1)//infinite loop
{
if (SG.flag==1)
{
GICR|=(1<<INT0);//set external interrupt to enable stop
if (SG.mode==7)
{
//Noise
do
{
R2RPORT=rand();
}while(SG.flag==1);
//set signal level to 0
R2RPORT=0x00;
//display generator OFF
Menu_Update(SG.ON);
//stop external interrupt
GICR&=~(1<<INT0);
//start timer menu active
Timer2_Start();
}
/* else if (SG.mode==6)
{
//freq step
while((SG.flag==1))
{
//not implemented
CopyStringtoLCD(NA, 0, 1 );
}
//set signal level to 0
R2RPORT=0x00;
//display generator OFF
Menu_Update(SG.ON);
GICR&=~(1<<INT0);//|(1<<INT1);//stop external interrupt
//start timer menu active
Timer2_Start();
}*/
else if (SG.mode==8)
{
//High speed signal
Timer1_Start(SG.HSfreq);
while((SG.flag==1))
{
//not implemented
CopyStringtoLCD(MNON, 13, 1 );
}
Timer1_Stop();//timer off
//set HS pin to LOW
HSPORT&=~(1<<HS);
//display generator OFF
Menu_Update(SG.ON);
GICR&=~(1<<INT0);//|(1<<INT1);//stop external interrupt
//start timer menu active
Timer2_Start();
}
else
{
//start DDS
Signal_OUT(SIGNALS[SG.mode],
(uint8_t)((uint32_t)SG.acc>>16),
(uint8_t)((uint32_t)SG.acc>>8),
(uint8_t)SG.acc);
//set signal level to 0
R2RPORT=0x00;
//display generator OFF
Menu_Update(SG.ON);
GICR&=~(1<<INT0);//|(1<<INT1);//stop external interrupt
//start timer menu active
Timer2_Start();
}
}
}
return 0;
}



ошибка section .MySection1 loaded at [000016ce,000017cd] overlaps section .data loaded at [000016ce,000016f5]



Подскажите пожалуйста,где посмотреть, по какой причине он так записывает в память.

Гуглила, ничего толкого не нашла.

Заранее спасибо.
Раздел: Песочница или Вопрос-Ответ


 Переключатель На Блоке

11-05-2013, 11:13 Cмотрели: 732
Добрый день, имеется блок АТХ типа 430W, на нем есть переключатель для чего он служит? На переключателе написано в одном положении 230 в другом 115. Я так понял блок может работать на разное напряжение 110, 220? Блок был не исправен и был вскрыт до меня, хотел проверить 3 линии на питания, блок проверялся без компьютера, замкнул я центр(зеленый) и землю(черный) провода, когда переключатель стоял на 230, ни на одной линии не было питания, после чего перекинул на 115 (была моя глупость), перемычка как стояла так и стоит, вроде все нормально, но стоило мне достронуться крастного провода одним щупом мультиметра (2 щуп не был подключен), как сгорела проводка где-то в стене (не провод блока)..пробки стояли на 16А в счетчике, но они не сработали..кто знает в чем причина и что это за переключатель?

Прикрепленные миниатюры





  • блок.jpg





Раздел: Начинающим


 Динамики 75Гдн-4Л-4

11-05-2013, 11:13 Cмотрели: 954
Продам по Украине 2 динамика 75ГДН-4Л-4.Практически новые.Цена 400 грн. пара.
Раздел: Продам


 Автоматика Компрессора

11-05-2013, 11:13 Cмотрели: 935
Хочу сделать чтобы компрессор отключался при достигнутом давлении и включался когда давление упадет до определенного уровня. Как подключить электро-контактный манометр к магнитному пускателю? нужно ли еще какое нибудь промежуточное реле? двигатель 380В около 4кВт

10052013926.jpg
10052013927.jpg
10052013929.jpg
10052013930.jpg

Прикрепленные миниатюры





  • 10052013933.jpg





Раздел: Электрика


 Вопрос На Счет Амфитон 25У-002С

11-05-2013, 11:13 Cмотрели: 1442
Здравствуйте товарищи!



Недавно нашел усилитель у помойки. Забрал домой. Включил - работает!

Сейчас использую для тыловых S-30x. Проблема в том, что срабатывает защита, на ~ 50% мощности. При этом если перевести баланс на правый канал - на 80-85%.

На фронту стоят старенькие, активные SVEN SPS-866.

Вопрос:

Стоит ли восстанавливать его (перепаивать электролиты и т.д. (если да то какие)) или лучше выкинуть "начинку" амфитона и сделать из него (в идеале 4-х канальный) на TDA2050?



Просто знаниями в электронике особо не располагаю, так что не судите строго Вопрос На Счет Амфитон 25У-002С
Раздел: Усилители мощности


 Atmega8535+Mcp23S17

11-05-2013, 11:13 Cмотрели: 1080
Привет всем!



Взгляните на данный код:



#include <mega8535.h>
// MCP23S17 SPI Slave Device
#define SPI_SLAVE_ID 0x40
#define SPI_SLAVE_ADDR 0x00
#define SPI_SLAVE_WRITE 0x00
#define SPI_SLAVE_READ 0x01// MCP23S17 Registers Definition for BANK=0 (default)
#define IODIRA 0x00
#define IODIRB 0x01
#define IOCONA 0x0A
#define GPPUA 0x0C
#define GPPUB 0x0D
#define GPIOA 0x12
#define GPIOB 0x13


#define SPI_CS 0
// SPI functions
#define SPI_ACTIVE_SS(PORT,SPI_CS) PORT &= ~(1<<SPI_CS);
#define SPI_UNACTIVE_SS(PORT,SPI_CS) PORT |= (1<<SPI_CS);
// Declare your global variables here

void SPI_write(unsigned char addr,unsigned char data)
{
SPI_ACTIVE_SS(PORTB,0);
SPDR = SPI_SLAVE_ID | ((SPI_SLAVE_ADDR << 1) & 0x0E)| SPI_SLAVE_WRITE;
while(!(SPSR & (1<<SPIF)));
SPDR = addr;
while(!(SPSR & (1<<SPIF)));
SPDR = data;
while(!(SPSR & (1<<SPIF)));
SPI_UNACTIVE_SS(PORTB,0);
}

interrupt [TIM2_OVF] void timer0_ovf(void)
{

TCNT2=200;





}
void main(void)
{

PORTA=0x01;
DDRA=0x00;


DDRB=0xB1;


ASSR=0x00;
TCCR2=0x07;
TCNT2=200;
OCR2=0x00;

TIMSK=(1<<TOIE2);

ACSR=0x80;
SFIOR=0x00;

SPCR=0x50;
SPSR=0x00;

SPI_write(IOCONA,0x20); // I/O Control Register: BANK=0, SEQOP=1, HAEN=1 (Enable Addressing)
SPI_write(IODIRA,0x00); // GPIOA As Output
//SPI_Write(IODIRB,0xFF); // GPIOB As Input
//SPI_Write(GPPUB,0xFF); // Enable Pull-up Resistor on GPIOB
SPI_write(GPIOA,0x00);
#asm("sei")
while(1)
{
if (!(PINA&0x01)){
SPI_write(GPIOA ,0x01);
}
else
SPI_write(GPIOA ,0x00);
}

}

Данный простейший код который просто проверяет на правильность написанного кода для расширителя порта MCP23S17. На протеусе симулируется на гуд. А в реале Обнаруживается постоянная лог.1 в регистре MOSI при просмотре осциллографом.

А если в цикле while кода изменить так:


while(1)
{

SPI_write(GPIOA ,0x01);
SPI_write(GPIOA ,0x00);

}

}

То код работает и MOSI работает как надо.

Помогите люди с данной проблемой!! Кстати данный код работает только регистром MOSI, но ни как не влияет на работу расширителя в реале. А в протуесе даже бесконечная отправка данных по SPI влияет на работу расширителя то есть регистре GPA0 наблюдается изменение. Схему показывать не буду так как там ничего не обычного



-> питание общее для всей схемы

-на МК (с фильтром по питанию) - +5V

-на MCP23S17(без фильтра) - +5V



->ножки MOSI MISO SCK SS(CS)

-подключены на прямую \\MISO-SO\\ MOSI-SI\\ SCK-SCK\\ SS(PORTB.0)-CS



-> ножка RESET

-в МК не натянута на питание через 10кОмный резистор(т.к. пока это не важно)

-в MCP23S17 ножку подал +5V.



->MCP23S17

-ножка GPA0 подана на LED с резистором номиналом 120 Ом

-ножки A0 A1 A2 - не затронуты.

Какую инфу дать еще для быстрой помощи от Уважаемых форумчан?

Вот проект, писал на другом форусе, но там не смогли мне помочь.

http://chipenable.ru/media/kunena/attachments/8897/Spi-mcp23.rar

Раздел: AVR


 Восстановление Карты Памяти Microsdhc 4Gb (Class 4)

11-05-2013, 11:13 Cмотрели: 709
Здравствуйте. Подскажите, возможно ли как то решить данную проблему?

Вообщем купил я на Ebay флэшку, попалась первая за 4 зеленых, ну взял ее. Неизвестного производителя. Вообщем когда получил телефон Nokia 6500 slide, начал ее использовать. При заливании на нее музыки, Windows выдает ошибку, устройство больше недоступно или что-то в этом роде, а в трее CHKDSK выдает ошибку что повреждены сектора (точно непомню. запустить надо CHKDSK через командную строку надо. Ну файлы с горем пополам заливаются, однако их на 1,5Гб, а телефон говорит 872Мб. Опять форматирую, заново закину, вроде нормально становится. Но еще подобные ошибки выдает и телефон. К примеру в игре Gravity Defied повреждаются сохранения и при следующем запуске игра выдает ошибку и не запускается. Камера фотографирует и выдает ошибка сохранения и переводится в режим ожидания. Проигрыватель тьфу-тьфу без глюков проигрывает музыку.



Возможно ли восстановить флешку? Выполнял стандартную проверку (в свойствах карты ) на ошибки и дефрагментацию. Заливал через картридер, PC Suite и телефон в режиме накопителя - одно и то же

Вот фотографии этого чуда

Прикрепленные миниатюры





  • Фото001.jpg





  • Фото005.jpg





Раздел: Разное


 Куплю Милливольтметр Типа В3-38\40.

11-05-2013, 11:13 Cмотрели: 845
Куплю указанный девайс, можно  в нерабочем состоянии за недорого и желательно в Москве.  Можно на что-нить поменяться ... Куплю Милливольтметр Типа В3-38&#092;40.
Раздел: Куплю


 Управление Через Usb Включателем, Выключателем

11-05-2013, 11:13 Cмотрели: 852
имею беспроводной гаджет для управления люстрой,  нажав на пульт можно включать, выключать лампы. Вопрос! как подключить беспроводной пульт к USB порту, чтоб можно был включать кнопки на пульту, по средствам юзб парта. Нужно чтоб  юзб порт замыкал и не посредствено размыкал.
Раздел: Самодельные устройства к компьютеру


 Осциллограф С1-112

11-05-2013, 11:13 Cмотрели: 3386
Разобранный аппарат,на запчасти!Возможно рабочий!Москва,цена 200 руб.

Прикрепленные миниатюры





  • IMG_20130510_204730.jpg





Раздел: Продам


 Повышающий Преобразователь Для Солнечных Батарей

11-05-2013, 11:13 Cмотрели: 1061
Нашел такие солнечные элементы http://www.ebay.com/...=item33765c9804

хочу собрать стабилизированный ИП/зарядник 12.6В 1.5А

выходит так, что 10 элементом дадут среднее напряжение и ток 5В, 3.8А

соотв. нужен повышающий преобразователь, самая простая схема (важен размер и вес)

Остановился на непосредственном инвертирующем повышающей преобразователе http://www.hserv.ru/...y/inverting.php

Вопросы такие:

1) Норм. ли схема для поставленной задачи?

2) Достоинства и недостатки схема

3) Расчет.



Почему-то нашел мало инфы по этой схеме.

Выбрал ее потому что ключ здесь вкл. последовательно. Тоесть найти высоковольтный МОП на ток нагрузки не сложно.

например IRF540N 100 V, 33 A, Rds = 0.044 Ом тоесть стат. потери около 100мВт наверное даже радиатор не нужен )
Раздел: Схемотехника для начинающих


 Трансформатор (Совет В Подключении)

11-05-2013, 11:13 Cмотрели: 3310
Нужен совет как подключить трансформатор. Куда 220. Где искать выход 12-15?

Транформатор ЕИ4 704 047

Изображение 011.jpg


На другой стороне написано



Выводы 1-2(1-2) Провод ПЭВТЛ-10,45, Кол-тво витков 475

Выводы 3-4(3-4) Провод ПЭВТЛ-10-28, Кол-тво витков 285

Выводы 5-6(5-6) Провод ПЭВТЛ-10,9 Кол-тво витков 38

Выводы 6-7(6-7) Провод ПЭВТЛ-10,9 Кол-тво витков 12

Выводы 8-9(8-9) Провод ПЭВТЛ-10,28 Кол-тво витков 68
Раздел: Песочница или Вопрос-Ответ


 Сенсорный Экран + Пк

11-05-2013, 11:13 Cмотрели: 725
Появилась мысль можно ли как приделать к ПК сенсорный экран (телефона или gps навигатора) по средствам USB или паять прям к матери ?

Чтобы в конце экран имел свойства Тачпада и ещё выводилась клавиатура для печатания. И надо дополнительное ПО для такого ?
Раздел: Самодельные устройства к компьютеру


 Усилитель Tda2616

11-05-2013, 11:13 Cмотрели: 3199
кто нибудь собирал на ней усь ? если можно подкиньте печатку в нете не на шол. интересует 2.1 ну можно и просто стерео
Раздел: Для начинающих


 Не Работает Телевизор

11-05-2013, 11:13 Cмотрели: 755
Имеется телевизор Rubin 55sm10-6 у которого начал полосить экран снизу, тоесть картинка сдвигалась на пару сантиметров снизу экрана но не полностью а полосами...вкрыл обнаружил что в нем когда то был ремонт и вместо конденсатора c314 который судя по схеме просто просадочный и весит на землю весит примерно такой на 25в и уже подсохший..заменил выяснилось что дело не в нем, более того теперь картинка вообще не на весь экран да еще и снизу вообще теперь темная полоса шириной в 10см...более того интересно что по схеме должно быть напряжение на этом кондере 14 вольт а там все 30 и кондер кстати греется... подскажите куда смотреть раньше с телеками дела не имел да, а отдать в ремонт вообще не представляется возможным
Раздел: Песочница или Вопрос-Ответ


 Наушники Ath-A900X

11-05-2013, 11:13 Cмотрели: 1084
Продам наушники ATH-A900X, прослушивались несколько раз, не разогретые. 7500р плюс пересыл.

Наушники Ath-A900X

Наушники Ath-A900X

Наушники Ath-A900X
Раздел: Продам


 Toshiba анонсировала телевизоры с DivX Plus Streaming

11-05-2013, 11:13 Cмотрели: 669
Компания Toshiba совместно с Rovi собирается выпустить серию HD-телевизоров, которые будут поддерживать стриминг DivX Plus. Добавление нового стандарта позволит пользователям наслаждаться потоковым контентом с поддержкой некоторых функций, к которым они привыкли еще при просмотре DVD и Blu-ray (выбор субтитров на...
Toshiba анонсировала телевизоры с DivX Plus StreamingToshiba анонсировала телевизоры с DivX Plus Streaming
Toshiba анонсировала телевизоры с DivX Plus Streaming


 Подставка-кулер Thermaltake LifeCool II для больших ноутбуков

11-05-2013, 11:13 Cмотрели: 625
Полноразмерным ноутбукам, как и их более компактным родственникам, тоже требуется охлаждение, иногда даже дополнительное. Вариантов избавления от невыносимой жары для 17-дюймовых лэптопов не так уж много — вентилятор или кондиционер, или же можно поискать специальную подставку-кулер, коих под такие габариты...
Подставка-кулер Thermaltake LifeCool II для больших ноутбуковПодставка-кулер Thermaltake LifeCool II для больших ноутбуков


 Видеокарта PowerColor Radeon HD 7850 SCS3 работает бесшумно

11-05-2013, 11:13 Cмотрели: 853
Геймерам, ведущим ночной образ жизни и разделяющим территорию с родственниками, просто необходим мощный, но в то же время бесшумный компьютер, который не жужжит десятками кулеров во время работы. Первым шагом к избавлению от вентиляторов может стать установка видеокарты Radeon HD...
Видеокарта PowerColor Radeon HD 7850 SCS3 работает бесшумноВидеокарта PowerColor Radeon HD 7850 SCS3 работает бесшумно


 Видеокарты GeForce GTX 780 и GeForce GTX 770 поучаствовали в фотосессии

11-05-2013, 11:13 Cмотрели: 639
Компания NVIDIA еще не успела анонсировать видеокарты GeForce GTX 780 и GeForce GTX 770, а они уже вовсю фотографируются, нагло пользуясь услугами неизвестных фотографов. Первые кадры с референсными видеоадаптерами уже появились в Интернете, и на первый взгляд они отличаются друг...
Видеокарты GeForce GTX 780 и GeForce GTX 770 поучаствовали в фотосессииВидеокарты GeForce GTX 780 и GeForce GTX 770 поучаствовали в фотосессии
Видеокарты GeForce GTX 780 и GeForce GTX 770 поучаствовали в фотосессии


 Nokia переместила заказы ЖК-панелей на мощности Innolux и CPT вместо Samsung

11-05-2013, 11:13 Cмотрели: 657
Как сообщают тайваньские индустриальные источники, Nokia постепенно переносит заказы ЖК-панелей из Samsung Display, перемещая их на мощности Innolux Corporation и Chunghwa Picture Tubes (CPT). Произошло это якобы в результате последних регулирований доступных для размещения заказа мощностей со стороны Samsung.Утверждается, что...
Nokia переместила заказы ЖК-панелей на мощности Innolux и CPT вместо SamsungNokia переместила заказы ЖК-панелей на мощности Innolux и CPT вместо Samsung


 Бывший специалист по рекламе Apple считает, что iPhone может последовать по пути iPod

11-05-2013, 11:13 Cмотрели: 680
Когда Apple впервые представила iPod, устройство выпускалось в единственном формате, но с течением лет линейка карманных музыкальных проигрывателей была расширена разнообразными вариантами вроде iPod Shuffle, iPod Nano, iPod touch и так далее. По мнению бывшего специалиста по рекламе Apple Кена...
Бывший специалист по рекламе Apple считает, что iPhone может последовать по пути iPodБывший специалист по рекламе Apple считает, что iPhone может последовать по пути iPod

1 2
Предыдущая    Следующая


Опрос

Ваши предпочтения в TRX


Одинарное преобразование
Двойное преобразование
Прямое преобразование
SDR
Другое
Мне всё равно

Популярные новости
Календарь новостей
«    Май 2013    »
ПнВтСрЧтПтСбВс
 12345
6789101112
13141516171819
20212223242526
2728293031