Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: attiny2313 схема автомата
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
el1ps
Здравствуйте уважаемые форумчане, помогите развести схему

какие возможные защитные цепочки поставить
помехозащитные, может по питанию где то доп.
вообще в разводке схемы

индикаторы и кнопки будут находится на 40-50 см от МК, стоит ли боятся больших помех?

с мк связь на кнопки через регистр 74198
а на индикаторы 74HC595
скрин схемы из прота приложил
megajohn
нет резистора и конденсатора по RESET
и где разьем программирования ?
Нет резисторов в катодах светодиодов
лучше сделать не статическую индикацию а динамическую, добавится всего 6 PNP транзисторов, зато уберутся все сдвиговые регистры
pavel-pervomaysk
Цитата(megajohn @ Mar 13 2015, 08:15) *
нет резистора и конденсатора по RESET
и где разьем программирования ?
Нет резисторов в катодах светодиодов
лучше сделать не статическую индикацию а динамическую, добавится всего 6 PNP транзисторов, зато уберутся все сдвиговые регистры


Если будет отладка по D-WIRE то конденсатор не нужен.

При статической индикации в плане яркости можно подобрать оптимальное свечение между красными и зелеными.
При динамической этого добиться нереально!
Красные будут светить как ультраяркие с резисторами 510 ом, зеленые будут им подсвечивать еле-еле с резисторами 220 ом.

Для динамики нужно либо 2 регистра (тянут легко 8 индикаторов без всяких транзисторов(3 провода)), либо 6 транзисторов и 14 ног, которых не хватит.

50см длинна - не крюк для бешеной собаки, где будет стоять устройство?
Индикация не сойдет с ума, а вот кпопки могут ловить наводки.
rx3apf
Я тоже однозначно за статическую индикацию с 595. С динамической сколько частоту развертки не возьми, все равно боковым зрением мерцание будет видно, да это и серьезный источник помех, кстати (если вдруг что-то рядом критичное).

А вот про что надо помнить - обязательно согласовывать линии передачи (хоть последовательно с передатчиком, т.е. МК, резисторы 50..100 Ohm перед линией). Тактировку и защелку - всенепременно, данные тоже бы хорошо. Иначе линия будет звенеть и содержимое регистров будет непредсказуемым (как-то я разок упустил этот момент, и при 20-см плоском шлейфе, отбитом "землей", получил такое...)
megajohn
Цитата(pavel-pervomaysk @ Mar 13 2015, 15:46) *
При динамической этого добиться нереально!

этта, а шимить транзисторы анодов запрещено уже ?
pavel-pervomaysk
Цитата(megajohn @ Mar 13 2015, 16:04) *
этта, а шимить транзисторы анодов запрещено уже ?


Выше описали о помехах уже.
megajohn
коммутация 100мА уже стали помехами ? И это в век DC-DC ? Ну тогда автору нужно готовится перепаивать 4*8 резисторы для балансировки яркости
demiurg1978
Цитата(rx3apf @ Mar 13 2015, 19:24) *
Я тоже однозначно за статическую индикацию с 595. С динамической сколько частоту развертки не возьми, все равно боковым зрением мерцание будет видно,

Не соглашусь. я как-то делал проект, частота была 166 гц. 6 индикаторов. системное время 1 мс. Мерцания не было.
rx3apf
Помню, в АОНах на Z80 частота переключения развертки была 400 Hz (9 знакомест, соответственно, 44 Hz) - весьма похабно. И вдвое выше - похабно.
demiurg1978
Забыл уточнить. 6 индикаторов. системный тик 1 мс. 1:6=166 Гц.
pavel-pervomaysk
74HC595 в динамике не будут мерцать. Делал всегда выше 50Гц. Програмный SPI.
Тут эффект в другом, чем больше символов, тем выше частота индикации как следствие из-за эффекта "шим" меньше яркость сегментов.

Когда все индикаторы одинаковы, проблем нет.
Зеленые с красными - порнография! Кто не верит, спаяйте и посмотрите.


CODE
// Вывод индикации на 74НС595
// Количество символов 1 ... 8
// Начальный адрес символа dig_0 выводится первым
// За ним dig_1 , dig_2 , dig_3 .....
// 15.03.2010


// выводы подключения

.equ d_port = PORTB // Порт подключения регистров
.equ dat = PB2 // Вывод данных регистров
.equ clk = PB0 // Вывод тактирования регистров
.equ en = PB1 // Вывод управлением третьим состоянием регистров

.equ tochka = 0xDF // Символ H ( Точка на индикаторах )
.equ negativ = 0xF7 // Символ - ( Минус на индикаторах )


display: // Индикация
push tmp // Save tmp in stack
in tmp,SREG // tmp = SREG
push tmp // Save SREG in stack
push yl // Save YL in stack
push yh // Save YH in stack
push loop // Save loop in stack
ldi anod,0x01 // Set init Anod pin
sbi d_port,en // Переводим выходы регистров в третье состояние
ldi yl, low(dig_0) // выставляем начальную адресацию символа dig_0
ldi yh,high(dig_0) // выставляем начальную адресацию символа dig_0
add yl,dcnt // прибавляем символ , к начальной адресации
ld tmp,Y // читаем символ для вывода на индикатор
cpi dcnt,1 // если счетчик символов >= 1
brsh anod_rol // то сдвигаем регистр Anod на количество символов влево
print_data: // Выводим 2 байта данных в 74НС595
mov data,anod // копируем байт анода
rcall out_byte // выводим anod
mov data,tmp // копируем байт символа
rcall out_byte // выводим байт символа ( digit data )
cpi dcnt,3 // Если счетчик символов >= 3 (Здесь определение количества символов 1 - 8)
brsh dcnt_ovf // переходим на метку обнуления счетчика символов
inc dcnt // Счетчик символов + 1
rjmp ok1 // -------------------------------
dcnt_ovf: // Переполнение счечика символов |
clr dcnt // Очищаем счетчик символов |
ok1: // <-----
cbi d_port,en // Включаем выходы 74НС595
pop loop // Извлечь loop из стека
pop yh // Извлечь YH из стека
pop yl // Извлечь YL из стека
pop tmp // Извлечь SREG из стека в tmp
out SREG,tmp // SREG = tmp
pop tmp // Извлечь tmp из стека
reti // Выход из прерывания

anod_rol: // Сдвиг регистра анодов в лево на количество символов
mov loop,dcnt // копируем количество сдвигов
a_rol: // Цикл сдвига
rol anod // Сдвигаем байт анодов в лево на 1 (anod<<1)
dec loop // Счетчик циклов - 1
brne a_rol // Если счетчик не равен 0 то переходим кциклу otd
rjmp print_data // Переход на вывод данных в 74НС595

out_byte: // Вывод байта в 74HC595
ldi loop,8 // Счетчик битов
otd: // Cycle
clc // Очищаем CARY Flag
rol data // Сдвигаем данные в лево на 1 (data<<1)
brcc d_z // Если CARY Flag сброшен , идем сюда -----|
sbi d_port,dat // Если CARY Flag установлен то DATA=1 |
rjmp d_ok // |
d_z : // Data zero <----|
cbi d_port,dat // Если CARY Flag сброшен то DATA=0
d_ok: // Импульс CLK
sbi d_port,clk // CLK -> 1
cbi d_port,clk // CLK -> 0
dec loop // Счетчик битов - 1
brne otd // Если счетчик не равен 0 то переходим кциклу otd
ret // Выход из подпрограммы
rx3apf
Цитата(demiurg1978 @ Mar 13 2015, 20:15) *
Забыл уточнить. 6 индикаторов. системный тик 1 мс. 1:6=166 Гц.

Я, например, и 200-Hz димминг очень даже вижу. А многие из-за этого у мониторов ставят 100% подсветку, иначе раздражает.

Цитата(pavel-pervomaysk @ Mar 13 2015, 20:37) *
Когда все индикаторы одинаковы, проблем нет.
Зеленые с красными - порнография! Кто не верит, спаяйте и посмотрите.

Дело вкуса, на самом деле. Я, например, не люблю. А многим нравится. И даже готовые модули красный-зеленый и красный-синий для вольтметров-амперметров делают...
pavel-pervomaysk
Я поделился практикой использования в динамике дешевых RL-T5624 и их собратьев в количестве от 8 штук.
Не буду утверждать, но есть же нормальные пары R&G с одинаковой яркостью свечения при одном и том же токе, но это надо поискать.

Красные начали делать с напряжением от 1.8 вольта, зеленые имеют высшее напряжение свечения.
Автор уже определится сам что ему выбрать.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.