#1 2024-06-19 13:52:48

Y&M
Учасник
Зареєстрований: 2024-06-19
Повідомлень: 4

Генератор прямокутних імпульсів з регулюванням частоти

Розроблений прототип генератора на ATMEGA328P з OLED 0.96" та енкодером споживає біля 15 міліампер. Потрібно удосконалити - мінімізувати споживання єнергії або розробити новий на іншій апаратній базі.

Технічне завдання
Опис завдання
Метою є розробка регульованого генератора прямокутних імпульсів з індикацією на OLED/E-Ink - дисплеї, який працюватиме в двох режимах: асинхронному або синхронному. Налаштування частоти коливань генератора – енкодером з кнопкою. Додатково пристрій повинен контролювати рівень напруги батареї і видавати звуковий сигнал у разі низького рівня. Енергоспоживання пристрою не повинно перевищувати  силу струму 5 мА при 3.3 вольт. Мікроконтролер AVR, MPS430 або інші .Дисплей: Oled – 0.96” 128x64, E-ink – 1.54”
Вимоги до функціоналу
1.    Генератор імпульсів:
    Діапазон частоти: 30 - 300 імпульсів на хвилину.
    Регулювання частоти здійснюється користувачем.
    Індикація поточної частоти на OLED/E-ink дисплеї.
2.    Режими роботи:
    Асинхронний режим:
    Генератор працює незалежно.
    Синхронний режим:
    Генератор працює у відповідь на синхронізаційні імпульси.
    Алгоритм роботи у синхронному режимі буде надано окремо.
    Перемикання між режимами здійснюється апаратним перемикачем.
3.    Контроль напруги:
    Періодичний контроль рівня напруги батареї.
    В разі низького рівня напруги (нижче певного порогу) видавати звуковий сигнал через пьєзовипромінювач.
    Індикація  рівня напруги на OLED /E-ink дисплеї.
Технічні характеристики
1.    Живлення:
    Автономне - номінальна напруга: 3.3 В.
    Максимальна сила струму: 5 мА.
2.    Компоненти:
    Мікроконтролер з низьким енергоспоживанням.
    OLED/E-ink дисплей для відображення частоти імпульсів  та стану батареї.
    Енкодер із кнопкою.
    Пьєзовипромінювач для звукових сигналів.
    Апаратний перемикач для вибору режиму роботи.
Вимоги до програмного забезпечення
1.    Інтерфейс:
    Інтерфейс для користувача має бути простим та інтуїтивно зрозумілим.
    OLED/E-ink дисплей повинен відображати поточну частоту імпульсів, режим роботи асинхронний/синхронний та стан батареї.
2.    Енергоспоживання:
    Використання режимів сну мікроконтролера для зниження енергоспоживання в періоди бездіяльності.
    Оптимізація програмного коду для мінімізації споживання енергії.
Алгоритми:
1.    Асинхронний режим:
    Генерація імпульсів з заданою частотою незалежно від зовнішніх сигналів.
2.    Синхронний режим:
    Очікування синхронізаційного імпульсу.
    Генерація імпульсів у відповідь на синхронізаційні імпульси.
    Детальний алгоритм буде надано окремо.
3.    Контроль напруги:
    Періодичне вимірювання напруги батареї(раз на годину).
    Видача звукового сигналу при низькому рівні напруги.
    Відображення стану батареї на дисплеї.
Тестування
1.    Функціональне тестування:
    Перевірка коректності генерації імпульсів в обох режимах.
    Перевірка правильності відображення частоти на дисплеї.
2.    Тестування енергоспоживання:
    Перевірка відповідності заявленим характеристикам енергоспоживання.
3.    Навантажувальне тестування:
    Тестування системи під різними умовами навантаження.
Документація
1.    Технічна документація:
    Опис апаратної та програмної архітектури системи в довільній формі.
Вимоги до розробника
1.    Досвід роботи з мікроконтролерами та периферійними пристроями (OLED, E-ink, енкодерами).
2.    Навички програмування на мовах C/C++ для мікроконтролерів.
3.    Знання принципів енергозбереження в системах на основі мікроконтролерів.
Термін виконання
Термін виконання завдання -  7 днів з моменту укладання угоди.

Оплата по домовленості

Для додаткових запитань та уточнень, будь ласка, зв'яжіться зі мною по e-mail.

Неактивний

#2 2024-06-19 17:06:20

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

Re: Генератор прямокутних імпульсів з регулюванням частоти

Сама Atmega328p при 16 МГц і споживає біля 10-14 мА в активному режимі. На чому написана прошивка? Якщо це ардуіна, то мабуть крутиться постійно в активному режимі, без будь-якої сплячки.
Спробуйте в setup() додати:

set_sleep_mode(SLEEP_MODE_IDLE);

а в loop():

sleep_mode();

Переривання від таймера все одно буде виводити процесор зі сплячки приблизно кожну мілісекунду, для опитування кнопок і енкодера має вистачати.
Може й вдастся знизити в середньому до 2-5 мА.

В даташиті є цілий розділ "9.10 Minimizing Power Consumption" з рекомендаціями, як знизити споживання. Повідключайте непротрібну периферію. Зменшіть тактову частоту ядра.

Плюс OLED може суттєво споживати, в залежності від кількості активних пікселів та яскравості. Можна зменшити яскравіть. Можна вимикати через деякий час неактивності.

Неактивний

#3 2024-06-19 18:58:28

Y&M
Учасник
Зареєстрований: 2024-06-19
Повідомлень: 4

Re: Генератор прямокутних імпульсів з регулюванням частоти

Дякую за повідомлення.
Код писався в Arduino IDE під Nano. Розумію, що можливо досягти мети, так як режим роботи статичний (подав напругу, вибрав при потребі відповідну частоту, включив дисплей на 10-20 сек і працюємо в такому режимі до змін в налаштуванні. Ще можливо перевести мікроконтролер на частоту 8 мГЦ.
З повагою,
Юрій (початківець, з перервою в програмуванні на ASM в 30 років).
Запитання: Вибачте не знаю як до Вас звертатись. Якщо у Вас є бажання та час на співпрацю за кошти - то будь ласка напишіть

Неактивний

#4 2024-06-19 19:25:21

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

Re: Генератор прямокутних імпульсів з регулюванням частоти

Y&M пише:

Запитання: Вибачте не знаю як до Вас звертатись. Якщо у Вас є бажання та час на співпрацю за кошти - то будь ласка напишіть

Дмитро. Нажаль, часу займатись ще одним проектом не маю. Можу тільки іноді давати безкоштовні поради з метою підвищення кваліфікації спеціалістів у галузі smile

Неактивний

#5 2024-06-19 19:47:00

Y&M
Учасник
Зареєстрований: 2024-06-19
Повідомлень: 4

Re: Генератор прямокутних імпульсів з регулюванням частоти

Дмитро дякую! Бажаю успіхів. За потреби можу консультувати по схемотехніці.

Неактивний

#6 2024-07-11 09:11:02

theoristos
Учасник
Зареєстрований: 2018-08-02
Повідомлень: 37

Re: Генератор прямокутних імпульсів з регулюванням частоти

Вопросы?

1. Какова требуемая точность частоты? (от этого зависит нужен ли кварц)
2. Скважность импульсов - 50% ?
3. Выходное напряжение - 3.3V?

В плане минипотребления при питании в 3.3V  рекомендую обратить внимание на stm32. Ну или на seeduino/Arduino Pico, хотя они слабее по документации и удобству программирования.

Неактивний

#7 2024-07-16 11:04:38

Y&M
Учасник
Зареєстрований: 2024-06-19
Повідомлень: 4

Re: Генератор прямокутних імпульсів з регулюванням частоти

Здравствуйте Theoristos!
Как Вы заметили процессы медленные.
** Стабильность Частоты +/-  5%, можно использовать внутренюю RC
** Длительность импульсов во всем диапазоне - 2 милисекунды
**Выходное напряжение 3.3 вольта
По поводу потребления, видел проекты наручных часов с Atmega328P и OLED SSD1306 с потреблением до 2 мили ампер при питании 2.5 вольта (если интересно сброшу ссылку).
К сожелению я не спец в программировании и не получаеться корректно использовать "сон" и "прерывания.
Готов обсудить Ваши предложения. С уважением Юрий

Неактивний

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

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

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