Arduino uno китайский клон не работает

Как перепрошить китайский Ардуино для работы с софтом Ардуино. CH340

Вы когда-нибудь думали о том, что дешевый китайский клон Ардуино действительно может работать?
Вы платите всего пару долларов, и получаете такой же продукт. Звучит слишком хорошо, чтобы быть правдой, не так ли?

Правда заключается в том, что некоторые из них работают, а некоторые – нет.
Читайте статью до конца, и вы узнаете, как сделать любой китайский клон рабочим за пару минут.

Я использую Arduino Uno для этого примера, но для других моделей процесс тот же самый.
Здесь у нас оригинальный Ардуино Уно и его китайская копия (Магазин на Aliexpress, Banggood).

Давайте проведем тесты.

Мой софт от Ардуино установлен на компьютер и работает нормально. Сначала я подключаю оригинальный Ардуино и все работает как надо.
Теперь я подключаю мою дешевую китайскую копию Ардуино, и компьютер не может определить устройство.

Проблема в том, что китайский клон не использует стандартный Serial to USB чип, хотя чип называется CH340. Ваш компьютер не распознает эти CH340 чипы, если вы их подключите.
Исправить это просто.

Скачайте софт от китайского производителя и установите себе на компьютер. Этот софт будет работать на всех версиях Windows.
Windows: http://www.wch.cn/download/CH341SER_EXE.html

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

Но в некоторых случаях китайская плата все еще может не работать. Это потому, что bootloader не был установлен на контроллер Atmel.
Чтобы решить эту проблему, нам нужен работающий Ардуино и клон Ардуино, который мы хотим прошить.

Сначала мы подключаем работающий Ардуино к компьютеру и открываем софт Ардуино.
Мы идем File -> Examples и выбираем ArduinoISP. Загружаем это на плату. После загрузки отсоедините Ардуино.

Теперь клон Ардуино мы подсоединяем проводами к работающему Ардуино по этой схеме:

  • Разъем 10 подключается к Reset,
  • Разъем 11 подключается к разъему 11,
  • Разъем 12 – к 12,
  • Разъем 13 – к 13,
  • 5 Вольт – к 5 Вольт,
  • Земля – к Земле.

Следующий шаг – подключаем работающий Ардуино к компьютеру.

  1. Идем Tools -> Board и выбираем китайскую плату, которая не работает. В моем случае это Ардуино Уно.
  2. Теперь снова идем в Tools -> Programmer и выбираем “Arduino as ISP”
  3. Еще раз идем в Tools и выбираем “Burn Bootloader”.
  4. Снова Tools -> Programmer и устанавливаем “ArduinoISP”.

Ваша китайская копия теперь должна работать нормально.

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

Надеюсь, статья была полезна. Оставляйте комментарии.

4 комментария

Все бы хорошо , но что-то в программе пошло не так с языком. Как настроить язык?

Сделай сам

Здесь изначально английский и программа для Ардуино тоже на английском. Возможно, русская локализация как-то не подходит.
Я пользуюсь английской версией, затрудняюсь ответить на ваш вопрос.

79788405905

Сколько времени займет доставка в Крым и как с вами связаться по телефону?

Сделай сам

Почтовая норма — до 30 дней, но обычно доходит за 10-15 дней.

Источник

Arduino.ru

Проблема с китайской UNO R3

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

Добрый вечер. Хотел бы поделиться с Вами своей проблемой, в надежде, что Вы поможете мне ее разрешить. Поиском я пользоваться умею, но там схожих случаев по множеству запросов я не нашел, поэтому и начну свое повествование.

Являюсь я счастливым обладателем оригинального набора ардуино, под названием «матрешка Z», юзаю я его и по сей день и бед не знаю. Этот набор я купил, так как на учебе мы учимся понимать архитектуру промышленных контроллеров и на примере ардуино постигаем азы схемотехники и программирования. Как-то раз, на одной из пар, преподаватель пожаловался на то, что одной платы не хватает на всю аудиторию (что естественно) и стоит приобрести больше комплектов, но денег на оригинальные комплекты нет, вот тут-то я и решил помочь, заказав на али 12 плат и немного переферии к ним. Платы пришли и начался процесс их проверки. С драйверами я разобрался достаточно быстро, и на этом череда моих побед над «китайским зверьком» закончилась, дальше начал он меня юзать во всю мою большую голову. При первом включении смутило то, что на плате постоянно горит диод RX, но почитав форум понял, что это не так и страшно, причем диод этот горит не зависимо от того подключена плата к ЮСБ или внешнему питанию. Выбрал скетч из готовых примеров в программе ИДЕ и начал лить в плату, на плате пару раз переморгнули диоды RX и TX и спустя какое-то время программа дала ошибку, программа подвисает на загрузке, компилирует нормально. На плате перемаргивает диод L 3 раза, с задержкой в 1-1.5 секунды. На кнопку RESET плата реагирует-перестает мигать диод L (13 pin) и тухнет RX. Возможно проблема с бутлоадером, подумал я, и решеил залить его с рабочей платы, подключил, потыкал , но и тут я потерпел фиаско. Файл боардс правил, ниже выложу, кстати на китайце кварцы12MHz, на итальянце 16.

Читайте также:  Билайн не работает запрос

Есть ли возможность эти платы каким-нибудь магическим образом превратить в нормальнорабочие, или им самое место на свалке?

Источник

Arduino.ru

Перестал работать Clone UNO (ch340g)

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

Внезапно перестала рабоать Arduino UNO (ch340g). Машинка (шаговый двигатель, сервоприво и ИК приемник) поплзала минут 5 по полу, потом хлоп и померла. Полчал от БП (12v).

1. На RESET не реагирует.

2. Плата видиться по USB, COM порт добавляет

3. При подключении питания все время горят лампочки (ON и L)

4. Заливать скетч вроде начинает, но потом выдает ошибку:

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

попробуйте перепрошить проц, на параллельном программаторе, мне помогло

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

1. Залил на рабочую плату скейтч ArduinoISP

2. Подключил нерабочую плату, по схеме:

Далее по инструкции, но без понимания что делаю 🙁

3. USB в рвбочую, далее выбрал Инструменты -> Программатор -> Arduino as ISP

4. Далее запуск Инструменты -> Записать загрузчик .. в консоль выдает ошибку

5. выбрал Инструменты -> Программатор -> ArduinoISP

6. Далее запуск Инструменты -> Записать загрузчик .. так же в консоль выдает ошибку

Так же была мысль обновить через ISCP .. но ненашел как включить DFU режим на Clone UNO (ch340g) 🙁

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

У меня пару раз было, что сдыхала Нано. Переставала прошиваться и через USB, и через ICSP. Мой опыт показывает, что есть два варианта действий: 1) выбросить и 2) сначала потрахаться, а потом выбросить. Благо, цена вопроса .

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

Я не против насчет варианта №2 :)) Тут действительно ключевая фраза: «.. цена вопроса..»

Но сейчас для меня принципиально понять вопрос можно-нельзя или как загнать китайца в режим Device Firmware Update.

Все инструкции написаны на оригинал UNO . мол резистор впаять и вперед, а в моем варианте х.з.

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

Да нет у китайских клонов режима DFU (Device Firmware Update). Там стоит совсем другая микросхема — CH340, у неё нет такого режима. Это просто USB-UART преобразователь.

Пробуйте прошивать ардуину программатором, либо другой ардуиной со скетчем Arduino ISP (эмулятор программатора). То есть, это будет в обход USB-UART преобразователя CH340, прошивка МК Atmega328P напрямую через ISP.

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

Пробуйте прошивать ардуину программатором, либо другой ардуиной со скетчем Arduino ISP (эмулятор программатора). То есть, это будет в обход USB-UART преобразователя CH340, прошивка МК Atmega328P напрямую через ISP.

Прошу прощения, не могу понять как ее прошить.

Jeka_M, я так понимаю Вы это не раз делали, помогите разобраться:

1. Выше приведена схема подключения двух ардуин правильная ?

2. Я так понял надо в рабочую ардуино загрузить скейтч ArduinoISP и далее подключить «битую»

3. Потом выбрать «Инструменты->Программатор: Arduino as ISP»

или надо выбрать «Скетч–>Загрузить через программатор» ?

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

Получил китайскую нанку.

Проверил залив скетч (мигалка на 13 пин) работает. Но вот фигня подключаю м590 через софтсириал указав пины 2,3(рх, тх) работает (на ат отвечает, звонки, смс принимает). Подключаю к пинам 0,1 не работает. Убираю м590.Начинаю мучить нанку.

1.Заменил драйвер ch341ser на ком-порт.

2При замыкании тх-рх в сериал монитор отпр.”1” ответ пусто в мониторе.

3.мультимером замеряю земля – пин0=4,75в, земля-пин1=4,75в, земля-пин(+5v)=4.75, земля-пин(3v3)=3.2в.

4.Отключаю усб,даю питание на пин(vin) 7вольт на пине(+5v)4.95в и на пинах 0,1 4,95в и самое интересное пин(3v3)3.5в , а по мануалу тут питание появляется только при подкл.усб.

5.При замыкании пинов 0,1 и заливке скетча выдает ошибку stk500_getsync(): not in sync: resp=0x00

6.Заливая скетч(мигалка на пин 0)мигает лед рх и наоборот для пина 1 мигает лед тх.

7.Пробывал на других двух компах результат одинаков.

Есть мысль что, сдох ch340,но почему работает через софтсириал в монитор сириал все отвечает?И откуда появляется питание на 3v3пине при питании от пинаVIN?Что еще проверить?

Источник

10 самых распространенных ошибок при работе с Arduino

Платформа Arduino – это один из самых простых путей погрузиться в мир микроконтроллеров и попробовать самому их программировать. Но однако и на этом пути вас могут подстерегать различные ошибки. Некоторые из них устранить очень просто, а на устранение других у вас могут уйти целые дни. В этой статье мы рассмотрим 10 самых распространенных ошибок при работе с платформой Arduino и способы их устранения.

Если вы начинающий в Arduino, то вначале рекомендуем вам ознакомиться с руководством по первому использованию платы Arduino для начинающих – в ней вы найдете решение самых простых ошибок, возникающих при работе с данной платой.

Читайте также:  Почему может не работать зарядное устройство для автомобильного аккумулятора

1. Плата Arduino не распознается

В этой ситуации плата Arduino, подключается к компьютеру, не распознается им. В этом случае плата Arduino не появляется в списке устройств, подключенных к компьютеру по COM портам, как показано на следующем рисунке.

Решение

Эта проблема обычно случается когда вы используете не оригинальную плату Arduino, а ее дешевые клоны, обычно китайского производства. В этих клонах Arduino вместо стандартного для оригинальных плат Arduino FTDI чипа (FT232RL) используется более дешевый чип CH340g (для преобразования USB в последовательный интерфейс). Драйверы для стандартного чипа FT232RL уже содержатся в установочном пакете Arduino IDE, поэтому при ее установке они также автоматически устанавливаются на ваш компьютер. А чтобы использовать клон платы Arduino с чипом CH340g вам необходимо предварительно скачать и установить драйвер для этого чипа – скачать его можно по следующей ссылке. Установка его крайне простая – я думаю, она не вызовет у вас никаких затруднений.

После его установки вы сможете увидеть в диспетчере устройств, к какому COM порту подключена ваша плата Arduino.

2. Плата не синхронизируется

В этом случае ваш компьютер видит подключенную к нему плату Arduino, но вы не сможете загрузить в нее код программы и вы при попытке загрузке в нее программы вместо привычного сообщения » done uploading » увидите сообщение об ошибке: “ avrdude: stk500_getsync(): not in sync: resp=0x00 ”.

Решение

Ошибка синхронизации resp = 0x00 является общим ответом (ошибкой) на все проблемы, связанные с некорректной работой микроконтроллера Atmega (или вообще его неработоспособным состоянием), являющегося «сердцем» платы Arduino. Соответственно, причин этой ошибки может быть достаточно много. Мы рекомендуем вам выполнить следующую последовательность шагов чтобы попробовать устранить эту проблему:

  1. Убедитесь в том, что ничего не подключено к цифровым контактам 0 и 1 платы Arduino (включая шилды).
  2. Убедитесь в том, что в настройках Arduino IDE вы выбрали правильный тип платы и правильный COM порт.
  3. Пару раз нажмите кнопку сброса на плате Arduino и попробуйте после этого загрузить в нее код программы.
  4. Если не помогло, то отключите и заново подсоедините плату Arduino к компьютеру.
  5. Закройте и снова запустите Arduino IDE.

Если ничего из перечисленного не помогло, то попробуйте подключить к своему компьютеру другую плату Arduino или же подключите вашу плату Arduino к другому компьютеру. Если вы обнаружите, что проблема в компьютере, то переустановите Arduino IDE. Иногда бывает и так, что Arduino IDE из Windows работает с глюками, а из другой операционной системы на этом же компьютере работает без проблем. Также встречаются энтузиасты, которые устанавливают Arduino IDE в операционную систему от платы Raspberry Pi, то есть работают с Arduino IDE на компьютере, который состоит из платы Raspberry Pi и монитора – они говорят, что в этом случае Arduino IDE работает гораздо лучше чем из под Windows. Также, если не хотите менять компьютер или операционную систему на нем, вместо Arduino IDE можно попробовать использовать аналогичные инструменты — оболочку PlatformIO или Arduino Web Editor (официальный онлайн инструмент, его не нужно устанавливать).

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

3. Код программы не начинает исполняться при нажатии кнопки сброса (Reset)

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

Решение

Описанная проблема может возникать по достаточно большому количеству причин.

Если плата «висит» и ничего не делает, вы сначала должны убедиться в том, что вы в это же самое время не передаете ей никаких данных с компьютера по последовательному порту. При включении питания загрузчик платы первые несколько секунд проверяет не передаются ли плате по последовательному порту какие либо данные (например, не производится ли попытка загрузки в плату нового скетча). Если никакого нового скетча не поступает, то спустя несколько секунд загрузчик начинает исполнять последний скетч, загруженный в плату. Если же ваша программа периодически передает данные по последовательному порту плате, то загрузчик попросту не перейдет к исполнению последнего загруженного в плату скетча.

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

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

4. Invalid Device Signature Error (ошибка подписи)

Эта ошибка возникает при попытке загрузки кода программы в плату Arduino, тип которой отличается от той платы, которую вы выбрали в настройках Arduino IDE. Ошибка возникает из-за того, что подпись устройства (device signature) на используемой плате отличается от подписи того типа платы, которую вы выбрали в Arduino IDE.

Читайте также:  Не работает подсветка климата лансер 9

Решение

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

5. Ошибка запуска (Launch4j Error)

Arduino IDE необходимо некоторое время для того чтобы запуститься и если после ее запуска вы на что-нибудь кликаете, то возникает ошибка Launch4J error как показано на представленном рисунке. Launch4j – это инструмент, который используется для упаковки (wrapping) приложений Java в программной среде Windows, который позволяет им исполняться как обычным программам Windows.

Arduino IDE написана на JAVA и эта ошибка возникает из-за несовместимости библиотеки Java Run Time Environment (JRE), поставляемой вместе с Arduino IDE.

Решение

Часто решить эту проблему удается простым выключением Bluetooth или WiFi на вашем компьютере. Если это не помогает, то более сложным вариантом решения данной проблемы является замена библиотеки JRE в Arduino IDE на ее последнюю версию.

6. Последовательный порт уже используется (Serial Port Already in Use)

Одна из самых простых проблем для решения. Она обычно происходит когда вы пытаетесь загрузить код программы в плату Arduino в то время когда открыто окно монитора последовательной связи (serial monitor) (но эта проблема в последних версиях Arduino IDE уже устранена) или вы пытаетесь его открыть во время обмена информацией между Arduino IDE и платой Arduino, или вы пытаетесь в это время использовать этот же самый COM порт для связи с другим устройством. То есть данная проблема возникает тогда, когда вы пытаетесь использовать последовательный порт одновременно для двух вещей.

Решение

Когда вы хотите загрузить программу в плату Arduino с помощью Arduino IDE, просто закройте (остановите работу) всех программ/приложений, которые в это же самое время могут использовать данный последовательный порт. Если в каких то программах вы не уверены, то отключите и снова подсоедините плату Arduino к компьютеру.

7. Скетч успешно загружен, но ничего не происходит

Эта проблема аналогична ранее рассмотренным проблемам. В данном случае у вас появилось сообщение, что программа успешно загружена в плату Arduino, но сама плата после этого ничего не делает.

Решение

  1. Убедитесь в том, что тип выбранной в настройках Arduino IDE платы совпадает с типом платы, в которую вы загрузили программу.
  2. Также подобная ошибка может быть вызвана тем, что размер загружаемого в плату скетча превышает объем ее памяти для хранения программ. Уменьшите объем скетча или используйте плату Arduino с большим объемом памяти.
  3. Еще одной причиной подобной ошибки может быть сильная зашумленность цепей питания. Убедитесь в том, что питающее напряжение, подаваемое на плату, достаточно стабильно.

8. Неизвестная ошибка связи (Unsatisfied Link Error)

Очень редко возникающая ошибка. Связана с тем, что на вашем компьютере используется очень старая библиотека для последовательной связи, возможно, от какой то предыдущей версии операционной системы.

Решение

Для решения этой проблемы найдите файл comm.jar или jcl.jar в папке /System/Library/Frameworks/JavaVM.framework/ или в папках на вашем компьютере, относящимся к переменным окружения CLASSPATH или PATH.

9. Размер скетча слишком большой (Sketch Too Large)

Эта ошибка происходит когда размер кода программы больше чем объем перепрограммируемой памяти (flash memory, памяти для хранения программ) используемой вами платы Arduino. К примеру, объем этой памяти в плате Arduino Uno составляет 32 Кбайта, из которых 2 Кбайта заняты загрузчиком. Если вы попытаетесь загрузить в данную плату скетч объемом более 32 Кбайт, то увидите подобную ошибку.

Решение

Для решения этой проблемы модно использовать следующие способы уменьшения объема кода программы:

  1. Там, где это возможно, используйте целые типы данных (integer) вместо вещественных (float).
  2. Там, где это возможно, используйте при объявлениях переменных спецификатор “const”.
  3. Подключайте в программу только те библиотеки, которые вы будете использовать. Там, где это возможно, используйте облегченные версии используемых библиотек.
  4. Используйте специальные алгоритмы и другие способы уменьшения объема кода программы.

Более радикальным решением этой проблемы является смена платы Arduino на плату с большим объемом памяти. Например, плату Arduino Uno можно заменить на плату Arduino Mega, или даже на плату Arduino Due.

10. Ошибка переполнения стека (java.lang.StackOverflowError)

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

Решение

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

В данной статье мы рассмотрели 10 самых распространённых ошибок при работе с Arduino. Разумеется, реальное число ошибок, которые могут возникать при работе с платами Arduino, гораздо больше чем 10, однако мы попытались в этой статье рассмотреть самые распространённые из них. Если у вас возникает какая либо ошибка, которая не рассмотрена в данной статье, можете описать ее в комментариях и мы попробуем вместе с вами ее решить.

Источник

Оцените статью