Подскажите код для Attiny
- Войдите на сайт для отправки комментариев
Ср, 28/10/2020 - 23:49
Привет всем.
Хочу сделать преобразователь на attiny. SPI-PWM для сервы.
нашел примеры с управлением сервоприводов:https://paromanie.webnode.cz/elektrika-elektronika/attiny85/
Подскажите пожалуйста, можно ли дописать код, чтобы управлять сервой по SPI?
можно,через интерпритатор спи-серва(в железе)
т.е.?
Подскажите пожалуйста, можно ли дописать код, чтобы управлять сервой по SPI?
Наверное можно. Желательно было бы узнать что конкретно подразумевается под "управлять по SPI" ?
не посмотрел вашу ссылку,можно на асме и в других компилерах. ищите в инете,и в среде ардуино - нет!
Управление сервоприводами по принципу управления светодиодной адресной лентой.
Как я это вижу: взять к примеру attiny85 или attiny13, написать к нему код как ведомому устройству, управляющим одним сервоприводом, и выстроить серию таких контроллеров в цепочку.
То что attiny может управлять сервой я понял, а хватит ли ей памяти для кода, чтобы управлять сервой ведущим устройством по SPI, есть сомнения.
Тема ̶с̶и̶с̶е̶к̶ ̶ управления по SPI так и не раскрыта. Какие команды по какому протоколу и с какой частотой должны передаваться?
К примеру
адресная светодиодная лента управляется по spi.
Т.е.у каждого цвета на каждом светодиоде есть адрес и диапазон яркости свечения от 0 до максимального свечения
теперь в этой схеме заменяем светодиоды на сервомашинки-протокол тот же
только по spi изменяется не яркость свечения а угол поворота сервомашинки от 0 до 180 град. Или больше в зависимости от сервы
Я конечно могу использовать цепочку из pca9685
Но мне интересно справится ли с этой задачей attiny
И плюс в этом случае будет не важно что я подключу к ведущему устройству
адресную ленту или цепочку из сервомашинок
Тема ̶с̶и̶с̶е̶к̶ ̶ управления по SPI так и не раскрыта. Какие команды по какому протоколу и с какой частотой должны передаваться?
800 - 2400по стандарту от 1000 до 2000, а тинька должна будет сформировать шим с длительностью от 1000 до 2000 мксекНо мне интересно справится ли с этой задачей attiny
Может справится, а может и нет. Пока задача толком не сформулирована.
Это примерно как - "справятся ли жигули с задачей перевозки груза?"
Все зависит от того какой груз, в каком размере, на какую дальность и с какой скоростью.
Справится, только это мазохизм какой-то - тянуть 4 сигнальных провода вместо 1.
Если полностью эмулировать протокол АРА102 то памяти у Аттини85 хватит за глаза. Вопрос в бытродействии. Аппаратный SPI у него 1 поэтому второй нужно будет делать софтовый.
Но вот нафиг нужно 32 бита передавать для сервы?
я бы еще спросил, почему ТС называет это SPI
Но мне интересно справится ли с этой задачей attiny
думаю да. Но только вы понимаете, что придется ставить по тиньке на каждую серву? С учетом того, что серв у вас сотни - это прилично скажется на цене, тиньки дорогие.
Лучше взять что-нить из разряда СТМ8 - они стоят в разы меньше, плюс к одному МК можно будет подключить, наверно, до десятка серв
Или даже банальную атмегу48 или 88 - они дешевле тинек и имеют больше ног
Лучше взять что-нить из разряда СТМ8
Ты сам-то программировал stm8, советчик?
Ты сам-то программировал stm8, советчик?
да, приходилось пару раз. Драйвер шаговика писал на таймерах, передатчик на HC-12
Не вижу, почему бы СТМ не справится с этой задачей, периферия у нее более богатая, чем на тини. Но может чего особого не знаю - с удовльствием послушаю
Человек, спрашивающий такие вопросы на форуме, с stm8 не справится никогда.
передатчик на HC-12
На чём писал? Ide, имеется ввиду для 8-ки.
На чём писал? Ide, имеется ввиду для 8-ки.
пробовал IAR, Keil и STMDevelop. Остановился на ИАРе
Человек, спрашивающий такие вопросы на форуме, с stm8 не справится никогда.
судя по вопросам... он может и с тини не справится. Но всегда может заказать. Я так понял, что у него проект серьезный, сотни сервочек
Добрый день
Я не так чтобы круто разбираюсь в микроконтроллерах, все как то по наитию догоняю.
Для друзей так я вообще гений электроники, потому что знаю слово ардуино
поэтому могу немного путать терминологию
вначале я вообще хотел делитель частоты припаять к чипу ws2811-просто тупо уменьшить частоту импульсов шим выходящих с чипа
но меня как то отговорили. Можно конечно использовать цепочку из PCA9685 модулей (на каждый повесить по 16 машинок) и в качестве ведущего устройства взять uno например и написать код преобразования spi - pwm.
почему spi?. потому что все это дело прицепится к dmx-spi контроллеру, на котором сейчас ленты висят.
А сейчас родилась мысль что можно такую задачу в attiny впихнуть
и да на каждую серву по тиньке, зато можно выстраивать цепочки почти любой длинны, и каждую серву по отдельности
в принципе можно и CTM8 но для меня это совсем перебор
по скорости отрабатывания сигналов, да, скорость не особо важна, поскольку сервы достаточно медлительные по сравнению со светодиодами.
вопрос у меня как бы принципиальный. просто есть много серв и контроллер dmx-spi, и есть чем все это управлять(да, кстати это все управляется в рилтайме). сейчас взял PCA9685-буду баловаться
может коряво чего написал-как смог:)))
вопрос у меня как бы принципиальный. просто есть много серв и контроллер dmx-spi, и есть чем все это управлять(да, кстати это все управляется в рилтайме). сейчас взял PCA9685-буду баловаться
под PCA9685 вам все равно придется конвертер писать, напрямую "spi для ленты" с этим модулем не заработает.
Если про стм8 ничего не знаете - забудьте. Это вариант для тех, кто уже освоил микроконтроллеры на уровне прямого обращения, а не через ардуино. Ну и если вы ни с каким МК напрямую не работали - написать подобное - что для уно, что для тини -задачка не на пару дней. Готовтесь потратить месяцы...
1 серво на 1 мк это жирно. Ничто не мешает сделать каскадируемые модули на десяток моторов каждый. Тупо 328. Пытаться что-то там оптимизировать по цене не имеет смысла - с сотней моторов выиграешь 1000р, дай бог. Не стоит потраченного времени.
Каскадировать проще по uart, если всё равно берется микроконтроллер.
1 серво на 1 мк это жирно. Ничто не мешает сделать каскадируемые модули на десяток моторов каждый. Тупо 328. Пытаться что-то там оптимизировать по цене не имеет смысла - с сотней моторов выиграешь 1000р, дай бог. Не стоит потраченного времени.
Каскадировать проще по uart, если всё равно берется микроконтроллер.
это как посмотреть, если глянуть цены на цифровые, а не аналоговые сервы, то очень даже может нормально получится, меня только один вопрос смущает, на какое расстояние ТС собрался передавать данные
К примеру 500 серв с шагом в 500 мм
по spi это же один провод получается и плюс блоки питания тоже с некоторым шагом
по крайней мере так с лентой получается
по spi это же один провод получается и плюс блоки питания тоже с некоторым шагом
один никак, минимум два, Data и GND
500 точек через пол-метра = 250м ? И что, лента работает на такой линии?
по spi это же один провод получается и плюс блоки питания тоже с некоторым шагом
SPI это ЧЕТЫРЕ сигнальных провода. MOSI, MISO, SCK, SS. Что ты там придумал - хз.
как то так и работает
https://www.youtube.com/watch?v=Xr-ePTfjWF0
правда это работает на низких частотах, для лент ws2812
для высокочастотных лент еще SCK понадобится типа SK9822
если я где то ошибся-прошу меня поправить
если я где то ошибся-прошу меня поправить
ошиблись в том, что хоть ваш контроллер и называется dmx-spi. на самом деле это совсем не тот SPI, который используется в ардуино. Это два разных протокола и девайсы, рассчитанные на один из них - на другом работать не будут.