Перейти к содержанию
    

Да я знаю. Там, вроде, контроллер STM8L152C6T6. У него есть встроенный драйвер ЖКИ. Это немного не то, если я все правильно понял.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

50 минут назад, Pjatruha сказал:

У него есть встроенный драйвер ЖКИ.

Этот драйвер внутри STM8 как раз и формирует динамическую индикацию.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

31 минуту назад, HardEgor сказал:

Этот драйвер внутри STM8 как раз и формирует динамическую индикацию.

Совершенно верно. Но у меня другая МС. В ней нет Этого драйвера.

STM8S003F3

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 hours ago, Pjatruha said:

Запитал МК от блока питания и подключился осциллографом к контактам идущим на ЖКИ. Предположения подтвердились - там действительно мультиплекс.

Задача по написанию кода сильно усложнилась...  Ни у кого нет примера написания подобной программы для STM8S? В интернетах нашел только для AVR

1. Программатор уже подключен?  

Попробовать прочитать исходную прошику. Она скорее всего закрыта, но вдруг 🙂

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

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

2. Если прошивка все же закрыта, и все еще есть желание писать свою программу, то:

- подключить осциллограф в точку D7...D10, индикатор временно снять ( что бы не повредить),

- переключать PC3...PC6 вход / выход, Подавать 0/1 на выход,  подключать / отключать PullUp, и т.д. - использовать все комбинации, 

- смотреть что покажет осциллограф /  лучше мультиметр,

- составить таблицу напряжений / состояний выводов - 16 измерений * 4 вывода.

- посмотреть, например здесь:

System Monitor 4-MUX LCD Driver ,

Direct LCD drive by AVR GPIO , 

MPC56xxB LCD segment driver Driving LCD displays with standard GPIO 

    ....что должно получится, делать аналогично.

- сделать тестовую прошивку "включить один сегмент, остальные выключить", составить таблицу "включения сегментов",

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

- подключить индикатор, убедиться что сегмент включен,

- переписать прошивку в "показать на экран цифры".

- когда экран работает - написать прошивку "термометр", 

- Включить симмистор, написать прошивку "паяльник".

... Профит. 🙂

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

izerg, большое спасибо за ссылки. То что я собирал по крупицам тут все в одном месте. 👍

Желание писать прошивку есть.

Уже в пути ко мне отладочная плата и программатор. Для дисплея тоже развел отдельную плату, чтобы было удобнее с ним работать в процессе отладки. Надежды на то, что прошивка в паяльнике будет незалочена мало.

Самое сложное, наверное, это будет заставить работать ЖКИ.  В целом, есть прошивка для подобного паяльника с исходникам в открытом доступе. Думаю ее взять за основу, переделав под свой паяльник.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Изучил схему паяльника еще раз и нашел ошибку.

Вот обновленная схема.

509852379_Schematic__2023-08-20.thumb.png.1c549e37a787c812e50e086b1cffec14.png

Пока мне не понятно только подтяжка 8 вывода SMt8S к плюсу через сопротивление 1МОм. Это для чего так сделано?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну вот, исправленная схема уже более правильная в части делителя напряжений для ЖКИ. Теперь там возможно получить следующие напряжения (при VDD микроконтроллера = 5 В):

  • 0 В, когда пин настроен на выход и находится в лог.0
  • +5 В, когда пин настроен на выход и находится в лог.1
  • +2,5 В, когда пин настроен на вход с выключенным пулл-апом
  • около +4,5 В, когда пин настроен на вход с включенным пулл-апом. (сопротивление пулл-ап резистора - около 55 кОм номинально).
    Pull-down резистора в STM8 нет.

На противоположных электродах возможно сформировать только +5 и 0. Сегменты ЖКИ будут включаться, если напряжение между электродом и подложкой превысит примерно 3 В. Итого, перебирая указанные комбинации, можно построить управление индикатором.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Напряжение питания МК 3.3 вольта. Если использовать внутренний резистор подтяжки к плюсу, то на выходе делителя получается 2.95 вольта. На мой взгляд это совсем пограничное состояние и есть риск засветки сегментов индикатора. Поэтому, я думаю, что внутренний резистор не используется. Хотя тогда одного уровня напряжения будет не хватать(вроде количество уровней напряжения должно соответствовать количеству общих линий ЖКИ).  А вы как считаете? Конечно же это можно посмотреть осциллографом, что там по факту, но это довольно сложно - не хватает свободных рук. 🙂

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 hours ago, Pjatruha said:

Самое сложное, наверное, это будет заставить работать ЖКИ. 

Нет. Это будет самое простое. Теорию я показал,  "как что называется" - там описано, ссылки на исходные документы и прошивки там есть,  дальше самостоятельно разобраться будет проще.

Чтоб не сжечь программатор и компутер - отключить по схеме все, что касается сети 220.

- плату запитать от стабильного источника + 5V ( да хоть от PowerBank или  самого программатора, иногда они такое позволяют).

 

"Запустить LCD" - посидеть пару часов вдумчиво с калькулятором, заполнить несколько табличек 0/1 - и потом это все накодировать. 

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

Сложное будет - сделать нормально термометр нагревателя.

- понять а как вообще тут температураа меряется, и почему оно работает,

- написать измерения АЦП. Убедиться что они "более - менее" корректные (подать снаружи заранее известные сигналы),

- дописать математику термометра, и проверить показания - измерив температуру датчиком снаружи.

... 

Дальще будет будет проще, 

- регулятор мощности нагревателя, хоть 0-100%, хоть в "попугаях",

- дописать математику стабилизаци температуры любым способом ( их много на выбор).

 

6 hours ago, Pjatruha said:

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

... у меня нет желания перечитывать 30 страниц "переделываем китайский паяльник" 🙂

Из того что уже вижу - прошивка открытая, но ее не нужно брать за основу

- схема там совсем другая,

- индикатор - светодиодный? - значит эта часть не подходит.

- управление нагревателем - ШИМ, транзистор? - эта часть тоже неподходит - совсем.

- измерение температуры - другая схема. - не подходит.

... что оставется?  кнопочки / циферки? ... после того как заработает LCD индикатор - написать самостоятельно - не будет вопросв.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

izerg,  вы разбили мой план в пух и прах. 🙂 Ну что ж, буду придерживаться ваших советов.

На сколько я понял по схеме моего паяльника, температура измеряется(точнее сказать напряжение на R13) в момент открытия симистора на положительной полу-волне. Вопрос в какой именно момент, пока остается открытым. Думаю, где-то в начале полу-волны.  Наверное это можно было бы узнать, если посмотреть осциллографом сигнал на второй ножки МК после выхода паяльника на заданную температуру. Я подключал вместо нагревателя лампу накаливания. После разогрева спирали она делала вспышку раз в секунду, примерно. Потом спустя какое-то время лампа начинала моргать пачками импульсов. Наверное в тот момент был нагрев. Видимо в момент одиночных импульсов контроллер мерил  напряжение на R13....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 hours ago, Pjatruha said:

izerg,  вы разбили мой план в пух и прах. 🙂 Ну что ж, буду придерживаться ваших советов.

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

П. №1.

10 hours ago, Pjatruha said:

Желание писать прошивку есть.

П. №2

10 hours ago, Pjatruha said:

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

П.3

7 hours ago, Pjatruha said:

Изучил схему паяльника еще раз и нашел ошибку.

... все на месте, план для результата "паяльник с собственной прошивкой" похоже поэтапно работает.

3 hours ago, Pjatruha said:

На сколько я понял по схеме моего паяльника, температура измеряется(точнее сказать напряжение на R13) в момент открытия симистора на положительной полу-волне. Вопрос в какой именно момент, пока остается открытым.

Как меряли изготовители , в исходной прошивке, не известно, догадки строить не нужно. 

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

Разделить схему на типовые узлы и искать описание их работы, так будет понятнее что нужно делать, что бы работало как задумано.

- возможно, отсоединить нагреватель,  измерить график его сопротивления в зависимости от температуры ( охладить / нагреть его ). Будет понятно, каких сопротивлений / напряжений / токов ожидать при измерении. 

В любом случае для калибровки нужен датчик температуры 0...500 С, есть такой? 

Температура измеряется тем элементом схемы , который изменяет свои параметры от температуры? 

Такой элемент должен находится в той точке где происходит нагрев?   R13 - находится на плате?  там ничего до 300-500 С греться не должно, а значит его сопротивление не будет изменятся.  R13 - меряет ток через нагреватель.  Зная напряжение сети и момент перехода через "0" (  R17, R18, R20 ?), зная ток через нагреватель - можно расчитать его сопротивление.  данные должны примерно совпадать с измеренным выше графиком.

Нагреватель примерно 80 Вт.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

izerg

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

EdgeAligned

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

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А в исходной схеме паяльника какой стоял МК? Неужто STM8? да ещё флешевый?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...