Mega2560 и USB

Byte
Offline
Зарегистрирован: 28.11.2015

Приобрел давече у китайских товарищей клон Mega2560 с UBS-to-COM на CH340. Скачал драйвера - все работает. Питаю от 12В, наклеил на самый горячий элемент цепи стабилизации небольшой радиатор - температура в пределах 40 по цельсию. Но! Заметил, что если при вставленном USB отправить компьютер в сон или выключить питание, то температура радиатора начинает стремительно расти. При достижении 60 градусов отключил USB шнур и температура медленно упала опять до ~40 градусов. 

Почему такой результат? Что недоделали китайсике товарищи? А мне очень надо, чтобы девайс был постоянно подключен к компьютеру, при этом компьютер большую часть времени будет выключен. В идеале его будут включить раз-два в день, снимать данные с Arduino и выключать. Постоянно соединять-отсоединять USB - не вариант. Что можно сделать?

Или можно ли соединить Mega2560 напрямую с COM-портом компьютера используя имеющиеся на ней входы/выходы?

vk007
Offline
Зарегистрирован: 16.06.2015

Если при выключении компа не выдергивать шнур питания из розетки, то в нем остается работать дежурный источник питания на 5В. И в USB эти 5В присутствуют. Если хватает тока от USB для работы вашего устройства, то и питайте его постоянно от него, а не от внешнего источника.

Byte
Offline
Зарегистрирован: 28.11.2015

vk007 пишет:

Если при выключении компа не выдергивать шнур питания из розетки, то в нем остается работать дежурный источник питания на 5В. И в USB эти 5В присутствуют. Если хватает тока от USB для работы вашего устройства, то и питайте его постоянно от него, а не от внешнего источника.

Так когда подключен USB и внешний источник питания и компьютер включен - все нормально! Проблема возникает когда компьютер выключается ИЛИ переходит в спящий режим. А от компьютера питать - не вариант, так как Arduino должна работать круглосуточно, снимать данные с датчиков. А вот компьютер включается периодически для получения и обработки этих самых данных. Метеостанция у меня самодельная. 

vk007
Offline
Зарегистрирован: 16.06.2015

Byte пишет:

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

Вы видимо невнимательно прочитали мое сообщение.

Если выключая компьютер вы выключаете его из розетки тоже, то да, такой вариант не пройдет.

Если же из розетки шнур не выдергиваете, то при выключении компьютера питание на USB должно остаться (от дежурного источника питания).

Byte
Offline
Зарегистрирован: 28.11.2015

vk007 пишет:

Вы видимо невнимательно прочитали мое сообщение.

Если выключая компьютер вы выключаете его из розетки тоже, то да, такой вариант не пройдет.

Если же из розетки шнур не выдергиваете, то при выключении компьютера питание на USB должно остаться (от дежурного источника питания).

Вот сейчас не могу проверить, но, по моему, в спящем режиме ТОЖЕ греется.

И над аналогичной задачей трудится Arduino UNO (тоже китайская, но полный аналог) которая с FTDI и там такой проблемы нет. Включай-выключай, отправляй в спящий режим компьютер - ничего там так не греется. 

Подойдем к задаче с другой стороны. Вот на Mega2560 есть TX2, RX2 и т.д. - я их могу подключить к COM-порту компьютера, чтобы данные передавались через COM, а не через USB? А UBS подключать только для перепрошивки.

vk007
Offline
Зарегистрирован: 16.06.2015

Byte пишет:

Вот сейчас не могу проверить, но, по моему, в спящем режиме ТОЖЕ греется.

Я не знаю, как к вам еще донести свою мысль...

Проверьте:

1) выбросьте свои 12В, которыми питаете ардуину, нафиг;

2) выключите комп (но шнур питания из розетки не вынимайте);

3) подключите ардуину к неработающему компу через USB.

Ардуина работает?

а) да - отлично;

б) нет - зайдите в BIOS, проверьте настройки, касающиеся USB.

Byte пишет:

Подойдем к задаче с другой стороны.

Изучайте: http://atroshin.ru/ru/content/posledovatelnyy-port-ttl-i-rs232, https://ru.wikipedia.org/wiki/MAX232

Byte
Offline
Зарегистрирован: 28.11.2015

vk007 пишет:

Проверьте:

Ардуина работает?

а) да - отлично;

Если питать только от компьютера, то 5V просаживается до 4,6-4,8V и сбоит запись на SD-карту. 

Ну и вообще комп с Win'7 не выключается если воткнут шнур USB, висит на "Завершение работы...", только выдернеш шнур - выключается. Но это на этом конкретном компе на котором отлаживаю. На том с которым будет работать устройство нет возможности проверить. Но если бы и там все выключалось и питание подавалось, то все равно для стабильной работы тока по USB маловато.

Byte
Offline
Зарегистрирован: 28.11.2015

Ага, спасибо! Почитаю.

Byte
Offline
Зарегистрирован: 28.11.2015

По поводу статьи. Странно. А как же вот это

https://www.arduino.cc/en/uploads/Main/ArduinoSeverinoSchematic.png

?

без всяких там микросхем адаптеров. Сам такую собирал. Работает. Пробовал и с atmega8a и с atmega328pu. 

Byte
Offline
Зарегистрирован: 28.11.2015

Кажется, я понял. Необходимо взять эту Arduino которая с COM-портом, вынуть atmega, подать на контакт 3 разъема JP0  +5V, подать землю. Теперь можно к контактам 1 и 2 разъема J1 подключать RX и TX от Atmega2560. 

Интересно, я все верно понял? :)

Duino A.R.
Offline
Зарегистрирован: 25.05.2015

Я может чего не догоняю, но так понимаю, что при отключенном (уснувшем) компе Ардуина начинает питать часть его схемы USB от своего стабилизатора. Из-за этого растет общий ток, проходящий через стабилизатор, а с ним и его температура. Что в этом случае мешает просто разорвать в шнурке USB линию +5 В? Тогда и думать не надо, на что и как настроен комп, да и есть ли он вообще. Питаться части схемы будут от своих источников независимо, общий провод остается, сигнальные линии тоже. На мой взгляд, все должно работать.

Byte
Offline
Зарегистрирован: 28.11.2015

Duino A.R. пишет:
Я может чего не догоняю, но так понимаю, что при отключенном (уснувшем) компе Ардуина начинает питать часть его схемы USB от своего стабилизатора. Из-за этого растет общий ток, проходящий через стабилизатор, а с ним и его температура.

Вот-вот, и мне так кажется. Такого быть не должно. Наверно китайские товарищи забыли какой-нить диод предусмотреть/впаять в цепь +5V от USB.

Duino A.R. пишет:

 Что в этом случае мешает просто разорвать в шнурке USB линию +5 В? Тогда и думать не надо, на что и как настроен комп, да и есть ли он вообще. Питаться части схемы будут от своих источников независимо, общий провод остается, сигнальные линии тоже. На мой взгляд, все должно работать.

Вот, а это идея. Спасибо! Надо бы попробовать. Ну, или впаять диод в шнурок, чтобы +5V в комп не поступало. 

Byte
Offline
Зарегистрирован: 28.11.2015

Duino A.R.

Таки да, спасибо, отсоединить VCC в шнуре USB помогло. А вот вот впаивание диода почему-то нет. 

Хотя теперь теряется универсалость. Надо постоянно помнить, что этот шнур без VCC, что с этим Arduino необходимо использовать только этот шнур. Но зато это самый простой способ.

Duino A.R.
Offline
Зарегистрирован: 25.05.2015

Byte пишет:

Duino A.R.

Хотя теперь теряется универсалость. Надо постоянно помнить, что этот шнур без VCC, что с этим Arduino необходимо использовать только этот шнур. Но зато это самый простой способ.

На плате Ардуино перережьте дорожку +5 В от разъема USB так, чтобы в случае необходимости можно было запаять перемычку. Теперь с "этим" Ардуино можно будет использовать любой шнур. :)) Плата двухсторонняя, по разводке внимательней посмотрите, чтобы разрезом полностьбю снять питание платы от USB.

 

Byte
Offline
Зарегистрирован: 28.11.2015

Duino A.R. пишет:

На плате Ардуино перережьте дорожку +5 В от разъема USB так, чтобы в случае необходимости можно было запаять перемычку. Теперь с "этим" Ардуино можно будет использовать любой шнур. :)) Плата двухсторонняя, по разводке внимательней посмотрите, чтобы разрезом полностьбю снять питание платы от USB.

Спасибо! Но пока ограничусь шнуром :)