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

Намоточный станок на Arduino версия 2.0


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

09.11.2019 в 09:39, bykowina сказал:

Обмотки двигателя требуют какой то ориентации.? Как их павильно сфазировать.? Методом тыка, т е последовательным перебором? 

Обмоток в таких ШД всего две, то есть вариантов подключения то же ровно 2. От этого будет зависеть направление вращения. Если не устраивает, то меняете местами обмотки.

1 час назад, Mech51 сказал:

А если применить драйверы TB6600, то я понимаю, что эти перемычки не нужны и шаг надо устанавливать на самом драйвере?

Да, так.

У TB6600 есть микропереключатели, табличка назначений приведена на корпусе.

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

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

Приветствую всех!

Собрал и тестирую данный станок.

Да, управление энкодером конечно удобно. Но в режиме позиционирования, при премещении укладчика провода   к предполагаемому первому витку  это не очень удобно.

При минимальном значении stepmul очень долго приходится крутить энкодер, а при значении 200( один оборот) укладчик перемещается быстро и проскакивает положение первого витка.Это касается если провод очень тонкий. 

Удобнее было использовать две кнопки: 1- движение укладчика влево. 2- движение укладчика вправо. 

 

И второй момент- при завершении намотки последнего витка происходит остановка двигателя приемной катушки с последующим снятием его с удержания. Я думаю, что лучше не снимать его с удержания т.к  витки могут сползти.

 

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

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

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

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

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

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

Собрал сегодня схему, залил скетч, дисплей не горит. 

Завтра все проверю на свежую голову. 

 

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

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

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

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

Скрытый текст

#define ENC_CLK   2 // Даем имена номерам пинов
#define ENC_SW    3
#define STEP_Z    4 
#define ENC_DT    5 
#define DIR_Z     7
#define EN_STEP   8
#define BUZZ_OUT  10
#define STOP_BT   11
#define STEP_A    12
#define DIR_A     13
#define RS        14
#define EN        15
#define D4        16
#define D5        17
#define D6        18
#define D7        19
 

Здравствуйте! Для  подключения дисплея по I2C определения пинов для параллельного подключения оставлять, или их лучше закомментировать?

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

31 минуту назад, Mech51 сказал:
  Показать содержимое

#define ENC_CLK   2 // Даем имена номерам пинов
#define ENC_SW    3
#define STEP_Z    4 
#define ENC_DT    5 
#define DIR_Z     7
#define EN_STEP   8
#define BUZZ_OUT  10
#define STOP_BT   11
#define STEP_A    12
#define DIR_A     13
#define RS        14
#define EN        15
#define D4        16
#define D5        17
#define D6        18
#define D7        19
 

Здравствуйте! Для  подключения дисплея по I2C определения пинов для параллельного подключения оставлять, или их лучше закомментировать?

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

"Вернуть к варианту 1602 I2C в текущей версии ПО все еще возможно, раскомментировав нужные строчки:

 

#include <LiquidCrystal.h>

//#include <LiquidCrystal_I2C.h>

//#include <Wire.h>

 

LiquidCrystal lcd(RS,EN,D4,D5,D6,D7); // Назначаем пины для управления LCD

//LiquidCrystal_I2C lcd(0x27,16,2); // 0x3F I2C адрес для PCF8574AT, дисплей 16 символов 2 строки

 

lcd.begin(20,4); // Инициализация LCD Дисплей 20 символов 4 строки  

// lcd.begin(16,2); // Инициализация LCD Дисплей 16 символов 2 строки

"

Раскомментировать, значит убрать двойной бэкслеж?

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

Простите за назойливость. Я полный ноль в Ардуино. В моем возрасте осваивать что то новое очень большая проблема. Доходит как до жирафа. 

Какие строки надо закоментировать, те которые в моей сноске не закоментированы?

Спасибо. 

 

//#include <LiquidCrystal.h>

#include <LiquidCrystal_I2C.h>

#include <Wire.h>

 

//LiquidCrystal lcd(RS,EN,D4,D5,D6,D7); // Назначаем пины для управления LCD

LiquidCrystal_I2C lcd(0x27,16,2); // 0x3F I2C адрес для PCF8574AT, дисплей 16 символов 2 строки

 

//lcd.begin(20,4); // Инициализация LCD Дисплей 20 символов 4 строки  

 lcd.begin(16,2); // Инициализация LCD Дисплей 16 символов 2 строки

 

Должно быть вот так?

 

Вот сообщение об ошибке компиляции

 

"Arduino: 1.8.2 (Windows 7), Плата:"Arduino/Genuino Uno"

C:\Users\Garry\Arduino_winding_machine_21b_i2c\Arduino_winding_machine_21b_i2c.ino:39:31: fatal error: LiquidCrystal_I2C.h: No such file or directory

 #include <LiquidCrystal_I2C.h>

                               ^

compilation terminated.

exit status 1
Ошибка компиляции для платы Arduino/Genuino Uno.

Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции""

 

 

Кажется понял в чем дело. Нет файла  LiquidCrystal_I2C.h.  

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

	[code]
//#include <LiquidCrystal.h>
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
	

//LiquidCrystal lcd(RS,EN,D4,D5,D6,D7); // Назначаем пины для управления LCD 
LiquidCrystal_I2C lcd(0x27,16,2); // 0x27 I2C адрес для PCF8574AT, дисплей 16 символов 2 строки 

  //lcd.begin(20,4);                                                            // Инициализация LCD Дисплей 20 символов 4 строки   
  lcd.begin(16,2);                                                              // Инициализация LCD Дисплей 16 символов 2 строки                                                              
	

Вот, надо найти эти строчки в скетче и сделать их так.

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

38 минут назад, bykowina сказал:

"Arduino: 1.8.2 (Windows 7), Плата:"Arduino/Genuino Uno"

C:\Users\Garry\Arduino_winding_machine_21b_i2c\Arduino_winding_machine_21b_i2c.ino:39:31: fatal error: LiquidCrystal_I2C.h: No such file or directory

 #include <LiquidCrystal_I2C.h>

                               ^

compilation terminated.

exit status 1
Ошибка компиляции для платы Arduino/Genuino Uno.

Я так и сделал. Выдает вот такую ошибку.

Я отредактировал файл и сохранил его под другим именем. Может здесь я что то не так сделал. 

Пытаюсь загрузить скетч от первой версии выдаёт ту же ошибку. Нет библиотеки I2C. 

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

5 часов назад, Mech51 сказал:

Здравствуйте! Для  подключения дисплея по I2C определения пинов для параллельного подключения оставлять, или их лучше закомментировать?

Можно оставить как есть. Нужно проверить в работе. Я сейчас только с полубайтовым подключением экспериментирую.

1 час назад, bykowina сказал:

Я так и сделал. Выдает вот такую ошибку.

Да, нужно установить библиотеку LiquidCrystal_I2C.h

Делается это в менеджере библиотек. Скопируйте название LiquidCrystal_I2C в строку поиска, должно получиться как то так:

964736439_.png.b11d922c5162c3c4084b784f3f6ebe8f.pngspacer.png

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

Библиотеку установил, скетч залил в Ардуино, на экране верхний ряд черных квадратов, самый последний символ просто  горизонтальные полосы. Что то подобное было описано в первой теме. Подключение проверял, библиотеку менял. Подключил дисплей непосредственно к Адруинке без энкодера. Увы все тоже самое. 

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

11 минут назад, bykowina сказал:

Подключил дисплей непосредственно к Адруинке без энкодера. Увы все тоже самое. 

А почему не хотите полубайтовое подключение использовать? Это будет лучше.

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

квадратики прорисовываются в двух случая - дисплей не запущен или не отрегулирована контрастность. Что происходит при кручении потенциометра?

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

Завтра попробую покрутить. При подключении 12В квадратики полностью черные, при подключении ЮСБ все немного блеклые а последний три или четыре горизонтальные полосы. 

Подключать напрямую пробовал, он вообще ни как не реагировал. Здесь хоть подсветка загорается. 

В самом начале я походу перепутал полярность на энкодере. Видимо придется заказывать другой. 

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

6 минут назад, bykowina сказал:

При подключении 12В квадратики полностью черные, при подключении ЮСБ все немного блеклые а последний три или четыре горизонтальные полосы. 

Подключать напрямую пробовал, он вообще ни как не реагировал. Здесь хоть подсветка загорается. 

В самом начале я походу перепутал полярность на энкодере. Видимо придется заказывать другой. 

12В надеюсь не напрямую к LCD? 

Странно, подсветка должна загораться сразу после подключения 5В питания даже без сигнальных.

Энкодер это просто замыкающие контакты, электрически их повредить сложно.

Квадратики на первой строчки значат, что дисплей не инициализирован. Это либо неправильное подключение или при использовании I2C не тот адрес. Какая у вас микросхема на I2C модуле? Должно быть что-то типа PCF8574 или PCF8574A

Если дадите фото монтажа и используемых модулей будет легче понять что не так.

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

Все-таки при подключении дисплея по I2C что-то не так. Работало все на первой версии, решил залить вторую. Ничего не отключал, только шилд отсоединил от Ардуино. Сделал все необходимые изменения для I2C-подключения в скетче, залил, и на тебе-дисплей с квадратиками. Где-то что-то не стыкуется. А дисплея без модуля I2C пока нет. 

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

Вот фото подключения. 

Микросхема на контроллере дисплея  PCF8574T. 

image.jpeg

image.jpeg

image.jpeg

Регулировка контрастности выставлена оптимально. 

Подключение по I2C мне показалось проще. Не надо городить схему регулировки контрасности, меньше проводов, програмно ни чуть не сложнее, ну и сам блок уже имелся в наличии. 

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

1 час назад, Mech51 сказал:

Сделал все необходимые изменения для I2C-подключения в скетче, залил, и на тебе-дисплей с квадратиками.

А не пробовали обратно залить первую версию?

Видимо где то ошибка в скетче. Я залил первую версию и дисплей ЗАРАБОТАЛ!!! Ура!!!

 

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

С адресом (который 27) могут быть ошибки - зависит от платы i2c. 
Контроллер имеет входы A0-A2, которыми может устанавливаться младший адрес i2c
Буква А в названии чипа означает старшую часть адреса на i2c. Без буквы А адрес будет 0x20 + A (0x20-0x27), для микросхемы с буквой А 0x38 + A(0x38-0x3f).

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

В первой версии прошивки 27-й адрес. С ней все работает. Во второй версии указан тоже  0х27. 

Микросхема в интерфейсе PCF8574T. 

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

Проверил адрес сканером, все как и было, 0х27, а на дисплее квадратики. Загрузил 1 версию, все нормально, работает.

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

/* Name: Winding machine    
   Description: Arduino ATmega 328P + Stepper motor control CNC Shield v3 + 2004 LCD + Encoder KY-040
   Author:      TDA
   Ver:         2.1b_I2C_DEBUG
   Date:        20/11/2019

       Arduino pinout diagram:
          _______________
         |      USB      |
         |           AREF|
         |            GND|
         |             13| DIR A
         |RESET        12| STEP A
         |3V3         #11| STOP BT
         |5V          #10| BUZ OUT
         |GND          #9|
         |VIN           8| EN STEP
         |               |
         |              7| DIR Z
         |             #6|
  LCD RS |A0 14        #5| ENCODER CLK
  LCD EN |A1 15         4| STEP Z
  LCD D4 |A2 16   INT1 #3| ENCODER SW
  LCD D5 |A3 17   INT0  2| ENCODER DT
  LCD D6 |A4 18      TX 1|
  LCD D7 |A5 19      RX 0|
         |__A6_A7________|                        
*/

//**************************************************************  
    
#define ShaftStep 50 // ShaftStep = Шаг резьбы*50

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

#include <avr/io.h>
#include <avr/interrupt.h>
//#include <LiquidCrystal.h>
#include <LiquidCrystal_I2C.h>
#include <Wire.h>

#define ENC_CLK   2 // Даем имена номерам пинов
#define ENC_SW    3
#define STEP_Z    4 
#define ENC_DT    5 
#define DIR_Z     7
#define EN_STEP   8
#define BUZZ_OUT  10
#define STOP_BT   11
#define STEP_A    12
#define DIR_A     13
#define RS        14
#define EN        15
#define D4        16
#define D5        17
#define D6        18
#define D7        19

byte up[8] =   {0b00100,0b01110,0b11111,0b00000,0b00000,0b00000,0b00000,0b00000};   // Создаем свой символ ⯅ для LCD
byte down[8] = {0b00000,0b00000,0b00000,0b00000,0b00000,0b11111,0b01110,0b00100};   // Создаем свой символ ⯆ для LCD

volatile int Encoder_Dir;                                 // Направление вращения энкодера
volatile boolean Push_Button, Var_Set, DC, AutoWindStart; // Нажатие кнопки; режим установки значения; формирование сигнала STEP; работает подпрограмма автонамотки 
volatile boolean Pause;                                   // Флаг паузы в режиме автонамотка   
volatile int i;                                           // Счетчик кол-ва заходов в прерывание таймера
char Str_Buffer[22];                                      // Буфер для функции sprintf 
byte LCD_Column, LCD_Row, Symbol_Code, Motor_Num;         // Номер столбца и строки LCD; код символа https://i.stack.imgur.com/oZhjJ.gif; номер шагового двигателя
int32_t ActualShaftPos, ActualLayerPos;                   // Текущие позиции двигателей вала и укладчика
int Actual_Turn = 0, Actual_Layer = 0;                    // Текущий виток и слой при автонамотке
int Shaft_Pos, Lay_Pos, Set_Turns, Set_Step, Set_Speed=1, Set_Layers=1, Step_Mult=1;  // Переменные изменяемые на экране
byte Menu_Index = 0;                                      // Переменная хранит номер текущей строки меню
int32_t Steps, Step_Accel, Step_Decel;

volatile uint16_t OCR1A_NOM;
volatile uint32_t OCR1A_TEMP;
volatile uint32_t INCR;
volatile uint32_t NSteps;
volatile uint32_t Temp;
int V;
volatile int NTurn;
uint8_t run_btn;
 
uint8_t MicroSteps = 16;
long SteppersPositions[2];
int Pitch = 1;
int8_t Steppers_Dir = 1;
int16_t SpeedIncrease, SpeedDecrease;

volatile int X,Y;
volatile int Set_Speed_INT;

enum menu_states {Autowinding, PosControl, TurnsSet, StepSet, SpeedSet, LaySet, Direction, Start, Cancel, Empty, ShaftPos, LayPos, StepMul, PosCancel}; // Нумерованный список строк экрана

struct MenuType {                       // Структура описывающая меню
  byte Screen;                          // Индекс экрана
  byte string_number;                   // Номер строки на экране
  char format[22];                      // Формат строки
  char format_Set_var[6];               // Формат значения при вводе переменной
  int  *param;                          // Указатель на адрес текущей переменной изменяемой на экране
  int  var_Min;                         // Ограничение значения переменной снизу
  int  var_Max;                         // Ограничение значения переменной сверху
  byte param_coef;};                    // Размерный коэффициент значения переменной

const struct MenuType Menu[] = {        // Объявляем переменную Menu пользовательского типа MenuType и доступную только для чтения
  {0,  0,  "  AUTOWINDING        ", ""      ,NULL,        0,      0,      0        },    // "> AUTOWINDING   "
  {0,  1,  "  POS CONTROL        ", ""      ,NULL,        0,      0,      0        },    // "> POS CONTROL   "
  {2,  0,  "  TURNS:  %03d       ", "%03d"  ,&Set_Turns,  1,      999,    1        },    // "> TURNS: >000<  "
  {2,  1,  "  STEP: 0.%04d       ", "%04d"  ,&Set_Step,   1,      200,    ShaftStep},    // "> STEP:>0.0000<↓"  
  {4,  0,  "  SPEED:  %03d       ", "%03d"  ,&Set_Speed,  1,      300,    1        },    // "> SPEED: >000< ↑"
  {4,  1,  "  LAYERS: %02d       ", "%02d"  ,&Set_Layers, 1,      99,     1        },    // "> LAYERS:>00<  ↓" 
  {6,  0,  "  DIRECTION >>>      ", ""      ,NULL,        0,      0,      0        },    // "> DIRECTION >>>↑"
  {6,  1,  "  START              ", ""      ,NULL,        0,      0,      0        },    // "> START        ↓" 
  {8,  0,  "  CANCEL             ", ""      ,NULL,        0,      0,      0        },    // "> CANCEL       ↑" 
  {8,  1,  "                     ", ""      ,NULL,        0,      0,      0        },    // ">               " 
  {10, 0,  "  SH POS: %+04d      ", "%+04d" ,&Shaft_Pos,  -999,   999,    1        },    // "> SH POS:>±000< "
  {10, 1,  "  LA POS: %+04d      ", "%+04d" ,&Lay_Pos,    -999,   999,    1        },    // "> LA POS:>±000<↓" 
  {12, 0,  "  STPMUL: %03d       ", "%03d"  ,&Step_Mult,  1,      100,    1        },    // "> STPMUL:>000< ↑"
  {12, 1,  "  CANCEL             ", ""      ,NULL,        0,      0,      0        },    // "> CANCEL        "   
  {14, 0,  "T%03d/%03d L%02d/%02d", ""      ,NULL,        0,      0,      0        },    // "T000/000 L00/00 "
  {14, 1,  "SP%03d ST0.%04d      ", ""      ,NULL,        0,      0,      0        },    // "SP000 ST0.0000  " 
  {16, 0,  "AUTOWINDING DONE     ", ""      ,NULL,        0,      0,      0        },    // "AUTOWINDING DONE" 
  {16, 1,  "PRESS CONTINUE       ", ""      ,NULL,        0,      0,      0        }};   // "PRESS CONTINUE  "
  
//LiquidCrystal lcd(RS,EN,D4,D5,D6,D7); // Назначаем пины для управления LCD 
LiquidCrystal_I2C lcd(0x27,16,2); // 0x3F I2C адрес для PCF8574AT, дисплей 16 символов 2 строки 

void setup() {
pinMode(ENC_CLK, INPUT);    // Инициализация входов/выходов  
pinMode(ENC_SW,  INPUT);
pinMode(STEP_Z,  OUTPUT);
pinMode(ENC_DT,  INPUT);
pinMode(DIR_Z,   OUTPUT);
pinMode(EN_STEP, OUTPUT);
pinMode(STEP_A,  OUTPUT);
pinMode(DIR_A,   OUTPUT); 
pinMode(BUZZ_OUT,OUTPUT);
pinMode(STOP_BT, INPUT);
pinMode(RS,      OUTPUT);
pinMode(EN,      OUTPUT);
pinMode(D4,      OUTPUT);
pinMode(D5,      OUTPUT);
pinMode(D6,      OUTPUT);
pinMode(D7,      OUTPUT);

digitalWrite(EN_STEP, HIGH); // Запрет управления двигателями  
digitalWrite(STOP_BT, HIGH); // Вкл. подтягивающие резисторы к VDD  
  
 lcd.init(); 
 lcd.backlight();             // Включение подсветки LCD
  
  lcd.createChar(0, up);       // Записываем символ ⯅ в память LCD
  lcd.createChar(1, down);     // Записываем символ ⯆ в память LCD

  cli();                                                                        // Глобальный запрет прерываний
  EICRA = (1<<ISC11)|(0<<ISC10)|(0<<ISC01)|(1<<ISC00);                          // Настройка срабатывания прерываний: INT0 по изменению сигнала, INT1 по спаду сигнала; ATmega328/P DATASHEET стр.89
  EIMSK = (1<<INT0)|(1<<INT1);                                                  // Разрешение прерываний INT0 и INT1; ATmega328/P DATASHEET стр.90 
  EIFR = 0x00;                                                                  // Сбрасываем флаги внешних прерываний; ATmega328/P DATASHEET стр.91
  TCCR1A=(0<<COM1A1)|(0<<COM1B1)|(0<<COM1A0)|(0<<COM1B0)|(0<<WGM11)|(0<<WGM10); // Настройка таймера/счетчика 1: нормальный режим работы порта, OC1A/OC1B отключены; ATmega328/P DATASHEET стр.170-172
  TCCR1B=(0<<WGM13)|(1<<WGM12)|(0<<CS12)|(0<<CS11)|(1<<CS10);                   // Режим работы таймера/счетчика - CTC (очистить таймер при достижении значения в регистре сравнения OCR1A)
  OCR1A = 20000;                                                                // Значение в регистре OCR1A определяет частоту входа в прерывание таймера и устанавливает скрость вращения двигателей
  sei();
//lcd.begin(20,4);                                                              // Инициализация LCD Дисплей 20 символов 4 строки   
//lcd.begin(16,2);                                                             // Инициализация LCD Дисплей 16 символов 2 строки 
       
  lcd.clear();                                                      
  sprintf(Str_Buffer, Menu[0].format);
  lcd.print(Str_Buffer);                                                        // Выводим первую строку на экран
  lcd.setCursor(0,1); 
  sprintf(Str_Buffer, Menu[1].format);
  lcd.print(Str_Buffer);                                                        // Выводим вторую строку на экран
  PrintSymbol(0,0,0x3E);}                                                       // Выводим символ ">" на 0,0 LCD

 

Замените весь код до void loop() 

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

Протокол I2C использует прерывания и при выполнении программы возможны наложения прерываний и "плавающие" баги, которые будет очень трудно ловить и я не могу гарантировать дальнейшую поддержку I2C

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

19.11.2019 в 21:06, РеактоР сказал:

как подрубить 2004.? я так понимаю комплектная проводка не встанет на ардуино.(пока не пришел)

Я использовал эту схему для подключения

image.thumb.png.353da4c6fbc73227d1dc055bf9f04f53.png

 

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

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

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

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

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

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

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

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

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

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

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

  • Сообщения

    • Согласен, очень криво объяснил. Это работа трёх вольтовой линии, просто на диод шотки сдвоенный, на один анод приходит сигнал напрямую с трансформатора, а на второй через дроссель. Вольт/деление 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
    • А что нить из ассортимента активных щупов производства СССР..))
    • Типа такого: https://aliexpress.ru/item/2044864227.html?sku_id=58855020183
×
×
  • Создать...