Jump to content
Prozac

Самопроизвольно перезагружается ATtiny13 (почти детективная история)

Recommended Posts

Здравствуйте, уважаемые форумчане! Вообще говоря, не имею такой привычки - донимать людей вопросами, и до всего стараюсь доходить самостоятельно. Но в данном случае без "помощи зала" совсем никак: перепробовал уже все, что только смог придумать - а "воз и ныне там! Поэтому и обращаюсь сюда - возможно, кто-то уже сталкивался с чем-то подобным, и сумел найти решение...

Суть проблемы в следующем: решил построить ШИМ-контроллер для автомобильного вентилятора охлаждения ("карлсона"), но никак не могу заставить его работать - как только открываются VT2 и VT3, подключая нагрузку, МК уходит в резет или виснет (чаше - первое)!.. Сбросившись, опять пытается подключить нагрузку, и опять резетится, и так - без конца! Причем, изначально решил испытать схему не на индуктивной нагрузке (электромоторе), а на вполне себе пассивной 60Вт (около 3A по току) лампочке из фары - и та же фигня: МК пытается запуститься, сбрасывается, лампа моргает, дергается... Даже не ШИМ, а обычное мигание лампой с частотой 1Гц через несколько вспышек или вешает МК, или резетит его (что видно по сбою ритма моргания). При этом без нагрузки - по осциллографу, подключенному к ноге 5 МК или к нижнему (по схеме) выводу R7 - все отлично: наблюдается ровный и чистенький ШИМ-сигнал, изменяющийся согласно тестовой программе! Однако, стоит подать нагрузку, как осциллограмма начинает прыгать: появляются ШИМ-импульсы, затем ровная линия, затем снова импульсы с тем заполнением, которое должно быть в самом начале программы... Собственно, это наблюдение и позволило сделать вывод о том, что МК перезагружается.

Естественно, первая мысль - слабый лабораторник (он у меня импульсный, самодельный, где-то на 3А - действительно слабый; но та же петрушка наблюдалась и при попытках питать устройство от трансформаторного ЗУ на 10А). Ну, пригнал машину, снял с нее аккум (100% свежий и не дающий просадок!), запитал от него - однако проблема повторилась... Значит, дело не в питании!.. Пробовал много различных танцев с бубном: отключал внешнюю цепочку сброса R2-C2 (результат - ноль), включал BOD микроконтроллера (стало еще хуже), подвешивал вместо C4 и C6 электролиты большей емкости (не помогло)... Думал, что, возможно, кондеи C4 и C6 разряжаются через R7 - экспериментировал с его сопротивлением (от 100 до 960 Ом), перекидывал его верхний вывод на анод VD1 (чтобы отсечь резистор от фильтрующих C4 и C6) - тщетно... Грешил даже на то, что какие-то проблемы вносит емкость затворов VT2 и VT3 - уменьшал сопротивление R10 и R12, дабы затвор быстрее "разряжался" - безрезультатно...

Игрался с частотой МК и ШИМ - перебрал частоты ШИМ от 18 до 4687 Гц; пытался запускать нагрузку с разным заполнением ШИМ, от 10 до 40% - как глючило, так и глючит... Т.е., перелопатил, практически, всю схему!

Удалось заставить устройство нормально работать на лампу, и даже на пару спаралеленных электродвигателей МЭ218 (от "печки") следующим образом: R8 был исключен (вместо него - перемычка), а C7 (изначально - К73-17В всего на 0,47мкФ) был заменен на пару электролитов по 1500мкФ, включенных плюс к плюсу последовательно (для устранения полярности кондеев). Нагрузка стала нормально подключаться, отрабатывать как на повышение, так и на убывание заполнения ШИМ. Двигатели отлично работали как при ступенчатом изменении ШИМ-заполнения, так и при плавном. Единственное, что при попытке подать на двигатели ШИМ с заполнением менее 20%, МК опять начинал дергаться и резетить, а так же резетил при резком отключении движков: если раскрутить их до 100%, а потом снять сигнал, то МК перезагружался; однако, если после 100% плавно понижать обороты где-то до 40%, и лишь потом снимать сигнал, то схема работала нормально. Плюс, очень сильно нагревались электролиты C7...

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

Сейчас, вроде бы, "осенило" - поменял VD2 на Шоттки 1N5822 - лампочка запустилась на "ура" даже без С7; так же отлично и мягко стартовала спарка из МЭ218 - радостный побежал к машине... Но с "карлсоном" - опять мимо: МК вновь ушел в перезагрузку... Все: я не знаю, что тут делать - каждую деталь уже перелопатил, и кучу вариантов испробовал!!! Но ничего не понятно(( Вот и прошу помочь: может быть, кто-то уже был в такой ситуации, и как-то решил подобную проблему?

VT2 и VT3 стоят "фирменные", IR-овские (не Китай) - из "Чип и Дипа". ATtiny13 - с Алиэкспресс; чтобы исключить возможность брака конкретной микросхемы, пробовал ставить в схему несколько разных экземпляров МК (из одной посылки). DS18B20 пока еще не подключал (нужно разобраться с ШИМ!). IRF3205 каскадированны для уменьшения нагрева (хотя его и так практически нет), и для дополнительной надежности (чтобы в случае выхода из строя одного транзистора не перегреть машину). Тестовую программу специально написал "китайским стилем", без циклов и т.п. - чтобы она была максимально простой, наглядной и линейной - для уверенности, что не в ней дело.

Подскажите пожалуйста - откуда эти резеты, и как с ними бороться? Как заставить схему отрабатывать на мощную нагрузку? Заранее благодарю!!!
 

 

;*************ТЕСТОВАЯ ПРОГРАММА*************

;============ДИРЕКТИВЫ ТРАНСЛЯТОРУ===========

.device ATtiny13
.include "tn13def.inc"
.list

;Обзывательство регистров
.def Temp = R16

.cseg
.org 0x00


;=========ТАБЛИЦА ВЕКТОРОВ ПРЕРЫВАНИЙ========

        rjmp     Begin                //Начальный сброс
        reti                          //Внешнее прерывание INT0
        reti                          //Изменение состояния любой линии
        reti                          //Переполнение T0
        reti                          //Готовность EEPROM
	     reti                          //Срабатывание компаратора
	     reti                          //Совпадение в канале A таймера T0
	     reti                          //Совпадение в канале B таймера T0
        reti                          //Переполнение сторожевого таймера
        reti                          //Завершение преобразования в АЦП


;============МОДУЛЬ ИНИЦИАЛИЗАЦИИ============

Begin:

;-----Инициализация стека

        ldi     Temp,    RAMEND
	    out     SPL,     Temp

;-----Отключение компаратора

        ldi     Temp,    0x80
	    out     ACSR,    Temp

;-----Настройка портов

        ldi     Temp,    0b00000111   
	    out     DDRB,    Temp         //PB0 - на вывод 

;-----Настройка ШИМ
				
		ldi     Temp,    0b11000001
		out     TCCR0A,  Temp         //Режим - быстрый ШИМ с инверсией

		ldi     Temp,    0b00000010
		out     TCCR0B,  Temp         //Делим тактирование таймера на 8

		rjmp    Start                 //При старте пропускаем 5-секундную задержку


;===============ТЕСТОВЫЙ ЦИКЛ================

PWM:    ldi     Temp,    0b00000000
		out     OCR0A,   Temp         //ШИМ=0%

		rcall   Delay5sec             //Ждем 5 сек

;-----Повышаем скорость
Start:
        ldi     Temp,    77
		out     OCR0A,   Temp         //ШИМ=30%
        rcall   Delay2sec

        ldi     Temp,    102
		out     OCR0A,   Temp         //ШИМ=40% 
        rcall   Delay2sec

        ldi     Temp,    128
		out     OCR0A,   Temp         //ШИМ=50%
        rcall   Delay2sec

        ldi     Temp,    154
		out     OCR0A,   Temp         //ШИМ=60%
        rcall   Delay2sec

        ldi     Temp,    179
		out     OCR0A,   Temp         //ШИМ=70%
        rcall   Delay2sec

        ldi     Temp,    205
		out     OCR0A,   Temp         //ШИМ=80%
        rcall   Delay2sec

        ldi     Temp,    230
		out     OCR0A,   Temp         //ШИМ=90%
        rcall   Delay2sec

        ldi     Temp,    255
		out     OCR0A,   Temp         //ШИМ=100%
        rcall   Delay2sec

;-----Понижаем скорость

        ldi     Temp,    230
		out     OCR0A,   Temp         //ШИМ=90%
        rcall   Delay2sec

        ldi     Temp,    205
		out     OCR0A,   Temp         //ШИМ=80%
        rcall   Delay2sec

        ldi     Temp,    179
		out     OCR0A,   Temp         //ШИМ=70%
        rcall   Delay2sec

        ldi     Temp,    154
		out     OCR0A,   Temp         //ШИМ=60%
        rcall   Delay2sec

        ldi     Temp,    128
		out     OCR0A,   Temp         //ШИМ=50%
        rcall   Delay2sec

        ldi     Temp,    102
		out     OCR0A,   Temp         //ШИМ=40%
        rcall   Delay2sec

        ldi     Temp,    77
		out     OCR0A,   Temp         //ШИМ=30%
        rcall   Delay2sec

		rjmp    PWM                   //Возвращаемся, и начинаем с 5 сек "молчания"


;===========ПОДПРОГРАММЫ ЗАДЕРЖКИ============

;-----Задержка в 2 секунды
Delay2sec:
        ldi     R17,     253
        ldi     R18,     75
        ldi     R19,     29

L1:     subi    R17,     1
        sbci    R18,     0
        sbci    R19,     0
        brcc    L1
        nop
        ret

;-----Задержка в 5 секунд
Delay5sec: 
        ldi     R17,     253
        ldi     R18,     61
        ldi     R19,     73

L2:     subi    R17,     1
        sbci    R18,     0
        sbci    R19,     0
        brcc    L2
        nop
        ret

 

Схема.JPG

Share this post


Link to post
Share on other sites

Попробуйте уменьшить R8, а С7 отключить или на землю посадить.

Share this post


Link to post
Share on other sites

Взаимодействие устройств IoT от Microchip с облаком Google

Благодаря облачным технологиям появилась возможность реализовать сложные проекты на базе микроконтроллера путем перераспределения вычислительной нагрузки между микроконтроллером и облаком. Простые в использовании отладочные платы, такие как AVR- и PIC-IoT WG, позволяют выполнять ресурсоемкие вычисления, передавая их в облако.
Подробнее

Вот монтаж. Красной линией обозначена перемычка на время отладки: минусовая шина у платы разделена на две части (для удобства проектирования), т.к. планировалось разместить ее в корпусе от волговского коммутатора, через аллюминиевою рамку которого и будут замыкаться обе половинки минусового печатного провода (и соединияться с корпусом авто). Места, в которых минусовые проводники будут контактировать со стойками рамки, отмечены звездочками.

 

Конечно, не самый изящный монтаж, но силовая часть от проца довольно1867423419_.jpg.88007c4ec43044c132f01de55db39660.jpg далеко...

26 минут назад, snn_krs сказал:

Попробуйте уменьшить R8, а С7 отключить или на землю посадить.

R8 сегодня уже выбросил и дырки для него закоротил, VD2 заменил на Шоттки, C7 при этом был отключен - с относительно мелкими (на 4А) движками от печки заработало идеально, но вот с "карлсоном" все равно не дружит... C7 на землю можно попробовать, но ведь он тогда, по сути, станет кондеем "всея проводки" - какой тогда в этом смысл?

Share this post


Link to post
Share on other sites

Приглашаем на вебинар «Умный и безопасный дом от STMicroelectronics – строим вмеSTе!» (23.06.2021)

Приглашаем 23/06/2021 всех желающих принять участие в вебинаре, посвященном проектированию и разработке систем умного дома на базе компонентов STMicroelectronics. Предлагаемые ST ресурсы позволят разработчику легко построить каркас системы и быстро создать прототип своего приложения. На вебинаре также расскажем о беспроводных интерфейсах – ведь благодаря поддержке стандартов BLE и ZigBee разработчики смогут при необходимости интегрировать устройства сторонних производителей и создавать открытые системы.

Подробнее

LDH-25/65 – новые серии повышающих DC/DC LED-драйверов от Mean Well

Компания Mean Well расширила семейство популярных повышающих DC/DC LED-драйверов LDH двумя новыми сериями меньшей и большей мощности – LDH-25 и LDH-65, соответственно. Новые серии, обладая высоким КПД, применимы для изготовления экономичных светодиодных светильников с питанием от автономных источников тока, в том числе – на транспорте. Конструктивно драйверы выпускаются в двух различных вариантах.
Подробнее

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

Вот монтаж

Сразу видно ошибку. У вас силовой транзистор стоит на пути к МК , шина GND. Попробуйте землю к транзистору усилить монтажным проводом 1-1.5мм2. И подключить монтажный провод 1-1.5мм2 от силовой клеммы GND до 4 ножки микроконтроллера.


Что может быть лучше в радиоэлектронике, чем программирование микроконтроллеров ?

Share this post


Link to post
Share on other sites

МК на какой частоте работает? с подпрограммами задержек всё нормально?

Edited by AvrAsm

Share this post


Link to post
Share on other sites

Мне лично не понравился конденсатор 10 мкФ на сбросе - традиционно все используют 0,1 мкФ. А так же не понравилось, что на выводах питания контроллера нет блокировочного конденсатора.

Абсолютный протест вызвала идея замыкать общий провод через контакт с "массой" автомобиля!

Ну и к ранее сказанным замечаниям/советам по разводке присоединяюсь.


Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Share this post


Link to post
Share on other sites

+мне кажется, или землю для мк нужно "брать" после стабилизатора, а не трассировать стабилизатор "где то там", земля на плате идёт, как уже отметили через ключи, потом на МК, а потом на стабилизатор 5в.

Share this post


Link to post
Share on other sites
2 часа назад, AvrAsm сказал:

МК на какой частоте работает? с подпрограммами задержек всё нормально?

Частоты пытался ставить разные, из доступных для данного МК: и 9,6 Mhz, и 4,8 Mhz, и делитель CKDIV8 для каждой из этих частот включал... Задержки нормально отрабатывают - без нагрузки по осциллографу все отлично, секундомером замерял; глюки только под нагрузкой начинаются... Программа - тестовая, поэтому и "китайский стиль"; но задержки работают как надо.

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

+мне кажется, или землю для мк нужно "брать" после стабилизатора, а не трассировать стабилизатор "где то там", земля на плате идёт, как уже отметили через ключи, потом на МК, а потом на стабилизатор 5в.

Нужно будет попробовать установить плату на аллюминиевою рамку, которая планировалась в качестве минуса, соединяющего две половинки "земли" - вдруг будет лучше? А если не поможет, то как считаете - возможно оставить верхнюю (силовую) часть на плате (VT2 и VT3 с их обвеской); а МК и его обвес вновь собрать на макетке? Или макетка - это тоже не самый лучший вариант?

Share this post


Link to post
Share on other sites
6 минут назад, Prozac сказал:

вдруг будет лучше?

Будет лучше, если вы прочтете рекомендованную вам статью про трассировку плат, и сделаете, как минимум, по этим рекомендациям.


Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Share this post


Link to post
Share on other sites
12 часов назад, artos5 сказал:

Сразу видно ошибку. У вас силовой транзистор стоит на пути к МК , шина GND. Попробуйте землю к транзистору усилить монтажным проводом 1-1.5мм2. И подключить монтажный провод 1-1.5мм2 от силовой клеммы GND до 4 ножки микроконтроллера.

Все силовые трассы к транзисторам и защитному диоду усилены жирным "валиком" припоя; к тому же реально проводники толще, чем на схеме - я делаю платы "дедовским" способом вручную: заливаю медь краской из баллона, а затем ресфедером счищаю те места, которые нужно протравить. Поэтому, к транзисторам проводники толще, чем на рисунке. Надо будет попробовать установить в корпус - по моей задумке ведь он тоже является проводником...

Share this post


Link to post
Share on other sites
1 минуту назад, Prozac сказал:

корпус - по моей задумке ведь он тоже является проводником

Я вам уже писал - это худшее решение из всех, что вы уже приняли


Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Share this post


Link to post
Share on other sites
Только что, ARV сказал:

Будет лучше, если вы прочтете рекомендованную вам статью про трассировку плат, и сделаете, как минимум, по этим рекомендациям.

Статью прочту, и впредь буду следовать. Но сейчас пытаюсь, все же, обойтись без перетрассировки - не факт, что новый вариант окажется сильно лучше, а время будет потрачено.

 

А чем Вам не нравится идея замыкания нагрузки на массу? Есть много схем с таким решением - и они работают. К тому же, стоковая проводка на "карлсон"...

Только что, ARV сказал:

Я вам уже писал - это худшее решение из всех, что вы уже приняли

А если МК собвесом - на макетку, а силовую схему оставить, как есть? Уж больно не хочется переразводить...

Share this post


Link to post
Share on other sites

После того, как прочтете статью, вопрос ваш про "массу" отпадет сам собой.


Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Share this post


Link to post
Share on other sites
1 минуту назад, ARV сказал:

После того, как прочтете статью, вопрос ваш про "массу" отпадет сам собой.

ОК, пошел читать! Т.е., Вы считаете, что тут все дело именно в кривом монтаже?

Edited by Prozac

Share this post


Link to post
Share on other sites

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

Ну и лично я не доверяю китайским деталям, вполне возможно что у вас копия, сделанная с какими либо нарушениями. Это о МК. 

Edited by GalatZ

Share this post


Link to post
Share on other sites

Как я понял, из http://easyelectronics.ru/lazha.html там проблема была в неправильной трассировке земли кварцевого резонатора.

А здесь же у ТС внутренний RC!

Это как же надо постараться что бы внутр.генератор заглючил! )

Попробуйте, вдруг поможет : 

разрезать  вертикальную дорожку земли между VT1 и VT2/3.

соединить землю DA1 с контактом (-)

снизу на контакты питания МК добавить конденсатор 100нФ

 

Edited by AvrAsm

Share this post


Link to post
Share on other sites
10 минут назад, AvrAsm сказал:

Как я понял

это был ответ на вопрос о кривом монтаже, по ссылке всего одна дорожка ложила систему, а у ТС вся плата такая , начиная с электролита на сбросе, отсутствия керамики по питанию МК  и заканчивая разводкой земли стабилизатора и МК , эта плата в условиях ЭМП работать не будет по определению.

 

23 минуты назад, AvrAsm сказал:

вдруг поможет :

не поможет.

Share this post


Link to post
Share on other sites
21 час назад, Prozac сказал:

силовые трассы к транзисторам и защитному диоду усилены жирным "валиком" припоя;

Не очень эффективное занятие, удельное сопротивление припоя, в среднем, в 10 раз выше, чем у меди. Гораздо полезней напаять поверх дорожки медный проводник.

Edited by Dr. West

"Я не знаю какой там коэффициент, я просто паять умею. "

Share this post


Link to post
Share on other sites
24 минуты назад, IMXO сказал:

не поможет.

А что поможет в данной ситуации?

Неужели разрезанием существующих дорожек и добавлением внешних проводов невозможно добиться устойчивой работы этого изделия?

Share this post


Link to post
Share on other sites
20.06.2020 в 21:15, Prozac сказал:

откуда эти резеты

От кривой трассировки платы и кривой схемы.

 

20.06.2020 в 21:15, Prozac сказал:

как с ними бороться?

Менять вышеперечисленное. По поводу схемы. Во-первых, на кой фиг там два MOSFET? Во-вторых, откуда взята эта убогая схема управления MOSFET? Мало того, что в режиме простоя на ней будет рассеиваться дофига тепла, так еще и MOSFET буду открываться ооооочень медлено, а это дополнительный нагрев. Неужели так сложно поставить два биполярника полумостом или взять готовый драйвер? В-третьих, где блокировочные конденсаторы по питанию МК?

По поводу платы - трассировку менять ВСЮ полностью.

 

21 час назад, Prozac сказал:

заливаю медь краской из баллона, а затем ресфедером счищаю

Мрак. 21 век на дворе, китаезы шатмпуют платы по 2 бакса за 10 штук. Ну и + доставка. В общей сложности рублей 600 выйдет за все.

Edited by BARS_

Share this post


Link to post
Share on other sites

А я бы вот так попробовал. Зелёным - что убрать/разрезать. Желтым - толстым проводом добавить.

Интересно, будет ли хоть какой-то эффект...?

 

1.jpg

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

  • Similar Content

    • By Anton Chehonin
      Вот сам код программ
       
      Текст программы МК
      /*******************************************************
      Chip type : ATmega8
      Program type : Application
      AVR Core Clock frequency: 8,000000 MHz
      Memory model : Small
      External RAM size : 0
      Data Stack size : 256
      *******************************************************/

      #include <mega8.h>
      #include <delay.h>

      // Alphanumeric LCD functions
      #include <alcd.h>

      // Standard Input/Output functions
      #include <stdio.h>
      #include <stdlib.h>

      // Declareyourglobalvariableshere

      float s;
      unsigned long int k0=0,k1=0,k2=0,k3=0,k0123=0;
      unsigned long int k4=0,k5=0,k6=0,k7=0;//k4567=0;
      unsigned long int k8=0,k9=0,k10=0,k11=0;//k891011=0;
      unsigned long int k12=0,k13=0,k14=0,k15=0;//k12131415=0;
      unsigned long int k16=0,k17=0;
      char k=0;

      void main(void)
      {
      // Declare your local variables here

      char buffer[20];


      char a,b,c,d,e,f;
      // Присваивание переменным a,b,c численные значения 63 05 00 01 CF A1
      a=0b01100011;
      //63
      b=0b00000101;
      //05
      c=0b00000000;
      //00
      d=0b00000001;
      //01
      e=0b11001111;
      //CF
      f=0b10100001;
      //A1

      DDRD.2=1;
      PORTD.2=0;

      // USART initialization
      // Communication Parameters: 8 Data, 1 Stop, No Parity
      // USART Receiver: On
      // USART Transmitter: On
      // USART Mode: Asynchronous
      // USART Baud Rate: 9600
      UCSRA=(0«RXC) | (0«TXC) | (0«UDRE) | (0«FE) | (0«DOR) | (0«UPE) | (0«U2X) | (0«MPCM);
      UCSRB=(0«RXCIE) | (0«TXCIE) | (0«UDRIE) | (1«RXEN) | (1«TXEN) | (0«UCSZ2) | (0«RXB8) | (0«TXB8);
      UCSRC=(1«URSEL) | (0«UMSEL) | (0«UPM1) | (0«UPM0) | (0«USBS) | (1«UCSZ1) | (1«UCSZ0) | (0«UCPOL);
      UBRRH=0x00;
      UBRRL=0x33;


      // Alphanumeric LCD initialization
      // Connections are specified in the
      // Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
      // RS - PORTС Bit 0
      // RD - PORTС Bit 1
      // EN - PORTС Bit 2
      // D4 - PORTС Bit 3
      // D5 - PORTС Bit 4
      // D6 - PORTС Bit 5
      // D7 - PORTD Bit 7
      // Characters/line: 20
      lcd_init(20);
      lcd_clear();
      delay_ms(1000);
      while (1)
      {
      printf("%c%c%c%c%c%c",a,b,c,d,e,f); // отправка в порт

      //принимаем байты
      k=getchar(); // 0 байт
      if (k==99) {PORTD.2=1;}
      k0=getchar(); // 1 байт Активная энергия+
      k1=getchar(); // 2 байт
      k2=getchar(); // 3 байт
      k3=getchar(); // 4 байт
      k4=getchar(); // 1 байт Активная энергия-
      k5=getchar();
      k6=getchar();
      k7=getchar();
      k8=getchar(); // 1 байт Реактивная энергия+
      k9=getchar();
      k10=getchar();
      k11=getchar();
      k12=getchar(); // 1 байт Реактивная энергия-
      k13=getchar();
      k14=getchar();
      k15=getchar();
      k16=getchar();
      k17=getchar(); // 19 байт


      k0=k0«24;
      k1=k1«16;
      k2=k2«8;
      k0123=k0|k1|k2|k3;


      s=k0123;
      sprintf(buffer,"A+=%.4fkWh",s/2500);
      lcd_gotoxy(0,0);
      lcd_puts(buffer);

      // k4=k4«24;
      // k5=k5«16;
      // k6=k6«8;
      // k4567=k4|k5|k6|k7;
      // s=k4567;
      // sprintf(buffer,"A-=%.4fkWh",s/2500);
      // lcd_gotoxy(0,1);
      // lcd_puts(buffer);
      //
      // k8=k8«24;
      // k9=k9«16;
      // k10=k10«8;
      // k891011=k8|k9|k10|k11;
      //
      //
      // s=k891011;
      // sprintf(buffer,"R+=%.4fkVarh",s/2500);
      // lcd_gotoxy(0,2);
      // lcd_puts(buffer);
      //
      //
      // k12=k12«24;
      // k13=k13«16;
      // k14=k14«8;
      // k12131415=k12|k13|k14|k15;
      // s=k12131415;
      // sprintf(buffer,"R-=%.4fkVarh",s/2500);
      // lcd_gotoxy(0,3);
      // lcd_puts(buffer);

      delay_ms(1000);
      lcd_clear();

      }
      }
    • By dima040891
      Приветсвую!
      Кто ни будь работал с микросхемой STLED316S?  Это драйвер семисегментонго индикатора.
      Можете привести минимальный кусок кода который выводит любую цифру на дисплей. Из документации не пойму как с ней работать...
      На форумах инфы почти нет. Из того что есть тоже толку мало. Буду рад любой инфе по этой микросхеме.

      Ещё правильно же понимаю биты по SPI передаются младшим вперёд, а такты нужно передавать инверсные?

      В качестве МК применяю STM32.
    • By Student161
      Добрый день! "Не вели казнить! Вели слово молвить!" Печеньку модератору!
      Увлекаюсь ардуинками и решил расширить кругозор в области ремонта БП. Заволялось два мертвых и один полумертвый БП 220-12 6А и два 12.5А. 6А ожил после замены всдувшегося конденсатора, а вот 12А интереснее проблемы одинаковые силовой ключ, резисторы, шим контроллер (или как там его зовут UC3845AN) кажется еще диодный мост на выходе, пред и термистор. Поменял все мелкие конденсаторы. Один блок питания "вроде" ожил (при подключении через лампочку выдает 12В), пока не собираю он у меня как образец. А вот последний БП выдает без нагрузки через лампочку 5В вместо 12В. Что не говорят в ютубе "осцилограф в БП не нужен", но я уже и его за юзал. Скачет питание на микросхеме. Выпаивал все конденсаторы и проверял, стоящие в цепи питания. Сдался и вот я тут за помощью в очереди! Помогите разобраться! БП мне и даром не нужен, а вот опыт бесценен. Пила на 4й ноге "рваная" питание - пила.





    • By sunjob
      добрый день
      проект v-usb
      выкус из спецификации/инета/форумов:
      - реализация не полностью соответствует стандарту
      - работа на 100% не гарантируется
      - питание по USB / с компа может провалиться до 4-4.5В (а F_CPU идет в "притирочку" ...)  :))
      у всех рекомендованных схем подключения (3 шт) имеются те или иные очевидные минусы.



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


       
      достаем помидоры, баркова, мысли, высказываемся (заранее благодарен)
      tag: v-usb, usb, avr, atmega328p, avr-gcc, linux/mac-osx
      NO atmega32u4, NO arduino pro micro etc...

×
×
  • Create New...