Переписать прошивку под другой контроллер
Вечер добрый.
Есть схема регулятора под speed 400, на at90s2343, нужно передалть ее под attiny2313, может кто поможет?P.S. схема не моя и с автором связаться никак.
P.P.S. или может кто поделится исходником на С под tiny2313, для управления коллекторным движком класса 400?
заранее спасибо.
рег под tiny2313(прошивка Матвеева в рекламе ненуждается),
а Си получите загрузив и тд…асм в Flowcode(если схавает)
рег под tiny2313(прошивка Матвеева в рекламе ненуждается), а Си получите загрузив и тд…асм в Flowcode(если схавает)
скачал, грузанул… не схавал…
гм, схема в Протеусе делана 😃 прикольно…
тогда может кто-нить ткнет носом в алгоритм работы регулятора(как считывается сигнал с ножек, как его обрабатывать и формировать управляющий сигнал), как организовать ВЕС, отсечку и т.д.
Немного не по теме, но происходит всё примерно так (как сам делал для Mega8).
- нужно 2 таймера для правильной работы.
задача первого - считать длительность импульсов на INT0 - ставим на него прерывание в режиме Any-change.
в этом прерывании считываем таймер, обнуляем его, смотрим, что на ножке - если там ноль => импульс кончился => вычисляем значение PWM и заносим в регистр.
второй таймер отдан на PWM.
2 таймера нужны для того, чтобы не делать PWM программно, т. к. если единственный таймер отдать на PWM - у него частоты не хватит для отсчёта длительности импульсов, а если его частоту сделать достаточной, то на выходе PWM будет уже не меандр ( ёмкость его сгладит ) - а уже нечто похожее на синусойду - тут ключи и будут греться.
ЗЫ. По этой прошивке ничего сказать не могу т.к. в ассемблере я НОЛЬ.
Не пинайте сильно, если чё не так сказал. Но критика полезна.
Вечер добрый.
Есть схема регулятора под speed 400, на at90s2343, нужно передалть ее под attiny2313, может кто поможет?P.S. схема не моя и с автором связаться никак.
P.P.S. или может кто поделится исходником на С под tiny2313, для управления коллекторным движком класса 400?
заранее спасибо.
Исходники автор всем любезно высылал.
У этого рега шим(120Гц) зависит от питания тиньки(2,7в),
попробовал в кодвижине(поменял инклюду и визард на тини2313) перекомпилировать под тини2313 и
получилось только с исходника тини22,а с 2343 выдает кучу ошибок ,
фузы придется понипрогом заносить(тактовый-1мгц,собаку откл.)
,а вообще тини2313 легко фузами запарывается (можно потерять проц загнав его
в отладку или закрыв сброс и последовательное програмирование,кому надо-калькулятор фузов в архиве,на русском можно скачать книгу Белов все о тини2313 и переведеный
даташит г.Шахты ЮРГУЭС Магистратура Конев Д.Н. iprito@mail.ru
по идее на тини2313 должен работать на на теже порты что и тини22?
Вот кто бы типа Сергея Потупчика или он сам рассказали бы хоть в кратце
алгоритм -как все в проце для рега работает?
Всех с НАСТУПАЮЩИМ!!!
Ну вообще то стандартная замена должна быть на ATTiny25, нафига Вам столько ног, взгляните документик от Атмела по переходу с 2343 на Тиньку25 www.atmel.com/dyn/resources/…/doc2594.pdf
и изучайте лучше Си а не картинки в флаукоде 😉
А лучше читайте сразу doc2586.pdf - он про ATiny25/45/85 - идентичные по набору команд и возможностям МК.
Присоединяюсь к PigTail - учите лучше Си. Каждый уважающий себя матёрый программист со мной согласиться ( надеюсь на это ).
Свой рег, не зная почти ничего о МК, сделал за неделю!!!
Пользовался своими знаниями С и проги вообще + материалы с avr123.nm.ru (ЭТО НЕ РЕКЛАМА - ПРОСТО ВСЕГО ПОНЕМНОГУ В ОДОМ МЕСТЕ.)
Глянул я предоставленный исходник - впринципе в #15 посте я также написал алгоритм, просто у меня больше проверок, более нагружена логика и программный шим, что советую и вам сделать. Для этого исходника это сделать легко.
А насчёт отсечки - все тут маются со всякими резисторами, подбирают их(причём долго.)
Мне кажется, что всё это фигня, если под рукой есть нормальный стабилизированный источник напруги и тестор (если чел делает рег - то всё это есть).
В режиме настройки параметров регулятора (изза его отсутствия этот рег влезает в 2 кб. в этом же режиме обычно настраивают отклонения газа и т.п.) делается такая фишка - рег подключают к источнику, выставляют напряжение отсечки, потом рег сам измеряет это напряжение и заносит его в свои мозги - и теперь отсечка будет при этом напряжении. По моему просто и гениально одновременно.
просто и гениально одновременно
еще проще и “гениальнее” будет подключить переменный резистор на вход, добиться нужной отсечки, и впаять вместо него связку постоянных с тем же суммарным сопротивлением
Вот именно перепаивание мне и не нравиться.От нагревания сопротивление изменяется, а дорожки тоже не вечные.
Кноечно мой подход летит, если планируется использовать рег с разными акками - 2, 3 банки, или требовать от него автоопределения акка.
Зато большой плюс - НИКАКОГО СПЕЦИАЛЬНОГО подбора резисторов - просто нужно поставить 2 резистора в дельтель так, чтобы вход ADC не спалить - у меня это 1к и 4к7.
Если хотите рег из представленной прошивки делать, то оттуда нужно ещё выкинуть декодер.
Кноечно мой подход летит, если планируется использовать рег с разными акками - 2, 3 банки, или требовать от него автоопределения акка.
А почему бы Вам не сделать калибровку при известном значении (как у Вас и сделано, только максимальном V), а потом не пересчитать коэффициэнт для напряжения на другие пороги? Что мешает?
Верно подмечено!!! Зависимость будет почти линейная - должно сработать.
Тогда можно сразу ставить и автомат по определению подключенного аккумулятора и никаких утомительных подборок резисторов !!!
Единтвенное НО: чтобы пересчитать коэффициет нужно, чтобы рег знал, какое напряжение соотвецтвует полученному из ADC значению => калибровку нужно проводить 2 раза отдельно для Li-po и NiCd/NiMh (хотя это тоже терпимо).
Я хотел добиться того, что регу было начихать на реальность. Опустилось до измеренного значения - отключайся, а какое оно на самом деле ему всё равно.