Permalink Submitted by Vitasam on вт, 10/04/2018 - 14:36.
Плюсы и минусы каждой платформы: Arduino-NANO
+ Дешевизна
+ Легкая в установке (легче некуда) интегрированная среда разработки
+ Огромное количество библиотек, разработанных сообществом
- Малый объем ОЗУ
- Быстродействие STM32F103C8T6
+ Быстродействие
+ Объем ОЗУ и программной флеш-памяти
- Не все выходы толерантны к 5В уровню
- Настройка среды разработки
- Легкость прошивки
Permalink Submitted by Электромонтёр on вт, 10/04/2018 - 14:57.
ЖК индикатор вполне себе управляется уровнями 3,3В, есть даже трёхвольтовые версии. У меня ЖК индикатор нормально управляется от 1986ВЕ92, но нельзя читать сигналы с индикатора без согласования
Дешифратор клавиатуры должен нормально работать при питании 3,3В.
Микроконтроллер должен легко шиться через UART, у меня 1986ВЕ92 вполне нормально шился через схему согласования резюках и диодах Д9.
Основные трудности остаются с софтом: в среде разработки для 186ВЕ92 используется компилятор gcc, но интэковцы кучу сил потратили на адаптацию софта к ардуинософту.
Permalink Submitted by Vitasam on вт, 10/04/2018 - 16:22.
у меня нет сейчас второго шилда для stm32 борды, чтобы запрототипировать. Как вариант, можно спаять переходную платку-адаптер с stm32 в этот шилд, с конвертерами уровня, если надо.
Permalink Submitted by Электромонтёр on вт, 10/04/2018 - 19:23.
Индикатор сам по себе вполне управляется 3,3В уровнями, хотя при этом может питаться от 5В. Кстати, к индикатору прилагается i2c адаптер? Тогда адаптер запитать от 3,3В, а индикатор будет питаться от 5В, но управляться 3,3В...
У меня пятивольтовый МЭЛТ MT16S2D питается от 5В (от 3В не будет работать стекло), а управляется 3,3В уровнями с выхода К1986ВЕ92, думаю 2004 + STM32 будет работать также, тем более ног у него должно быть больше)
Добавлено.
Вот, кстати, статейка в тему.
Permalink Submitted by Электромонтёр on ср, 11/04/2018 - 08:00.
Кстати, STM32F106T8C6 имеет преимущество перед ATMEGA328 только за счёт большей тактовой частоты, большей разрядности и большего объёма ОЗУ! Однако, по флешпамяти stm32 примерно на равных с атмелом, и для сохранения программ внешнюю флешпамять надо, внутренней еерrom у кортекса нет.
Кстати, компилировал пустой проект для платки на 1986ВЕ92, 34255 байт ПЗУ и 3116 байт ОЗУ :) а вот подключение жк индикатора, шаговика и энкодера сожрали дополнительные 2980 байт ПЗУ и 92 байта ОЗУ :) Не знаю, что там жрёт так много флешпамяти, хотя там с usb нагородили кучу функций.
Permalink Submitted by Vitasam on ср, 11/04/2018 - 08:44.
Заказал на али несколько 24LC256 I2C EEPROM. Если получится прикрутить к совместному использованию с I2C дисплеем, то в этом Basic-е поддержка внешней EEPROM уже есть:
LOAD "filename", SAVE "filename, DIR, DELETE "filename" if using with external EEPROM.
А это уже таки 32 КБ для хранения программ - вполне себе серьезно.
Permalink Submitted by Ватник on пн, 16/04/2018 - 18:18.
Энергопотребление регулируется частотой,
Два ядра. Режимы сна разные, решаемо спать между нажатиями кнопок.
Памяти хоть попой кушай и оперативной и флэш. Блютус и вайфай из
коробки. Добавьте в голосование ESP32 или ESP8826 :-)
Permalink Submitted by st on вт, 10/04/2018 - 18:46.
Я не в курсе, какая платформа имеет более низкое энергопотребление, но проголосовал бы за такую. Если они обе не самые оптимальны в этом плане, может быть вернуться к MSP432? У меня плата так и лежит.
Permalink Submitted by Электромонтёр on вт, 10/04/2018 - 19:54.
STM32F103C8T6 по даташиту потребляет не выше 50мА на 72МГц, то есть 165мВт при напряжении питания 3,3В.
ATMEGA328Р по даташиту потребляет около 10мА на 16МГц при напряжении 5В, то есть около 50мВт и втрое больше STM32.
На 16МГц STM32F103C8T6 потребляет около 11мА при 3,3В, то есть около 36мВт, что примерно на треть ниже, чем ATMEGA328Р.
Поскольку STM32 позволяет программировать умножитель тактового генератора, то можно организовать обычный режим на 16МГц, на котором микрокомпьютер будет втрое мощней Атмела при меньшем потреблении, и турборежим на 72МГц :) Так что STM32 намного прогрессивней, чем АТМега!
2х16 ЖК индикатор потребляет порядка 1мА, а подсветка индикатора 100мА)
Permalink Submitted by Электромонтёр on вт, 10/04/2018 - 22:21.
Как раз stm32 на 16МГц жрёт 36мВт, плюс 3,3мВт трёхвольтовый индикатор, в 40мВт уложиться можно. Потребление то же, а тактовая частота выросла с 1,228 до 16,0МГц, быстродействие раз в пятьдесят за счёт разрядности и однотактового выполнения команд.
Если принять ёмкость батарейки CR2032 в 200мА*ч то её хватит на 16 часов непрерывной работы трёхвольтового ЖК индикатора с микроконтроллером на 16МГц. Хотя, если в бездействии заставлять его спать, то во включённом состоянии батарейки хватит на двое-трое суток. Я как-то мерил потребление своего индикатора, и правда было чуть меньше миллиампера, это при обновлении всех символов каждые 1,6мс.
Permalink Submitted by st on вт, 10/04/2018 - 21:33.
ЖКИ можно менять, а платформа остается, это главное. Поэтому я бы выбрал минимально потребляющий с максимальной частотой для перспективы. Этакая оптимизация по двум критериям.
Permalink Submitted by AtH on сб, 14/04/2018 - 04:25.
STM32 постоянно всплывает в беседах о ПМК мечты. Годы проходят, но это не меняется. Похоже, что даже при неудаче проекта часть кода сможет быть кем-то повторно использована, то есть работа не будет полностью впустую.
Все знают, что я предпочёл бы использовать сообщество любителей ПМК для развития отчественных процессоров. Даже будучи в меньшинстве я настаиваю, что это верный путь. Но если выбор стоит лишь между Ардуино и STM32, он очевиден.
Permalink Submitted by AtH on сб, 14/04/2018 - 04:28.
Возможно, какой-то код для STM32 уже даже был кем-то здесь написан. Повторюсь, что если кто захочет перенести Каллисто на более быстродействующую платформу вроде STM32 (или Адруино), поддержу это начинание.
Permalink Submitted by Электромонтёр on пн, 16/04/2018 - 14:27.
Я вообще удивился, что кто-то за ардуину проголосовал :) Видимо, чтобы хоть как-то создать видимость политической оппозиции :) Вчера в радиомагазине как раз видел платку на stm32 в габаритах наноардуины.
Кстати, а какая точность у ардуино-бейсика на тригонометрии?
Permalink Submitted by Электромонтёр on пн, 16/04/2018 - 17:42.
Да точно так же, по прерыванию таймера, так проще дребезг давить, не разбазаривая машинное время :) Если ног на плате хватит, то можно и дешифратор не ставить.
Permalink Submitted by Электромонтёр on пн, 16/04/2018 - 19:17.
Кстати, для вывода байта с SPI порта отлично подходит регистр 74HC595, кроме того регистры можно наращивать до 20 штук! У неё даже аналог есть - КР1564ИР52.
Комментарии
Плюсы и минусы каждой платформы
Плюсы и минусы каждой платформы:
Arduino-NANO
+ Дешевизна
+ Легкая в установке (легче некуда) интегрированная среда разработки
+ Огромное количество библиотек, разработанных сообществом
- Малый объем ОЗУ
- Быстродействие
STM32F103C8T6
+ Быстродействие
+ Объем ОЗУ и программной флеш-памяти
- Не все выходы толерантны к 5В уровню
- Настройка среды разработки
- Легкость прошивки
Недостатки STM32 можно свести к минимуму
ЖК индикатор вполне себе управляется уровнями 3,3В, есть даже трёхвольтовые версии. У меня ЖК индикатор нормально управляется от 1986ВЕ92, но нельзя читать сигналы с индикатора без согласования
Дешифратор клавиатуры должен нормально работать при питании 3,3В.
Микроконтроллер должен легко шиться через UART, у меня 1986ВЕ92 вполне нормально шился через схему согласования резюках и диодах Д9.
Основные трудности остаются с софтом: в среде разработки для 186ВЕ92 используется компилятор gcc, но интэковцы кучу сил потратили на адаптацию софта к ардуинософту.
Сайт
Я тоже склоняюсь к stm32, но (+)
у меня нет сейчас второго шилда для stm32 борды, чтобы запрототипировать. Как вариант, можно спаять переходную платку-адаптер с stm32 в этот шилд, с конвертерами уровня, если надо.
Экран от 3.3В не работает, насколько я понимаю. А другой экран я не хочу покупать - это самое бюджетное решение за такой функционал.
I2C адаптер для согласования?
Индикатор сам по себе вполне управляется 3,3В уровнями, хотя при этом может питаться от 5В. Кстати, к индикатору прилагается i2c адаптер? Тогда адаптер запитать от 3,3В, а индикатор будет питаться от 5В, но управляться 3,3В...
У меня пятивольтовый МЭЛТ MT16S2D питается от 5В (от 3В не будет работать стекло), а управляется 3,3В уровнями с выхода К1986ВЕ92, думаю 2004 + STM32 будет работать также, тем более ног у него должно быть больше)

Добавлено.
Вот, кстати, статейка в тему.
Сайт
I2C ЖКИ
ЖКИ у меня через I2С адаптер. Надо будет попробовать потом через 3.3в
За статейку спасибо! Буду думать про переход на stm32
Потребление памяти
Кстати, STM32F106T8C6 имеет преимущество перед ATMEGA328 только за счёт большей тактовой частоты, большей разрядности и большего объёма ОЗУ! Однако, по флешпамяти stm32 примерно на равных с атмелом, и для сохранения программ внешнюю флешпамять надо, внутренней еерrom у кортекса нет.
Кстати, компилировал пустой проект для платки на 1986ВЕ92, 34255 байт ПЗУ и 3116 байт ОЗУ :) а вот подключение жк индикатора, шаговика и энкодера сожрали дополнительные 2980 байт ПЗУ и 92 байта ОЗУ :) Не знаю, что там жрёт так много флешпамяти, хотя там с usb нагородили кучу функций.
Думаю, под бейсик как раз 16кБ ОЗУ останется.
Сайт
i2c eeprom
Заказал на али несколько 24LC256 I2C EEPROM. Если получится прикрутить к совместному использованию с I2C дисплеем, то в этом Basic-е поддержка внешней EEPROM уже есть:
А это уже таки 32 КБ для хранения программ - вполне себе серьезно.
А если подумать, то ESP32 лучше по большей части
Энергопотребление регулируется частотой,
Два ядра. Режимы сна разные, решаемо спать между нажатиями кнопок.
Памяти хоть попой кушай и оперативной и флэш. Блютус и вайфай из
коробки. Добавьте в голосование ESP32 или ESP8826 :-)
ESP32 или ESP8826
Добавлять не буду, так как кто это делать будет? :)
Хотя сабжи явно выигрывают по многим параметрам. Даже 8266.
P.S. Однако опрос, вроде, не редактируется. Надо новый опрос делать
NodeMCU (esp8266-12) и 32КБ для Васика
Тема перенесена
Энергопотребление
Я не в курсе, какая платформа имеет более низкое энергопотребление, но проголосовал бы за такую. Если они обе не самые оптимальны в этом плане, может быть вернуться к MSP432? У меня плата так и лежит.
Подсветка индикатора потребляет втрое выше микроконтроллера :)
STM32F103C8T6 по даташиту потребляет не выше 50мА на 72МГц, то есть 165мВт при напряжении питания 3,3В.
ATMEGA328Р по даташиту потребляет около 10мА на 16МГц при напряжении 5В, то есть около 50мВт и втрое больше STM32.
На 16МГц STM32F103C8T6 потребляет около 11мА при 3,3В, то есть около 36мВт, что примерно на треть ниже, чем ATMEGA328Р.
Поскольку STM32 позволяет программировать умножитель тактового генератора, то можно организовать обычный режим на 16МГц, на котором микрокомпьютер будет втрое мощней Атмела при меньшем потреблении, и турборежим на 72МГц :) Так что STM32 намного прогрессивней, чем АТМега!
2х16 ЖК индикатор потребляет порядка 1мА, а подсветка индикатора 100мА)
Сайт
На Касио
На недавно приобретенном Касио 1987 года выпуска энергопотребление значится в 40 мВт. Неужто в 2018 году нельзя сделать лучше?
Навскидку, можно.
Как раз stm32 на 16МГц жрёт 36мВт, плюс 3,3мВт трёхвольтовый индикатор, в 40мВт уложиться можно. Потребление то же, а тактовая частота выросла с 1,228 до 16,0МГц, быстродействие раз в пятьдесят за счёт разрядности и однотактового выполнения команд.
Если принять ёмкость батарейки CR2032 в 200мА*ч то её хватит на 16 часов непрерывной работы трёхвольтового ЖК индикатора с микроконтроллером на 16МГц. Хотя, если в бездействии заставлять его спать, то во включённом состоянии батарейки хватит на двое-трое суток. Я как-то мерил потребление своего индикатора, и правда было чуть меньше миллиампера, это при обновлении всех символов каждые 1,6мс.
Сайт
Энергопотребление
Сергей, энергопотребление этого недокомпьютера не входит в список "фич", с таким ЖКИ даже нечего и думать про долгоиграние от батареек.
ЖКИ
ЖКИ можно менять, а платформа остается, это главное. Поэтому я бы выбрал минимально потребляющий с максимальной частотой для перспективы. Этакая оптимизация по двум критериям.
Минимально потребляющий с максимальной частотой
Минимально потребляющий с максимальной частотой - думаю, DM42 является хорошим примером. И он на stm32
Выбор
Тогда выбор очевиден - STM, голосую. Осталось куда-нибудь мою платку MSP пристроить, а то без дела лежит.
STM32
STM32 постоянно всплывает в беседах о ПМК мечты. Годы проходят, но это не меняется. Похоже, что даже при неудаче проекта часть кода сможет быть кем-то повторно использована, то есть работа не будет полностью впустую.
Все знают, что я предпочёл бы использовать сообщество любителей ПМК для развития отчественных процессоров. Даже будучи в меньшинстве я настаиваю, что это верный путь. Но если выбор стоит лишь между Ардуино и STM32, он очевиден.
STM32
Возможно, какой-то код для STM32 уже даже был кем-то здесь написан. Повторюсь, что если кто захочет перенести Каллисто на более быстродействующую платформу вроде STM32 (или Адруино), поддержу это начинание.
16 голосов за stm32, 1 голос за ардуину
На сегодня результат:
16 голосов за stm32, 1 голос за ардуину.
Я, кстати, думал, что за ардуину будет немного побольше :)
STM32 победила на выборах :)
Я вообще удивился, что кто-то за ардуину проголосовал :) Видимо, чтобы хоть как-то создать видимость политической оппозиции :) Вчера в радиомагазине как раз видел платку на stm32 в габаритах наноардуины.
Кстати, а какая точность у ардуино-бейсика на тригонометрии?
Сайт
stm32
Да, победила :)
Точность тригонометрии определяется обычными float функциями из math.h - я не делал ничего другого
Кстати, на stm32 легко будет сделать опрос железнокнопочной клавиатуры? В ардуине у меня прерывание по таймеру этим занимается
Клавиатура
Да точно так же, по прерыванию таймера, так проще дребезг давить, не разбазаривая машинное время :) Если ног на плате хватит, то можно и дешифратор не ставить.
Сайт
Ноги
Насчет ног подумалось оставить порт наружу - светодиоды из под Васика программировать
74HC595 не спасёт гиганта мысли?
Кстати, для вывода байта с SPI порта отлично подходит регистр 74HC595, кроме того регистры можно наращивать до 20 штук! У неё даже аналог есть - КР1564ИР52.
Сайт
Я заказал для экспериментов
MCP23017 - I2C расширялка портов на 16 входов/выходов