#26 2025-06-09 10:47:49

jokeer
Гість

Re: DigiSpark Attiny85 проблема з логічною 1 на виході.

так, я б викинув analogread, для кнопки це лишнє. side effect дивний кнчн.

#27 2025-06-09 13:54:56

jokeR
Учасник
Зареєстрований: 2024-12-12
Повідомлень: 107

Re: DigiSpark Attiny85 проблема з логічною 1 на виході.

ну я навіть вийняв з коробки плату з Tiny85 і прошив вашу програму. Нічого такого з рівнем 1.2в не спостерігаю. На виході P1 - чіткий 0. На P2 - кілька імпульсів із звичайними рівнями. Правда, у вас там входи без підтяжок, хтозна що вони ловлять з світового ефіру..

Неактивний

#28 2025-06-09 19:21:19

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 456

Re: DigiSpark Attiny85 проблема з логічною 1 на виході.

@stas_amp, доречі, який board package використовуєте для своєї плати? Який URL у package index json?

Активний

#29 Вчора 00:38:32

stas_amp
Учасник
Зареєстрований: 2025-06-02
Повідомлень: 27

Re: DigiSpark Attiny85 проблема з логічною 1 на виході.

jokeR пише:

ну я навіть вийняв з коробки плату з Tiny85 і прошив вашу програму. Нічого такого з рівнем 1.2в не спостерігаю. На виході P1 - чіткий 0. На P2 - кілька імпульсів із звичайними рівнями. Правда, у вас там входи без підтяжок, хтозна що вони ловлять з світового ефіру..

Підтяжки всі є, через 5.1к

Буває, що пара, або до десяти імпульсів проходить нормально, а потім починаються проблеми.

Якщо є генератор, навісьте не вхід VSS, і подивіться на вихід PB1.

Сьогодні грався цілий вечір. Маю там на виході 5.2кГц та 23 відсотки ШІМ
Змінив виходи на PB2 та РВ4. Ситуація без змін.

Неактивний

#30 Вчора 00:41:01

stas_amp
Учасник
Зареєстрований: 2025-06-02
Повідомлень: 27

Re: DigiSpark Attiny85 проблема з логічною 1 на виході.

dimich пише:

@stas_amp, доречі, який board package використовуєте для своєї плати? Який URL у package index json?

Не зовсім зрозумів питання.

Де можна подивитися те, що Ви запитуєте?

Стосовно системи та програми, то він 10/64, версія ардуіно - остання з сайту. Бібліотеки і все що потрібно для роботи - встановлено 5 днів тому.

Неактивний

#31 Вчора 05:16:56

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 456

Re: DigiSpark Attiny85 проблема з логічною 1 на виході.

stas_amp пише:

Не зовсім зрозумів питання.

Ще одне припущення щодо дивної поведінки - що ви збираєте прошивку під якусь іншу плату чи контролер, і воно якимось чином успішно прошивається.

Наприклад, щоб зібрати ваш скетч в platform.io, я обираю плату "digispark-tiny", при збірці воно підтягує пакунок framework-arduino-avr-digistump і компілює з опціями, поміж інших, "-mmcu=attiny85 -DARDUINO_AVR_DIGISPARK -DF_CPU=16500000L".
З якими опціями компілюється прошивка у вас?

stas_amp пише:

версія ардуіно - остання з сайту.

На сайті дві активні версії IDE: Arduino IDE 2.3.6 та Arduino PLC IDE 1.0.8. Як вгадати, яку з них ви поставили?

В репозиторії мого дистрибутиву Arduino IDE версії 2.3.6. Воно знає тільки ардуінівські плати, про DigiSpark нічого не знає.
Віндова збірка "з сайту" підтримує плати DigiSpark "з коробки"? Чи ви додавали board package вручну?
Я пробував додавати https://github.com/ArminJo/DigistumpArduino/blob/master/package_digistump_index.json (який ставиться для platform.io), також http://drazzy.com/package_drazzy.com_index.json. Але IDE все одно не бачить плат DigiSpark. Схоже, це якийсь відомий баг IDE.
Тому й питаю, який пакунок плат ви ставили, щоб зібрати скетч під DigiSpark Attiny85?

Де можна подивитися те, що Ви запитуєте?

File -> Preferences -> Settings -> Additional boards manager URLs. Також, яка плата обрана в Tools -> Board (не тільки назва, а повний шлях в тому меню), Tools -> Processor та інші пункти з опціями збірки.

Також не завадило би в File -> Preferences -> Settings увімкнути "Show verbose output during: compile", зібрати скетч "з нуля" і показати лог збірки.

Активний

#32 Вчора 10:26:37

stas_amp
Учасник
Зареєстрований: 2025-06-02
Повідомлень: 27

Re: DigiSpark Attiny85 проблема з логічною 1 на виході.

dimich пише:
stas_amp пише:

Не зовсім зрозумів питання.

Ще одне припущення щодо дивної поведінки - що ви збираєте прошивку під якусь іншу плату чи контролер, і воно якимось чином успішно прошивається.

Наприклад, щоб зібрати ваш скетч в platform.io, я обираю плату "digispark-tiny", при збірці воно підтягує пакунок framework-arduino-avr-digistump і компілює з опціями, поміж інших, "-mmcu=attiny85 -DARDUINO_AVR_DIGISPARK -DF_CPU=16500000L".
З якими опціями компілюється прошивка у вас?

stas_amp пише:

версія ардуіно - остання з сайту.

На сайті дві активні версії IDE: Arduino IDE 2.3.6 та Arduino PLC IDE 1.0.8. Як вгадати, яку з них ви поставили?

В репозиторії мого дистрибутиву Arduino IDE версії 2.3.6. Воно знає тільки ардуінівські плати, про DigiSpark нічого не знає.
Віндова збірка "з сайту" підтримує плати DigiSpark "з коробки"? Чи ви додавали board package вручну?
Я пробував додавати https://github.com/ArminJo/DigistumpArduino/blob/master/package_digistump_index.json (який ставиться для platform.io), також http://drazzy.com/package_drazzy.com_index.json. Але IDE все одно не бачить плат DigiSpark. Схоже, це якийсь відомий баг IDE.
Тому й питаю, який пакунок плат ви ставили, щоб зібрати скетч під DigiSpark Attiny85?

Де можна подивитися те, що Ви запитуєте?

File -> Preferences -> Settings -> Additional boards manager URLs. Також, яка плата обрана в Tools -> Board (не тільки назва, а повний шлях в тому меню), Tools -> Processor та інші пункти з опціями збірки.

Також не завадило би в File -> Preferences -> Settings увімкнути "Show verbose output during: compile", зібрати скетч "з нуля" і показати лог збірки.

Версія точно 2.3.6
Щось вручну доставляв

Ввечері гляну все, що Ви вказали.

Дякую за грунтовну відповідь.

Неактивний

#33 Вчора 18:07:14

stas_amp
Учасник
Зареєстрований: 2025-06-02
Повідомлень: 27

Re: DigiSpark Attiny85 проблема з логічною 1 на виході.

File -> Preferences -> Settings -> Additional boards manager URLs.  -  тут маю це

https://raw.githubusercontent.com/digistump/arduino-boards-index/master/package_digistump_index.json

не можу прикріпити картинку

Неактивний

#34 Вчора 19:29:37

jokeR
Учасник
Зареєстрований: 2024-12-12
Повідомлень: 107

Re: DigiSpark Attiny85 проблема з логічною 1 на виході.

2025-06-10_19-06.png

Таке?
Ну, залив ваш код, тільки замість

const int LEDMode = 2; // LED индикации режима работы смазчика, 1 = TRUE;

зробив

const int LEDMode = LED_BUILTIN;

Щоб було видно без осцилографа.

І що ми бачимо на нозі P1?

photo_2025-06-10_19-24-38.jpg

3.3V, з викидами до 4.5В (чи 4.5В, з провалами на 1.2В). Цікаво wink Провалів по живленню немає.


Хм. Зробив так (нумерація цифрових і аналогових портів в цій платі якась незвичайна, але 3 - удачна цифра wink Повинно бути еквівалентно по логіці роботи.

  if (/* analogRead(btnMode) < 512 */ digitalRead(btnMode) == 0) { // Нажата кн.Режим смазки

Бачимо таке:

photo_2025-06-10_19-42-44.jpg

Що я можу сказати? З виводом у порт D1 у вас щось накручено, digitalwrite викликається раз 10.. Але дивний спецефект з 1 картинки це не пояснює.

Це цікавіше. Підтягнув входи, щоб не теліпались.

  pinMode(inVSS, INPUT_PULLUP);
  pinMode(btnMode, INPUT_PULLUP);

Побачив ваші імпульси в 1 В
photo_2025-06-10_20-01-01.jpg

Остання редакція jokeR (Вчора 20:02:14)

Неактивний

#35 Вчора 19:58:12

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 456

Re: DigiSpark Attiny85 проблема з логічною 1 на виході.

stas_amp пише:

https://raw.githubusercontent.com/digistump/arduino-boards-index/master/package_digistump_index.json

Як мінімум для плат "Digispark (Default - 16.5mhz)" та "Digispark (16mhz - No USB)" опції компіляції наче правильні.
tiny core 1.6.7 (що в Arduino IDE) старіший за dtiny 1.7.2 (що дефолтовий в platform.io). Але суттєвих відмінностей, які могли би впливати, поки не бачу.
В dtiny 1.7.2 є деякі виправлення, повʼязані з калібровкою тактового генератора. Але не схоже, що це може бути якось повʼязано з вашою проблемою.

Якщо у вас вибрано "Digispark (Default - 16.5mhz)", для експерименту спробуйте "Digispark (16mhz - No USB)". USB ж у вас в програмі ніяк не використовується.

Нажаль, не знайшов у себе attiny85 чи 45, щоб перевірити безпосередньо на залізі. Наче колись купляв, десь були, а нема  hmm

stas_amp пише:

не можу прикріпити картинку

Під полем редагування є "Завантаження". Заходите туди, завантажуєте картинку. Клікаєте на неї, копіюєте її адресу, вставляєте в тег [img]<адреса тут>[/img].

Ще б здогадатись, звідки крім 1.2 вольта ще ті 5.2 кГц.

Не дуже розумію, чому стан кнопки зчитується як аналоговий сигнал. Там звичайна механічна кнопка, чи якась особлива? Спробуйте для експерименту

if (analogRead(btnMode) < 512) {

замінити на

if (digitalRead(btnMode) == LOW) {

Активний

#36 Вчора 20:22:07

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 456

Re: DigiSpark Attiny85 проблема з логічною 1 на виході.

jokeR пише:

https://forum.arduino.ua/img/members/3983/2025-06-10_19-06.png

А у вас що за board package? smile

Активний

#37 Вчора 20:42:10

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 456

Re: DigiSpark Attiny85 проблема з логічною 1 на виході.

Також підозріле місце: digistump-avr/cores/tiny/core_build_options.h:138
Micronucleus bootloader там часом не залишає таймери в якомусь PWM-режимі? (UPD: Та не схоже)

Остання редакція dimich (Вчора 20:52:30)

Активний

#38 Вчора 21:20:04

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 456

Re: DigiSpark Attiny85 проблема з логічною 1 на виході.

Хм, як воно взагалі компілиться, якщо в packages/digistump/hardware/avr/1.6.7/libraries/ нема EEPROM. Ви її доставляли вручну, чи у вас вона є в самому package, а це у мене чомусь нема?

Активний

#39 Вчора 21:26:57

jokeer
Гість

Re: DigiSpark Attiny85 проблема з логічною 1 на виході.

Та наче те що рекомендував автор wink Надписи з меню є в тому json. Але я вже грався в цю плату, і її підтримка є в attinycore. Так що складно сказати, в що і як воно білдиться. Можу лог показати wink  Але сайд ефекти дуже дивні.

#40 Вчора 21:29:30

stas_amp
Учасник
Зареєстрований: 2025-06-02
Повідомлень: 27

Re: DigiSpark Attiny85 проблема з логічною 1 на виході.

dimich пише:

Хм, як воно взагалі компілиться, якщо в packages/digistump/hardware/avr/1.6.7/libraries/ нема EEPROM. Ви її доставляли вручну, чи у вас вона є в самому package, а це у мене чомусь нема?

Бібліотеку еепром доставляв в ручну.

Неактивний

#41 Вчора 21:41:50

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 456

Re: DigiSpark Attiny85 проблема з логічною 1 на виході.

jokeer пише:

Можу лог показати wink

Будь ласка, якщо не складно. У мене один раз скомпілилось. Потім перезапускав IDE - перестало, каже, нема EEPROM.h. І дійсно, в packages/digistump такого нема. Крім дефолтної arduino та цієї digistump (з https://raw.githubusercontent.com/digistump/arduino-boards-index/master/package_digistump_index.json) ніяких інших пакунків не ставив. Якась китайська чудасія з цим IDE.

jokeer пише:

Але сайд ефекти дуже дивні.

Ну, чудес не буває. Але причина може бути так глибоко, що у нас може не вистачити засобів до неї докопатись. Наприклад, який-небудь апаратний баг МК, який проявляється тільки при певних хитрих умовах.

Активний

#42 Вчора 22:08:33

jokeR
Учасник
Зареєстрований: 2024-12-12
Повідомлень: 107

Re: DigiSpark Attiny85 проблема з логічною 1 на виході.

FQBN: digistump:avr:digispark-tiny:clock=clock165,burnmode=install
Using board 'digispark-tiny' from platform in folder: /home/igor/.arduino15/packages/digistump/hardware/avr/1.7.5
Using core 'tiny' from platform in folder: /home/igor/.arduino15/packages/digistump/hardware/avr/1.7.5
Using library EEPROM at version 2.0 in folder: /home/igor/.arduino15/packages/digistump/hardware/avr/1.7.5/libraries/EEPROM 

Ага, походу я вас обманув. Це звідси: https://raw.githubusercontent.com/ArminJo/DigistumpArduino/master/package_digistump_index.json

Ага, версію 1.6.7 можна вибрати в Board Manager. Не зовсім очевидно. Але все одно дивний глюк присутній.

Остання редакція jokeR (Вчора 22:14:39)

Неактивний

#43 Вчора 22:17:53

stas_amp
Учасник
Зареєстрований: 2025-06-02
Повідомлень: 27

Re: DigiSpark Attiny85 проблема з логічною 1 на виході.

dimich пише:
stas_amp пише:

https://raw.githubusercontent.com/digistump/arduino-boards-index/master/package_digistump_index.json

Якщо у вас вибрано "Digispark (Default - 16.5mhz)", для експерименту спробуйте "Digispark (16mhz - No USB)". USB ж у вас в програмі ніяк не використовується.

stas_amp пише:

не можу прикріпити картинку

Під полем редагування є "Завантаження". Заходите туди, завантажуєте картинку. Клікаєте на неї, копіюєте її адресу, вставляєте в тег [img]<адреса тут>[/img].

Ще б здогадатись, звідки крім 1.2 вольта ще ті 5.2 кГц.

Не дуже розумію, чому стан кнопки зчитується як аналоговий сигнал. Там звичайна механічна кнопка, чи якась особлива? Спробуйте для експерименту

if (analogRead(btnMode) < 512) {

замінити на

if (digitalRead(btnMode) == LOW) {

Кнопка звичайна, механічна.

Спробував, що Ви рекомендували.

Нажаль, не допомогло.

Неактивний

#44 Вчора 22:24:10

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 456

Re: DigiSpark Attiny85 проблема з логічною 1 на виході.

Цікаво, чи вдастся відтворити баг з пінами на голій attiny85, без USB-шних стабілітронів та бутлоадера.

Активний

#45 Вчора 22:29:13

stas_amp
Учасник
Зареєстрований: 2025-06-02
Повідомлень: 27

Re: DigiSpark Attiny85 проблема з логічною 1 на виході.

jokeR пише:

https://forum.arduino.ua/img/members/3983/2025-06-10_19-06.png

Таке?
Ну, залив ваш код, тільки замість

const int LEDMode = 2; // LED индикации режима работы смазчика, 1 = TRUE;

зробив

const int LEDMode = LED_BUILTIN;

Щоб було видно без осцилографа.

І що ми бачимо на нозі P1?

https://forum.arduino.ua/img/members/3983/photo_2025-06-10_19-24-38.jpg

3.3V, з викидами до 4.5В (чи 4.5В, з провалами на 1.2В). Цікаво wink Провалів по живленню немає.


Хм. Зробив так (нумерація цифрових і аналогових портів в цій платі якась незвичайна, але 3 - удачна цифра wink Повинно бути еквівалентно по логіці роботи.

  if (/* analogRead(btnMode) < 512 */ digitalRead(btnMode) == 0) { // Нажата кн.Режим смазки

Бачимо таке:

https://forum.arduino.ua/img/members/3983/photo_2025-06-10_19-42-44.jpg

Що я можу сказати? З виводом у порт D1 у вас щось накручено, digitalwrite викликається раз 10.. Але дивний спецефект з 1 картинки це не пояснює.

Це цікавіше. Підтягнув входи, щоб не теліпались.

  pinMode(inVSS, INPUT_PULLUP);
  pinMode(btnMode, INPUT_PULLUP);

Побачив ваші імпульси в 1 В
https://forum.arduino.ua/img/members/3983/photo_2025-06-10_20-01-01.jpg


Перш за все, дякую Вам, за Ваші зусилля допомогти, що зібрали схему.

З осцилогам видно, що сигнал на виході все одно PWM, а не стабільні 5 Вольт.

Ви не той вихід контролювали. Нам треба вихід на мотор PB1, а не індикатор режиму подачі масла PB2.

Остання редакція stas_amp (Вчора 22:43:02)

Неактивний

#46 Вчора 22:36:03

stas_amp
Учасник
Зареєстрований: 2025-06-02
Повідомлень: 27

Re: DigiSpark Attiny85 проблема з логічною 1 на виході.

OSC-_-OUT-PB1.jpeg

У мене ось такий сигнал на PB1

PWM - 5.2kHz  та циклом 23 відсотки

Остання редакція stas_amp (Вчора 22:37:25)

Неактивний

#47 Вчора 23:04:23

jokeR
Учасник
Зареєстрований: 2024-12-12
Повідомлень: 107

Re: DigiSpark Attiny85 проблема з логічною 1 на виході.

Так, сорян, const int LEDMode = LED_BUILTIN; - так не можна. LED_BUILTIN це PB1 і воно якось дивно взаємодіє з вашим кодом. Вернув як було - упсь, на PB1 чоткий 0.
Ну, що сказати.. По перше - переїдьте на версію 1.7.5, щоб все було однаково.
По друге - входи вільно теліпаються, хз що вони ловлять у вас і що у мене. Їх було б непогано підтягнути чи до 0 чи до VCC - хз як правильно за вашою схемою.

Неактивний

#48 Вчора 23:20:06

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 456

Re: DigiSpark Attiny85 проблема з логічною 1 на виході.

jokeR пише:

входи вільно теліпаються, хз що вони ловлять у вас і що у мене. Їх було б непогано підтягнути чи до 0 чи до VCC - хз як правильно за вашою схемою.

Автор же писав, що є підтяжки по 5.1к. Мені тільки не подобається, що підтяжка на PB3, бо там же ще через 47 Ом стабілітрон в землю. А свої 3.6В стабілітрон тримає тільки при відносно великих струмах, десь 5 мА. При малих струмах через підтяжку на ньому падає десь 3 В, або й менше. Мабуть, тому там і analogRead(). UPD: хоча "analogRead() < 512" це майже те ж саме, що "digitalRead() == LOW", тільки без гистерезису.

Остання редакція dimich (Сьогодні 07:10:40)

Активний

#49 Сьогодні 08:17:41

stas_amp
Учасник
Зареєстрований: 2025-06-02
Повідомлень: 27

Re: DigiSpark Attiny85 проблема з логічною 1 на виході.

Всім доброго ранку.

Стосовно підтяжок. Так, вони були через 5.1к, замінив на 1к. Нічого не змінилося.

Вчора грався всякими бібліотеками, понавстановлював все, що можна було стосовно Attiny 85.

Сьогодні запустив ардуіно іде, і в виборі плат, побачив ось таке, як на фото.
Screenshot_20250611-065837.jpeg

Записав через цей варіант. І картина одразу змінилася!

PXL_20250611_042428586.jpeg

Частота стала 16кГц, цикл 70 відсотків.

Неактивний

#50 Сьогодні 08:30:09

stas_amp
Учасник
Зареєстрований: 2025-06-02
Повідомлень: 27

Re: DigiSpark Attiny85 проблема з логічною 1 на виході.

Ось схема всього пристрою.

PXL_20250611_052659012.jpeg
Розв'язка на входах, через оптику, PC817
На мотор, транзистор з ,,логічним'' рівнем, точно не пам'ятаю, що дістав з коробки і запаяв.

Неактивний

Швидке повідомлення

Введіть повідомлення і натисніть Надіслати

Підвал форуму