Jump to content

sys

Members
  • Content Count

    24
  • Joined

  • Last visited

Community Reputation

6 Обычный

About sys

  • Rank
    Новенький

Контакты

  • ICQ
    350135398

Информация

  • Пол
    Мужчина
  • Город
    Воркута

Электроника

  • Стаж в электронике
    Более 20 лет
  • Сфера радиоэлектроники
    Всего понемногу
  • Оборудование
    с1-118, yaxun

Recent Profile Visitors

1210 profile views
  1. По алгоритму в сети есть примеров для вентиляторов куроводов, меломанов, моддеров ПК, роботостроителей, недавно попадался проект на хабре по настольному хоккею с шаговыми двигателями, оттуда выдрать, что- то встречается периодически. Материалы по ПИД- регуляторам наверняка есть понятные. Из оптопар я б применил что- то пошустрее, например HCNR200, HCPL2630, ISP621, TLP118- вообще для автопрома.
  2. Потребовалась в проекте простая и долгоживущая память для вобщем- то небольшого количества данных, на случай сбоя по питанию. Работа ограничивалась записью текущих изменяющихся значений и восстановлением при включении. При неспешной записи несколько раз в минуту, ресурс ATMEGA328 выбирался за 2 года гарантированной записи её родной EEPROM, происходившей по кольцу, что не очень радовало. Отступление небольшое, в нете читал статью где этот чип подвергался повышенным напряжением в 7- 9В и при снижении опять начинал работать, так это правда, случайно проверил. Ещё тестили количество циклов чтения- записи, реально намного превышает количество заявленное производителем, но у меня не тот случай где можно на это надеяться. Присутствовал на борту модуль с Алиекспресса с DS3231, на нём имелась память 24С32. Ввиду чрезвычайного удобства (модуль два в одном, и часы и память, общая шина IIC/TWI) эта микросхема использовалась для вышеуказанных целей очень долгое время. А потом всё устройство обрастало свистелками- перделками многочисленными датчиками и подвергалось давлению перфекционизма. Времени для записи, по даташиту 10ms, стало слишком много и в обрез оставалось для основной работы программы. Я посмотрел в сторону FRAM. Были заказаны на том же Али FM24С64 и 04. Частота работы до 1 Мгц, выпускаются в вариантах 5 и 3,3В, объёма, учитывая количество циклов записи- чтения 10 в 12-й степени хватало. Перепробовав безуспешно адаптировать несколько библиотек, для обычных 24СХХ, решил написать подпрограммы, напрямую работая со встроенной библиотекой Wire Arduino IDE (https://www.arduino.cc/en/Reference/Wire). Этими скетчами проверял присланные микросхемы. Для FM24C04: #include <Wire.h> byte iich = 0x50;// адрес устройства unsigned int address = 0; byte datawrite = 0x77;// чем заполнить ячейки памяти void setup() { Serial.begin(115200); Wire.begin(); Wire.setClock (400000);// скорость шины, от 3,3В через конвертер уровней TXS0108 тоже работают for (address = 0; address < 512; address ++ ) { // цикл для записи в память iic_write (address, datawrite); } for (address = 0; address < 512; address ++ ) { // цикл для чтения из памяти Serial.println (); Serial.print (address); Serial.print ("--"); Serial.print (iic_read (address),HEX); Serial.print ("--"); } } ///////////////////////////////////////////////////// void loop() { } ///////////////////////////////////////////////////// unsigned int iic_read (unsigned int adrd) { Wire.beginTransmission(iich); Wire.write(adrd); Wire.requestFrom(iich, 1); return Wire.read(); Wire.endTransmission(); } void iic_write ( unsigned int adwr, byte dat) { Wire.beginTransmission(iich); Wire.write(adwr); Wire.write(dat); Wire.endTransmission(); } Для FM24С64 меня ждали несколько шикарных, испытанных временем граблей. Перерыт инет, перечитан даташит. Внутренний подтягивающий к земле резистор internally pulled down достаточно велик для уровня наводки, воспринимаемой как логический "0" или "1". Поэтому вывод WP- обязательно к земле наикратчайшим проводом, тем более если это "сопли" на разъёмах на столе. То- же о выводах А0-А2, висящие в воздухе они давали несколько несуществующих адресов. Почему- то это не касается FM24C04 и я попался на этом чипе. Подпрограммы изменились, для чтения: unsigned int iic_read (unsigned int adrd) { Wire.beginTransmission(iich); Wire.write(adrd >> 8);// старший байт Wire.write(adrd & 0xFF);//младший байт Wire.requestFrom(iich, 1); if (Wire.available()) { return Wire.read(); } Wire.endTransmission(); } для записи: void iic_write ( unsigned int adwr, byte dat) { Wire.beginTransmission(iich); Wire.write(adwr >> 8); Wire.write(adwr & 0xFF); Wire.write(dat); Wire.endTransmission(); } Работа 5В версии (FM24C64-G) при питании 3,3В и скорости шины 400000 стабильна, что рекомендовать к работе конечно нельзя. По поводу FM24C64 (подозреваю что и С32 , С128, С256) коротко и ясно написано на https://forum.arduino.cc/index.php?topic=18946.0 пользователь alicemirror объясняет как работает чтение у этих микросхем, а поскольку они прямая замена для, например, АТ24С64, то и для них это справедливо. Дело в том, что данные из микросхемы "выстреливаются" далее без указания адреса с его автоинкрементом самой микросхемой после подтверждения от ведущего. Эту прыть и надо останавливать при получении байта :-) и способ адресации отличается от младших, с меньшим объёмом. Интересных всем проектов!
  3. Светодиод и фоторезистор. Один из многих убитых зайцев, стабильность работы испытывалась, да так и осталась висеть, причины ниже. А такие 5 месяцев, как и писал, начать с нуля. Не зная про Ардуино и программирование ничего. Работая на основной работе. Была проблема, снятие показаний на удалённых объектах без дежурного персонала в Заполярье. Ветер. Мороз. Вход заметает по крышу. Раз в месяц надо данные. Иногда пешком, иногда приезжая на вездеходе снять инфу на бумажку. Задача решена, приём по радиоканалу, в тёплом кунге , проездом мимо. С памятью последних значений. На всякий случай прикручен простенький TFT LCD. Не переключаемый UPS на случай посадок в сети по обоим вводам, лишний раз не перезагрузится. Излишняя точность в 1 сек. - тоже для опытов. Естественно всё в процессе отладки, в arduino ide на начальном этапе можно и на асме вставки писать, как и было сделано, и в сях нет проблем. Это мелкий проект, ему не нужен IAR или Keil. Нужен минимум затрат на изучение камня и программирования, бюджет- свой карман. Хватило АTMEGA 328 и слава Богу. От неё нужны только цифровые ноги, железный IIC и SPI. Чинайцы наводнили рынок удобными модулями на любой вкус. STM8A конечно здесь был бы к месту очень, но опять же время... Если не писать код в arduino ide, то всё затягивается и теряет смысл. А вот теперь, сидя в тепле, попивая чаёк, можно и пробовать разное- всякое. Про разъёмы - согласен 100%, т.к. всё было в процессе отладки- это логично и удобно, правда применены цанговые, надёжнее. Да так всё и осталось, т.к. зима у нас наступает внезапно :-) . И ещё, это не лично Вам, а вообще наблюдения, гуру забывают о роли проекта Ардуино в популяризации микроконтроллеров и о том что не годы работы "в этой сфере" делают человека профи, а рабочие долгоживущие проекты и благодарность начинающих. И никто не начинает бегать после рождения сразу. Да-да, и сосут информацию, набираясь опыта, как младенцы сиську. И учатся ходить. Не понятно мне зачем некоторые сюда заглядывают со своим высокомерным пренебрежением и безапелляционными высказываниями без оснований. А, разжевать конечно "за бесплатно" вера не позволяет, понял. Тут начальный уровень, коммерция в другом разделе. А что тогда остаётся? Получив свою порцию ссаных тряпок в разделах STM или ПЛИС тут или на Хабре, спускаются небожители поднять своё увядшее ЧСВ?
  4. На просторах инета была публикация на эту тему с описанием конструкции. ТВ принимать не обязательно вещательное, камера+модулятор от видика или денди никто не отменял.
  5. Выхожу за рамки темы, пожалуйста, поясните мне почему у вас такая позиция, какие для неё основания? Я только начал интересоваться МК и охотно Вас выслушаю. Если можно, то в личные сообщения.
  6. И да, диванных неАрдуинщиков рассуждающих про "говнокод" и многозадачность и на Хабре и на Гиктаймсе полно. Но мы- то знаем, что в своей нише по затратам времени "задумал- заработало"- Ардуино выигрывает для новичков и далёких от контроллеров всегда. Как раз в промавтоматике ей есть много работы. А код- дело времени и настойчивости. Добавка к предыдущему посту про счетчик наработки, от задумки до (рабочего скетча, плат, антенн, моделей для 3Д и печати мелочёвки ) начала работы в реале прошло 5 мес. ТС, не обращай внимания на хейтеров , маниловых и пр. завистников. Кури умные книжки: Бокселл Дж. - Изучаем Arduino. 65 проектов своими руками - 2016, Монк - Программируем ардуино профессиональная работа со скетчами - 2017. Вот толковая статья есть в которой и комментарии доставляют https://habr.com/ru/post/413779/. Ещё немного ссылок http://mypractic.ru/uroki-programmirovaniya-arduino-navigaciya-po-urokam , http://www.newlibrary.ru - там есть Барнс Дж. Электронное конструирование: методы борьбы с помехами и много чего еще вкусного. Вот дядька интересный http://dl2kq.de и его публикация про дроссель http://dl2kq.de/pa/1-7.htm и раздел EMS, хоть и пишет для радиолюбителей, но ЭМС- она везде ЭМС. Удачи и успехов!
  7. Думаю можно судить о помехоустойчивости и пригодности в промышленности на примере реального устройства. Собран на Ардуино Nano 6-ти и 9- канальный счетчик часов наработки, работает без сбоев уже 4 месяца. Условия - контакторы ПМЕ-222, нагрузки- 1- 2 кВт, в сети периодические коммутационные помехи от запуска- останова эл.двигателей 75- 90 кВт с вакуумными контакторами, температурный диапазон 5- 20 градусов. БП китайский, 5 В. Влажность- без конденсата. Считывание с силовой цепи через самодельные оптопары. От оптопар до платы Ардуино витая пара 3 м. На входах- LC помехоподавляющие цепи, резисторы подтяжки. Передача данных через 2,4 ГГц, 100 мВт. Антенна внутри корпуса КСП-25 IP-54 и рядом с не экранированной платой. По питанию на каждом модуле ( RTC, LCD, RFM, ) на кросс- плате 10 нФ ( что много для блокировки частоты 2,4 ГГц ) керамика+ электролиты. Разводка питания лучеобразная, для каждого модуля- свои дорожки. Корпус кварца припаян к массе. Тактовая частота 24 МГц , + 50% от даташита. В скетче работает WDT со счетчиком перезагрузок. Зависаний, сбоев не отмечено. Проект не мой, схемы, платы и прошивки вероятно не будет. Если интересно- можно сфотографировать вид изнутри. Идет монтаж на другие объекты контроля. Требования пожаро- электробезопасности, ЭМС- совместимости выполнены, вопрос сертификации- головная боль руководства предприятия и при наблюдаемом бардаке- процесс маловероятный.
  8. Других с али не присылали, только с загрузчиком.
  9. Нет, не перезаписывал, мне нужна была работа WDT, сторожевого таймера, по случаю оказалось что оригинальный загрузчик поддерживает его работу. У меня мешок китайских USBASP, огород программатор из другой ардуины городить нет смысла. Если имелось ввиду что шить загрузчик из ArduinoIDE, то безвозвратно теряется оригинальный из платы, нужно менять содержимое папки bootloaders на нужный загрузчик, т.к. дефолтный не поддерживает WDT, потом забываешь что у тебя там прошивается... не. Все на хабре расписано.
  10. Заказал на алиэкспресс платку с ARDUINO MEGA PRO 2560 в хорошем магазине RobotDyn. От платки нужна была портативность, Arduino Mega 2560 китайского клонирования слишком габаритна и с керамическими резонаторами вместо кварцев, большой объем памяти, множество ножек и сторожевой таймер. Залить тестовую прошивку Blynk удалось только через ICSP программатором китайского же производства, программами Prog ISP 1.72 и AVRDUDE_PROG 3.3. Через USB с помощью встроенного конвертера USB-SERIAL на CH340G Arduino IDE прошивка не удавалась, выдавал ошибку "таймаут". Считав фьюзы, оказалость что они ext-FD high-DB low-FF, перепрошив на FCD8FF ( легко спутать 8 и B ) получил возможность прошивки через USB и перезагрузку при снижении напряжения до 4,3 В. В статье на хабре https://habr.com/ru/post/189744/ хорошо описан вопрос сторожевого таймера. Правда китайские программисты поправили загрузчик ARDUINO MEGA PRO 2560 и он уже поддерживает этот таймер. Заменять на другой не стал.
  11. Вижу тема умерла, но наткнулся и может кому помогу, т.к. сам задался этим вопросом. Вот выдержка из сайта http://scbist.com/, копипаста 100%. МЕТОДИКА ПРОВЕРКИ ТРАНСФОРМАТОРОВ Александр Столовых В настоящей статье автор знакомит читателей с несколькими способами проверки импульсных, разделительных и строчных трансформаторов. В статье приводится способ усовершенствования осциллографов С1-94, С1-112 и им подобных для более удобной диагностики трансформаторов. При ремонте телевизоров, видеомагнитофонов и другой электронной техники очень часто возникает необходимость проверки трансформаторов. Существует множество методов, позволяющих с определенной вероятностью отбраковать неисправные трансформаторы. В этой статье рассмотрены способы проверки трансформаторов, импульсных блоков питания, разделительных трансформаторов строчной развертки телевизоров и мониторов, а также трансформаторов строчной развертки (ТДКС). СПОСОБ 1 Для проверки потребуется звуковой генератор с частотным диапазоном 20...100 кГц и осциллограф. На первичную обмотку проверяемого трансформатора через конденсатор емкостью 0,1 ...1 мкФ подают синусоидальный сигнал амплитудой 5...10 В. На вторичной обмотке наблюдают сигнал с помощью осциллографа. Если на каком-либо участке частотного диапазона удается получить неискаженную синусоиду, можно сделать вывод об исправности трансформатора. Если синусоидальный сигнал искажен, трансформатор неисправен. Схема подключения показана на рис. 1, а форма наблюдаемых сигналов - на рис. 2, соответственно. СПОСОБ 2 Для проверки трансформатора параллельно первичной обмотке подключаем конденсатор ёмкостью 0,01. 1 мкФ и подаем на обмотку сигнал амплитудой 5 10 В с генератора сигналов звуковой частоты. Меняя частоту генератора, пытаемся вызвать резонанс в получившемся параллельном колебательном контуре, контролируя амплитуду сигнала с помощью осциллографа. Если закоротить вторичную обмотку исправного трансформатора, колебания в контуре исчезнут. Из этого следует, что короткозамкнутые витки срывают резонанс в контуре. Следовательно, если в проверяемом трансформаторе есть короткозамкнутые витки, мы не сможем добиться резонанса ни на какой частоте. Схема подключения показана на рис. 3. СПОСОБ 3 Принцип проверки трансформатора тот же, только вместо параллельного используется последовательный контур. Если в трансформаторе есть короткозамкнутые витки, при частоте резонанса происходит резкий срыв колебаний, и достичь резонанса будет невозможно. Схема подключения показана на рис 4. СПОСОБ 4 Первые три способа больше подходят для проверки трансформаторов питания и разделительных трансформаторов, а оценить исправность трансформаторов ТДКС можно только приблизительно. Для проверки строчных трансформаторов можно воспользоваться следующим способом. На коллекторную обмотку трансформатора подаем прямоугольные импульсы с частотой 1...10 кГц небольшой амплитуды (можно использовать выход сигнала калибровки осциллографа). Туда же подключаем вход осциллографа и по полученной картинке делаем заключение. На исправном трансформаторе амплитуда полученных продифференцированных импульсов должна быть не меньше амплитуды исходных прямоугольных. Если ТДКС имеет короткозамкнутые витки, тогда мы увидим короткие продифференцированные импульсы амплитудой в два и более раз меньше исходных прямоугольных. Этот способ очень рационален, так как позволяет при проверке обойтись только одним измерительным прибором, но, к сожалению, не каждый осциллограф имеет выход генератора, предназначенный для калибровки. В частности, такие популярные осциллографы, как С1-94, С1-112, не имеют отдельного генератора калибровки. Предлагаю изготовить простой генератор на одной микросхеме и разместить его прямо в корпусе осциллографа, что поможет быстро и эффективно производить проверку строчных трансформаторов. Схема генератора показана на рис. 5. Собранный генератор можно расположить в любом удобном месте внутри осциллографа, а питание подвести от шины 12 В. Для включения генератора удобно использовать сдвоенный тумблер (П2Т-1 -1 В), его лучше расположить на передней панели прибора в свободном месте не далеко от входного разъема осциллографа. . При включении генератора через пару контактов тумблера подается питание, а другая пара контактов соединит выход генератора с входом осциллографа. Таким образом, для проверки трансформатора достаточно обычным сигнальным проводом соединить обмотку трансформатора с входом осциллографа. СПОСОБ 5 Этот способ позволяет проверить ТДКС на межвитковое замыкание и обрыв в обмотках без применения генератора. Для проверки трансформатора отсоединяем вывод ТДКС от источника питания (110 ...160 В). Коллектор выходного транзистора строчной развертки замыкаем перемычкой на общий провод. Блок питания по цепи 110...160 В нагружаем лампочкой 40...60 Вт, 220 В. Находим на вторичных обмотках трансформатора блока питания напряжение 10...30 В и через резистор сопротивлением примерно 10 Ом подаем его к отсоединенному выводу ТДКС. С помощью осциллографа контролируем сигнал на резисторе. Если в трансформаторе есть межвитковое замыкание, картинка будет иметь вид «грязно-пушистого прямоугольника», и почти все напряжение упадет на резисторе. Если замыканий нет, прямоугольник будет чистый, и падение напряжения на резисторе будет составлять доли Вольта. Контролируя сигнал на вторичных обмотках, можно определить их неисправность. Если прямоугольник есть - обмотки исправны, если нет - оборваны. Далее убираем резистор 10 Ом и вешаем нагрузку (0,2...1,0 кОм) на каждую вторичную обмотку ТДКС. Если картинка на выходе с нагрузкой практически повторяет входную, можно сделать вывод, что ТДКС исправен, и смело возвращать все на место. Таким образом, воспользовавшись одним из приведенных способов, можно без труда определить неисправность подозрительного трансформатора. целиком тут http://www.d43d.ru/0_0_55.html
  12. Долгим поиском библиотеки обернулся заказ на Али вот такого вот экранчика на 3,2 дюйма по приятной тогда цене 500р. https://ru.aliexpress.com/item/3-2-TFT-LCD-Touch-Screen-Expansion-Shield-W-Touch-Pen-For-Arduino/32795070895.html?spm=a2g0s.9042311.0.0.274233edpv2C2S. Товар существует на момент написания. Много я ругался с продавцом, ссылка на библиотеку есть, но она была не доступна на тот момент или её поправили после моих претензий, за давностью событий не помню, по дате файлов- как раз в это время. Результатом копания стал вывод о том, что экран мертв, т.к. осциллографом поймал выбросы на выходе из двух 74HC245D преобразователей уровня аж в 4,5 В. К делу, по ссылке https://www.winddeal.net/image2/tools/ на странице заказа можно скачать библиотеку с которой все отлично работает, проверено сегодня, качать 1A0847.rar. В процессе долгой " любви" в течении года стала найденная страничка https://laborjag.com/venta/arduino/3-2-tft-lcd-display-module-touch-screen-shield-onboard-temperature-sensor/ с другой версией "драйверпака", тоже рабочая, добавлена поддержка и моего и еще каких-то модулей. Странность в том, что хоть на модуле и написано HX8352B, но в файле MCUFRIEND_kbv.cpp от китайца нет строки #define SUPPORT_8352B и тем не менее работает. От этих библиотек в сериал порт выдает не верное разрешение: "TFT LCD test Using OPENSMART 3.2" TFT Breakout Board Pinout TFT size is 240x320 Serial took 0ms to start ID = 0x65" , путем замеров линейкой активной области и подсчёта выходит 240х400, что верно указано на https://laborjag.com Испытано на Ардуине 1.6.11, Arduino UNO R3, китайская, как переназначить ( и надо ли?) выводы для Arduino Mega2560 не выяснял, но в начале примеров поддержка указана. Работает резистивный экран, скорость отрисовки никакая, естественно, и датчик температуры. При загрузке примера Touch_shield_kbv пишет "неизвестный экран"- такая вот шутка, тыкайте по 4-м углам по-очереди и по центру, это калибровка. На ощупь тёплый за час работы. Гамма отвратительная, с уклоном в сторону синего, возможно такая подсветка. Картинки не привожу, их достаточно по ссылкам, а вот библиотеки в виде архивов закину. 1A0847.rar OPEN-SMART TFT LCD Shield 3.2inch Update HX8352B.rar
  13. Segger studio, пишут что вполне съедобная и была бесплатная. http://www.softpedia.com/get/Programming/Coding-languages-Compilers/SEGGER-Embedded-Studio.shtml - описание, скачать - https://www.segger.com/downloads/embedded-studio/
  14. http://www.2150692.ru/faq/46-sim800l-arduino хорошо расписано, как раз Ваш случай есть, дублировать нет смысла+ sim800_series_at_command_manual_v1.01.pdf
  15. Купил на Алиекспресс цветной экран с резистивным тачем и, дав положительный отзыв благополучно отложил до лучших времен. Но времена наступили совсем не веселые. Сбило с толку что надпись www.mcufriend.com, но на сайте и в инете не нашел библиотеки для такого экрана, и вообще такой диагонали не было и и судя по количеству пинов предназначен для работы с Mega 2560 в режиме шины данных 16/18 бит. Было перебрано множество библиотек и скетчей под размеры 240х320, 3/4 отбракованы сразу, по строке инициализации понятно что режим 8 бит или последовательный. Усугубляло ситуацию незнание контроллера. Посетила мысль переложить проблему на продавца Shop912692 Store со странички заказа https://ru.aliexpress.com/item/Free-shipping-LCD-module-TFT-2-6-inch-TFT-LCD-screen-for-Arduino-UNO-R3-Board/32716249866.html . Продавец прислал мне библиотеку с примером которой белый экран сменился на зеркальный: Понятно что дело в кривой инициализации, пришлось кое-как разбираться. С грехом пополам запустил в нормальном режиме вот с этой некрасиво оформленной, но рабочей UTFT_for_ST7781.rar библиотекой. Файл memorysaver.h настроен для экономии памяти меги почти правильно, в примере приведена инициализация как у контроллера ili9325d (UTFT myGLCD(TFT01_24_16,38,39,40,41)), но в файле по пути tft_drivers/ili9325d/default/initlcd.h на самом деле прописана информация из tft_drivers/st7781/default/initlcd.h. Не доделал немного китаец. Естественно, ili9325d уже работать не будет. Кто хочет- причешет библиотеку для нормальной работы всех моделей tft lcd, скачайте оригинальную версию и сравнивайте UTFT.cpp, UTFT.h, содержимое других папок библиотеки, даташит на st7781 есть в сети, проверена работа на arduino-1.6.6. версии non administrator, т.е. версия без установки. Удачи!
×
×
  • Create New...