Проверка КР1533ТМ2

Обсуждаем цифровые устройства...
Ответить
Встал на лапы
Аватара пользователя
Сообщения: 118
Зарегистрирован: Пт июн 24, 2016 18:16:35

Сообщение Improver »

Собрал простую схемку с использованием ардуино для проверки триггера КР1533ТМ2, подключаю так:

Код: Выделить всё

Вывод ардуино -- вывод КР1533ТМ2
D4  -- Вход R
D5  -- Вход S
D10 -- Вход D
D9  -- Вход C
A2  -- Выход триггера
Ардуиной в начале на R и S подаются единицы, нулём поочерёдно проверяется сброс и установка триггера, проверка по R и S проходит отлично. Потом, при R и S =1, подаётся положительный импульс на C при различных значениях D, и вот на это триггеры не реагируют -- проверял оба, на двух свежекупленных микросхемах... Подскажите, плз., может я не правильно понимаю логику работы триггера? Или спалил так их случайно?

Скетч для ардуино, для понимания:
Спойлер

Код: Выделить всё

/*
Проверка К155ТМ2
 */
// set pin numbers:
const int InPinR = 4;     // Вход R
const int InPinS = 5;     // Вход S
const int InPinD = 10;    // Вход D
const int InPinC = 9;     // Вход C
const int OutPin = A2;    // Выход
const int ledPin = 13;    // the number of the LED pin

void setup() {
  // initialize serial:
  Serial.begin(9600);
  // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);      
  pinMode(InPinR, OUTPUT);     
  pinMode(InPinS, OUTPUT);     
  pinMode(OutPin, INPUT);     
  digitalWrite(InPinR, HIGH);  
  digitalWrite(InPinS, HIGH);  
  digitalWrite(InPinC, LOW);  
  digitalWrite(InPinD, HIGH);  
}

void loop(){
  digitalWrite(ledPin, LOW);
  delay(100);  
  digitalWrite(ledPin, HIGH);  
  delay(100);  
  digitalWrite(ledPin, LOW);  
  delay(100);  
  int BadLogic = 0;

  Serial.println(".");
  Serial.println("Start");
  Serial.println("Phase 1...");
  digitalWrite(InPinR, HIGH);  
  digitalWrite(InPinS, HIGH);  
  delay(10);  
  int OutSignal = analogRead(OutPin);
  Serial.println(OutSignal);

  digitalWrite(InPinS, LOW);  
  delay(10);  
  digitalWrite(InPinS, HIGH);  
  delay(10);  
  OutSignal = analogRead(OutPin);
  Serial.println(OutSignal);
  Serial.print("test S: ");
  if (OutSignal > 512) {
    Serial.println("OK");
  }
  else { 
    Serial.println("FAIL");
    BadLogic = 1;
  }

  digitalWrite(InPinR, LOW);  
  delay(10);  
  digitalWrite(InPinR, HIGH);  
  delay(10);  
  OutSignal = analogRead(OutPin);
  Serial.println(OutSignal);
  Serial.print("test R: ");
  if (OutSignal < 512) {
    Serial.println("OK");
  }
  else { 
    Serial.println("FAIL");
    BadLogic = 1;
  }

  Serial.println("Phase 2...");
  digitalWrite(InPinR, LOW);  
  digitalWrite(InPinR, HIGH);  
  OutSignal = analogRead(OutPin);
  Serial.println(OutSignal);

  digitalWrite(InPinD, HIGH);  
  delay(100);  
  digitalWrite(InPinC, LOW);  
  delay(100);  
  digitalWrite(InPinC, HIGH);  
  delay(100);  
  digitalWrite(InPinC, LOW);  
  OutSignal = analogRead(OutPin);
  Serial.println(OutSignal);
  Serial.print("test DC1: ");
  if (OutSignal > 512) {
    Serial.println("OK");
  }
  else { 
    Serial.println("FAIL");
    BadLogic = 1;
  }

  digitalWrite(InPinS, LOW);  
  digitalWrite(InPinS, HIGH);  
  OutSignal = analogRead(OutPin);
  Serial.println(OutSignal);

  digitalWrite(InPinD, LOW);  
  delay(100);  
  digitalWrite(InPinC, LOW);  
  delay(100);  
  digitalWrite(InPinC, HIGH);  
  delay(100);  
  digitalWrite(InPinC, LOW);  
  OutSignal = analogRead(OutPin);
  Serial.println(OutSignal);
  Serial.print("test DC0: ");
  if (OutSignal < 512) {
    Serial.println("OK");
  }
  else { 
    Serial.println("FAIL");
    BadLogic = 1;
  }

 digitalWrite(InPinR, LOW);  
 digitalWrite(InPinR, HIGH);  
 if (BadLogic == 1) {
    Serial.println("--- FAIL");
  }
  else {
    Serial.println("ALL OK");
    digitalWrite(ledPin, HIGH);  
  }
  delay(2000);  
}
Реклама
Друг Кота
Аватара пользователя
Сообщения: 35639
Зарегистрирован: Вс янв 25, 2009 21:16:04
Откуда: Москва

Сообщение Brigadir »

А не пробовал на R и S подать низкие уровни? А вдруг заработает???
А поболтать?
Реклама
Друг Кота
Аватара пользователя
Сообщения: 4119
Зарегистрирован: Чт сен 12, 2013 00:54:12
Откуда: ЗаМКАДье. Там, где ЦУП

Сообщение Albert_V »

Brigadir писал(а):вдруг заработает???
Не заработает. У входов S и R активный "ноль".
Improver, С цоколёвкой КР1533ТМ2 точно не ошиблись?
Друг Кота
Аватара пользователя
Сообщения: 44263
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Откуда: Нерезиновая

Сообщение АлександрЛ »

[uquote="Improver",url="/forum/viewtopic.php?p=3466086#p3466086"]Собрал простую схемку с использованием ардуино для проверки триггера КР1533ТМ2,[/uquote]
А взять протеус, там взять 74хх54, в "дебаггинг тоолс" взять "логик стайт"
и проверять, сколько угодно- как она работает?
А уже потом делать "в железе"?
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 6337
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Сообщение Jack_A »

Да, протестить КР1533ТМ2 без Протеуса - никак...
А при Петре Первом брали платку с "подследственным", к ней тактовую кнопку со схемой без-дребезга - делов-то минут на 8 с перекурами и пивом.
Изображение
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 118
Зарегистрирован: Пт июн 24, 2016 18:16:35

Сообщение Improver »

[uquote="Brigadir",url="/forum/viewtopic.php?p=3466592#p3466592"]А не пробовал на R и S подать низкие уровни? А вдруг заработает???[/uquote]Пробовал, не заработала... По крайней мере, адекватно не заработала.
[uquote="Albert_V",url="/forum/viewtopic.php?p=3466609#p3466609"]Improver, С цоколёвкой КР1533ТМ2 точно не ошиблись?[/uquote]Не, не ошибся -- всё правильно подключал.
[uquote="АлександрЛ",url="/forum/viewtopic.php?p=3466613#p3466613"][uquote="Improver",url="/forum/viewtopic.php?p=3466086#p3466086"]Собрал простую схемку с использованием ардуино для проверки триггера КР1533ТМ2,[/uquote]
А взять протеус, там взять 74хх54, в "дебаггинг тоолс" взять "логик стайт"
и проверять, сколько угодно- как она работает?
А уже потом делать "в железе"?[/uquote]74хх74, вообще-то... Пробовал в протеусе, там всё работает так, как и должно быть по даташиту.

Вот что приходит в голову:
1. Что-то не так со скетчем для ардуины.
2. Подсунули брак... :(
3. Спалил статикой (или случайным неправильным подключением) входы D или С. Кстати, насколько серия КР1533 подвержена воздействиям статики?
И ещё, при проверке одного триггера надо ли заземлять (или подключать через сопротивление на +5В) входные выводы второго? Я пробовал и то, и другое, и включать входы обоих триггеров вместе, "параллельно"...

Добавлено after 38 minutes 52 seconds:
Чудо чудное... Собрал на макетке схему с этим триггером -- всё работает, как надо (D и С в схеме используются и важны). Поменял на вторую микросхему -- тоже работает. Выходит, ардуина/скетч глючит? :dont_know: Что ж, пойду, попаяю... Всем спасибо.
Реклама
Ответить

Вернуться в «Цифровая техника»