Форум myROBOT.ru » Лаборатория » Электронная мастерская » Диод на замену.

Страниц (1): [1]
 

1. GPPSoft - 19 Апреля, 2014 - 18:09:04 - перейти к сообщению
Здравствуйте. Случайно коротнул(+5 на землю) Arduino nano v. 3.0. Как я понял погорел вот этот диод, т.к перемыкая его плата работает. Так же плата работает от внешнего питания. Купить такой у меня в городе нет возможности, а заказывать и ждать нет времени. Нашел у себя в хламе вот этот диод. Можно ли им заменить? Или лучше выпаять не маркированные из какой-нибудь беспроводной мыши...? Они же в основном низковольтные(1.5-3v) Заранее спасибо за ответ!

P.S: Или лучше перемкнуть просто? Улыбка Или еще какие варианты?
2. Петр Киселев - 19 Апреля, 2014 - 22:43:34 - перейти к сообщению
Проба - великая сила!
Но лучше поискать в инете замену по параметрам или просто виду. Поищи на имеющихся у тебя каких-нибудь платах.
3. GPPSoft - 20 Апреля, 2014 - 05:47:14 - перейти к сообщению
Петр Киселев пишет:
Проба - великая сила!
Но лучше поискать в инете замену по параметрам или просто виду. Поищи на имеющихся у тебя каких-нибудь платах.

Припаял какой-то из наушников которые от USB работают. Вроде работает все. Тесты проходит. Надеюсь этот диодик спасет меня в случае чего Улыбка


Программа для простого теста:
CODE:

#define FIRST_PIN 0 // первый вывод
#define LAST_PIN 19 // последний вывод

void Test1(byte pin)
{
if(pin < 10) Serial.print(" PIN: ");
else Serial.print(" PIN: ");
Serial.print(pin);
pinMode(pin, OUTPUT);
digitalWrite(pin, 0);
Serial.print(" LOW: ");
if(!digitalRead(pin)) Serial.print("OK ");
else Serial.print("FAIL");
digitalWrite(pin, 1);
Serial.print(" HIGH: ");
if(digitalRead(pin)) Serial.print("OK ");
else Serial.print("FAIL");
pinMode(pin, INPUT);
Serial.print(" PULL UP: ");
if(digitalRead(pin)) Serial.print("OK ");
else Serial.print("FAIL");
digitalWrite(pin, 0);
}

void Test2(byte pin)
{
Serial.print(" ");
pinMode(pin, OUTPUT);
digitalWrite(pin, 1);
delay(5);
if(!digitalRead(pin))Serial.println("SHORT");
else Serial.println("OK");
pinMode(pin, INPUT);
digitalWrite(pin, 0);

}

void setup() {
Serial.begin(9600);

Serial.println("Test of short circuit on GND or VCC and between pins:");
Serial.println();
for(byte i = FIRST_PIN; i <= LAST_PIN; i++)
{
for(byte j = FIRST_PIN; j <= LAST_PIN; j++)
{
pinMode(j, INPUT);
digitalWrite(j, 0);
}
Test1(i);

for(byte j = FIRST_PIN; j <= LAST_PIN; j++)
{
pinMode(j, OUTPUT);
digitalWrite(j, 0);
}
Test2(i);
}

for(byte j = FIRST_PIN; j <= LAST_PIN; j++)
{
pinMode(j, INPUT);
digitalWrite(j, 0);
}
}

void loop() {}


Вывод:
CODE:

Test of short circuit on GND or VCC and between pins:

PIN: 0 LOW: FAIL HIGH: OK PULL UP: OK OK
PIN: 1 LOW: OK HIGH: FAIL PULL UP: FAIL SHORT
PIN: 2 LOW: OK HIGH: OK PULL UP: OK OK
PIN: 3 LOW: OK HIGH: OK PULL UP: OK OK
PIN: 4 LOW: OK HIGH: OK PULL UP: OK OK
PIN: 5 LOW: OK HIGH: OK PULL UP: OK OK
PIN: 6 LOW: OK HIGH: OK PULL UP: OK OK
PIN: 7 LOW: OK HIGH: OK PULL UP: OK OK
PIN: 8 LOW: OK HIGH: OK PULL UP: OK OK
PIN: 9 LOW: OK HIGH: OK PULL UP: OK OK
PIN: 10 LOW: OK HIGH: OK PULL UP: OK OK
PIN: 11 LOW: OK HIGH: OK PULL UP: OK OK
PIN: 12 LOW: OK HIGH: OK PULL UP: OK OK
PIN: 13 LOW: OK HIGH: OK PULL UP: FAIL OK
PIN: 14 LOW: OK HIGH: OK PULL UP: OK OK
PIN: 15 LOW: OK HIGH: OK PULL UP: OK OK
PIN: 16 LOW: OK HIGH: OK PULL UP: OK OK
PIN: 17 LOW: OK HIGH: OK PULL UP: OK OK
PIN: 18 LOW: OK HIGH: OK PULL UP: OK OK
PIN: 19 LOW: OK HIGH: OK PULL UP: OK OK


Цитата:

как видно из лога на 0, 1 и 13 выводах выявлены неисправности - это нормально, потому как 0 и 1 выводы заняты UARTом, а на 13 выводе светодиод.
4. Петр Киселев - 20 Апреля, 2014 - 07:26:45 - перейти к сообщению
Ну, и молодец!
Я хотел еще написать, что просто перемыкать диоды или транзисторы опасно, можно сжечь компоненты, стоящие по цепи дальше. Но ты справился и так.
5. morokoriss - 20 Апреля, 2014 - 20:01:51 - перейти к сообщению
Это диод для защиты от переполюсовки. Можно и без него, только осторожно, а так надо по току подбирать. Поставь КД522 и не парься.