Перейти к содержанию

Принципиальная схема и исходный код для AVR


Рекомендуемые сообщения

Требуется помощь в реализации некого микроконтроллера+ написания кода прошивки на с++.

Контроллер будет работать на ATMEGA128A

Требуется принципиальная схема некоторой части функционала, а именно:

1. Управление LED лентой суммарный ток потребление ленты 7А, напряжение питания -12в. Нужно подобрать mosfet(N-канал) и обвзяку, привести пример кода для управление ШИМ. Находил тут примеры контроллеров для управление лентой, но у меня почему-то шим больше 5В не получился.

2. Управление 16 двигателями 12В(0.15А каждый ), управление через ШИМ. Но не отдельно для каждого двигателя, а по 8. Т.е. 1 шим-канал на 8 двигателей. Я так понимаю что для этого можно будет использовать 1 шим контроллера+ сдвиговый регистр на 8 портов. Двигатели одновременно не будут работать. Будут подключаться по-очереди. Тоже нужен подбор компонентов, схема подключения, пример кода на си++

3. Аналоговое чтение, 16 каналов принципиальная схема подключения(я так понимаю что там только токоорграничивающий резистр и конденсатор к земле)+ пример кода для чтения из канала(аналог функции analogRead() в ардуино)

4. Схема обвязки микроконтроллера не нужна- она типовая, есть у меня.

 

отвечу на вопросы. Напишите кто готов сделать, сроки и цену.

 

 

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

54 минуты назад, star_ok сказал:

пример кода для управление ШИМ

Так все стандартно, тем более что вы запускали ШИМ, судя по написанному.

 

55 минут назад, star_ok сказал:

шим больше 5В не получился

МК и не должен давать сигналы больше 5В. Подключите транзисторный ключ и все.

 

56 минут назад, star_ok сказал:

сдвиговый регистр на 8 портов

Совершенно не обязательно, достаточно вывести 2 канала ШИМ и все. Либо переключать управляющие транзисторы. Тем более общее количество каналов ШИМ получается всего 3.

 

58 минут назад, star_ok сказал:

Аналоговое чтение

Чтение чего и зачем?

 

58 минут назад, star_ok сказал:

16 каналов принципиальная схема подключени

А вот тут уже нужен мультиплексор, т.к. аналоговых входов у МК только 8 штук.

 

59 минут назад, star_ok сказал:

написания кода прошивки на с++.

На Си, никакого C++.

 

1 час назад, star_ok сказал:

Напишите кто готов сделать

Может для начала нормальное ТЗ сформировать? Все вышеперечисленное неспеша делается в течении часа, параллельно с чтением даташита.

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

22 минуты назад, BARS_ сказал:

Так все стандартно, тем более что вы запускали ШИМ, судя по написанному.

 

Я запускал на ардуино, а мне нужно на си++. DigitalWrite() несколько проще.

Аналоговое чтение- аналоговые датчики с которых нужно считать значение от 0 или 1024(на ардуино в analogRead() оно возвращает в этом диапазоне)

Подскажите чего мне не хватает чтобы оформить ТЗ понятное.

 

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Да какой С++? Там Си!!! Что такое аналоговые датчики? Какое у них напряжение на выходе? Не бывает выхода 0-1023. А нехватает понимания того, что должно быть в итоге.

Ссылка на комментарий
Поделиться на другие сайты

фотодатчик 5В - цепляю его к аналоговому входу ардуино,читаю функцией analogRead() получаю значение от 0 до 1023. Таких будет 16шт. 

 

В итоге мне нужно управлять светодиодной лентой, крутить 16 двигателей через шим, и считывать значение из 16 фотодатчиков.

Изменено пользователем star_ok
Ссылка на комментарий
Поделиться на другие сайты

14 часа назад, BARS_ сказал:

Да какой С++? Там Си!!!

Где "там"? Ардуино - это С++ во всей его грубой красоте :)

Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Ссылка на комментарий
Поделиться на другие сайты

Только что, BARS_ сказал:

Так автор же хочет уйти от ардуино, а это Си)

Автор конкретно изложил, что он хочет, без недомолвок, подлежащих додумыванию:

16 часов назад, star_ok сказал:

Требуется помощь в реализации некого микроконтроллера+ написания кода прошивки на с++

Желание уйти от ардуино лично мне видится в отказе от готовой аппаратной платформы Ардуино с ограничениями на доступные порты и т.п.

Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Ссылка на комментарий
Поделиться на другие сайты

Тогда вообще не пойму в чем проблема. Пусть просто возьмёт и зальет ардуиновский код в свой мк. Но опять же, он пишет, что ему не надо дуина, а надо с++. Похоже он сам ни знает, чего ему надо.

Ссылка на комментарий
Поделиться на другие сайты

Интересно как он шим передавать собрался через сдвиговые регистры? Ладно если через мультиплексор 8 канальный, а точнее через 2И  логику

Ссылка на комментарий
Поделиться на другие сайты

Тут правильно описали хотелки мои. Я не хочу использовать ардуино, хочу использовать отдельно микроконтроллер ATmega, модель 128 выбрал потому как мне нужно 3 аппаратных прерывания. я пытался использовать скетч ардуино для заливки в МК. Инструкция для 128 атмеги в инете в итоге 1- остальное перепосты, да, мигать светодидом получилось, но нумерация ножек вообде не совпадает с описаной, и прерывание от кнопки тоже не заработало. Решил что лучше это сделать на си(я не знаю ++ там или нет- мне без разницы, главное что не асемблер). Попутно решил что нужно привлечь грамотного человека чтобы решить не только программную проблему, но и аппаратную. Фотодатчики будут опрашиваться по запросу от кнопок или прерываний- не чаще раза в минуту я думаю, + не более 2шт за раз. Поэтому проблем с производительностью не будет. Двигатели тоже максимум 2 шт за раз будут работать. секунд 5. По поводу мосфетов для двигателей, желательно использовать миниатюрные корпуса, типа sot23( у двигателя ток не большой)- я пробовал управлять ими без шим с ноги ардуино через IRLML00030 - прекрасно работали, коммутировал землю, чтобы обойтись без допоплнительного полевика. Фотодатчики- чтобы не горели постоянно тоже включал P-канальным мосфетом IRLML2244 вроде перед тем как с читать с них значение, после считывание - питание выключал. Транзисторы достаточно мощные стоят по 6 руб. Причем при помощи IrLML2244 я коммутировал нагрузку 2А он кончно грелся до 60-70 градусов, так как не мог своим миниатюрным корпусом все рассеять, но работал стабильно.

Мне хотелось бы что-бы кто-то нарисовал мне принципиальную схему для тех хотелок что я писал выше, остальное мне понятно, подобрал элементную базу по минимальной цене и в минимальном корпусе, написал код на си(примеры реализации нужного мне функционала), разсказал какой программой мне его скомпилить, какие фьюзы поставить для заливки в atmega128a. Собственно все. 

Всю логику программы, изготовление платы, монтаж- я сделаю сам- опыт есть.

19 минут назад, Mishany сказал:

Интересно как он шим передавать собрался через сдвиговые регистры? Ладно если через мультиплексор 8 канальный, а точнее через 2И  логику

я конечно не проверял, но вот тут http://arduino.ru/forum/apparatnye-voprosy/sdvigovye-registry-i-shim пишут что вот так :

Если нужен 1 ШИМ на все ноги регистра, то можно извернуться достаточно просто - взять ногу с ШИМом и подклють ее к выводу OE (выбор, включение выходов...) регистра. Тогда все ноги регистра будут переходить в высокоомное состояние вместе с ШИМом на выбранной ноге контроллера. Если же нужны независимые ШИМы, то придется организовывать ШИМ программно в буфере и при каждом изменении любого бита буфера "выплевывать" этот буфер через SPI во внешний регистр. Процентов 50 вычислительных ресурсов процессора убъете гарантировано! Еще сильно зависит от частоты ШИМа. Если занизить, то проц разгрузится, но управлять можно будет только нагревателями :)

 

А мне как раз и достаточно что все 8 двигателей будут на одной частоте шима, просто включаться по раздельности.

По поводу частоты шима, то мне по факту нужна возможность программно уменьшить скорость двигателей за счет снижения напряжения на них с 12 до 11-10-9 Вольт

Изменено пользователем star_ok
Ссылка на комментарий
Поделиться на другие сайты

Озвучьте вознаграждение за предлагаемую работу.

Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Ссылка на комментарий
Поделиться на другие сайты

Предлагайте ваши цены и сроки, я выберу. Пока были предложения уровня 2-3тыс руб. Предоплата будет.

Изменено пользователем star_ok
Ссылка на комментарий
Поделиться на другие сайты

1 час назад, star_ok сказал:

Всю логику программы

А что вы тогда просите? С ардуино же умеете работать, в чем сложность с написанием кода тогда? Прямо в Arduino IDE и пишите.

 

1 час назад, star_ok сказал:

А мне как раз и достаточно что все 8 двигателей будут на одной частоте шима, просто включаться по раздельности.

Выше была речь, что все 8 двигателей работают одновременно от одного ШИМ. И их две группы. Вы уж определитесь, независимое управление каждым двигателем или же управление сразу всей группой от одного канала. Если 8 двигателей одновременно работают от одного канала ШИМ, то никаких сдвиговых регистров и прочей ереси там не надо.

Вы лучше подумайте, как часто вам надо аналоговые датчики опрашивать, ведь каналов АЦП 8, а датчиков 16. Плюс учтите, что с каждого датчика надо сделать несколько замеров и провести хотя бы простейшее усреднение. 

Ссылка на комментарий
Поделиться на другие сайты

24 минуты назад, star_ok сказал:

Пока были предложения уровня 2-3тыс руб.

Мои расценки выше.

Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Ссылка на комментарий
Поделиться на другие сайты

7 часов назад, star_ok сказал:

Интересно как он шим передавать собрался через сдвиговые регистры? Ладно если через мультиплексор 8 канальный, а точнее через 2И  логику

очень просто это реализовывается. делал управление светодиодами на маленькой тиньке 13. как то так.

 

qqq 122.jpg

Ссылка на комментарий
Поделиться на другие сайты

5 часов назад, ARV сказал:

Мои расценки выше.

это не проблема, деньги не основной фактор. Напишите в личку вашу цену пожалуйста.

6 часов назад, BARS_ сказал:

А что вы тогда просите? С ардуино же умеете работать, в чем сложность с написанием кода тогда? Прямо в Arduino IDE и пишите.

Проблема в том, что нет плат ардуино на микроконтрллере atmega128. Добавить плату в IDE можно, добавил, но удалось только поморгать ножкой, прерывания уже не работали, шим не проверял.

6 часов назад, BARS_ сказал:

Выше была речь, что все 8 двигателей работают одновременно от одного ШИМ. И их две группы. Вы уж определитесь, независимое управление каждым двигателем или же управление сразу всей группой от одного канала. Если 8 двигателей одновременно работают от одного канала ШИМ, то никаких сдвиговых регистров и прочей ереси там не надо.

Возможно я не правильно понял схему работы сдвигового регистра+ шим, но я понял что на ножку влкючения регистра можно подать шим, задав скважность которая выдаст нужное напряжение на всех 8 ножках, а потом передав биты- включить 1 из 8 ножек. Меня именно такая схема устроит, двигатели16 шт должны включаться раздельно, но напряжение на них через шим достаточно выставлять на 2 группы по 8 шт, т.е. на одну группу выставил 11В, на другую 10В, но включаться раздельно

6 часов назад, BARS_ сказал:

Вы лучше подумайте, как часто вам надо аналоговые датчики опрашивать, ведь каналов АЦП 8, а датчиков 16. Плюс учтите, что с каждого датчика надо сделать несколько замеров и провести хотя бы простейшее усреднение. 

Опрашиваться за 1 раз будут 1-2 датчика, опрашиваться будут в течении до 10сек максимум. Во время считыванию любых 2 датчиков, остальные просто будут выключены, через некоторое время исходя из логики программы я включу питание на любых других 1-2 датчиках, 10 сек буду считывать данные, ожидая изменения данных (0->1 или 1->0 например)

Ссылка на комментарий
Поделиться на другие сайты

13 часа назад, star_ok сказал:

двигатели16 шт должны включаться раздельно

Т.е. все таки управление каждым двигателем должно быть независимо?

Ссылка на комментарий
Поделиться на другие сайты

смогу реализовать шим и передать через сдвиговый регистр, да и все остальное то же смогу выполнить. пишите плиз в личку если не найдете исполнителя.

с уважением...

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...