[Из песочницы] Универсальное DRO на базе Arduino Nano — shDRO
У меня есть два станка по металлу (китайские): фрезерный и токарный.
Я периодически изготавливаю на них изделия разной степени сложности (я не токарь и не фрезеровщик, это просто хобби). И, если изделие сложное, то приходилось брать в руки калькулятор и просчитывать ход фрезы или резца. И так же, если ход фрезы/резца получался достаточно большим, то приходилось считать обороты ручек суппортов, что откровенно говоря напрягало. В итоге я задумался о DRO (давно были куплены цифровые штангенциркули как раз для этой цели, но нехватка времени постоянно откладывало изготовление).
Прежде чем приступить к разработке своего DRO, мне нужно было ответить на два вопроса, касающихся целесообразности собственной разработки:
- почему бы не купить готовое изделие?
- в сети есть много проектов DRO, разного уровня сложности, с подробными описаниями изготовления своими руками. Так почему бы не собрать одно из них?
Отвечаю сам себе.
Да, на рынке представлено множество изделий, как отечественных, так и зарубежных, с разными ценами и с разной функциональностью. Тот же Али предлагает готовые DRO с тремя оптическими линейками по цене порядка 13000 руб. — очень низкая цена для такого устройства. Но мне интересен сам процесс изготовления, поэтому вариант «купил и поставил», отпал.
Отвечая на второй вопрос, я поставил себя на место человека, который сам будет собирать устройство по какому-либо описанию, и что он должен сделать. А именно:
- приобрести нужные компоненты: процессор, индикацию, кнопки и мелочевку типа резисторов, конденсаторов, стабилизаторов и т.д. (без этого конечно никуда);
- в зависимости от сложности проекта, изготовить/приобрести печатную плату;
- затем всё спаять и прошить процессор;
- после, сделать работу над ошибками;
И только после этих шагов, получится законченное изделие. Каждый шаг занимает какое-то время, а так как человек существо ленивое и нетерпеливое (в хорошем смысле этих слов), то ему хочется как можно быстрее увидеть результат работы устройства, пусть даже промежуточный. И я все же решил разработать своё устройство таким образом, чтобы человек даже в самом начале процесса сборки, видел промежуточные результаты его работы.
Теперь нужно было выбрать плату для реализации.
Выбирал между Arduino на базе Atmega и STM.
Я программист верхнего уровня, но по работе приходилось программировать микроконтроллеры семейства Atmega и MSP-430, с STM я не был знаком. Поэтому выбрал Atmega. Выбрал самую дешевую плату (или нет? просто они у меня были) Arduino Nano на базе микроконтроллера Atmega328.