C-метр за 5 минут
Это птица!Озаботился я в свете грядущего мотания катушек повторением LC-метра на компараторе, да вот беда — нет прецизионных конденсаторов и индуктивностей, а без готового LC-метра измерить их нечем. Оказывается, конденсатор померить есть чем — таймером 555 :).
Нет, это супермен!
Нет, это… NE555!
По схеме из википедии собираем автоколебательный (astable) генератор, как можно более точно измеряем сопротивления R1 и R2 и любым способом измеряем частоту генерации. Я использовал (прости меня Боже :)) Arduino + библиотека FrequencyCounter. Ну а далее вспоминаем математику и получаем емкость конденсатора с точностью около 1% + небольшая величина, зависящая от точности измерения резисторов. ИМХО, неплохо.
Нормально измеряются конденсаторы от 1000пФ (меньше уже портится форма сигнала и счетчик дурит) до 1мкФ (больше падает точность из-за малого периода генератора).
Вот как-то так, может кому пригодится :).
Отладочная плата для STM32 aka B.M.O.W.
B.M.O.W.
Я по роду основной деятельности программист, очень много работал на ARM платформе (Symbian, Windows Mobile, Linux, you name it ;)) и вот недавно решил приложить свои профессиональные навыки к хобби — завестиВид сверху: все вроде прилично ;), окромя рабочего бардака на столе…

Читать дальше
Порт тестера транзисторов на STM8
Любую архитектуру лучше изучать на каком-нибудь достаточно интересном и нужном примере. Вот я взял в качестве такого примера портирование тестера электронных компонент, выполненного на AVR под STM8. Скажу сразу, проект работоспособен и оттестирован лишь частично, любая помощь в доработке будет приветствоваться.
Веселая картинка:

Читать дальше
Веселая картинка:

Читать дальше
STM8 и LCD на основе HD44780
Выходные прошли, а так как хобби выходных не признает, написал я небольшую интерфейсную либу для STM8 (а конкретнее под STM8S-Discovery, но думаю будет работать где угодно).
Для вывода на LCD достаточно трех строчек :)
и получается вот такая красота:

Первая строка — инициализация порта (используется 6 бит, остальные 2 корректно не трогаются), единственное ограничение — дата-линии должны быть либо в младшем, либо в старшем ниббле (ну или по-посконному, по-латыни, тетраде :)).
Далее выводим функцией Out. Для очистки экрана есть ClearLcd.
Наткнулся на одну непонятку: Cosmic не дает сделать extern функцию без аргументов — кто знает, WTF?
Функцию надо объявлять так:
Исходники (Cosmic)
Исходники можете использовать как угодно, при условии вспоминания меня хорошим и добрым словом ;).
PS. При использовании надо подключать StdPeriphLib, соответственно в настройках проекта определены дефайны: STM8S105 F_CPU=16000000. При использовании другого контроллера или частоты не забывайте их корректировать.
Для вывода на LCD достаточно трех строчек :)
#include "HD44780.h"
....
InitLcd(GPIOB, GPIO_PIN_4, GPIO_PIN_5, GPIO_PIN_LNIB);
Out(0, "DareDen&STM8 for");
Out(1, "easyelectronics.");
и получается вот такая красота:

Первая строка — инициализация порта (используется 6 бит, остальные 2 корректно не трогаются), единственное ограничение — дата-линии должны быть либо в младшем, либо в старшем ниббле (ну или по-посконному, по-латыни, тетраде :)).
Далее выводим функцией Out. Для очистки экрана есть ClearLcd.
Функцию надо объявлять так:
extern void foo(void);
— void в скобках обязателен.Исходники (Cosmic)
Исходники можете использовать как угодно, при условии вспоминания меня хорошим и добрым словом ;).
PS. При использовании надо подключать StdPeriphLib, соответственно в настройках проекта определены дефайны: STM8S105 F_CPU=16000000. При использовании другого контроллера или частоты не забывайте их корректировать.
Макетка STM8 для беспаечной платы
Чтоб уютненький не пустовал, напишу про успешный ЛУТ, пайку LQFP и STM8 — очень кошерные вещи :). Сразу хвалюсь результатом:

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

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