Мой ПА №2 |
Здравствуйте, гость ( Вход | Регистрация )
Мой ПА №2 |
11.9.2020, 19:39
Сообщение
#10581
|
|
=VIP= Группа: Пользователи Сообщений: 2224 Регистрация: 20.9.2011 Из: Челябинск Пользователь №: 24348 |
Схема Бармалея работа на 80кгц(драйвер на оптике 3120).транс родной собран очень давно.нех файл правил в понипрог.
|
|
|
|
11.9.2020, 21:14
Сообщение
#10582
|
|
Заглянувший Группа: Пользователи Сообщений: 87 Регистрация: 5.7.2016 Из: UA, Uman Пользователь №: 49568 |
Вы имеете ввиду hex редактор? У мена есть какие-то, попробую. Спасибо за подсказку Много стерто постов, поэтому ориентироваться по сути тяжеловато, но если вопрос в переходе на аглицкий язык, то в меню настроек, последний пункт предлагает на выбор язык: русский или english, |
|
|
14.9.2020, 6:52
Сообщение
#10583
|
|
=VIP= Группа: Пользователи Сообщений: 2224 Регистрация: 20.9.2011 Из: Челябинск Пользователь №: 24348 |
kleverbig мои сообщения до тебя не доходят ?.если да то пиши на почту.
Сообщение отредактировал sergey777.68 - 14.9.2020, 6:53 |
|
|
14.9.2020, 14:28
Сообщение
#10584
|
|
Заглянувший Группа: Пользователи Сообщений: 36 Регистрация: 25.10.2012 Из: Невель Пользователь №: 28865 |
У меня процеcсор WS0010 в дисплее WEH0011602BLPP00001, у которого 4 страницы CGROM. По умолчанию английско-японская .Вот у меня и пункты меню и сообщения с японским знакогенератором. Адреса символов совпадают, а таблица другая нужна. FT(1:0)=00 "English Japanese", FT(1:0)=10 "English Russian" . P.S. добавил задержки и то, что писал раньше, в 2023г. получилось завести OLED.
Сообщение отредактировал Сергей Андреевич - 21.1.2023, 3:13 |
|
|
|
14.9.2020, 15:54
Сообщение
#10585
|
|
=VIP= Группа: Пользователи Сообщений: 8328 Регистрация: 25.6.2010 Из: Глобино UA Пользователь №: 18764 |
и не лень ведь лопатить нех, вместо того, чтобы купить нужный копеечный индикатор, датчик и т.д.
Сообщение отредактировал oleg1ma - 14.9.2020, 15:55 |
|
|
14.9.2020, 16:16
Сообщение
#10586
|
|
Заглянувший Группа: Пользователи Сообщений: 36 Регистрация: 25.10.2012 Из: Невель Пользователь №: 28865 |
Учитывая, что в прошивке есть ошибки и не всё работает, а так-же OLED гораздо ярче знаки, то не лень.
Код конечно так себе, хотя чего было ожидать... На таком можно учиться как НЕ нужно делать: - Это относится по большей части к ограничением среды, но всякие магические числа вроде 0b00111000 не говорят мне ровным счетом ничего. Мне сложно читать такой код - приходится каждый раз сверятся с даташитом и играть в египтолога, пытающегося разобрать надписи с древних скрижалей. - Дублирование кода страшное, вместо того что бы подключить одну библиотечку с задержками разработчик использовал примерно 10 разных макросов, счетчиков, подпрограмм и прочих методов, где то просто вставляя цикл с декрементом счетчика прямо в код какой-то функциональности. Зачем? Опять таки магические значения вроде 133333 - что это такое? Я должен в уме переводить такты контроллера в значения задержек? удобный модуль который реализует задержки независимые от тактовой частоты процессора в человеко-читаемом виде (типо delay_ms(100)) модуль задержки Тимохина Александра. - Арифметика на ассемблере выглядит ужасно, вместо человеко-читаемых формул вроде a = b + c приходится заносить значения в какие то регистры или переменные, дергать подпрограмму, забирать значения обратно и повторять всю эту процедуру столько раз сколько требуется сделать операций. Более того AVR не умеет делить в принципе и для этого приходится писать свои костыли - а это лишний код, который надо поддерживать, и который уже был примерно 100 тысяч раз написан в разных вариациях разработчиками стандартных библиотек всевозможных высокоуровневневых языков. Я уж не говорю что если мы захотим считать в каких нибудь числах с плавающей точкой все эти подпрограммы придется выкинуть в топку и опять лепить что то свое или искать готовое - что опять таки уже давно реализовано из "коробки" в том же си и других языках. - Имеет место глобальное состояние - т.е все переменные программы доступны из любой ее точки (и точно так же модифицируется где и как попало). Разбиение программы на какие то изолированные логические части (работа с дисплеем, настройки, пользовательский ввод, управление состоянием) практически не возможно, так как среда разработки не бьет "по рукам" за неправильный доступ. В итоге вместо кучки модулей с определенными интерфейсами получается "спаггети". Чем больше логики добавляется, тем сложнее разработчику становится следить за происходящим, и программа просто рушится под своим весом... - Идентификаторы написанные транслитерацией в перемешку с английскими словами вызывают мягко говоря тошноту. Тогда уж лучше просто писать кириллицей, или просто писать транслитом, но зачем эти "go_callibrovka", "_save_shablona_", "_set_setter_"(это вообще что такое?), "knopi" (кнопы, что ли?), "zadergka" (это вообще мое "любимое"), ну есть же более емкие слова вроде "wait", "delay", "calibrate", "poll" и тд? но неужели писать "podgotovka" проще чем писать "init"? Дети на ардуино так не пишут . Для меня большой вопрос как можно без отладчика проверить те же подпрограммы деления / умножения. Я уж не говорю про то что в любой программе могут возникать ошибки в процессе выполнения. Записали что то в дисплей, а бит готовности не поднялся - что делать? Такие состояния никак не обрабатываются программистом - вместо этого мы предполагаем что все на месте и все работает. Это очень вредный подход, потому что когда люди приходят программировать более сложную платформу внезапно оказывается что количество ошибочных состоянии растет в разы, и их все нужно обрабатывать, показывать самому разработчику и потенциально пользователю программы. Еще одна сомнительная особенность - использование 32х битных чисел. В случае с инкрементом даже выгрузка 32х битной переменной из памяти займет 4 цикла и 4 свободных регистра, а потом еще 4 команды сложения с переносом, + обратно в память.... я уж не говорю про то что будет если в этот момент выскочит прерывание и затрет один из этих регистров, похерив весь результат. Сообщение отредактировал Сергей Андреевич - 21.1.2023, 2:50 |
|
|
15.9.2020, 11:33
Сообщение
#10587
|
|
Заглянувший Группа: Пользователи Сообщений: 87 Регистрация: 5.7.2016 Из: UA, Uman Пользователь №: 49568 |
и не лень ведь лопатить нех, вместо того, чтобы купить нужный копеечный индикатор, датчик и т.д. Как мне нравятся поучалки! Так вот, купил в Харькове еще пяток штук LM35. Точно такие как с Китая, нет выхода. Уже подавал питание исключительно по ДАТЕ, одна наводка прет без нагрузки, ну нету миливольт и все. А МСР - так они работают правильно, но программа от -50 до 0 град. индицирует температуру так как надо, а выше делит результат пополам. Вот и приходится "лопатить хекс ". |
|
|
|
15.9.2020, 12:52
Сообщение
#10588
|
|
=VIP= Группа: Пользователи Сообщений: 8328 Регистрация: 25.6.2010 Из: Глобино UA Пользователь №: 18764 |
Значит вы что то нахомутали, у всех показывает правильно и только у вас нет
|
|
|
15.9.2020, 14:41
Сообщение
#10589
|
|
Заглянувший Группа: Пользователи Сообщений: 87 Регистрация: 5.7.2016 Из: UA, Uman Пользователь №: 49568 |
А что можно нахомутать, отрицательный диапазон нормально, положительный - враки. Обвязка тут ни при чем. Значит косяк в программе. Тем более, что уже говорил: датчик выдает на контроллер миливольты по температуре согласно даташиту. И Скиф молчит. Народ, у кого аппарат нормально показывает температуру на датчике МСР и прошивке 24.7. Развейте мое утверждение.
А еще проще проверить правильность работы управы по температуре Вам, Олег. Вы их клепаете пачками, поэтому задел управ я уверен есть. Подключите вместо датчика резистор 6,8 кОм с питания 5 В на вых. датчика (средний контакт разъёма). Получится делитель 6к8 и 1 кОм (в схеме). Этот делитель выдаст 5/(6,8+1)х1 = 0,64 В управа должна выдать при установке в настройках LM35 - 64 град (или около), при МСР 0,64-0,5 =0,14 - 14 град. Сравните полученные результаты с изложенными. Если Вы образуете делитель с выходом меньше 500 мВ управа при МСР покажет отрицательную температуру, причем правильную. Сообщение отредактировал tatko - 15.9.2020, 15:21 |
|
|
15.9.2020, 17:04
Сообщение
#10590
|
|
=VIP= Группа: Пользователи Сообщений: 8328 Регистрация: 25.6.2010 Из: Глобино UA Пользователь №: 18764 |
на датчике МСР не делал никогда, делаю только на lm35dz. работает всегда на моих управах отлично и температуру показывает правильно видео тут
Сообщение отредактировал oleg1ma - 15.9.2020, 17:28 |
|
|
|
15.9.2020, 17:58
Сообщение
#10591
|
|
Заглянувший Группа: Пользователи Сообщений: 87 Регистрация: 5.7.2016 Из: UA, Uman Пользователь №: 49568 |
Понятно, отписка.
|
|
|
15.9.2020, 21:50
Сообщение
#10592
|
|
=VIP= Группа: Пользователи Сообщений: 1754 Регистрация: 16.1.2013 Из: Ставрополь Пользователь №: 30158 |
|
|
|
18.9.2020, 9:46
Сообщение
#10593
|
|
Заглянувший Группа: Пользователи Сообщений: 36 Регистрация: 25.10.2012 Из: Невель Пользователь №: 28865 |
Сделал отжимку с разных источников по WS0010:
Для полноценной работы дисплея нужно внести в код следующие дополнения: 1. Так как русско-английская таблица в WS0010 имеет номер 2,то для переключения на нее нужно два младших бита FT1 и FT0 в команде FUNCTION SET установить в состояние 10 (0x02). (В ЖК-дисплеях с одной кодовой таблицей эти биты, кстати, никак не используются). Для этого в файле LiquidCrystalRus_OLED.cpp разыщите место (строка 96 файла), где устанавливается значение переменной _displayfunction. В обоих строках ее инициализации (строки 97 и 99) добавьте довесок «|= 0x02». 2. Далее нужно исправить задержку инициализации после включения питания. Для HD44780 она должна быть не более 40 мс (см. документацию по ссылкам выше). В библиотеке для этого используется функция delayMicroseconds(50000) (строка 120 файла LiquidCrystalRus_OLED.cpp). Для контроллера WS0010 нужно иметь задержку в десять раз больше — не менее 500 мс (см. последнюю страницу даташита по указанной выше ссылке). Требование это так тщательно спрятано (файлы с англоязычной документацией по дисплеям Winstar «потеряли шрифт» в как раз в этой части), что о нем, кажется, до сих пор мало кто задумывался. Поэтому мы заменяем эту строку на 32 повтора задержек по 16 мс каждая: for (int i = 0; i <=31; i++) delayMicroseconds(16000); 3. Кроме этого (см. также эту последнюю страницу даташита) после этой задержки при четырехпроводном включении нужно пять раз подряд подать пустую команду (0х00). Так как Arduino существенно быстрее контроллера дисплея, команды следует подавать с промежуточной задержкой. Их необходимо вставить чуть дальше по тексту функции begin, там, где идет речь именно о 4-битном включении (строка 147 файла LiquidCrystalRus_OLED.cpp). 4. В оригинальной таблице ENGLISH_RUSSIAN имеется значок градуса (код 0xEF). Вариант крайне неудачно выполнен графически (слишком велик), потому вместо него я предпочитаю использовать жирную верхнюю точку (код 0xDF) — она куда больше напоминает градус в привычном начертании. Ее можно было бы вводить в виде кода (лучше восьмеричного «\337»), но вот беда — стремясь упростить функцию замены кодов русских букв на коды в таблице знакогенератора, автор библиотеки, исходя из кодировки UTF-8 (см. предыдущую статью), ввел условие замены любого кода, большего 0x80 (функция LiquidCrystalRus::write). Так как наше 0xDF явно больше 0x80, то при указании в строке кода символа «\337» вместо него выведется пустое место, ибо никакой русской букве он не соответствует. К сожалению, штатная функция createChar() при попытке с ее помощью создать собственный значок градуса у меня вводила дисплей в полный ступор, из которого вывести его можно было только перезагрузкой программы. С чем надо разбираться дополнительно и буду благодарен, если кто-нибудь укажет мне, в чем тут дело. Так что знакогенератор править не в наших возможностях, но мы можем исключить нужный нам символ 0xDF из условия. Для этого нужно заменить имеющееся (см. текст функции write) условие на следующее: if ((value>=0x80)&&(value!=0xdf)) А зачем там реле на питание? Самый главный недостаток WS0010 — отсутствие аппаратного «резета». В HD44780 встроенный резет, Перезагрузка контроллера без отключения питания приводит к тому, что на дисплее появляется всякая муть, и избавиться от нее можно только передергиванием питания всей схемы и инициализацией дисплея «с нуля». Кроме того, дисплей при выключении/включении питания может путать строки местами. Народ уверяет, что помогает полноценное 8-битовое включение (вместо 4-битового), но у меня оно работало еще хуже. Упорно твердят также, что в гипотетических «новых партиях» это все уже исправлено, но верится с трудом (о каких таких «новых» партиях идет речь, когда OLED-дисплеи Winstar выпускает с 2008 года, а у меня были дисплеи 13 и 14 годов выпуска?). Реле и поставлено для искусственной перезагрузки дисплея при перезагрузке Arduino без выключения питания. Это надежно избавляет от мусора на экране. Включение питания дисплея (или дисплеев) производится отдельно через это реле, включающееся от свободного вывода Arduino (в данном случае вывода 4) в начале процедуры setup, когда контроллер уже работает устойчиво. Причем перед включением реле неплохо еще дать дополнительную задержку 1000 мс (см. скетч далее). Указанное реле EDR202A05 герконовое, ток обмотки 10 мА, потому спокойно управляется от вывода Arduino. Что же касается путаницы между строками при включении, то, кроме указанных выше изменений в процедуре инициализации, от этого эффекта отлично избавляет питание всей схемы от достаточно мощного (не менее 1-2 А) внешнего источника со стабильным напряжением под нагрузкой не менее 7,5 вольт. Эта зависимость от питания и служит, очевидно, источником разночтений во многих публикациях, где многие авторы уверяют, что у них все отлично работает. Дисплей (или дисплеи) при этом могут подключаться через внутренний стабилизатор Arduino (вывод 5V платы), а могут и через отдельный стабилизатор, но главное, чтобы входное напряжение стабилизатора было достаточно стабильным независимо от бросков потребления в момент включения. При использовании в режиме 4-х битной шины данных ИСПОЛЬЗОВАТЬ пин RD/WR и работать по готовности. Иначе можно нарваться на ситуацию, когда контроллер не готов к приему данных и длинные последовательности нулевых нибблов ()воспринимает как команду «сброс». При использовании 4-х битного режима и честных проверках готовности НИКАКИХ косяков НЕТ. Сообщение отредактировал Сергей Андреевич - 21.1.2023, 3:18 |
|
|
21.9.2020, 11:19
Сообщение
#10594
|
|
Заглянувший Группа: Пользователи Сообщений: 36 Регистрация: 25.10.2012 Из: Невель Пользователь №: 28865 |
ФЛАГ ЗАНЯТОСТИ BF
Флаг занят используется для определения того, находится ли дисплей в режиме ожидания или работает внутри системы. Для некоторых внутренних операций флаг занятости устанавливается равным "1". При этом условии никакая другая инструкция не будет принята. Если вывод RS установлен в положение "0", а вывод R/WB - в положение "1", то появится флаг занятости. выводится на вывод DB7. Когда микросхема находится в режиме ожидания или завершила свою предыдущую внутреннюю операцию, флаг занятости устанавливается на "0". Следующая инструкция теперь может быть обработана или выполнена. Сообщение отредактировал Сергей Андреевич - 21.1.2023, 2:29 |
|
|
2.10.2020, 9:08
Сообщение
#10595
|
|
Заглянувший Группа: Пользователи Сообщений: 87 Регистрация: 5.7.2016 Из: UA, Uman Пользователь №: 49568 |
Решил не переделывать инвертор Юрия (очень понравилась его работа, спасибо разработчикам) в ПА2 Электровоза, а изготовить полуавтомат с нуля на силовой инвертора. Изготовил парочку силовых трансформаторов. Результат удовлетворил. Соотношение витков - 15:5. На покупном каркасе (пластик) - сечение первички - 5,3 мм кв, вторички - 15,9, (использовался провод диаметром 1,06 мм по меди ); на каркасе самодельном (стеклотекстолит), 6,6 мм кв и 18,00 мм кв. соответственно (провода по меди 1,06 мм и 1,18 мм). Намотка производилась лентами из проводов (не склеенными): первичка в два провода слой, вторичка - в шесть проводов. намотка по схеме I,I,II,II,I,II. . Каждый слой намотки пропитывался эпоксидной смолой плюс слой липкой ленты ЛСКЛ-0,12. Сопротивление изоляции при испытательном напряжении 2500 В - больше 1 ГОм. Индуктивности трансформаторов на фото и они одинаковые в обоих СТ.
|
|
|
2.10.2020, 9:57
Сообщение
#10596
|
|
Активный участник Группа: Пользователи Сообщений: 374 Регистрация: 15.7.2013 Из: Беларусь, Минск Пользователь №: 34349 |
Чисто для ПА можно виток вторички скинуть.
-------------------- Гору нельзя покорить, она может позволить на неё взойти...
|
|
|
4.10.2020, 18:13
Сообщение
#10597
|
|
Заглянувший Группа: Пользователи Сообщений: 87 Регистрация: 5.7.2016 Из: UA, Uman Пользователь №: 49568 |
Ну так покажи свою "конфетку" со своими методами намотки, если не нравятся параметры СТ, которые показал "меритель". Не трудно заметить, что окно СТ не заполнено. Планировал намотать I,I,II,II,I,I,II,II. Но в последний момент решил остановиться на 180 амперах. Такой ответ устроит?
|
|
|
5.10.2020, 8:12
Сообщение
#10598
|
|
Заглянувший Группа: Пользователи Сообщений: 87 Регистрация: 5.7.2016 Из: UA, Uman Пользователь №: 49568 |
такой подход.... ...В особенности красный цвет Ну вот и разобрались. Метод намотки вписАлся в перечень рекомендованных, но вот незадача - подход к изготовлению СТ подкачал. И цвет не тот. vit336, может расскажешь, на какие параметры СТ оказывает влияние подход к его изготовлению. По цвету, так кажись "на вкус и цвет...." И, неплохо было бы показать параметры СТ с "правильными методами намотки и подходом к изготовлению", лучшими чем привел я. Впрочем, а нужны ли они лучше? Ну и последнее: "коверкание" родного языка вистов не добавляет, а только усиливает негативное восприятие. Но здесь я могу ошибаться. На этом полемику прекращаю. Удачи. |
|
|
5.10.2020, 9:05
Сообщение
#10599
|
|
=VIP= Группа: Пользователи Сообщений: 1466 Регистрация: 19.12.2012 Из: Москва Пользователь №: 29776 |
Ну вот и разобрались. он тебе объяснил, что цифры на приборе уже оценить не может. Не может восхвалить Создателя за точные микроГенри, которые силовой части, собсна, побоку. Красиво конечно, но и в любом другом случае работать будет. Причем ровно так же. -------------------- Слепой охотник стреляет наугад! (с) ГрОб
|
|
|
6.10.2020, 19:08
Сообщение
#10600
|
||
=VIP= Группа: Пользователи Сообщений: 2393 Регистрация: 3.4.2007 Из: Харьков, пески Пользователь №: 8469 |
м перемещаемого воздуха - заменит несколько обычных кулеров.Возможность установки 2-х режимов Мотор самоохлаждающийся и самоочищающийся, т.к. вращается вместе с лопастями, что обеспечивает отведение тепла и пыли от двигателя посредством центробежных сил. боец, вам 10 лет назад нарисовали схему где глаза Сергей Андреевич Сообщение отредактировал golub - 6.10.2020, 19:10 -------------------- Дак мне деньги как таковые сами по себе не нада. Я добропорядочный гражданин...
|
|
|
||
Текстовая версия | Сейчас: 24.1.2025, 1:38 |
|