Опишу процесс заказа на JLC-PCB, но заказывать не будут, т.к. и процессоров нет, и драйверы нужные закончились. Сначала всё очень просто: Качаем BOM И PickAndPlace файлы с тем что он предлагает по умолчанию.
При нажатии на
Вобщем всё примерно как в установке софта =) далее-далее-согласен-далее
При нажатии на
[G]
гербер он предлагает не качать, а сразу пойти на jlc-pcb и заказать там.Вобщем всё примерно как в установке софта =) далее-далее-согласен-далее
Люблю чёрный цвет =)
На одном из шагов прикрепляем скаченные файлы.
На одном из шагов прикрепляем скаченные файлы.
А вот и сами файлы BOM и PickAndPlace, если кому-то интересно на них посмотреть. Обычные CSVшки которые можно открыть блокнотом или екселем.
На следующем шаге проходимся по всем компонентам, и выбираем нужную деталь. На скрине ошибка - там есть нужный резистор, но я его не заметил. А вот при поиске конденсаторов нужно быть внимательным.
В первую очередь ищем среди basic-parts. В таком случае китайцам не нужно будет перетыкать туда-сюда катушки с компонентами и цена будет значительно ниже на малых партиях. Кроме рассыпухи в basic вполне находятся транзисторы, кренки, микросхемы заряда лития, и наверно ещё много что.
Но к сожалению в базовых частях не находятся цветные диоды размером 0402 =)
Если не можете найти в этом уродском поиске - можно поисать на lcsc и в строку поиска уже вбивать Mfr. Part No или LCSC Part No.
Для поиска резисторов удобно под ругой держать знак Ω.
В первую очередь ищем среди basic-parts. В таком случае китайцам не нужно будет перетыкать туда-сюда катушки с компонентами и цена будет значительно ниже на малых партиях. Кроме рассыпухи в basic вполне находятся транзисторы, кренки, микросхемы заряда лития, и наверно ещё много что.
Но к сожалению в базовых частях не находятся цветные диоды размером 0402 =)
Если не можете найти в этом уродском поиске - можно поисать на lcsc и в строку поиска уже вбивать Mfr. Part No или LCSC Part No.
Для поиска резисторов удобно под ругой держать знак Ω.
2021-11-27_01-26-19.png
438.9 KB
С платы убраны "дорогие" детали:
- микроконтроллер (нет в наличии)
- драйвер (нет в наличии)
- ds18b20 он и не нужен, сделан для упрощения написания ПО
- енкодер
Итого цена $90 или по $9 на плату.
Ну халява же за такую работу.
Ещё будте $20+ за доставку, что тоже не критично.
Заказывать пока не буду, подожду пока появятся драйвер и микроконтроллер.
- микроконтроллер (нет в наличии)
- драйвер (нет в наличии)
- ds18b20 он и не нужен, сделан для упрощения написания ПО
- енкодер
Итого цена $90 или по $9 на плату.
Ну халява же за такую работу.
Ещё будте $20+ за доставку, что тоже не критично.
Заказывать пока не буду, подожду пока появятся драйвер и микроконтроллер.
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
#жизнь без фритоса.
Для переезда на новый процессор (который когда-нибудь появится в наличии) составил план тестирования функционала.
И первая задача традиционно - моргание лампочкой.
Вместе с простой задачей пришли непривычные для меня сложности:
в процессоре всего
Зато тут аж 6 таймеров, и вроде как задачи можно распределить между ними.
Традиционное HAL_GPIO_TogglePin со "скважностью 50%" выглядит мерзко, и никуда не годится.
Для глаза гораздо приятнее другой тип взмаргивания, который описывается примеро так:
HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);
osDelay(50);
HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
osDelay(200);
Для этого таймер нужно останавливать, менять ему период счёта и начинать заново.
Вроде просто, но когда пытаешься делать это в первый раз - занимает время.
Для переезда на новый процессор (который когда-нибудь появится в наличии) составил план тестирования функционала.
И первая задача традиционно - моргание лампочкой.
Вместе с простой задачей пришли непривычные для меня сложности:
в процессоре всего
8kBytes of SRAM
и этого хватит только 2 две задачи во фриртосе =).Зато тут аж 6 таймеров, и вроде как задачи можно распределить между ними.
Традиционное HAL_GPIO_TogglePin со "скважностью 50%" выглядит мерзко, и никуда не годится.
Для глаза гораздо приятнее другой тип взмаргивания, который описывается примеро так:
HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);
osDelay(50);
HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
osDelay(200);
Для этого таймер нужно останавливать, менять ему период счёта и начинать заново.
Вроде просто, но когда пытаешься делать это в первый раз - занимает время.
Я на STM32 можно сказать впервые. Но прям интересно как тут живут старожилы.
Высчитывать эти прескайлеры и периоды - прям странное и бесящее действо. Ещё и единички не забудь отнять, чтобы цифры выглядели максимально тупо и не интуитивно.
Я же не машина, чтобы время тиками измерять и считать от 0, мне подавай миллисекунды.
Завёл себе табличку в екселе, а на время разработки втащил высчитывание периодов прямо в код.
Теперь моя несчастная лампочка взмаргивает по православному, 1 раз в секунду.
ЗЫ: хотелось бы и от cubeMX UX здорового человека, а не UX-курильщика.
Высчитывать эти прескайлеры и периоды - прям странное и бесящее действо. Ещё и единички не забудь отнять, чтобы цифры выглядели максимально тупо и не интуитивно.
Я же не машина, чтобы время тиками измерять и считать от 0, мне подавай миллисекунды.
Завёл себе табличку в екселе, а на время разработки втащил высчитывание периодов прямо в код.
Теперь моя несчастная лампочка взмаргивает по православному, 1 раз в секунду.
ЗЫ: хотелось бы и от cubeMX UX здорового человека, а не UX-курильщика.
https://github.com/0015/ThatProject
Хорошая подборка кода под esp32
к ютуб каналу https://www.youtube.com/c/ThatProject/videos
Хорошая подборка кода под esp32
к ютуб каналу https://www.youtube.com/c/ThatProject/videos
А вообще список хороших примеров можно оказывается посмотреть по звёздам
https://github.com/topics/esp32-idf
и проект выше занимает там 2ю строчку
https://github.com/topics/esp32-idf
и проект выше занимает там 2ю строчку
Сегодня сетап такой:
Esp32, динамик, "осцилограф", енкодер.
По Stm32G031K8T6 защитываю себе поражение.
Слишком сложно, ниасилил. Отладка Stm32G031K8T6 уезжает в шкаф.
По отдельному модулю на stm32 видимо стоит призвать на помощь профессионалов, и в качестве микроконтроллера оставить f103.
Возвращаюсь к ковырянию esp32.
После stm многие вещи в микроконтроллерах становятся понятнее.
Например для того чтобы щёлкать ногами мощности контроллера не нужны - для этого есть всякие хардварные инструменты.
На esp32 для переключения ног попробую использовать модуль RMT.
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/rmt.html
Esp32, динамик, "осцилограф", енкодер.
По Stm32G031K8T6 защитываю себе поражение.
Слишком сложно, ниасилил. Отладка Stm32G031K8T6 уезжает в шкаф.
По отдельному модулю на stm32 видимо стоит призвать на помощь профессионалов, и в качестве микроконтроллера оставить f103.
Возвращаюсь к ковырянию esp32.
После stm многие вещи в микроконтроллерах становятся понятнее.
Например для того чтобы щёлкать ногами мощности контроллера не нужны - для этого есть всякие хардварные инструменты.
На esp32 для переключения ног попробую использовать модуль RMT.
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/rmt.html
Media is too big
VIEW IN TELEGRAM
(5 минут мотаю до 10kHz и слушаю)
Драйвером управлять очень просто.
И вообще многое в esp32 сделано для людей.
У STM я жаловался, что считать в тиках и отнимать единицу - ну слишком нечеловечно.
А как это у esp32?
Просто говоришь драйверу RMT какая нужна частота в обычных герцах и он всё понимает.
Минимум 611Hz, а максимум в мегагерцах. Мой "осцилограф" столько не может, сколько может выдать RMT.
И с примерами всё сильно проще - из документации ссылка на 5 примеров различного использования этого функционала
https://github.com/espressif/esp-idf/tree/master/examples/peripherals/rmt
Я взял на основу пример morse_code который выдаёт SOS на нужной частоте.
Драйвером управлять очень просто.
И вообще многое в esp32 сделано для людей.
У STM я жаловался, что считать в тиках и отнимать единицу - ну слишком нечеловечно.
А как это у esp32?
Просто говоришь драйверу RMT какая нужна частота в обычных герцах и он всё понимает.
Минимум 611Hz, а максимум в мегагерцах. Мой "осцилограф" столько не может, сколько может выдать RMT.
И с примерами всё сильно проще - из документации ссылка на 5 примеров различного использования этого функционала
https://github.com/espressif/esp-idf/tree/master/examples/peripherals/rmt
Я взял на основу пример morse_code который выдаёт SOS на нужной частоте.
Media is too big
VIEW IN TELEGRAM
(6 минут мотаю до 100kHz и ничего не слышно после 15kHz)
Предел моего игрушечного "осцилографа" - 200kHz.
Когда покупал его за 2 тыщи - думал ну зачем мне больше =)
Но скоро приедет уже другой, за 4 тыщи русских рублей от которого ожидаю в 2 раза больше удовольствия.
Есть легенда о том что высокая частота переключения ног способствует их очистке.
"Взрослые" кондуктометры тоже делают такую болталку, но не на протяжении всей работы,
а только перед измерениями.
Скорее всего физика этого процесса ультразвуковая, а ультразвуковые ванны работают с частотами от 25 до 130 кГц..
Процитирую случайные статьи из интернета:
Предел моего игрушечного "осцилографа" - 200kHz.
Когда покупал его за 2 тыщи - думал ну зачем мне больше =)
Но скоро приедет уже другой, за 4 тыщи русских рублей от которого ожидаю в 2 раза больше удовольствия.
Есть легенда о том что высокая частота переключения ног способствует их очистке.
"Взрослые" кондуктометры тоже делают такую болталку, но не на протяжении всей работы,
а только перед измерениями.
Скорее всего физика этого процесса ультразвуковая, а ультразвуковые ванны работают с частотами от 25 до 130 кГц..
Процитирую случайные статьи из интернета:
Для наиболее эффективной кавитации очищающая жидкость должна содержать как можно меньше растворенного газа.