Микроменю на ассемблере PIC12/16 на основе индексов

Хочу поделится своим никому не нужным творением — микроменю на ассемблере PIC12/16.
При создании этого микроменю преследовалось 2 цели:
1. Спортивный интерес — вместить «полноценное» меню + работу с знаковым дисплеем и крестовиной кнопок в 1 кБ (слов, если быть точнее), именно столько в PIC16F84, который и был использован.
2. Сделать меню достаточно гибким в настройке, чтобы иметь возможность применять его в простеньких проектах, без необходимости влезать в его дебри, и понимать, как оно написано.


Читать дальше

Управление муфельной печью

Доброго вечера всем!
Собираю печку для обжига керамики. Начал резво, корпус собрал, количество проволоки рассчитал, сегодня на котельной на смене — решил заняться управлением. А тут не всё так просто. Думаю, напишу, может кто подскажет.
Мощность 7 киловатт. Температуру снимать буду через термопару — рабочий диапазон от комнатной до 1000-1100 градусов. Инерционность небольшая, так как спирали открытые. Затеялся сделать что-то вроде ПИД регулятора, и тут понеслось. Реле или пускатель не проканает — сильно часто щёлкать будут. Пошарил в гугле — все делают на тиристорах Т142. И все используют импульсный запуск.
Вопрос в том, есть ли другие варианты — и если импульсный запуск всё-же предпочтителен — то что почитать посоветуете, дабы матчасть подтянуть?

Как получить актуальное время от GSM модуля, даже если оператор его не дает

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


Читать дальше

Повторяем Китай (своя прошивка для релейного модуля STC15F104W + ESP8266)

Купил себе на поигратся релейный модулек на базе STC15F104W и ESP8266. Вот такой www.banggood.com/ESP8266-5V-WiFi-Relay-Module-Internet-Of-Things-Smart-Home-Phone-APP-Remote-Control-Switch-p-1126605.html? (это не реклама, я вообще его у себя в городе брал, а не в Китае)

Читать дальше
  • +2
  • 11 октября 2018, 15:48
  • Gnusmas
  • 2

Если не дружат HAL и SDIO

Потомкам, которые это нагуглят. Если вы третий день пытаетесь запустить FatFS SDIO в HAL STM32F4 и ничего не получается, то включите DMA. Версия HAL 1.21



Включать раздельные DMA не обязательно, можно один SDIO. В общем пробуйте, у вас получится.

Косячок FAT_FS

Здравствуй, мой ненаглядный бложек.

Пишу в тебя о том, что вчера делал f_findfirst и f_findnext файлов "*.txt".
Дык вот, если в заданной папке есть файл без расширения, например «readme», то f_findfirst возвращает 0 («ОК файлы есть») и пустое имя первого найденного файла (точнее, путь к заданной папке, без имени файла).
Ревизия бибы 63463, 2018й год.

ChaN — крут, низкий ему поклон.

Контроллер BLDC rev4b

5 фото
image
Выпуск новой версии платы, 6 слоев и новые транзисторы с Rdson=0.75 мОм. Теперь ток до 75А, шунты 0.33 мОм, и это похоже еще не предел. Больше датчиков и интерфейсов. В реп пока ничего не коммитил, там все старое. Но скоро все будет.

Вот еще картиночка с результатами испытаний, там ток, температура pcb и потребляемая мощность. Плата нагрелась до ~70C. Мотор использовался rotomax 1.20 и он сдался раньше чем контроллер. Специального охлаждения не было, плата в том виде как на фото лежала на столе. Видимо надо делать версию с другими шунтами и пробовать до 100А.


Показать все 5 фото →
  • +5
  • 22 сентября 2018, 01:05
  • amaora

И ещё раз про stripboard

Некоторое время назад я наткнулся на stripboard-ы, которые немедленно и купил. После чего они отправились в ящик на несколько лет. Потом я решил поковыряться с роботами. Потом у меня внезапно кончились ноги питания (у плат с AVR/STM/etc их вообще немного). Можно было бы взять что-то типа Sensor Shield, но хотелось, чтобы все проводочки питания шли куда-то в одну точку. И этой точкой была бы отдельная плата.

Вот тут-то я про stripboard-ы и вспомнил.



Читать дальше

Организация программ. Конечные автоматы. Программные таймеры.

Сначала я хотел написать статью об очередной реализации программных таймеров. Попутно хотел поднять одну тему и понял, что программные таймеры — составная часть это темы. Тема касается организации программ, взаимодействия программных модулей и затрагивает автоматное программирование, то есть конечные автоматы.

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

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

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

Системный тик 1 мс. 10 мс.
Однократный запуск.
Периодический запуск.
Отложенное исполнение.
Немедленное исполнение.

В итоге получилось следующее:


Читать дальше