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

Почему Программатор Не Видит Микроконтроллера?


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

Это был ответ на вопрос

Ещё вопрос а как жерез ассемблер настроить порты на вход? Ну вот как на С например: DDRC = 0b0010101;

Насчет IF не уверен как читаются PC6-PC7, которые в этом корпусе физически отсутствуют. Могут и нулями.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

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

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

Тогда вот ещё один тест.

while(1)

{

pin_value = PINC0;

_delay_ms(150);

PORTB = 0b00000111;

_delay_ms(150);

PORTB = 0b00000000;

if (pin_value == 1)

_delay_ms(5000);

}

Нажимаю\Отпускаю кнопку PC0 а им по барабану. Уже даже через переменную сделал.

Точно, что то я не так делаю.

Ребят знающие дайте пожалуйста рабочий блок IF на С++. Что бы в протеусе я запустил и он работал.

P.S. такой вывод сделал т.к. даже ставя вместо еденици для pin_value 0 то диоды гаснут на 5 сек и не реагируют на нажатие кнопки.

Изменено пользователем AvtoFocus

"...Не верю в этот мир, если не верю в себя сам, я вижу цель и знаю, что я буду там..." Noize MC - Сам (2011)

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

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

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

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

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

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

Теперь у меня подозрения, что не работает сама схема в протеусе:

1377367359-clip-20kb.png

Дело в том, что вот это точно должно было работать

pin_value = PINC0;

while(pin_value == 0)

{

pin_value = PINC0;

_delay_ms(150);

PORTB = 0b00000111;

_delay_ms(150);

PORTB = 0b00000000;

}

Но тем не менее ничего не работает. Возможно протеус не может читать состояние портов? и команда PINC не работает? Может имеет смысл на реальном МК протестировать? что посоветуете?

"...Не верю в этот мир, если не верю в себя сам, я вижу цель и знаю, что я буду там..." Noize MC - Сам (2011)

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

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

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

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

а PINC0 не константа равная 0 часом?

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

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

Да там не важно. Не канает не с одним битом и даже с целым портом не получается. Кто то делал управление кнопкой и проверял это в протеусе? может кнопка не так включена. Скиньте плз наработку

"...Не верю в этот мир, если не верю в себя сам, я вижу цель и знаю, что я буду там..." Noize MC - Сам (2011)

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

if(PINC & (1<<PC0)){} попробуй.

или if((PINC & (1<<PC0)==0){}

Кстати, куда эту тему перенесли? Вроде больше всего подходит в "начинающим" или "мусорку" но больше похоже на "программаторы"

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

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

Не ну точно. Все я понял я первый кто проходит путь новичка по МК - все остальные родились отцами.

Почему в Ревиче про АЦП пол странички((( Почему не написано как им пользоваться? почему нет примеров программ.

Почем нет диаграммы, когда у этого ацп идет чтение, запись и подсчет. НАПРИМЕР ТАКОЙ:

1377371970-clip-11kb.png

или такой?

1377371994-clip-10kb.png

Почему в Ревиче не написано ,что за мультиплексор там стоит. И какие выходы он использует. Где вход SED у него (ну или аналог) для того, Что бы сменить тетраду?

ГДЕ ВСЯ ЭТА ИНФОРМАЦИЯ? в инете её тоже нет.

Почему не рассказано про управляющие выходы АЦП? как заставить его взять замер, а потом разрешить нам прочитать то, что он взял.

Слава богу в Ревиче хотя бы написали, что для формирования сигнала (цифрового) на выходах этого АЦП нужно 25 тактов ну и естественно не написли пример программы задержки для реализации.

P.S. даташит тоже молчит - по крайней мере на понятном языке.

Если это такая секретная информация и открывается только избранным то нафига я вообще убиваю время? 5-ть часов сейчас упорол, а так и не выяснил не про долбаный IF не про АЦП - как с ним общаться.

if(PINC & (1<<PC0)){} попробуй.

или if((PINC & (1<<PC0)==0){}

Кстати, куда эту тему перенесли? Вроде больше всего подходит в "начинающим" или "мусорку" но больше похоже на "программаторы"

Программаторы и отладочные модули)

if(PINC & (1<<PC0)){} попробуй.

или if((PINC & (1<<PC0)==0){}

Кстати, куда эту тему перенесли? Вроде больше всего подходит в "начинающим" или "мусорку" но больше похоже на "программаторы"

Не отзывается. Вставил вот в такой цикл:

while(1)

{

if(PINC & (1<<PC0))

{

_delay_ms(150);

PORTB = 0b00000111;

_delay_ms(150);

PORTB = 0b00000000;

}

}

---Выход просто. Запасаться деньгами и послать в одно отверстие этот протеус. Я теперь понял в чем весь крутой замысел. Что бы новички нечерта не понимали в даташите и там не было очевидных ответов - они специально так его составляют. Мол ваш протеус не работает, ЦИРКУТМЕЙКЕР про мк вообще не вкурсе, а вы покупайте новые камни по 7-40 грн. за штуку и тестите на них. Ах да в особо тяжелых случаях мы ещё и программаторы продаем если вдруг он у вас испортиться.

>>>Ну что зашиваю в мк (потому, что КОД очевиден) и если сломается простите Atmel я не понимаю вашу политику? и искать другого производителя?

И естественно как всегда:

P.S. классное общество строится все вокруг потребители, а коль вздумаешь выпрыгнуть из этого потока так мы тебя тут же обратно положим. Нечего тебе быть таким умным.

Но нашлись люди кто все же смог это сделать (в силу профессии или ещё чего) и поведал миру как (естественно с их непонятной точки зрения). Умные мира сего (производители) смерились и ужесточили воспринимаемость информации в даташитах - мол если такие умные выкусите.

Пойду дальше отуплять свой разум за просмотром очередного кинематографического высера. В фильмах многому научат))) Все, что нужно вам знать если IQ не превышает 100.

ИМХО.

Изменено пользователем AvtoFocus

"...Не верю в этот мир, если не верю в себя сам, я вижу цель и знаю, что я буду там..." Noize MC - Сам (2011)

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

Книжку читаешь? Порт настроить на вход (DDRx=0), включить внутреннюю подтяжку входа (PORTx=1), чтобы на входе иметь +Uпит. при разомкнутой кнопке (или подключить внешний резистор). И начинай, все-таки, на Ассме. Лучше поймешь и разберешься.

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

Спасибо кэп. Я это понял ещё в самом начале. На ассемблере мало литературы. Поэтому основы будем постигать так. И тем более ассемблер есть и в С с помощью блока #asm #endasm если верить интернету

"...Не верю в этот мир, если не верю в себя сам, я вижу цель и знаю, что я буду там..." Noize MC - Сам (2011)

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

Почему в Ревиче не написано
Потому что он не даташит. В даташите или Евстифееве все диаграммы и особенности работы всех модулей есть.

Пошаманил с кодом, заменил в цикле с if и эффект, чтобы не просто 0xFF а 0xAA, так оно лучше видно.

#define F_CPU 1000000UL

#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
DDRB = 0xFF;
PORTC = 0xFF;
while(1)
{
 PORTB = 0x00;
 _delay_ms(250);
 PORTB = 0xFF;
 _delay_ms(250);
 if(!(PINC & 0b00000001)){
  PORTB = 0xAA;
  _delay_ms(500);
 }
}
return 0;
}

Все работает. Если кнопка (PC0) отпущена - 0x00-0xFF, если нажата - 0x00-0xFF-0xAA, проверял в протеусе.

Что за бред написан в посте? Неужели так трудно почитать книги, благо в интернете их нейти нетрудно, да хоть бы и обучающие курсы на сайте, там все подробно разжевано. Нет, очередной новичок, которому лень почитать что же такое порт ввода-вывода, что такое регистр и как работает if начинает возмущаться что все специально от него скрывают. Если бы той же Atmel было невыгодно чтобы ее продукцией пользовались (уже звучит бредово) стали бы они писать столько аппнотов по управлению всем подряд, приводить диаграммы работы контроллеров, их рабочие режимы, сотню разнообразных параметров? Еще и постоянные нападки на форумчан, админов, производителей.

Знаешь, неприятно, когда пытаешься помочь, объяснить, а тут "вы все сговорились чтобы понимать было труднее". Такое ощущение что просто ленишься почитать документацию, разобраться. В той же литературе эта задача решается не менее чем десятком способов.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

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

хорошо щас попробую спс за вши усилия)

210 страниц Ревича мало прочитал? Откуда я же знал, что он пишет общими словами... буду читать теперь Евстифеева.

Кроме ревича ознакомился с этими страницами:

http://chipmk.ru/index.php?option=com_content&view=category&id=58&Itemid=69

http://roboforum.ru/wiki/%D0%9A%D1%83%D1%80%D1%81_%22%D0%9F%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%9C%D0%9A_AVR_%D0%BD%D0%B0_%D0%A1%D0%B8%22

Остальное по мелочи в инете...

if(!(PINC & 0b00000001)){

Маскирование в условии О_о. А так можно? точнее можно потому, что оно работает но ...

А почему нельзя просто PINC тогда? чем оно ему не нравится(((

P.S. я против вас ничего не имею. Одно дело когда опытный человек смотрит на даташит и уже видит, что да как не зная перевода, а другое дело, когда новичек пытается разобраться в этих бреднях.

И кстате я заметил как в Ревиче это решили 10-ю способами. Аж на пол странички вместилось.

Изменено пользователем AvtoFocus

"...Не верю в этот мир, если не верю в себя сам, я вижу цель и знаю, что я буду там..." Noize MC - Сам (2011)

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

Читаю Евстифеев Ф.В. - Микроконтроллеры AVR - очень разжевано. Ревич идет в корзину =))

P.S. не спрашивайте почему ответ очень прост.

1377380819-clip-22kb.jpg

Это у Евстифеева заняло 1\5 всего, что написал Ревич. А там ещё около 10 страниц (мб больше).

Изменено пользователем AvtoFocus

"...Не верю в этот мир, если не верю в себя сам, я вижу цель и знаю, что я буду там..." Noize MC - Сам (2011)

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

Что то Studiя 6 не принимает мою программу с АЦП.

Ругается кучей матов. Вот фото и код программы:

1377385640-clip-30kb.png

#define F_CPU 1000000UL
#include <avr/io.h>
#include <util/delay.h>
#define ADC_VREF_TYPE 0x00
interrupt [ADC_INT];
void adc_isr(void) {
delay_ms(20);
PORTB=(unsigned char) ~ADCW;
ADCSR|=0x40;
}
int main(void) {
PORTB=0xFF;
DDRB=0xFF;
ADCSR=0x8E;
#asm("sei")
ADMUX=0;
ADCSR|=0x40;
while (1);
}

Вроде бы по рецепту писал))) В табличках значения выбирал, а ему не нравится)))

Она не делает не каких действий. Тут только АЦП шевелится.

Изменено пользователем AvtoFocus

"...Не верю в этот мир, если не верю в себя сам, я вижу цель и знаю, что я буду там..." Noize MC - Сам (2011)

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

В Студии прерывания обозначаются ISR(ADC_vect){} а не interrupt. Особенность среды. Я из-за этого долго не мог перейти на Си. И вам советую сначала посидеть на асме. Справа в студии есть окошко отладки, там написаны доступные порты ввода-вывода. ADCSR там нет. Если бы вы сначала дочитали главу то знали бы, что в разных МК этот регистр зовется по-разному, например, ADCSRA.

И ассемблерная вставка делается asm("..."); впрочем для данного случая можно и просто sei();

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

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

Спасибо через пару минут исправлю и отпишусь. Про регистр знаю. В моем мк по даташиту именно с буквой А. Но статья где я посмотрел как лбратиться к этим регистрам, уверяла что и так можно(мол студия поймет).

И кстате в обоих книгах я прочитал все о АЦП и даже сторонние ресурсы исползовал - иначе я как бы написал код?

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

Да вы скажите ревич про асм - но таи скудно описанно... Имхо

А в новой книге пока туда не дочитал.

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

"...Не верю в этот мир, если не верю в себя сам, я вижу цель и знаю, что я буду там..." Noize MC - Сам (2011)

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

Да вы скажите ревич про асм - но таи скудно описанно... Имхо
Мне хватило, начинал осваивать AVR именно по его книге.

Таблицы с адресами не нужны, в <...>def.inc им приписаны буквенные имена, как тот же ADCSRA (иногда для совместимости им пишут альтернативное имя, как ADCSR, но редко). РОНам тоже можно давать осмысленные имена, .def temp=r16 например.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

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

Ясно. Спасибо.

На ASR ругается. Говорит, что вот так надо

int (ADC_vect);

вот ошибки:

1377419217-clip-15kb.png

Щас попробую применить в протеусе)))

"...Не верю в этот мир, если не верю в себя сам, я вижу цель и знаю, что я буду там..." Noize MC - Сам (2011)

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

Такс кое как исправил и скомпилировал. Теперь протеус жалуется =((

1377421036-clip-100kb.png

Да, и при компиляции в первый раз выдает такое:

1377420800-clip-11kb.png

В моем проекте даже нет такого файла и такого кол-ва строчек. (Попробовал новый проект с тем же текстом, тоже самое...

Помню подобное писало в отладчике для x86, когда командой call обращался за граници памяти разрешенные для программ.

Вот текст программы:

#define F_CPU 1000000UL
#include <avr/io.h>
#include <util/delay.h>
#define ADC_VREF_TYPE 0x00
int (ADC_vect);
unsigned char xray;
void adc_isr(void) {
_delay_ms(20);
PORTB=(unsigned char) ~ADCW;
ADCSRA|=0x40;
}
int main(void) {
DDRB=0xFF;
PORTB=0x0;
ADCSRA=0x8E;
asm("sei");
ADMUX=0;
ADCSRA|=0x40;
while (1);
{
asm("MOV r16, ADCH MOV xray, r16");
if (xray<5);
PORTB = 0xFF;

}
}

Кто знает от чего такое может писать?

Изменено пользователем AvtoFocus

"...Не верю в этот мир, если не верю в себя сам, я вижу цель и знаю, что я буду там..." Noize MC - Сам (2011)

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

Это же переучиваться придется)) Я только к студии начал привыкать) Правда в той проге есть инфа о коде, сколько весит и т.д. - хз важно ли))

А чем он нужный? что то есть чего нет в студии?

Я бы вообще попробовал на прямую зашивать в память коды команд ,а программу на листке писать)) Так делали много лет назад. ПРавда не знаю можно ли так сейчас?

Изменено пользователем AvtoFocus

"...Не верю в этот мир, если не верю в себя сам, я вижу цель и знаю, что я буду там..." Noize MC - Сам (2011)

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

дак там киндичать не надо)) вот вам пример на системе х86 intel.

1377433000-clip-8kb.png

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

Слева адрес. ВТорой столбик мнемонический код команды, а третий столбик сама команда и операнд.

Команда - один байт. Операнд - 2-3 байта.

Точно так загоняешь в процессор. А так как СК (счетчик команд) после запуска МП начинает с адресов 0800 то ты сразу увидишь свою программу в действии.

P.S. вопрос про АЦП очень актуален. (см. выше: http://forum.cxem.net/index.php?showtopic=128322&st=80#comment-1632156 )

Изменено пользователем AvtoFocus

"...Не верю в этот мир, если не верю в себя сам, я вижу цель и знаю, что я буду там..." Noize MC - Сам (2011)

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

Нет,cvavr для обучения нельзя, это еще хуже чем avr-gcc. Для разработки может и лучше, для обучения все кодогенераторы будут только мешать. Даже то что Си скрывает за вызовом main, не говоря уж о автоматической настройке переферии. Так труднее понять что на самом деле происходит в контроллере. Да и автосформированный код обычно выглядит нечитаемо: куча инициализаций всего подряд значениями по умолчанию (хотя для разработки чего-то оно может и полезно) и километровые комментарии.

Еще раз настоятельно рекомендую обучаться на ассемблере. Все равно, даже в ЯВУ постоянно используются ассемблерные вставки. Понимать, почему использовать всякие malloc() чаще всего невыгодно а глобальные переменные - наоборот хорошо (для ПК все наоборот). Да и на всяких ATtiny10 (лично меня она потрясла размером, с smd-транзистор) где и оперативки-то нет, да и остальной памяти немного, Си может вообще не помочь и уж точно не сгенерирует оптимальный код. Если хотите, могу поискать конкретных примеров, где без знания архитектуры трудно разобраться почему работает так а не иначе.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

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

Я вам верю. У меня архитектура 48РА заставкой н рабочем столе стоит иначе не пойму)))

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

"...Не верю в этот мир, если не верю в себя сам, я вижу цель и знаю, что я буду там..." Noize MC - Сам (2011)

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

Какой режим хочется? Одиночного или непрерывного преобразования? Команда Ассма MOV применима только для РОН (регистров общего назначения, R0-R31). Если требуется обмен с регистрами ввода/вывода, то до адреса 63h используются IN/OUT, а выше (до 65535h) LDS/STS. Кстати, у тебя внутренний источник опорного напряжения отключен (ADMUX), а внешнего на схеме не видно.

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

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

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

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

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

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

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

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

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

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

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

  • Сообщения

    • Все предложенные к рассмотрению источники питания работают примерно по одному принципу: сетевое напряжение выпрямляется, фильтруется (получаем чуть больше 300 вольт постоянного), затем преобразуется снова в переменное, но уже на частотах в несколько десятков килогерц, понижается на трансформаторе и снова выпрямляется. За счёт высокой частоты преобразования используется трансформатор на ферритовом, а не на стальном, сердечнике, гораздо меньших габаритов и стоимости. Минусы: значительное усложнение схемы блока и вероятность возникновения различных помех от него. Модули управления (кроме первого) также являются импульными преобразователями, с теми же достоинствами и недостатками. Если нужно по быстрому собрать некое подобие ЛБП, то уж лучше брать модуль вроде этого. Ну и блок питания к нему соответствующий. Но не очень понятно, какой практический опыт можно получить от соединения готовых модулей парой проводов.  
    • У меня больше всего вопросов вызвала необычная схема обеспечения отрицательного питания. Автор этой обстоятельной заметки пишет: 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
×
×
  • Создать...