Перейти к содержимому
Форум журнала практической электроники «Датагор»

Куча недорогих очков на все вкусы и цвета. Распродажа, конец сезона

Офигенные керамические подшипники FreeSport 608RS для скейта, роликов, самоката

Оригинал микро-ПК Raspberry Pi 3 Model B+ (Broadcom 1.4GHz quad-core 64 bit processor, Wifi, Bluetooth, USB)

Стартовый набор (23 элемента) Raspberry Pi 3 Internet Of Things

USB флэшка 16/32/64 Gb с доп.выходом на OTG под Android

Пластик PLA Joylites для 3D-принтера, 10m 1.75mm, 10 цветов

Набор инжекторов для 3D-принтера 10шт.

Офигенная миниатюрная рация на литии BaoFeng UV-5R, 5W, 5-15 км! Охота, поход, торговый центр и т.п.

Смартфон Original New Nokia 6 Android 7.0 Nougat 4GB 64GB Octo Core

High Quality 2 Channel PCM Voice Telephone Fiber Optical Media Converter With Ethernet FC Single mode 20Km

Автомобильный сканер Bluetooth Auto Scanner OBDII V2.1 для Android, Windows, Symbian

Аудио кабель джек-джек 3,5мм, 1.5 и 3 м

Двухдрайверные наушники MOOJECAL M1, 16 Ohm, 102dB, Super Bass, чехол

Гарнитура с микрофоном MOOJECAL MJ-06, 32 Ohm, 100dB

Футболки с принтами на выбор, T-Shirt

Мультиметр UNI-T UT139A, True RMS, Auto Range

Набор паяльных инструментов в чехле, паяльник 220V 60W с терморегулятором, пинцет и пр.

Паяльнник 80W с терморегулятором и LCD-дисплеем, популярные жала серии 900M

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

Проблема в следующем

Пытаюсь подключить 7-ми сегментник к АТ8 - даже не моргнёт,падла такая.

Вроде по книжкам делал, мож подробность какую упустил?

 

Вордовский док не хАТИт глотать, по этому открытым текстом.....

 

 

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>

#include <stdio.h>

 

char digit_out[2], cur_dig;

 

flash char buf[] = { //массив с цифрами

0b00000011, //0

0b10011111, //1

0b00100101, //2

0b00001101, //3

0b10011001, //4

0b01001001, //5

0b01000001, //6

0b00011111, //7

0b00000001, //8

0b00001001, //9

0b11111111

};

 

void hc164_wr(unsigned char dig){ //подпрограмма вывода данных в регистр

unsigned char a;

for(a=0; a<8; a++){ //цикл для вывода 8 бит данных из массива

PORTB.0 = buf[dig] & 1<<a; //выводим в линию DATA текущий бит

PORTB.1=0; //опускаем линию CLK в лог.0

PORTB.1=1; //поднимаем линию CLK в лог.1

}

}

 

// External Interrupt 0 service routine

interrupt [EXT_INT0] void ext_int0_isr(void)

{

 

switch (cur_dig){

case 0:{PORTC.0=0; PORTC.1=0; hc164_wr(digit_out[cur_dig]); PORTC.0=1; break;}; //первая цифра

case 1:{PORTC.1=0; PORTC.0=0; hc164_wr(digit_out[cur_dig]); PORTC.1=1; break;}; //вторая цифра

}

cur_dig++;

if (cur_dig==2) cur_dig=0;

 

 

}

 

// External Interrupt 1 service routine

interrupt [EXT_INT1] void ext_int1_isr(void)

{

// Place your code here

 

}

 

// Declare your global variables here

 

void main(void)

{

unsigned char f;

 

// Input/Output Ports initialization

// Port B initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T

PORTB=0x00;

DDRB=0xFF;

 

// Port C initialization

// Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In

// State6=T State5=T State4=T State3=T State2=T State1=T State0=T

PORTC=0x00;

DDRC=0xFF;

 

// Port D initialization

// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out

// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0

PORTD=0xFF;

DDRD=0x00;

 

// Timer/Counter 0 initialization

// Clock source: System Clock

// Clock value: 125,000 kHz

TCCR0=0x03;

TCNT0=0x00;

 

// Timer/Counter 1 initialization

// Clock source: System Clock

// Clock value: Timer1 Stopped

// Mode: Normal top=0xFFFF

// OC1A output: Discon.

// OC1B output: Discon.

// Noise Canceler: Off

// Input Capture on Falling Edge

// Timer1 Overflow Interrupt: Off

// Input Capture Interrupt: Off

// Compare A Match Interrupt: Off

// Compare B Match Interrupt: Off

TCCR1A=0x00;

TCCR1B=0x03;

TCNT1H=0x00;

TCNT1L=0x00;

ICR1H=0x00;

ICR1L=0x00;

OCR1AH=0x00;

OCR1AL=0x00;

OCR1BH=0x00;

OCR1BL=0x00;

 

// Timer/Counter 2 initialization

// Clock source: System Clock

// Clock value: Timer2 Stopped

// Mode: Normal top=0xFF

// OC2 output: Disconnected

ASSR=0x00;

TCCR2=0x03;

TCNT2=0x00;

OCR2=0x00;

 

// External Interrupt(s) initialization

// INT0: On

// INT0 Mode: Falling Edge

// INT1: On

// INT1 Mode: Falling Edge

GICR|=0xC0;

MCUCR=0x0A;

GIFR=0xC0;

 

// Timer(s)/Counter(s) Interrupt(s) initialization

TIMSK=0x02;

 

// USART initialization

// USART disabled

UCSRB=0x00;

 

// Analog Comparator initialization

// Analog Comparator: Off

// Analog Comparator Input Capture by Timer/Counter 1: Off

ACSR=0x80;

SFIOR=0x00;

 

// ADC initialization

// ADC disabled

ADCSRA=0x00;

 

// SPI initialization

// SPI disabled

SPCR=0x00;

 

// TWI initialization

// TWI disabled

TWCR=0x00;

 

// Global enable interrupts

#asm("sei")

 

while (1)

{

for(f=0; f<100; f++){

delay_ms(50);

digit_out[0]=f/10;

digit_out[1]=f%10;

 

}

};

}

 

Ошибка где?

подскажите, пожаЛЛста :unknown:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
... даже не моргнёт,падла такая. ...
Желательно видеть схему. Во-первых, в схеме могут быть ошибки. Во-вторых, используется вход внешних прерываний и без схемы непонятно, что за сигнал на него подаётся. В третьих, программа может не соответствовать схеме. В четвёртых, без схемы нельзя понять, как выводятся знаки. В функции hc164_wr выводится последовательный код с тактом. Куда выводится? У вас индикатор с последовательным входом? Изменено пользователем Lexter

Поделиться сообщением


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

Понял.

Я сам сдурил - схему нарисовал 74С595 - балбес, что скажешь....

Николай, тогда вопрос шкурный - все мои извраты в данный момент связаны с следующим

Хочу на AVR-ке сделать управление оконечником.

Алгоритм следующий:

1 - Подали сетевое - усь в ожидании (stendbai)

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

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

Если есть возможность помочь в данном проекте - буду очень благодарен.

Поделиться сообщением


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

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

Поделиться сообщением


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

Так как после переделки, проект "задышал"?

Поделиться сообщением


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

Вот и схема добытая непосильным трудом из протеуса.

 

 

Узнать бы ещё назначения кнопок.

 

 

post-32484-0-83872000-1518362882_thumb.jpg

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

Поделиться сообщением


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

кнопки свеху 1,2,3,4,

1 - вкл

2 - +

3 - -

4 - нажал - есть + на PD0 , ещё раз - нету.

Переделал всё и всё равно тихо.

Поделиться сообщением


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

Перенастроил порты - индикатор засветился....... весь......все сегменты.......

На нажатие не реагирует, сдвиг.рег. молчит.

Хреново когда недоучь.....

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
... появляется индикация (4-х разрядный 7-ми сегментник) -- уровень громкости на момент выключения. ...
А не много будет уровень громкости в 4-е разряда?

Поделиться сообщением


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

индикацию хочу сделать "dB" - 127, а с прибавлением или убавлением.....

Буквы с индикатора отдельно сделаю...

Пыжусь с чужих решений "свести" в кучу всё - ума, блин, не хватает, блин....

Может кто ссылочку скинет как правильно выводить цыфры через 595-ю в CodeVision-е?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
... как правильно выводить цыфры через 595-ю ...
Для этого полезнее один раз разобраться, чем каждый раз искать чьи-то кривые примеры. :smile:

Берётся даташит на нужную микросхему (ссылка на даташит 74HC595: _http://www.ti.com/lit/ds/symlink/sn74hc595.pdf ).

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

Зная, к каким портам контроллера какие выводы микросхемы подключены, просто пишутся соответствующие действия в программе:

Исходно управляющие входы микросхемы надо установить в следующие состояния:

OE (13) = 0 (выходы микросхемы активны);

RCLK (12) = 0 (исходное состояние входа записи в регистр-защёлку);

SRCLK (11) = 0 (исходное состояние входа записи в сдвиговый регистр);

SRCLR (10) = 1 (сброса в 0 сдвигового регистра нет);

SER (14) - вход последовательных данных, любое состояние, так как нужное установится при первом выводе.

 

В подпрограмме вывода кода цифры выполняются следующие действия:

На SER (14) устанавливается первый бит выводимого кода.

На SRCLK (11) устанавливается 1, затем 0, т.е. формируется фронт такта, по которому бит со входа SER записывается в сдвиговый регистр.

Эти операции повторяются, пока в сдвиговый регистр не будут записаны все биты кода.

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

Для этого на RCLK (12) надо установить 1 (по этому фронту данные запишутся в выходной регистр и появятся на выходах), затем 0 (вернуть в исходное состояние). При динамической индикации эта операция делается в другом месте (см. ниже).

Всё. Новое число установлено на выходах микросхемы. Бит, выведенный последним, окажется на выходе QА (15), остальные биты - по порядку на остальных выходах.

 

Дальше надо разобраться с динамической индикацией. У вас 4 знака, в которые надо выводить число по-очереди циклически. В каком порядке - не имеет значения. Чтобы обеспечить наиболее быстрое переключение, последовательность такая:

 

1. В 595-й регистр выводится последовательный код следующего символа по алгоритму, написанному выше. В выходной регистр пока не пишется (состояние RCLK (12) не меняется). Во время длительной операции последовательного вывода на индикаторе всё ещё горит предыдущий символ.

 

2. Текущая линия выбора знака (на вашей схеме это PC0 - PC3 контроллера) выключается. Знак при этом гаснет.

Каким уровнем (0 или 1), зависит от того, какой у вас индикатор - с общим анодом или общим катодом.

 

3. На выводе RCLK (12) формируется фронт записи в выходной регистр. На выходах микросхемы при этом появляется код следующего знака.

 

4. Устанавливается активной следующая линия выбора знака. Знак при этом "зажигается".

 

Для четырёхразрядного светодиодного индикатора "перебирать" знаки надо с частотой 60 - 120 Гц, чтобы не было заметно мерцания. Делать частоту выше не стоит - будет уменьшаться яркость.

 

По поводу схемы подключения индикатора.

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

Выводы PC0 - PC3 контроллера перегружены по току. Может быть включено одновременно все 7 сегментов (цифра 8), соответственно посчитайте, какой ток требуется с вывода порта PC, и посмотрите в даташите, какой максимальный допустим.

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

Поделиться сообщением


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

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

  • Форум законсервирован 💬

    Я законсервировал форум. Дальше общаемся в обычном режиме на основном сайте Журнала. Новая тема = новая статья, посты = комментарии.

    Игорь

  • Сообщения

    • Спасибо за инфо.  Собрал некоторые комплектующие.   В выходние хотел начать делать для себя станок для намотки выходных трансформаторов моего лампового проекта.    Не могли бы выложить на этот форум печатную плату. Хотел сделать через технологию  ЛУТ.
    • А я вот нашёл в полученном наборе для творчества - EF86, ECC83, ECC808, ECH81. tunsgram-ы. Где бы теперь корпусок взять?
    • На стабилизаторе был перекос 0,3В, быстро убрал его и фона больше нет. Что это было?, - ток компенсации? В любом случае, спасибо за совет.
    • общее для них  -  стабилизатор  +/--31 при включении попытаться успеть измерить эти  +/--31
    • Спасибо за ответы! Проверю - отпишусь.
    • Это я к тому клоню, что усилитель может быть неисправным, раз динамики сгорели. Можно и новые так же спалить. Желательно проверить работоспособность усилителя. Сначала без нагрузки. Померить, нет ли постоянного напряжения на выходе. А потом нагрузить резистором, или лампочкой. Или последовательно с новыми динамиками включить резистор на 50-100 ом для ограничения тока.
    • Фон 50Гц(100Гц) даже при максимальном ослаблении регулятора громкости и сразу в обоих каналах. Включение регулятора тембров, фильтра 9 кГц, режима "Моно" не влияет на процесс. Могу сделать вывод, что причина в предусилителе, но тогда не понятно почему через минуту всё резко прекращается, ведь основные переходные процессы идут в усилителях мощности (термостабилизация, смещение и т.д). Заземление так же не вносит изменений. 
    • Дмитрий, посмотрел в своих закромах родины. Нашел пару штук динамиков от аналогичных Микролабовских колонок. Динамики из ЗИПа (приходили с представительства Микролаба для ремонта гарантиных колонок). На динамиках написано 4 Ома 16W. Размер 78мм те самые 3дюйма. Если интересует в личку давай адрес. С тебя только за пересылку.
    • я сначала тоже так думал, долго проверял плату, потом подсоединил сабвуфер на место колонок (если недолго и негромко должно быть без последствий) и звук был. Ставил динамики на место буфер - звука нету.   динамики разобрал до "самих динамиков" т. е. вынул из корпуса, и соответственно проверил. Проверял тестером прозвонкой - нет контакта. Проверял батарейкой, при замыкании, мембрана дёргаться должна. На сабвуфере всё звонится, дергается и как уже говорил - поёт (басами). Сами динамики вынутые из деревянного корпуса внимательно осмотрел, доступные провода проверил, прозвонил видимого обрыва нету.   Как еще проверять? Думаю тут уже все понятно с усилителем. Или нет?
    • Что-то не верится, что плата цела, а сателлиты сгорели. Чаще сгорает усилитель, или то и другое одновременно. Точно в самих динамиках обрыв? Может быть, в подводящих проводах?  
    • нет инфы мало , фон понятие у всех разное, у меня это 50гц (100гц) в обоих каналах или в одном? в каких положениях органов управления?  нужно искать источник этого явления например полностью отключить пред а вообще похоже на непропай или возбуд гадать можно долго, неисправность  мерзкая, на поиск дается одна минута 🙂
    • Заметил одну очень интересную вещь - когда усилитель прогревается в колонках слышен фон, через примерно 1 минуту он резко исчезает. Я понимаю, что это переходные процессы, но так должно быть? Токи покоя и ноль при этом у меня выставлены.
    • Что по мощности, сопротивлению динамиков?   И я так понял важен частотный диапазон. Но с этим чувствуется будет сложно, учитывая что даже на родных динамиках ватты, оммы не написаны...     Цена за 2 шт.   Динамики ydn78-1 нашёл за 100 руб. но они 5 Вт думаю маловато будет, не выдержат. + доставка дороже самих динамиков... пустая трата времени, денег...      
    • 1000 рублей за динамик? Не дороговато ли будет для таких колонок. К тому же я не уверен что эти динамики отыграют по высоким частотам до 20кГц. На вид это типичные НЧ/СЧ с диапазоном в пределах 100Гц - 8-10кГц. Поищи в Гугле динамики с маркировкой ydn78-1 - они практически аналогичны по виду и размеру тем, которые продаются на Али, но при этом в 10 раз дешевле. Если не понравятся по звуку, то не жалко будет потраченных денег.    
    • Здравствуйте.   Сразу скажу я в радиотехнике новичок, но любопытный и даже упорный 😀.   В данном случае нужны рекомендации.   Есть акустика Sven MS-915. Характеристики. http://all-specs.net/model/7931/ После долгих разбирательств выяснилось что неисправны сами 2 динамика (болтиков нету, не сразу понял как их разобрать). Сабвуфер цел, плата цела. Нужно найти динамики на замену. Заявленная мощность 2x8+10 Вт, т.е. динамики по 8 Вт. Размер динамиков по диагонали 78 мм. Динамики 8 Вт 8 Ом 78 мм я нигде не нашёл. Самое близкое это 10 Вт 4 Ом 78 мм здесь. https://ru.aliexpress.com/item/2pcs-3inch-4ohm-10W-78mm-gold-foam-edge-black-magnetic-multimedia-speaker/32581348021.html И, кроме того я не уверен 8 Ом, 4 Ом или можно оба варианта. Подскажите пожалуйста где правильный ориентир?  
    • Вопрос снимается, я разобрался в чём дело - тот, кто чинил этот аппарат до меня, перепутал местами транзисторы VT8 и VT9. Всё оказалось крайне банально. Когда проверял транзисторы на целостность, даже мысли не было, что можно их перепутать.
    • Немного тему перепутал, нужно было в "Ремонте усилителей" создавать.
    • Падение напряжения на R17 - 0,83В. Прикрепляю картинку с напряжениями. На базах выходных транзистров напряжение просажено до +0,29 -0,22  
    • ну очень похоже на https://forum.datagor.ru/topic/11644-remont-usilitelya-elektronika-50u-017s/?tab=comments#comment-162309 поэтому и совет тот же, измерить падение напряжения на R17 - должно быть 0,7в если напряжение в норме, то выложите напряжения на базах (всех шести) транзисторов выходного каскада  
    • Здравствуйте. Достался мне усилитель Амфитон-У-002, как оказалось, после неудачной и неумелой починки. Провёл профилактику - почистил, заменил ёмкости, обновил термопасту на радиаторах.  Отстроил плечи +31В и -31В для предварительного усилителя и блока тембров. Запустил блок защиты.  Один канал усилителя работает отлично, а со вторым беда. Транзисторы VT4, VT6, VT7, VT11 и VT13 - были пробиты. Резисторы R8 и R18 почернели. Заменил неисправную элементную базу и уже второй день кручусь вокруг проблемы ограничения верхней полуволны на низких частотах при положении регулятора начиная от - 10dB  в точке указанной на фото (от неё и дальше по цепи). Питающие напряжения в полном порядке. Все резисторы и ёмкости проверены. Подобрал дифкаскад VT2, VT4 по коэффициенту усиления, толку не дало.   Проследите пожалуйста за мною моё понимание работы схемы: VT2, VT4 - дифкаскад, R5 - установка нуля. VT3 - источник тока. VT1 - включен как диод, C3 - гасит ВЧ пульсации. С коллектора VT2 сигнал поступает на эмиттерный повторитель на VT5. Далее на базу VT7 с обратной связью по току. Положительная полуволна усиливается VT10, VT12, VT3, а отрицательная VT11, VT13, VT4. С усилительной частью всё, остаётся термостабилизация на VT1(315Г) и защиа от перегрузки на VT8, VT9. VT14, VT15 - запирают транзистор в цепи реле на плате защиты.   Верно ли я понимаю принцип работы схемы? Не понятно для чего цепочка, собранная на VT6?   Меня смущают несколько заниженные напряжения на транзисторах (красным на схеме).  У транзистора VT3 коэффициент усиления всего 19 (как показал китайский тестор).  Мои мысли в данном случае только отпаять выходные транзисторы и посмотреть изменится ли выход дифкаскада (в чём я очень сомневаюсь).  Больше мыслей нет. Прошу Вас подсказать в каком направлении двигаться.   P.S. Коэффициенты усиления пар транзисторов VT5 VT7 - VT11 VT13 - VT10 12 как и оконечников не подбирал.
    • Идиотизм !!!  Не верьте маркетологам..., наша 6Н2П  (а если с ЕП) вполне приличная лампа (обычная, какой и должна быть...), всё остальное - БРЕД СУМАСШЕДШЕГО !!! Для дураков...
    • На Али вообще не нашел ни ЕСС808, ни 6КХ8.
    • Ну, что тут скажешь  "За неимением гербовой пишут и на простой".  Это уже перебор,  цена AEX- 650 в районе 100.  
    • Я как-то держал в руках ECC808, купленную на AliExpress. Помню на удивление блестящий анод, явно не подвергавшийся отжигу в водороде, и отсутствие даже намёка на бариевый поглотитель на стекле колбы. Ставилась на замену старенькой, с сгоревшим накалом, ECC808 производства то ли TUNGSRAM, то ли TELEFUNKEN, точно не помню, у которой эти внешние половые признаки присутствовали. Лампа тогда заработала, но дальнейшую её судьбу не знаю.
    • Да, цены кусаются, наверное весь металл в адаптере "платина" и собран по "новым технологиям" (что же там такое внутри)  
︽ Наверх страницы ︽
×