Комментарии 45
А как же видео??
+2
НЛО прилетело и опубликовало эту надпись здесь
Вот это я понимаю — инженерный подход!
А где заказывали платы?
А где заказывали платы?
0
Очень крутое место, рекомендую: http://dirtypcbs.com
10 плат 5х5 см за $14 или 30 плат 5x5 см за $28, т.е. около 25 центов за квадратный дюйм, с бесплатной доставкой.
Но есть несколько нюансов — они никак не помогают с платами, просто давай им gerber файлы и жди, пока придут, практически молча, не считая нескольких статусов (at board house, shipped)
Они утверждают, что делают платы только для прототипирования, чтобы не было придирок к качеству, но по факту они делают платы хорошо.
Еще один нюанс — влепляют на шелк свои номера, без возможности проконтроллировать, куда именно, но по опыту они стараются впихнуть его так, чтобы смотрелось хорошо.
10 плат 5х5 см за $14 или 30 плат 5x5 см за $28, т.е. около 25 центов за квадратный дюйм, с бесплатной доставкой.
Но есть несколько нюансов — они никак не помогают с платами, просто давай им gerber файлы и жди, пока придут, практически молча, не считая нескольких статусов (at board house, shipped)
Они утверждают, что делают платы только для прототипирования, чтобы не было придирок к качеству, но по факту они делают платы хорошо.
Еще один нюанс — влепляют на шелк свои номера, без возможности проконтроллировать, куда именно, но по опыту они стараются впихнуть его так, чтобы смотрелось хорошо.
+4
Думаю, будет полезной статья о специфике подготовки плат для подобных сервисов… С примерами экспорта из популярных программ…
+3
Сколько времени обычно проходит от момента отправки им gerber-файлов до момента, когда платы уже у вас?
+1
Нюансов там море.
Могут вместо 10 плат прислать 1 или 2, если речь про protopack (официально на сайте прописано).
Требования к плате прописаны очень невнятно и с ошибками.
Сайт — типичная поделка на php (http://dirtypcbs.com/view.php), и заливать свои данные туда… ну не знаю.
Это то, что с ходу находится.
Могут вместо 10 плат прислать 1 или 2, если речь про protopack (официально на сайте прописано).
Требования к плате прописаны очень невнятно и с ошибками.
Сайт — типичная поделка на php (http://dirtypcbs.com/view.php), и заливать свои данные туда… ну не знаю.
Это то, что с ходу находится.
0
Красивый код, демонстрирующий, что и под ардуину можно писать шикарно.
Массив указателей на функции — прекрасный способ избавится от «китайского стиля» и сэкономить место в программной памяти.
Особо приятное место
int32_t mul256(int32_t x) { return x << 8; }
int32_t mul240(int32_t x) { return (x << 8) - (x << 4); }
int32_t mul208(int32_t x) { return (x << 7) + (x << 6) + (x << 4); }
int32_t mul176(int32_t x) { return (x << 7) + (x << 5) + (x << 4); }
int32_t mul144(int32_t x) { return (x << 7) + (x << 4); }
int32_t mul96(int32_t x) { return (x << 6) + (x << 5); }
int32_t mul48(int32_t x) { return (x << 5) + (x << 4); }
typedef int32_t (*fmul32)(int32_t);
const fmul32 fmulVec[4] = { mul96, mul176, mul240, mul256 };
// calculate FFT[10] for 32 samples
uint8_t fft10() {
int32_t a = 0;
for (uint8_t i = 0; i < 4; ++i) {
a += fmulVec[i](sampleAccA[i + 1]);
}
Массив указателей на функции — прекрасный способ избавится от «китайского стиля» и сэкономить место в программной памяти.
+2
Все верно, это было сделано именно из необходимости сэкономить место.
В следующей итерации — избавление от ардуиновского main, что добавляет еще около 200 байт.
Собственно говоря, от Arduino после этого мало что остается.
В следующей итерации — избавление от ардуиновского main, что добавляет еще около 200 байт.
Собственно говоря, от Arduino после этого мало что остается.
+3
Тут главное, чтобы компилятор не попытался сумничать и развернуть цикл:
gcc.gnu.org/onlinedocs/gnat_rm/Pragma-Loop_005fOptimize.html
#pragma Loop_Optimize (No_Unroll);
gcc.gnu.org/onlinedocs/gnat_rm/Pragma-Loop_005fOptimize.html
0
Библиотеки же ардуиновские не используются?
Весь код переписывается на чистом С и все.
Можно заодно таблицу векторов урезать (ассемблер чутка нужен), если еще памяти нужно будет.
Весь код переписывается на чистом С и все.
Можно заодно таблицу векторов урезать (ассемблер чутка нужен), если еще памяти нужно будет.
0
Замечательная история. Это как детектив, фантастика и приключение одновременно для радиолюбителя. Текст, иллюстрации — браво! Спасибо.
+1
Перейти полностью на SMD, одна плата вместо двух, батарейка CR2032(можно 2016) в держателе, полевичёк вместо DC/DC для отключения от батарейки.
… как то так.
А вообще здорово что где-то есть люди с таким энтузиазмом вливающиеся в электронику и прграммирование её!
… как то так.
А вообще здорово что где-то есть люди с таким энтузиазмом вливающиеся в электронику и прграммирование её!
+2
Я вас понял! Но там нужно около 55 мА ток, неужели таблетка выдержит?
0
55мА это где вы намеряли на батарейке или за DC/DC?
0
За DC/DC. Девять светодиодов по пять с чем-то миллиампер каждый плюс контроллер на 8 МГц потребляют 55 мА.
0
Емкость CR2032 >200mAh, правда длительный разрядный ток небольшой, но мА 8-10 даст без проблем. Светодиоды придется подыскать менее прожорливые, 10мА для контроллера тоже сильно много какой нибудь PIC или MSP легко в <1мА впишутся. К тому же это ведь свечи на торте светодиоды мерцают, а значит не горят все вместе.
тыц
тыц
0
А почему FFT а не полосный FIR фильтр?
0
Аж прослезился. Прекрасная работа!
+1
Очень интересный тортик получился. Скажите, а чем обусловлен выбор в пользу пьезодатчика? Возможно, стоит обратить внимание на миниатюрные электретные микрофончики, там и усилитеный каскад уже встроен?
0
Программа на C++ для Arduino IDEгде Вы там C++ увидели?
0
Как минимум — переменные объявлены где попало. А вообще, в Arduino этот код компилится именно как C++
0
Не согласен. Общеизвестные компиляторы C (GCC, IAR) по умолчанию разрешают «раскидывание» переменных. Классов, объектов в модуле нет. На язык C похоже, да, но не на C++.
"А вообще, в Arduino этот код компилится именно как C++"для меня это новость. Не подскажете, откуда информация?
0
Может проще было бы использовать какой-нибудь термодатчик, который работает по SPI. При задувании температура должна скачкообразно уменьшаться.
+2
Можно со временем добавить на сайт каунтер сколько тортиков уже испечено и отправлено своим заказчикам)))
+1
А можно глупый вопрос. Почему конденсатор 10мкФ подключается к источнику питания через транзистор без резистора?
0
Хорошая статья, только есть вопрос: почему тортик квадратный? А конденсатор бы заменить на танталовый меньшей емкости, можно будет сэкономить место
0
Понравилась минимальная концепция сайта.
Интересно — есть ли заказы.
Интересно — есть ли заказы.
+1
Лучше использовать интегральный синхронный конвертер, например
MAX1724, эффективнее будет.
И еще, не вижу причины использовать пьезодатчик вместо электретного микрофона, уменьшатся габариты и, вероятнее всего, увеличится точность.
Фурье — это, конечно, сильно, имхо хватит простейшего фильтра (КИХ или БИХ).
А что, в самом деле так критично было использовать окно отличное от прямоугольника? Прямо не верится, что в таком применении (да еще и на 10 точек фурье!) действительно ощущается разница между прямоугольным окном и Ханнингом.
MAX1724, эффективнее будет.
И еще, не вижу причины использовать пьезодатчик вместо электретного микрофона, уменьшатся габариты и, вероятнее всего, увеличится точность.
Фурье — это, конечно, сильно, имхо хватит простейшего фильтра (КИХ или БИХ).
А что, в самом деле так критично было использовать окно отличное от прямоугольника? Прямо не верится, что в таком применении (да еще и на 10 точек фурье!) действительно ощущается разница между прямоугольным окном и Ханнингом.
+1
Спасибо большое за подсказку! Крутая микросхема!
Она в несколько раз дороже, но не требует диода Шоттки и, судя по доке, более эффективная.
Насчет окна, так получилось, что я поехал на отдых к родителям с прототипом и программатором, но без возможности менять что-то в железе. Смеркалось, и я решил попробовать наложить окно Ханнинга — чувствительность возросла в разы! Позже я пробовал другие функции окна, но они давали худший результат. Я пересматриваю сейчас свои сгенеренные картинки (минута шума, задувания и шорохов), но они из каких-то других экспериментов с тортиком, так что не могу показать более наглядно.
Она в несколько раз дороже, но не требует диода Шоттки и, судя по доке, более эффективная.
Насчет окна, так получилось, что я поехал на отдых к родителям с прототипом и программатором, но без возможности менять что-то в железе. Смеркалось, и я решил попробовать наложить окно Ханнинга — чувствительность возросла в разы! Позже я пробовал другие функции окна, но они давали худший результат. Я пересматриваю сейчас свои сгенеренные картинки (минута шума, задувания и шорохов), но они из каких-то других экспериментов с тортиком, так что не могу показать более наглядно.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Электронный тортик в кармане: дневник разработки