Но страх все равно есть у меня .
наверное справится Atmega 328 в корпусе Ардуино нано.
Да, ардуинка подойдёт вполне. А страх... Чтобы его преодолеть, сначала смоделируйте не генератор синусоиды, а генератор прямоугольных импульсов, он вообще элементарно простой. Описывать алгоритм словами - тот ещё квест, но попробую.
1. На нужный вывод МК подать лог.1, затем запустить счётчик на отсчёт 10 миллисекунд, по окончании счёта единицу на выходном выводе изменить на 0 и снова запустить счётчик. По окончании счёта снова вернуть на выходе единицу и т.д. Затем повторять эти действия циклически. На выходе получим прямоугольные импульсы частотой 50 гц. Это у нас получился цифровой аналог симметричного 2-транзисторного мультивибратора.
2. Теперь подключим сюда ШИМ. Кстати, обычно в продвинутых промышленных МК уже имеется узел, умеющий формировать ШИМ, ему лишь надо задать несущую частоту (обычно в 10...1000 раз выше, чем формируемые 50 гц) и вводить по мере надобности в специальный регистр величину коэф. заполнения, от 0 до 100%. Его мы и задействуем. Всё как в п.1, но вместо подачи на выход 0 и 1 подаём туда то, что генерирует формирователь ШИМ. А по сигналам окончания работы счётчика будем каждые 10 мс менять в формирователе ШИМ значение коэф. заполнения 0 и 100%. Получим точно такие же прямоугольные импульсы, поскольку ноль коэф. заполнения - это тот же обычный ноль, а 100% - это обычная 1. Пока ничего не изменилось.
3. Теперь потихоньку перейдём к формированию синусоиды. Сначала вместо двух интервалов по 10 мс разобьём весь 50-миллисекундный период синусоиды на 36 интервалов по 1,39 мс (1389 мкс). Почему 36 - выяснится чуть позже. Вместо одного счётчика придётся запустить три - один будет отсчитывать по 1389 мкс, второй считает количество отсчётов первого счётчика, и как только досчитает до 9, запускает третий, считающий до 2, затем начинает отсчёт сначала. По сигналу окончания счёта этого третьего надо, как и в п.2, задавать в формирователе ШИМ поочерёдно коэф. заполнения 0 и 100%. В результате на выходе получим всё те же знакомые прямоугольные импульсы 50 гц. Первый и второй счётчики пока работают вхолостую (если не считать того, что они запускают третий).
4. Теперь в каждом цикле первого счётчика (напомню, он длится 1389 мкс) проверяем состояние второго. Если его состояние -1, то из вашей таблицы синусов берём первое значение, если 2 - второе, если 3 - третье, и т.д., и заносим это значение в качестве коэф. заполнения в формирователь ШИМ. На выходе получаем рост заполнения ШИМ-сигнала по синусоиде. Но это будут четвертушки синусоиды.
5. Вот добрались и до третьего счётчика. Оказывается, в каждом цикле первого счётчика надо проверять состояние не только второго, но и третьего. Если состояние третьего - 0, то значения из таблицы синусов надо брать по нарастающей, как описано в п.4, а если там 1, то по спадающей: не от 1 до 9, а от 9 до 1. Так получим спадающую часть синусоиды.
6. Ну и последнее: добавляем ещё один выход на МК. Первый управлял силовыми транзисторами, формирующими положительную часть синусоиды (теми, которые питаются от источника положительного напряжения), а добавленный второй - теми, которые формируют отрицательную, и питаются от источника отрицательного напряжения. А также добавляем четвёртый счётчик, который будет считать циклы третьего, он тоже должен считать до 2 и каждый раз по окончании счёта по его сигналу вывод ШИМ с формирователя должен по очереди перенаправляться то на первый выход, то на второй. Таким способом мы получаем полную 2-полярную синусоиду.
Если нам захочется менять выходную частоту синусоиды, нам надо при запуске первого счётчика ввести туда другой исходный интервал счёта - не 1389 мкс, а какой нужно. Это можно делать и "на ходу", если для этого будет предусмотрена специальная подпрограмма.
Если нам нужно запускать 3-фазный мотор, то у МК придётся предусмотреть ещё 4 выхода, на которые подавать ШИМ, сдвинутый по фазе на 120 и 240 градусов (это несложно, но потребует ещё одного счётчика).
Вот как-то приблизительно так. И надо иметь ввиду, что все эти программы на просторах интернета можно найти уже в готовом виде.