Перейти к содержанию

помогите с программой в cvavr


begun

Рекомендуемые сообщения

здравствуйте,

есть программа для протеусовского дисплея с контроллером sed1520 на cvavr, которая четко работает в протеусе, но открыл исходник в cvavr 3.12,
скомпелир и выдает 2 error.
---------------------------------------------

#include ‹mega32.h›
#include ‹delay.h›
#include "sed1520.h"
#include "sed1520.c"
#define DELAY 2 /* hundrets of milliseconds (20 -› 2s) */

/* update display (framebuffer to LCD-RAM and delay for t*100 ms */
void demo_upd_delay(unsigned char t)
{ unsigned char i;

lcd_update_all();
for (i=0; i‹t; i++)
{ delay_ms(50);
delay_ms(50);
};
}
void main(void)
{
// Declare your local variables here
unsigned char a,b;

lcd_init(); /* initialize display */

while (1)
{ lcd_erase(); // clear display

// single dots
lcd_dot_set(0,0);
lcd_dot_set(121,0);
lcd_dot_set(0,31);
lcd_dot_set(121,31);
lcd_dot_set(60,15);
demo_upd_delay(DELAY);


//Рамка
lcd_rect(0,0,122,32,LCD_MODE_SET);
lcd_rect(2,2,118,28,LCD_MODE_SET);


//Диагональ

lcd_line(2,2,119,29,LCD_MODE_SET);
lcd_line(119,1,1,29,LCD_MODE_SET);
demo_upd_delay(DELAY);

lcd_erase();

for (a=5;a‹=8;a++) { lcd_circle(60,15,a,LCD_MODE_SET);
demo_upd_delay(DELAY);
lcd_circle(60,15,a,LCD_MODE_CLEAR);
};


// text and fonts

// Пишем русским шрифтом
//Это первая строка клавиатуры
lcd_erase();
lcd_text_p(0,0,&rus_shot,"Ghbdtn dctv! Ehf!!");
lcd_text_p(0,8,&rus_shot,"qwertyuiop[]\\");
lcd_text_p(0,16,&rus_shot,"QWERTYUIOP{}|");
demo_upd_delay(DELAY);
//Вторая строка клавиатуры
lcd_erase();
lcd_text_p(0,8,&rus_shot,"ASDFGHJKL:""");
lcd_text_p(0,16,&rus_shot,"asdfghjkl;'");
demo_upd_delay(DELAY);
//Третья строка клавиатуры
lcd_erase();
lcd_text_p(0,8,&rus_shot,"ZXCVBNM‹›?");
lcd_text_p(0,16,&rus_shot,"zxcvbnm,./");
demo_upd_delay(DELAY);
//Строка с цифрами и доп знаками
lcd_erase();
lcd_text_p(0,8,&rus_shot,"`1234567890-=");
lcd_text_p(0,16,&rus_shot,"~!@#$%^&*()_+ вне таблицы");
demo_upd_delay(DELAY);

//Латинский шрифт
lcd_erase();
//lcd_text_p(0,0,&FONT_FIVE_DOT,"qwertyuiopasdfghjkl ");
lcd_text_p(0,8,&FONT_SEVEN_DOT,"qwertyuiopasdfghjk l");
demo_upd_delay(DELAY);

// inverse
lcd_box(2,2,118,28,LCD_MODE_XOR);
demo_upd_delay(DELAY);

// Большой шрифт for a clock
lcd_erase();
lcd_text_p(4,7,&FONT_EIGHTEEN_DOT,"12:34:56");
demo_upd_delay(DELAY);

// fonts & inverse
//lcd_text(5,0,FONT_NINE_DOT,"EW12A03GLY");
lcd_erase();
lcd_text_p(5,16,&FONT_SEVEN_DOT,"Proteus VSM");
demo_upd_delay(DELAY);
lcd_box(0,0,SCRN_RIGHT+1,SCRN_BOTTOM+1,LCD_MODE_XO R);
demo_upd_delay(DELAY);
lcd_box(0,0,SCRN_RIGHT+1,SCRN_BOTTOM+1,LCD_MODE_XO R);
demo_upd_delay(DELAY);

// bitmap
lcd_erase();
lcd_bitmap(90, 1, &icon1_bmp, LCD_MODE_SET);
demo_upd_delay(DELAY);

lcd_erase();
lcd_bitmap(0, 0, &frame_bmp, LCD_MODE_SET);
demo_upd_delay(DELAY);

lcd_erase();
lcd_bitmap(0, 0, &icon_aist, LCD_MODE_SET);
demo_upd_delay(DELAY);
};

}
---------------------------------------------------------
после компиляции два ерора

------------------------------------------------------------
нашел программу для протеусовского дисплея с контроллером sed1520 на cvavr которая четко работает в протеусе но открыл исходник в cvavr 3.12
скомпелир и выдает 2 error.
---------------------------------------------

#include ‹mega32.h›
#include ‹delay.h›
#include "sed1520.h"
#include "sed1520.c"
#define DELAY 2 /* hundrets of milliseconds (20 -› 2s) */

/* update display (framebuffer to LCD-RAM and delay for t*100 ms */
void demo_upd_delay(unsigned char t)
{ unsigned char i;

lcd_update_all();
for (i=0; i‹t; i++)
{ delay_ms(50);
delay_ms(50);
};
}
void main(void)
{
// Declare your local variables here
unsigned char a,b;

lcd_init(); /* initialize display */

while (1)
{ lcd_erase(); // clear display

// single dots
lcd_dot_set(0,0);
lcd_dot_set(121,0);
lcd_dot_set(0,31);
lcd_dot_set(121,31);
lcd_dot_set(60,15);
demo_upd_delay(DELAY);


//Рамка
lcd_rect(0,0,122,32,LCD_MODE_SET);
lcd_rect(2,2,118,28,LCD_MODE_SET);


//Диагональ

lcd_line(2,2,119,29,LCD_MODE_SET);
lcd_line(119,1,1,29,LCD_MODE_SET);
demo_upd_delay(DELAY);

lcd_erase();

for (a=5;a‹=8;a++) { lcd_circle(60,15,a,LCD_MODE_SET);
demo_upd_delay(DELAY);
lcd_circle(60,15,a,LCD_MODE_CLEAR);
};


// text and fonts

// Пишем русским шрифтом
//Это первая строка клавиатуры
lcd_erase();
lcd_text_p(0,0,&rus_shot,"Ghbdtn dctv! Ehf!!");
lcd_text_p(0,8,&rus_shot,"qwertyuiop[]\\");
lcd_text_p(0,16,&rus_shot,"QWERTYUIOP{}|");
demo_upd_delay(DELAY);
//Вторая строка клавиатуры
lcd_erase();
lcd_text_p(0,8,&rus_shot,"ASDFGHJKL:""");
lcd_text_p(0,16,&rus_shot,"asdfghjkl;'");
demo_upd_delay(DELAY);
//Третья строка клавиатуры
lcd_erase();
lcd_text_p(0,8,&rus_shot,"ZXCVBNM‹›?");
lcd_text_p(0,16,&rus_shot,"zxcvbnm,./");
demo_upd_delay(DELAY);
//Строка с цифрами и доп знаками
lcd_erase();
lcd_text_p(0,8,&rus_shot,"`1234567890-=");
lcd_text_p(0,16,&rus_shot,"~!@#$%^&*()_+ вне таблицы");
demo_upd_delay(DELAY);

//Латинский шрифт
lcd_erase();
//lcd_text_p(0,0,&FONT_FIVE_DOT,"qwertyuiopasdfghjkl ");
lcd_text_p(0,8,&FONT_SEVEN_DOT,"qwertyuiopasdfghjk l");
demo_upd_delay(DELAY);

// inverse
lcd_box(2,2,118,28,LCD_MODE_XOR);
demo_upd_delay(DELAY);

// Большой шрифт for a clock
lcd_erase();
lcd_text_p(4,7,&FONT_EIGHTEEN_DOT,"12:34:56");
demo_upd_delay(DELAY);

// fonts & inverse
//lcd_text(5,0,FONT_NINE_DOT,"EW12A03GLY");
lcd_erase();
lcd_text_p(5,16,&FONT_SEVEN_DOT,"Proteus VSM");
demo_upd_delay(DELAY);
lcd_box(0,0,SCRN_RIGHT+1,SCRN_BOTTOM+1,LCD_MODE_XO R);
demo_upd_delay(DELAY);
lcd_box(0,0,SCRN_RIGHT+1,SCRN_BOTTOM+1,LCD_MODE_XO R);
demo_upd_delay(DELAY);

// bitmap
lcd_erase();
lcd_bitmap(90, 1, &icon1_bmp, LCD_MODE_SET);
demo_upd_delay(DELAY);

lcd_erase();
lcd_bitmap(0, 0, &frame_bmp, LCD_MODE_SET);
demo_upd_delay(DELAY);

lcd_erase();
lcd_bitmap(0, 0, &icon_aist, LCD_MODE_SET);
demo_upd_delay(DELAY);
};

}
---------------------------------------------------------
после компиляции два ерора;

------------------------------------------------------------
Error: D:\LCD-all info\sed1520\SED1520 for CVAVR\sed1520.h(61), #included from: main_sokol.c: storage modifier not allowed in this context
----------------------------------------------------
Error: D:\LCD-all info\sed1520\SED1520 for CVAVR\sed1520.h(72), #included from: main_sokol.c: storage modifier not allowed in this context
----------------------------------------------
и что интересно в двух строчек
в начале программы ,sed1520.h и sed1520.c они синего цвета.может это на что то указывает.

#include "sed1520.h"
#include "sed1520.c"-

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

добрый день

дело как раз в том что если бы прогу написал я и вопросов бы не было

этот исходник с инета и с саита которого наверно уже нет

потому и не разобрался опираясь на свои знания

надежда на знающих и более подготовленных

а что сишник мешает в компиляции?

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

/* equate the LCD Controller control signals to their port assignments */
#define LCDDATAPORT  PORTA
#define LCDDATADDR   DDRA
#define LCDCTRLPORT  PORTB
#define LCDCTRLDDR   DDRB
#define LCDCMDPIN    0
#define LCDE1PIN     1
#define LCDE2PIN     2
/* draw modes */
#define LCD_MODE_CLEAR     0
#define LCD_MODE_SET       1
#define LCD_MODE_XOR       2
/* command function equates for SED1520 LCD Display Controller */
#define LCD_DISP_OFF       0xAE    /* turn LCD panel OFF */
#define LCD_DISP_ON        0xAF    /* turn LCD panel ON */
#define LCD_SET_LINE       0xC0    /* set line for COM0 (4 lsbs = ST3:ST2:ST1:ST0) */
#define LCD_SET_PAGE       0xB8    /* set page address (2 lsbs = P1:P0) */
#define LCD_SET_COL        0x00    /* set column address (6 lsbs = Y4:Y4:Y3:Y2:Y1:Y0) */
#define LCD_SET_ADC_NOR    0xA0    /* ADC set for normal direction */
#define LCD_SET_ADC_REV    0xA1    /* ADC set for reverse direction */
#define LCD_STATIC_OFF     0xA4    /* normal drive */
#define LCD_STATIC_ON      0xA5    /* static drive (power save) */
#define LCD_DUTY_16        0xA8    /* driving duty 1/16 */
#define LCD_DUTY_32        0xA9    /* driving duty 1/32 */
#define LCD_SET_MODIFY     0xE0    /* start read-modify-write mode */
#define LCD_CLR_MODIFY     0xEE    /* end read-modify-write mode */
#define LCD_RESET          0xE2    /* soft reset command */
/* LCD screen and bitmap image array consants */
#define LCD_X_BYTES        122
#define LCD_Y_BYTES        4
#define SCRN_LEFT        0
#define SCRN_TOP        0
#define SCRN_RIGHT        121
#define SCRN_BOTTOM        31
/* pixel level bit masks for display */
/* this array is setup to map the order */
/* of bits in a byte to the vertical order */
/* of bits at the LCD controller */
/* control-lines hardware-interface (only "write") */
#define LCD_CMD_MODE()     LCDCTRLPORT &= ~(1<<LCDCMDPIN)
#define LCD_DATA_MODE()    LCDCTRLPORT |=  (1<<LCDCMDPIN)
#define LCD_ENABLE_E1()    LCDCTRLPORT &= ~(1<<LCDE1PIN)
#define LCD_DISABLE_E1()   LCDCTRLPORT |=  (1<<LCDE1PIN)
#define LCD_ENABLE_E2()    LCDCTRLPORT &= ~(1<<LCDE2PIN)
#define LCD_DISABLE_E2()   LCDCTRLPORT |=  (1<<LCDE2PIN)
//Для совместимости с GNU 
//#define pgm_read_byte(x)         (*((unsigned char flash *)(x)))
//#define pgm_read_word(x)         (*((unsigned short flash *)(x)))

/* SED1520 is used with reverse direction (ADC_REV). 
   This value is the address of the leftmost column: */

#define LCD_STARTCOL_REVERSE    19
//***********************************************************************************************************
// for "NULL":
#ifndef NULL
#define NULL 0  
#endif
// Определение структур
flash struct FONT_DEF    // для шрифтов
 {  flash unsigned char store_width;             /* glyph storage width in bytes */   =============   61 =====
    flash unsigned char glyph_height;               /* glyph height for storage */
    flash unsigned char *glyph_table;            /* font table start address in memory */
    flash unsigned char fixed_width;             /* fixed width of glyphs. If zero */
                                                 /* then use the width table. */
    flash unsigned char *width_table;              /* variable width table start adress */
    flash unsigned char glyph_beg;                  /* start ascii offset in table */
    flash unsigned char glyph_end;                 /* end ascii offset in table */
    flash unsigned char glyph_def;                 /* code for undefined glyph code */
};
flash struct IMG_DEF    // для картинки 
 { flash unsigned char width_in_pixels;      /* Image width */     ====================  72=======
   flash unsigned char height_in_pixels;     /* Image height*/
   flash unsigned char *char_table;    /* Image table start address in memory  */
 };
//Выбрать нужные шрифты
//#include "FONT/FONT_FIVE_DOT.h"
//#include "FONT/FONT_SIX_DOT.h"
#include "FONT/FONT_SEVEN_DOT.h"
#include "FONT/FONT_EIGHTEEN_DOT.h"
//#include "FONT/FONT_NINE_DOT.h"
//#include "FONT/FONT_TEN_DOT.h"
//#include "FONT/FONT_FIFTEEN_DOT.h"
#include "FONT/rus_shot.h"
  
//Вставим картинки если нужно
#include "ICON/icon1_bmp.h"
#include "ICON/aist.h"
#include "ICON/frame_bmp.h"

//***********************************************************************************************************


// LCD Global data arrays
/* the LCD display image memory */
flash unsigned char l_mask_array[8] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; /* TODO: avoid or flash */

/* buffer arranged so page memory is sequential in RAM */
unsigned char l_display_array[LCD_Y_BYTES][LCD_X_BYTES];

/* LCD function prototype list */
void lcd_init(void);
void lcd_out_dat( unsigned char dat, unsigned char nctrl);
void lcd_out_ctl(unsigned char cmd,  unsigned char nctrl);
void lcd_fill( unsigned char pattern);
void lcd_erase(void);
void lcd_update( unsigned char top, unsigned char bottom);
void lcd_update_all(void);
void lcd_dot(unsigned char x,unsigned char y,unsigned char mode);

#define lcd_dot_set(x,y)    lcd_dot(x, y, LCD_MODE_SET)
#define lcd_dot_clear(x,y)  lcd_dot(x, y, LCD_MODE_CLEAR);
#define lcd_dot_switch(x,y) lcd_dot(x, y, LCD_MODE_XOR);

void lcd_line(unsigned int x1, unsigned int y1, unsigned int x2, unsigned int y2, unsigned char pixel);

void lcd_rect( unsigned char x, unsigned char y, unsigned char width, unsigned char height,unsigned char mode);
void lcd_box(unsigned char x, unsigned char y, unsigned char width, unsigned char height,  unsigned char mode);
void lcd_circle(unsigned int xCenter,unsigned int yCenter,unsigned int radius,  unsigned char mode);
void lcd_glyph(unsigned char left, unsigned char top, unsigned char width, unsigned char height, unsigned char *glyph_ptr, unsigned char store_width);

void lcd_text_intern(unsigned char left, unsigned char top, flash struct FONT_DEF *FNT,flash char *str, unsigned char inflash);
void lcd_text_p(unsigned char left, unsigned char top, flash struct FONT_DEF *FNT,flash char *str);

#define lcd_text_P(lcdl_,lcdt_,lcdf_,lcds_)  lcd_text_p(lcdl_,lcdt_,lcdf_,PSTR(lcds_))

void lcd_bitmap(unsigned char left,unsigned char top, flash struct IMG_DEF *img_ptr,unsigned char mode);

//LCD_DEBUG
void lcd_test(unsigned char pattern);
void lcd_raw(unsigned char page, unsigned char col, unsigned char nctrl, unsigned char pattern);

Ссылка на комментарий
Поделиться на другие сайты

Вместо

26 minutes ago, begun said:

flash struct FONT_DEF    // для шрифтов
 {  flash unsigned char store_width;             /* glyph storage width in bytes */   =============   61 =====
    flash unsigned char glyph_height;               /* glyph height for storage */
    flash unsigned char *glyph_table;            /* font table start address in memory */
    flash unsigned char fixed_width;             /* fixed width of glyphs. If zero */
                                                 /* then use the width table. */
    flash unsigned char *width_table;              /* variable width table start adress */
    flash unsigned char glyph_beg;                  /* start ascii offset in table */
    flash unsigned char glyph_end;                 /* end ascii offset in table */
    flash unsigned char glyph_def;                 /* code for undefined glyph code */
};
flash struct IMG_DEF    // для картинки 
 { flash unsigned char width_in_pixels;      /* Image width */     ====================  72=======
   flash unsigned char height_in_pixels;     /* Image height*/
   flash unsigned char *char_table;    /* Image table start address in memory  */
 };

поудаляйте лишние flash. В определении структур оставьте. Как ниже.

27 minutes ago, begun said:

flash struct FONT_DEF    // для шрифтов
 {  unsigned char store_width;             /* glyph storage width in bytes */
    unsigned char glyph_height;               /* glyph height for storage */
    unsigned char *glyph_table;            /* font table start address in memory */
    unsigned char fixed_width;             /* fixed width of glyphs. If zero */
                                                 /* then use the width table. */
    unsigned char *width_table;              /* variable width table start adress */
    unsigned char glyph_beg;                  /* start ascii offset in table */
    unsigned char glyph_end;                 /* end ascii offset in table */
    unsigned char glyph_def;                 /* code for undefined glyph code */
};
flash struct IMG_DEF    // для картинки 
 { unsigned char width_in_pixels;      /* Image width */
   unsigned char height_in_pixels;     /* Image height*/
   unsigned char *char_table;    /* Image table start address in memory  */
 };

 

Ссылка на комментарий
Поделиться на другие сайты

шесть ошибок после вставки

 

Error: sed1520.h: a value of type 'flash unsigned char [1536]' can't be used to initialize an entity of type 'unsigned char *'
---------------------------------------------------------
Error: sed1520.h:a value of type 'flash unsigned char [1458]' can't be used to initialize an entity of type 'unsigned char *'
-------------------------------------------------------
Error: sed1520.h: a value of type 'flash unsigned char [768]' can't be used to initialize an entity of type 'unsigned char *'
-----------------------------------------------------
Error:  sed1520.h: a value of type 'flash unsigned char [120]' can't be used to initialize an entity of type 'unsigned char *'
-------------------------------------------------
Error: sed1520.h: a value of type 'flash unsigned char [512]' can't be used to initialize an entity of type 'unsigned char *'
-----------------------------------------------------
Error: sed1520.h: a value of type 'flash unsigned char [512]' can't be used to initialize an entity of type 'unsigned char *'
 

Ссылка на комментарий
Поделиться на другие сайты

Программа писалась под другой версией компилятора. Поищите более старую версию. Можете скинуть весь проект, я попробую скомпилировать.

Ссылка на комментарий
Поделиться на другие сайты

Для таблиц надо оставить flash

8 hours ago, begun said:

flash struct FONT_DEF    // для шрифтов
 {  unsigned char store_width;             /* glyph storage width in bytes */   =============   61 =====
    unsigned char glyph_height;               /* glyph height for storage */
    flash unsigned char *glyph_table;            /* font table start address in memory */
    unsigned char fixed_width;             /* fixed width of glyphs. If zero */
                                                 /* then use the width table. */
    flash unsigned char *width_table;              /* variable width table start adress */
    unsigned char glyph_beg;                  /* start ascii offset in table */
    unsigned char glyph_end;                 /* end ascii offset in table */
    unsigned char glyph_def;                 /* code for undefined glyph code */
};
flash struct IMG_DEF    // для картинки 
 { unsigned char width_in_pixels;      /* Image width */     ====================  72=======
   unsigned char height_in_pixels;     /* Image height*/
   flash unsigned char *char_table;    /* Image table start address in memory  */
 };

 

Ссылка на комментарий
Поделиться на другие сайты

извиняюсь но после вставки две ошибки

 

Error: C:\sed1520.h(72), #included from: main_sokol.c: declaration syntax error
---------------------------------------------------------
Error: C:\sed1520.h(61), #included from: main_sokol.c: declaration syntax error

а у вас компиляция прошла нормально?

у меня 3.12 cvavr. в ранной  lcd графические не поддерживаются.

Ссылка на комментарий
Поделиться на другие сайты

да, исправился .глазам не верю.

 я в восторге.

как вас поблагодарить.

не буду спрашивать, что там такое было.

вы видимо очень хорошо разбирайтесь в этих вопросах.

большое вам спасибо за проявленное внимание и знания.

не терпится внести свои поправки  и получить конечный результат.

в общем нужно мне вывести свой шрифт и на этом пути была такая загвоздка.

конечно без вас я просто не смог бы что либо сделать

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • У меня больше всего вопросов вызвала необычная схема обеспечения отрицательного питания. Автор этой обстоятельной заметки пишет: For this supply to work correctly, the transformer must have a secondary voltage of at least 18V RMS.  Почему? Что будет не так с отрицательным питанием, если напряжение на трансформаторе будет меньше 18В?   https://tinyurl.com/23mlwxtt - я в простейшей эмуляции ставлю 12В пикового напряжения для трансформатора и на стабилитроне все как положено: -5.6В.
    • Согласен, очень криво объяснил. Это работа трёх вольтовой линии, просто на диод шотки сдвоенный, на один анод приходит сигнал напрямую с трансформатора, а на второй через дроссель. Вольт/деление 5 вольт в клетке, тайминг по моему 10 МС. Третья фотография это сигнал на катодах уровень земли ровно по центру экрана. Но все линии по итогу в порядке 3.3 в, 5, в, 12 в и -12 в. Нагрузить все линии не могу сразу ,так как тут же выгорают транзисторы (имеется нагрузка 250 ватт по 10 ампер на каждую линию за исключением-12в), поэтому нагружаю 3.3 вольтовую линию на 10 ампер,  подключаю переменный резистор 50 ватт на 15 ом на 5 вольтовую линию и постепенно довожу до той той картины с перекосом (это гдето  50 ватт общее). По поводу микросхемы, вверху имеется скрин где между импульсами проскакивает мини импульс, если так можно сказать, он проскакивает и на одной  и на второй ноге (7,8). Микросхема не tl 494, а lw4933/abx942.1/c9421646. Далее они приходят на базы транзисторов 945g  коллекторы этих транзисторов соединены с  выводами трансформатора. Просто схема типовая, легче мне кажется просто привести фото самого блока, для тех кто разбирается будет гораздо информативне.  Диод шотки по 12 вольтовой линии был подгоревший, заменил на донора. Приводить скрины не буду что бы не захламлять тему. В итоге, пока все так же, при достижении определенной нагрузки суммарно где-то 50 ватт, появляется этот "выброс и перекос". По этому имеются мысли на два варианта, это микросхема , этот мини импульс между периодами, на низкой нагрузке особо не влияет, но при достижении определенной приводит с самовозбуждению входной цепи и непроизвольному открытию транзистора нижнего плеча. Либо дело в "горячей части", плавающий дефект в обвязке силовых ключей.  Спасибо за ответ.
    • @Gomerchik а вы контролировали как меняется уровень сигнала на А1 ардуины?
    • Спасибо за совет. Автором данного проекта я не являюсь, мне нужно было воссоздать уличный датчик для метеостанции взамен пропавшего(( Из разного найденного в интернете этот проект работает с моей станцией Орегон (спасибо автору). В понедельник попробую последовать Вашему совету. Но все равно куча непоняток  как блин это работает)) Если дело в неправильной отправки команды, то как на это влияет подключение датчика температуры? Если совсем не подключать таймер, то передача идет один раз (как и прописано в программе), станция принимает и отображает, но минут через сколько-то естественно станция уже ни чего не показывает, но с таймером питание полностью не пропадает с ардуинки, но передача сигнала каким-то образом работает по таймеру.  В моем понимании данная команда подается один раз потому, что таймер должен отключать питание МК после передачи сигнала и каждые 43 сек снова подавать питание (так того требует станция).  Ардуино передает показания температуры отключается полностью и 43 секунды мк не работает.  Сейчас у меня питание пока сделано на подпитке от солнечной батареи, но пару пасмурных дней и аккумулятор съедается до отключения(
    • thickman Так и сделаю. Вытащу из бу БП.  Буду знать, как отличить. Благодарю. Заменил транзисторы на IRFB20N50K. Картина стала, совсем другой.  Похоже трудность не в драйвере, на момент подвозбуда, переходные процессы, в нем, завершены. Увеличил затворные резисторы до 50ом, стало немного лучше.  Не понятно, почему верхний ключ греется несколько сильнее. Возможно, стоит посмотреть ток в коллекторе.  Снабберные емкости временно удалил, изменений не произошло.  Замена ТГР на другой, на кольце MSTN-16A-TH, так же, результата не принесла.   irfb20n50k.pdf
    • А что нить из ассортимента активных щупов производства СССР..))
×
×
  • Создать...