Покритикуйте код. Обмен опытом.

Обсуждаем контроллеры компании Atmel.
Ответить
Вымогатель припоя
Аватара пользователя
Сообщения: 535
Зарегистрирован: Вт авг 28, 2012 22:21:33

Сообщение menzoda »

Привет котаны. Я вот тут сижу и думаю. У меня на работе только два программиста, один из которых собственно я. Друзей программистов у меня нету. То есть обмениваться опытом (в живую) я могу только с одним человеком, а это, на мой взгляд, очень мало. Да, конечно есть всякие статьи в интернете, те же книжки, иногда они даже помогают, но это все не сравнится с общением с другим специалистом в этой области.

А еще у меня есть такая болезнь: когда мне надо реализовать что-нибудь, у меня сразу возникает куча идей, как это сделать, но вот беда - мне очень трудно выбрать какую-то одну идею и довести ее до конца. То одно не нравится, то другое, то кажется слишком сложным, то слишком простым. Если бы у меня была куча знакомых программистов, то я бы им это дело показал, и один из них наверняка бы сказал - "Эй, чувак, я уже ловил эти грабли, тут надо делать вот так" - и указал бы мне на самый оптимальный путь. Еще можно самому опробовать все варианты и выбрать идеальный, но так ведь и всей жизни не хватит - щупать каждый вариант.

Но ведь есть же котаны! Бинго! Правда я уже пытался раньше задавать подобные вопросы, ну типа "а как вы бы сделали то-то", но чего-то не пошло. Как-будто мне тут одному интересно обсуждать разные способы решения задачи и их плюсы-минусы. А другим - лишь бы работало, коряво, не коряво, оптимально, не оптимально - плевать, и даже не интересно, как это можно сделать лучше. Но может это было из-за отсутствия какого-то реального кода, который был бы некой отправной точкой? Ну так я его вам дам.

В общем, забудьте то, что я там выше наплел, есть проэкт Ха! Как я вас обманул! Я знаю, что "проект" пишется через "е", и меня просто выворачивает, когда я вижу этот "проэкт" по управлению однофазным асинхронным двигателем. Вот вам несколько полностью рабочих исходников. Интересно услышать мнение других, может что-то можно улучшить, сделать проще, понятнее.


acim.c
tacho.c
pwm.c
Там еще кое-что есть, но оно пока не доделано.

EDIT
Протеусом не пользуюсь. За железо тоже не я отвечаю, я здесь только программист. Кое-какие алгоритмы отлаживаю в матлабе или симулинке, но это так, по-быстрому чисто для себя. Вот. Но могу приложить побольше файлов, а точнее Keil'овский проект. Управление хреновиной будет происходить по уарту, но с этим пока еще не все ясно, поэтому связанные с этим файлы как-бы черновые прикидки и валяются в проекте просто так. Еще не реализовано несколько защит.
Project.zip

Позже будет проект немного другого устройства, уже с самостоятельной индикацией и управлением (а этот как-бы просто драйвер двигателя, которым командуют по уарту), его тоже выложу, тогда уже будет поинтереснее.
Последний раз редактировалось menzoda Вс май 12, 2013 22:42:37, всего редактировалось 3 раза.
Реклама
uni
Встал на лапы
Аватара пользователя
Сообщения: 137
Зарегистрирован: Пт дек 07, 2007 11:17:40
Откуда: г. Екатеринбург

Сообщение uni »

Я тоже как-то делал, делал, да не доделал схемку и прошивку по управлению движком (правда фазовое управление). Когда я показывал это народу, то приложил несколько больше материала: Шаблоны проектов на C++ для AVR [GCC, IAR]

Вы не могли бы оформить это примерно таким же образом? Схема в Proteus, осциллограммы работы при участии вашего кода. Когда ты можешь потрогать это живьём, то смотрится гораздо лучше. Пока можно сказать, что код оформлен однообразно, читать уже легче.
Россия навсегда!
Контактная информация:
Реклама
Вымогатель припоя
Аватара пользователя
Сообщения: 535
Зарегистрирован: Вт авг 28, 2012 22:21:33

Сообщение menzoda »

Да, стараюсь делать все однообразно. Считаю, что это очень важно.
Ответить

Вернуться в «AVR»