|
|
  |
attiny2313 схема автомата |
|
|
|
Mar 13 2015, 06:05
|
Группа: Новичок
Сообщений: 1
Регистрация: 13-03-15
Пользователь №: 85 631

|
Здравствуйте уважаемые форумчане, помогите развести схему какие возможные защитные цепочки поставить помехозащитные, может по питанию где то доп. вообще в разводке схемы индикаторы и кнопки будут находится на 40-50 см от МК, стоит ли боятся больших помех? с мк связь на кнопки через регистр 74198 а на индикаторы 74HC595 скрин схемы из прота приложил
Эскизы прикрепленных изображений
|
|
|
|
|
Mar 13 2015, 12:46
|

Местный
  
Группа: Свой
Сообщений: 253
Регистрация: 28-12-07
Из: Украина г. Первомайск
Пользователь №: 33 716

|
Цитата(megajohn @ Mar 13 2015, 08:15)  нет резистора и конденсатора по RESET и где разьем программирования ? Нет резисторов в катодах светодиодов лучше сделать не статическую индикацию а динамическую, добавится всего 6 PNP транзисторов, зато уберутся все сдвиговые регистры Если будет отладка по D-WIRE то конденсатор не нужен. При статической индикации в плане яркости можно подобрать оптимальное свечение между красными и зелеными. При динамической этого добиться нереально! Красные будут светить как ультраяркие с резисторами 510 ом, зеленые будут им подсвечивать еле-еле с резисторами 220 ом. Для динамики нужно либо 2 регистра (тянут легко 8 индикаторов без всяких транзисторов(3 провода)), либо 6 транзисторов и 14 ног, которых не хватит. 50см длинна - не крюк для бешеной собаки, где будет стоять устройство? Индикация не сойдет с ума, а вот кпопки могут ловить наводки.
|
|
|
|
|
Mar 13 2015, 13:24
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Я тоже однозначно за статическую индикацию с 595. С динамической сколько частоту развертки не возьми, все равно боковым зрением мерцание будет видно, да это и серьезный источник помех, кстати (если вдруг что-то рядом критичное).
А вот про что надо помнить - обязательно согласовывать линии передачи (хоть последовательно с передатчиком, т.е. МК, резисторы 50..100 Ohm перед линией). Тактировку и защелку - всенепременно, данные тоже бы хорошо. Иначе линия будет звенеть и содержимое регистров будет непредсказуемым (как-то я разок упустил этот момент, и при 20-см плоском шлейфе, отбитом "землей", получил такое...)
|
|
|
|
|
Mar 13 2015, 16:45
|
Местный
  
Группа: Участник
Сообщений: 333
Регистрация: 19-12-13
Из: Новосибирск
Пользователь №: 79 709

|
Цитата(rx3apf @ Mar 13 2015, 19:24)  Я тоже однозначно за статическую индикацию с 595. С динамической сколько частоту развертки не возьми, все равно боковым зрением мерцание будет видно, Не соглашусь. я как-то делал проект, частота была 166 гц. 6 индикаторов. системное время 1 мс. Мерцания не было.
|
|
|
|
|
Mar 13 2015, 17:37
|

Местный
  
Группа: Свой
Сообщений: 253
Регистрация: 28-12-07
Из: Украина г. Первомайск
Пользователь №: 33 716

|
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 // Выход из подпрограммы
|
|
|
|
|
Mar 13 2015, 18:08
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(demiurg1978 @ Mar 13 2015, 20:15)  Забыл уточнить. 6 индикаторов. системный тик 1 мс. 1:6=166 Гц. Я, например, и 200-Hz димминг очень даже вижу. А многие из-за этого у мониторов ставят 100% подсветку, иначе раздражает. Цитата(pavel-pervomaysk @ Mar 13 2015, 20:37)  Когда все индикаторы одинаковы, проблем нет. Зеленые с красными - порнография! Кто не верит, спаяйте и посмотрите. Дело вкуса, на самом деле. Я, например, не люблю. А многим нравится. И даже готовые модули красный-зеленый и красный-синий для вольтметров-амперметров делают...
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|