Глюки Arduino Pro Mini

Jek
Offline
Зарегистрирован: 05.01.2014

Здравствуйте.

Есть ардуинка про мини в составе устройства. Опрашивает кучку датчиков на аналоговых и цифровых пинах. 

При питании от устройства через RAW 5 В  и подключенном питании от USB переходника -  всё прекрасно работает. Стоит отключить питание от USB и оставить питание только от устройства - начинают срабатывать аналоговые порты в хаотичном порядке. Подтягивающие резюки включены.

Ставлю другую ардуинку из этой же партии - то же самое. Поставил из другой партии и другого производителя - всё работает...

Подскажите пожалуйста куда рыть?

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Jek,  о каких дунях речь, пяти или трёх вольтовых?

Jek
Offline
Зарегистрирован: 05.01.2014

5 вольт 16 Мгц

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Jek пишет:

5 вольт 16 Мгц

Зачем же подавать 5 вольт на RAW ? В описании сказано: The Arduino Pro Mini can be powered with an FTDI cable or breakout board connected to its six pin header, or with a regulated 3.3V or 5V supply (depending on the model) on the Vcc pin.  Т.е. подавать 5 вольт нужно  на Vcc.  Возможно на других платах падение на стабилизаторе меньше, и они работают. А на этой плате падение больше, и уже не хватает для стабильной работы.

Jek
Offline
Зарегистрирован: 05.01.2014

Тупо соеденял RAW и VCC - толку нет. Сейчас попробую полностью отключить RAW и напишу.

 

RAW отсоеденил и подключил питание на VCC - глючит. Подключил ещё от USB - ГЛЮЧИТ!!!

Вернул RAW на место. Без USB питания глючит, с USB нет.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Jek, вобще в таких случаях берут мультиметр и смотрят напряжение на шине питания (Vcc) при нормальной работе и при ненормальной. Если разницы нет, то уже осциллографом нужно смотреть пульсации, или хотя бы попробовать запитывать от другого бп.

Jek
Offline
Зарегистрирован: 05.01.2014

4.95 В на VCC. 

Ардуинка из другой партии работает нормально. Точнее не одна, а 8...., а из этой партии три проверил и все с глюком...

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Jek, питание на Vcc давали на ту же ногу, куда  до этого usb-переходник был включен? Очевидно какие-то проблемы с питанием, может сильная помеха ползёт. Но как объяснить тот факт, что другие минипрошки работают...

Jek
Offline
Зарегистрирован: 05.01.2014

Питание подавал и туда и туда.

Вот и я голову ломаю.... похоже глюк ардуинок... а я их 20 штук купил...

Сейчас осцилографом посмотрю что по питанию идет....

UPD Не большие пульсации есть в пределах 0,2 В... несущественно...

Куда ещё копать?

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Капни в сторону кондера подпаять на питание дуни

Jek
Offline
Зарегистрирован: 05.01.2014

Кондер стоит 220 mF на плате.

Добавил еще 100 mF прям на выводы Ардуины - не помогло. Поставил 220 mF - работает!!!!

Большое спасибо за помощь.

Вот теперь понять бы причину.....

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Дохлый кондер на плате. Видимо не выдержал нагрева.

Jek
Offline
Зарегистрирован: 05.01.2014

На плате Ардуино? Я их 20 штук купил у одного продавца и три штуки проверил - у всех глюк.

Ардуинки из другой партии работают прекрасно.

Само устройство 100 % рабочее.

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Ну вот во всей партии видимо дохлые кондеры. Такое иногда бывает. Не выдерживают нагрева в печке. Особенно когда берут самые дешевые.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

0,2 вольта пульсаций -это очень много. Для справки среднестатический комповый atx блок питания шумит на 5 вольтах порядка 50мв, обычный трансформаторный бп с кренкой шумит около 10мв. Видимо в старой партии на самих аурдуинах распаяны более ёмкие конденсаторы по питанию чем на новых.

Jek
Offline
Зарегистрирован: 05.01.2014

У меня и есть комповый блок питания АТХ.

Попробую поменять кондеры на Ардуинках. По результатапм отпишу.

Jek
Offline
Зарегистрирован: 05.01.2014

Так и есть. По одному кондеру на Ардуинках дохлые. :( Дохлый кондер выделен красным.

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Jek пишет:

Кондер стоит 220 mF на плате.

Только не миллифарад (mF), а микрофарад (uF).

 

portnovich
portnovich аватар
Offline
Зарегистрирован: 22.01.2016

Здравствуйте всем. Не хочу плодить новую тему, спрошу здесь.

Странный косяк наблюдается на proMini (16MHz, 5V). (Arduino 1.6.6, TTL 2303).

Решил заменить в проекте Uno на Mini, а тут такое. Сервы с ума посходили. Начал разбираться и выяснил, что Mini не работает как положено.

Накидал примитивный скетч для проверки:

#include <Servo.h> 
Servo myservo; 
int ledPin = 13;
void setup() 
{ 
  Serial.begin(9600);
  myservo.attach(12);  
  pinMode(ledPin, OUTPUT); 
} 
void loop() 
{ 
  myservo.write(0);                  
  Serial.println("Servo angle 0");
  digitalWrite(ledPin, HIGH);   
  delay(50);                  
  digitalWrite(ledPin, LOW);    
  delay(50); 
  digitalWrite(ledPin, HIGH);   
  delay(50);                  
  digitalWrite(ledPin, LOW);    
  delay(1000);                           
  myservo.write(90);                  
  Serial.println("Servo angle 90"); 
  digitalWrite(ledPin, HIGH);   
  delay(50);                  
  digitalWrite(ledPin, LOW);    
  delay(50); 
  digitalWrite(ledPin, HIGH);   
  delay(50);                  
  digitalWrite(ledPin, LOW);
  delay(1000);                          
  myservo.write(180);                  
  digitalWrite(ledPin, HIGH);   
  delay(50);                  
  digitalWrite(ledPin, LOW);    
  delay(50); 
  digitalWrite(ledPin, HIGH);   
  delay(50);                  
  digitalWrite(ledPin, LOW);
  Serial.println("Servo angle 180");
  delay(1000);                            
}

И вот что выяснилось. Серва вместо 180 градусов устанавливается в положение около 140 градусов. В 90 градусов вообще не устанавливается. В 0  - без проблем. Светодиодом мигает исправно. В монитор передает абракадабру:

Проверил все это на Нано и Уно. Заливал тоже через TTL. Всё работает. Значит вопрос именно в плате ProMini.

К сожалению, второй ProMini нет под рукой? чтобы проверить. В гугле не забанили, поэтомы перерыл всё, что мог. 

Может кто-нибудь знает, что это?

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

1. Отключите серву.

2. Проверьте скорость порта.

3. Запустите пример ASCII table
   Поиграйтесь со скоростями вплоть до  1152000

4. Замкните RX-TX на ЮСБ ( отдельно). Погоняйте эхо на разных скоростях

 

portnovich
portnovich аватар
Offline
Зарегистрирован: 22.01.2016

Сам себе и отвечаю. Ардуино не 5V, 16MHz, а 3,3V 8Mhz. Маркировка на плате подкачала. Изменил настройки в программе и всё заработало. 

PaulIV
Offline
Зарегистрирован: 11.10.2015

Всем привет.

Вопрос по этой же зверюге Pro Mini 328P 5V

Сделал проект, почти всё устраивает. На порт 13 (где и LED) повесил реле. Кнопками управляется...

Но вот в момент, когда подается питание на макетку, реле кратковременно срабатывает и встаёт в состояние, как и требуется - отключено. А именно такого "эффекта" хотелось бы избежать. 

Как прописать в коде, чтобы порт при включении не активировался.

Heizung = 13,  // обогреватель реле + LED на Arduino Pro
void setup() 
{
    pinMode(Heizung, OUTPUT);  // пин 13 управления обогревателем
    digitalWrite(Heizung, LOW);                // Обогрев выкл.
}

 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

PaulIV, схема где?

PaulIV
Offline
Зарегистрирован: 11.10.2015

+5В подаю и на VCC Pro Mini 

Upper
Offline
Зарегистрирован: 23.06.2020

Если при включении питания С ЗАЖАТЫМ ресетом, реле срабатывает, то программно не исправить, надо менять схемотехнику. Проверьте.

PaulIV
Offline
Зарегистрирован: 11.10.2015

Спасибо. С нажатым RESET реле молчит. 

P.S.

При снятии напряжения тоже поддергивается реле. (если RESET не трогать)

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Собственно, под "менять схемотехнику" подразумевается - переносить реле на другой пин.

Но, возможно, проблему можно решить, если программировать кристалл не через USB, а через SPI, отказавшись таким образом от загрузчика.

PaulIV
Offline
Зарегистрирован: 11.10.2015

Спасибо, andriano, реле было на другом пине, но вот решил, что этот с LED мне подходит :)

Действительно, в момент, когда стартует заливка скетча в Ардуинку, этот пин тоже дергается (и реле с ним). И при выключении дергается.

Я еще применяю дисплей Nextion (5V питание), так если штекер из него выключить, то при выключении питания всё проходит тихо - ничего не дергается (случайно обнаружил такое).

В общем смена пина произведена - ВСЁ ШИКАРНО.

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

PaulIV пишет:

Всем привет.

Вопрос по этой же зверюге Pro Mini 328P 5V

Сделал проект, почти всё устраивает. На порт 13 (где и LED) повесил реле. Кнопками управляется...

Но вот в момент, когда подается питание на макетку, реле кратковременно срабатывает и встаёт в состояние, как и требуется - отключено. А именно такого "эффекта" хотелось бы избежать. 

Как прописать в коде, чтобы порт при включении не активировался.

Heizung = 13,  // обогреватель реле + LED на Arduino Pro
void setup() 
{
    pinMode(Heizung, OUTPUT);  // пин 13 управления обогревателем
    digitalWrite(Heizung, LOW);                // Обогрев выкл.
}

 

поменять строки 4 и 5 местами.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

andycat пишет:

поменять строки 4 и 5 местами.

Бесполезно.

5 строка вообще не нужна - пин и так инициализирован низким уровнем.

Даже если бы инициализация пина происходила высоким уровнем, такая короткая игла (5-7 мкс) не оказала бы никакого влияния на механическое устройство типа реле.