LINUX.ORG.RU

Подружить UART на Orange Pi Zero (3.3V) и китайской Arduino Pro Mini (5V)

 ,


0

1

Есть такие два девайса. На апельсине стоит армбиан. UART рабочий, проверял замыканием TX-RX и minicom-ом. Ардуину заказывал с алика, явно не оригинальная, т.к. красная кнопка сброса и расположение деталей другое. Бодро мигает красным диодом при подключении как 3.3В, так и 5В по VCC, но кажется, что всё-таки пятивольтовая версия (подключал 5В к RAW, на VCC 4 с чем-то, плюс китайцы на товаре вроде писали, что 5В).

Хочу, в общем, эту шнягу шить с апельсина. Из других девайсов с последовательным портом только малина, на которой тоже 3.3V, так что выбор у меня невелик. Пока попытался в тупую слить текущую прошивку: GND-GND, VCC-VCC (на pi пробовал как 3.3В, так и 5В пины), TX-RX, RX-TX, потом одновременно тыкаю на Reset (т.к. пин DTR никуда не подключен, у какого-то индуса на ютубе посмотрел, что так можно) и выполняю на апельсине вот эту шнягу:

$ avrdude -p m328p -c arduino -P /dev/ttyS1 -U flash:r:flash.bin:r
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00

В общем, ничего у меня не получилось, как я ни пытался чередовать команду и Reset, только потом я вычитал, что из-за напряжений я мог одну из плат спалить. К счастью, вроде не спалил.

Собственно, вопрос в чём: можно ли заколхозить из подручных материалов (резисторов там всяких, например) что-то типа преобразователя 5v<->3.3v, или лучше не морочить голову и где-нибудь в своём усть-перезвездюйске найти нормальный пятивольтовый USB свисток для прошивки ардуин?

Или может, я ещё какие-то ошибки допустил? С ардуинами и последовательными портами до сих пор дел не имел, так что действую вслепую.


Ответ на: комментарий от rukez

У меня в голове много новых слов, конкретно эту комбинацию не гуглил. Спасибо.

tsmx
() автор топика

а зачем, если абдурина прекрасно от 3.3в работает?

или даже не так: а зачем собссно покупать дорогущую абдурину, если те же стм32 и мощнее, и удобнее в дебаге, и дешевле, а стм8 - вообще копеечные (правда с девелопментом под онтопик немного печально)?

NiTr0 ★★★★★
()
Ответ на: комментарий от NiTr0

Ещё раз: ардуина китайская. Я не знаю, должна ли китайская копия ардуины работать от 3.3, но лично у меня она не работает. Я написал, что пытался на VCC подключать в том числе и 3.3, но это не помогло. Из этого я сделал вывод, что нужно преобразовывать напряжение, иначе не получится. Может, и плата бракованная, может, я ещё где-то ошибку допустил - не знаю, потому и спрашиваю.

Стм-что? В первый раз слышу. Про ардуину было одно время много хайпа в интернетах, вот я и подумал тогда «о, круто, микроконтроллеры, надо захапать себе». И купил пачку эти поделок на алике по дешёвке, вот единственный мой аргумент в пользу их выбора. Было это как минимум год назад, до этого дня они в ящике так и лежали.

tsmx
() автор топика
Ответ на: комментарий от rukez

В общем, делитель я сварганил, с повышателем проблемы: там везде всякие хитрые детальки фигурируют типа транзисторов, которых у меня нету. Пожалуй, подожду TTL свисток с алика.

tsmx
() автор топика
Ответ на: комментарий от tsmx

5v uart замечательно работает с 3.3v входным сигналом.

izzholtik ★★★
()
Ответ на: комментарий от NiTr0

С девелопментом STM8 под онтопиком все нормально, разве что приходится sdcc использовать, который - та еще гадость по сравнению с gcc. [url=https://github.com/eddyem/STM8_samples]Вот, можешь убедиться[/url].

Правда, насчет STM32 ты прав: хоть некоторые STM8 и дешевле, но секс с восьмибитками не стоит тех 20 рублей разницы! Уж лучше STM32 взять. Разве что, уныло, что ST не делает STM32F0x2 в мелконогом корпусе (QFN или TSSOP максимум ног на 20), чтобы одновременно были выведены CAN и USB!

anonymous
()
Ответ на: комментарий от tsmx

Повышайка не нужна: абдурине хватит 3.3В, чтобы решить, что это — лог.1

Но зря ты это говно купил: тупые 8-битные МК, к тому же крайне дорогие. И когда ты их начнешь программировать, поймешь, что ресурсов там — кот наплакал. Поэтому абдуринщики любят ногодрыг.

anonymous
()

Да, я вот не понял, что ты там мутишь, если у абдурины USART подключен к ch340 и выведен на USB!

А вот если ты захочешь не как быдло абдуринческое работать, а как человек, то тебе понадобится ISP-программатор, эту фигню сразу советую прикупить на али, раз хочешь с абдуриной покорячиться (но я тебе еще раз повторяю: стоит тебе хотя бы с STM32F030 поработать, как ты все абдурины в мусорку выбросишь!).

Когда купишь себе девборды на STM32F030 и STM32F411, сразу бери st-link (около 100 рублей стоит) и пару-тройку преобразователей USB<>USART на ch340 или pl2303.

Кстати, внутри st-link’а тоже есть ST’шный микроконтроллер: STM32F101 из отбраковки 103-х. Т.е. фактически получаешь небольшую девборду на 103-м.

anonymous
()

2 раза прочитал, так и не понял в чем проблема. Pi zero имеет выходы и 3в и 5в. И дуинка работает и с тем и с другим напряжением.

lucky_guy ★★★
()
Ответ на: комментарий от lucky_guy

USART «малинки» не является 5V-tolerant!

Но лучше бы ТС для начала сказал, зачем он у абдурины оторвал USB от USART’а…

anonymous
()
Ответ на: комментарий от tsmx

В общем, делитель я сварганил, с повышателем проблемы: там везде всякие хитрые детальки фигурируют типа транзисторов, которых у меня нету.

логика очень простая - если на входе 5В уарта напруга от +2.5В +5В то это логическая «1» (не совсем так но для начала упростим), логический «0» от 0 до +2.5В, для 3В уарта «1» от 1,6 до 3.3, «0» от 0 до 1.6. На выходе 0 для «0» и 5 для «1» у 5ти Вольтового и 0 для «0» и 3.3 для «1» у 3х Вольтового

таким образом, если ты собрал делитель, то на входе в 3В ты имеешь корректные данные, а на выходе из 3В имеешь 0 и 3.3В, и т.к. 3.3В на коротких проводах это больше чем 2.5В входящего окна для 5В уарта то работать будет в обе стороны

транзистор нужен чтоб работало на проводах подлиннее и на скоростях повыше (где важен нормальный фронт) - с ним будет чЁтенький уровень и чЁтенькая форма без лишних потерь

rukez ★★★★
()
Ответ на: комментарий от anonymous

Если я правильно понял, о чём ты спрашиваешь, то на этой модели ардуины вообще нет USB гнезда, она прошивается только через пины.

Про stm - уже заказал какую-то железяку с алика по запросу stm32, металлолома много не бывает. И свисток с чем-то вроде ch340 в названии тоже заказал. Проблема в том, что свисток там, в Китае, а я с ардуинами здесь, и я хочу заставить их делать хоть что-то. Ладно, может, ещё что-то полезное в голову придёт на днях.

Кстати, что такое ногодрыг?

tsmx
() автор топика
Ответ на: комментарий от tsmx

на этой модели ардуины вообще нет USB гнезда

Т.е. это - не абдурина что ли? Или какая-нибудь «micro-nano»? Что-то у меня по-быстрому нагуглить абдурину без USB не получилось.

Ты только сразу же забрось идею использования абдурино-IDE с их говнолибами! Пиши по-человечески, ручками... Читай даташит, пользуйся avr-gcc и тем, что в ее составе есть.

А то ведь абдурина - такая штука, что если втянешься, потом можно и разума лишиться! Абдуринщики абсолютно все делают не так, как люди. Если у МК есть таймеры и аппаратный ШИМ, они будут ШИМ ногодрыгом делать. Если есть SPI и I2C, все равно замутят их ногодрыгом! А еще homo abdurinicus любят использовать флоаты на 8-битном МК!

что такое ногодрыг?

Это когда ты вместо того, чтобы использовать аппаратные возможности МК для формирования нужной последовательности импульсов, формируешь их софтово при помощи pin.set и pin.reset. А потом удивляешься, что прилетевшее прерывание от USART RXNE тебе сигнал попортило!

anonymous
()
Ответ на: комментарий от anonymous

Да, «какая-нибудь «micro-nano»», вот фотка.

В остальном много пока непонятных слов, вернусь к этому посту, когда (если) закончу сношаться с прошиватором и доберусь до написания, собственно, кода под ардуины.

tsmx
() автор топика
Ответ на: комментарий от lucky_guy

Выходы - это выходы, а меня UART интересует. Ты хочешь мне сказать, что если пятивольтовой версии дуины подать 3.3в на вход, оно точно-точно не перекрутит их как-нибудь обратно в 5в, когда будет подавать сигнал на UART, и при этом будет нормально работать?

Если да, то нафига вообще везде в гугле пишут, что есть прям какая-то большая разница между 3.3- и 5-вольтовыми версиями дуины? Потому что с таким описанием 5-вольтовая версия выглядит совершенно универсальной. Или я что-то не так перевёл с буржуйского?

tsmx
() автор топика
Ответ на: комментарий от anonymous

По этой ссылке рассказывается, как в общем случае сделать делитель для пятивольтового вывода, а не что будет выдавать конкретно пятивольтовая дуина по последовательному интерфейсу, если ей скормить 3.3 вместо пяти по VCC.

tsmx
() автор топика
Ответ на: комментарий от tsmx

Ещё раз: ардуина китайская.

ну и что что китайская? там на ней ничего кроме проца и обвязки нет. так что хоть китайская, хоть монгольская, хоть зулусская.

Стм-что? В первый раз слышу.

так почитайте. полноценный 32бит ARM, шикарная периферия (особенно по сравнению с абдуриной с процами, которе были актуальны лет 30 назад), копеечная цена…

NiTr0 ★★★★★
()
Последнее исправление: NiTr0 (всего исправлений: 1)
Ответ на: комментарий от anonymous

отсутствие внутрисхемной отладки, отсутствие нормальных IDE, sdcc вместо компилятора (который хоть и конпеляет, но толком не оптимизирует)…

хотя юзаю их там, где важна цена и потребление, и где ресурсов STM8 достаточно. например, во всякие вольтметры стм32 пихать жирновато…

NiTr0 ★★★★★
()
Ответ на: комментарий от tsmx

Ещё раз: ардуина китайская.

Они сейчас все китайские. Тут больше важен конкретный вариант микроконтроллера. Какой-нибудь 328p-au точно будет нормально работать как на 3.3 так и на 5 вольтах.

Я не знаю, должна ли китайская копия ардуины работать от 3.3, но лично у меня она не работает.

BOD level проверяли ? Если у вас там в фьюзах прошит BOD на 4.5 вольта (разумный дефолтный выбор для ардуины продающейся как 5 вольтовая модель), то - понятное дело, что на 3.3 вольтах работать оно не будет. Нужно взять программатор (или сварганить свой собственный на базе другой ардуины), воспользоваться каким-нибудь онлайн-калькулятором фьюзов для атмеги и прошить себе нужное значение BOD. А заодно, можно ещё и более экономный загрузчик прошить, типа optiboot’а.

Из этого я сделал вывод, что нужно преобразовывать напряжение, иначе не получится.

Это зависит от конкретных железок, которые вы хотите подружить по UART. Какие-то железки могут нормально работать и при несоответствии логических напряжений. А сгореть тут скорее может (возможно, уже) - оранж-пай, чем Атмега 328, атмеги намного более живучие в подобных ситуациях.

DawnCaster ★★
()
Последнее исправление: DawnCaster (всего исправлений: 6)

можно ли заколхозить из подручных материалов (резисторов там всяких, например) что-то типа преобразователя 5v<->3.3v

Заколхозить-то можно, схемы в интернетах есть. Но с ардуиной куда проще и надежнее будет заставить её работать на 3.3 вольта. Она ещё и жрать меньше будет при таком напряжении.

DawnCaster ★★
()
Ответ на: комментарий от NiTr0

во всякие вольтметры стм32 пихать жирновато…

STM8 стоит полбакса, а STM32 — бакс! Нашел экономию…

Зато получаешь кучу периферии + 32 бита вместо восьми. Ну и gcc вместо дебильного sdcc.

Но если сравнить STM8 с аврками!.. Я вообще не понимаю, зачем мазохисты пользуются в 2020 году аврками!

anonymous
()
Ответ на: комментарий от DawnCaster

Куда проще и надежней выкинуть быдлячую абдурину и купить хотя бы «blue pill» на STM32F103! Цена та же, а кайф-то зато какой!!!

Ну и насчет 5Вольт беспокоиться уже не нужно будет.

anonymous
()
Ответ на: комментарий от anonymous

дык тс гонит, если ему не разжевать… а так бы сам уже нашел или сколхозил свой вариант

Morin ★★★★
()
Ответ на: комментарий от anonymous

Цена та же

Во первых, не та-же. В среднем всё ещё несколько дороже. Но, да, «пилюли» уже намного ближе по стоимости к ардуине, что не может не радовать.

а кайф-то зато какой!!!

STM32CubeMX - вот где настоящее удовольствие для мазохистов. Особенно когда надо по-быстрому сделать что-то несложное.

Или когда требуется более высокая надежность. Особенно в том что связано с питанием, помехами и подобным. Про задачи для attyny я даже не говорю.

DawnCaster ★★
()
Последнее исправление: DawnCaster (всего исправлений: 1)
Ответ на: комментарий от anonymous

Я вообще не понимаю, зачем мазохисты пользуются в 2020 году аврками!

Если-бы ими никто не пользовался - их бы никто не продавал, а уж тем более по таким ценам. Всё просто. Под avr’ки всё ещё есть свои задачи.

DawnCaster ★★
()
Последнее исправление: DawnCaster (всего исправлений: 1)
Ответ на: комментарий от DawnCaster

STM32CubeMX

Я бы убил тварь, которая калокуб придумала! В итоге абдуринщики еще и на STM32 переползли... Наколхозят быдлоподелку в калокубе, а потом донимают на всех форумах: ой, у меня мышкотыкательный «код» не работает...

anonymous
()
Ответ на: комментарий от DawnCaster

На самом деле все намного проще: из-за пресловутых 95% дебилов у хитрожопых товарищей получилось придумать и раскрутить абдурину.

И вот, рукожопы, мечтавшие стать электронщиками, но неспособные ни схему нормальную нарисовать, ни код написать, накупили на алиэкспрессе абдурин, «модулей» и, накачав «скетчей» из интернета, наделали всякого говна. И хорошо бы, если б это говно они только у себя использовали: я уже встречал придурков, которые на абдурине делают вещи для продажи! Это ж треш просто… Все вспоминаю тот грузовой лифт на абдурине!

anonymous
()
Ответ на: комментарий от anonymous

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

anonymous
()
Ответ на: комментарий от anonymous

Для тех, кто разбирается, проще из сниппетов скопипастить и подправить под свои хотелки! Чем разбираться в каловских простынях, где еще и оверхеда до черта!

anonymous
()
Ответ на: комментарий от anonymous

вообще-то стм32 - ~2 бакса. + очень мало в SOP корпусах. + в девайсах, в которых не один МК, а чуть поболее, и ценой не как крыло боинга - 30 центов или 2 бакса на чипе разница таки сузественная

NiTr0 ★★★★★
()
Ответ на: комментарий от NiTr0

Я не знаю где вы нашли дешевле, но я в китае покупал голые микросхемы атмега 328p и 168p чуть-ли не на вес. Не на алике, конечно, и оптом. Но было очень дешево, за раз купил на всех друзей, знакомых и для себя лет на 5 вперёд. Для STM таких предложений тогда не было.

Но, сейчас, даже на али-эспрессе, готовые платки arduino pro mini стоят в среднем всё ещё дешевле чем «пилюли» на описанном здесь контроллере. Но да, цены уже очень близкие, что очень радует.

Ещё раз. У атмеги есть свои плюсы: довольно высокая живучесть и стабильность (в том числе в условиях разнообразных помех), отличная универсальнось в плане питания, особенно когда оно нестабильно и плавает. Ну, и как бонус возможность организовать что-нибудь на голом МК вообще без обвязки. А самый главный плюс - чрезвычайно простая разработка под них. Даже без ардуины. Какие-то простые штуки можно чуть-ли не за минуты делать.

DawnCaster ★★
()
Ответ на: комментарий от DawnCaster

голые микросхемы атмега 328p

а сейчас они по 80+ руб. штучка

superuser ★★★★☆
()
Ответ на: комментарий от anonymous

А какая вам разница на чём работает грузовой лифт, если он РАБОТАЕТ и проходит все сертификации ? Всё-равно с вероятностью процентов 99.9 в лифте сломается что-нибудь другое и застрянете вы в нём не по причине того что вместо нормального МК там используется атмега и ардуина в качестве ядра…

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

Из серьезных штук использующих ардуину есть тот-же Marlin - самая полноценная, функциональная, и, возможно, самая старая прошивка для FDM 3D принтеров. И именно благодаря простоте платформы ардуино - она смогла так быстро развиться и таким образом популяризировать целую новую отрасль домашней 3D печати.

DawnCaster ★★
()
Последнее исправление: DawnCaster (всего исправлений: 1)
Ответ на: комментарий от DawnCaster

мини https://aliexpress.ru/item/32866959979.html

стм32 https://aliexpress.ru/item/32911383034.html

и это сейчас абдурины подешевели, года 4 назад были дороже.

ну а простая разработка - для этого есть стм8. которые и простые, и от 5В работают, и периферия шикарная (не то что в убогих атмегах, где АЦП - смешных 8 кспс)

NiTr0 ★★★★★
()
Ответ на: комментарий от DawnCaster

А какая вам разница на чём работает грузовой лифт

Ты идиот что ли?

не по причине того что вместо нормального МК там используется атмега и ардуина в качестве ядра…

Причина не в атмеге, а в быдлокоде! Потому что из абдурино-IDE нормальный код физически выйти не может!

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

Не надо нам такой «популяризации»!

anonymous
()
Ответ на: комментарий от NiTr0

Я тоже поначалу во все, не требующее особых ресурсов, пихал STM8, но потом понял, что я не только проигрываю по цене (в случае сопряжения девайса с компьютером помимо STM8 нужно паять еще и PL2303, ch340 или подобное, да еще и с обвязкой!), но и времени трачу больше на разработку.

Поэтому нишу STM8 у меня заняли STM32F072 (которые на алиэкспрессе по доллару за штучку продаются). Заодно и USB без кварца — кайф! А особым плюсом — одновременная работа CAN и USB! [url=https://eddy-em.livejournal.com/281303.html]Вот, например[/url].

anonymous
()
Ответ на: комментарий от anonymous

Блин, опять забыл переключить разметку на лоркод!

Какой долбоеб по умолчанию у анонимусов маркДАУН сделал?

anonymous
()
Ответ на: комментарий от anonymous

Ты идиот что ли?

Эх, анонимусы такие анонимусы… Иногда я начинаю забывать почему я обычно только в толксах сижу.

Причина не в атмеге, а в быдлокоде!

Каким образом быдлокод, в обязательном наличии которого вы почему-то уверены, повлияет на работу конкретного устройства. От которого требуется минимум функций, причём ?

Не надо нам такой «популяризации»!

Кому это - вам ? Старым пердунам в госконторах просиживающих штаны последние 20 лет за минималку, и гордящихся своей исключительностью ? Дык вы ничем не лучше тех кто пишет на ардуине. В отличии от них вы ВООБЩЕ нихрена полезного в этой жизни не делаете.

DawnCaster ★★
()
Ответ на: комментарий от DawnCaster

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

В «неудобный момент» чип возьмет, да и зависнет, из-за того, что во время необходимости принятия решения, скажем, тормозить двигатель, аврка будет ногодрыгом по I2C общаться с датчиками...

Кому это - вам?

Вменяемым людям. Зайди на любой форум по радиоэлектронике и посмотри, как там относятся к безмозглым абдуринщикам или калокубщикам!

anonymous
()
Ответ на: комментарий от anonymous

В «неудобный момент» чип возьмет, да и зависнет, из-за того, что во время необходимости принятия решения, скажем, тормозить двигатель, аврка будет ногодрыгом по I2C общаться с датчиками…

Почему она должна зависнуть ? Описанная ситуация - однозначно баг. Который в НОРМАЛЬНЫХ конторах отлавливают на этапе ВЫБОРА ИНСТРУМЕНТОВ ДЛЯ РАЗРАБОТКИ, собственно разработки, и во время тестирования. Ардуина и атмега - только лишь такие инструменты, и ничего больше.

Все эти внештатные ситуации описываются в техзадании. В особо ответственных случаях - надежность и точность также требует математического обоснования. На выходе так часто появляется всякое дублирование, и прочие защитные меры. Проводятся многоэтапные защиты и испытания прибора.

Если вы не делаете таких мероприятий для вашего мега-ответственного грузового лифта, то у меня для вас плохие новости: замена атмеги и ардуины на что-то другое вас не спасёт. Ваш STM32 сдохнет от импульсной помехи (от которой-бы не сдохла атмега). От космических лучей или от вторжения инопланетян. Без нормальной постановки задачи и отлаженного процесса разработки неважно что вы выберете в качестве МК, на каком языке будете писать логику и какими библиотеками будете пользоваться - всё-равно в итоге обосрётесь.

Написать говнокод вы можете на чём угодно, хоть на ассеблере. Вопрос только сколько времени и денег вы или ваш горе-работодатель на разработку и поддержку потратит. Ещё раз. Инструмент выбирается под задачу. И только так. Есть задачи для которых идеально подходит ардуина, как платформа и атмега как контроллер (в шапке темы, например, как раз такая задача). Только старые пердуны вроде вас этого до сих пор не поняли.

Я частично соглашусь только с тем, что ардуина - это признак плохого качества. Тревожный звоночек, так сказать. Хотя я не вижу проблем почему нельзя его использовать в качестве прототипа, например, пока не выбрали технологии для финального решения.

PS: Среди вашего брата «ылитарных» электронщиков - встречаются также совсем ещё терминальные случаи которые признают только плис и логику на отдельных компонентах. Надеюсь, вас, старых маразматиков не признающих ничего нового - скоро всех в итоге отправят уже на незаслуженную пенсию. Кризис в помощь, как говориться.

DawnCaster ★★
()
Последнее исправление: DawnCaster (всего исправлений: 10)
Ответ на: комментарий от DawnCaster

Почему она должна зависнуть ?

Потому что быдлан вместо нормального кодописания взял, и склепал все в абдурино-IDE, пользуясь накачанными непонятно откуда «скетчами».

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

Вы же, мудачье молодое, вымрете без нас! Вы ведь совсем работать не умеете. Только тырить чужой код...

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.