Переписать прошивку под другой контроллер

kot34rus

2343 купить не реально уже, с тини22 тоже проблемы, поэтому решено было заменить на то что есть. и ещ забыл дописать - движок коллекторный серии 400. начал на си писать прошивку, но мозгов пока не хватает все освоить, поэтому прошу помощи спецов по авр(очень бы хотелось на си под кодвижнавр). заранее спасибо.

Andrej100
kot34rus:

2343 купить не реально уже, с тини22 тоже проблемы, поэтому решено было заменить на то что есть. и ещ забыл дописать - движок коллекторный серии 400. начал на си писать прошивку, но мозгов пока не хватает все освоить, поэтому прошу помощи спецов по авр(очень бы хотелось на си под кодвижнавр). заранее спасибо.

А чем не подходит с этого сайта на pic или вот отсюда 1 или 2 😒

kot34rus

из-за дефицита пиков и наличия практически халявных атмелов 😒

serj
kot34rus:

P.S. схема не моя и с автором связаться никак.
P.P.S. или может кто поделится исходником на С под tiny2313, для управления коллекторным движком класса 400?
заранее спасибо.

Ну почему же, связаться с автором очень даже как - вот он я 😃

Дело было 8 лет назад и исходники благополучно утеряны, (хотя есть некоторая вероятность найти их на компе у родителей)
Вообще-то это все уже весьма устарело- зачем вам исходники 8-летней давности ? 😃
Кстати, вроде у Андрюхи на сайте была выложена схема и прошивка (а может и исходник - писалось на асме) регулятора для тини12, вроде проц до сих пор выпускается…
Если найду- выложу.
Вообще, имхо, для коллекторного рега тини2313- слишком большой корпус, надо 8-лапый брать.

kot34rus

о, тогда как говорится здрасте 😃
схему эту нашел на каком-то сайте ***.народ.ру, и не в курсе что ей уже 8 лет.
про выбор мк я уже выше писал, как говорится из того что было… а исходник нужен чтоб самому можно было поколдовать и понять что к чему, просто понять не могу принцип работы и алгоритм проги в мк. нашел исходник у радиокота, но он очень тяжкий для понимания, да и логику понять сложно.

8 days later
Neman2000
kot34rus:

Вечер добрый.
Есть схема регулятора под speed 400, на at90s2343, нужно передалть ее под attiny2313, может кто поможет?

P.S. схема не моя и с автором связаться никак.
P.P.S. или может кто поделится исходником на С под tiny2313, для управления коллекторным движком класса 400?
заранее спасибо.

рег под tiny2313(прошивка Матвеева в рекламе ненуждается),
а Си получите загрузив и тд…асм в Flowcode(если схавает)

регулятор.rar

kot34rus
Neman2000:

рег под tiny2313(прошивка Матвеева в рекламе ненуждается), а Си получите загрузив и тд…асм в Flowcode(если схавает)

скачал, грузанул… не схавал…

Syberian

гм, схема в Протеусе делана 😃 прикольно…

kot34rus

тогда может кто-нить ткнет носом в алгоритм работы регулятора(как считывается сигнал с ножек, как его обрабатывать и формировать управляющий сигнал), как организовать ВЕС, отсечку и т.д.

Chekhov

Немного не по теме, но происходит всё примерно так (как сам делал для Mega8).

  1. нужно 2 таймера для правильной работы.
    задача первого - считать длительность импульсов на INT0 - ставим на него прерывание в режиме Any-change.
    в этом прерывании считываем таймер, обнуляем его, смотрим, что на ножке - если там ноль => импульс кончился => вычисляем значение PWM и заносим в регистр.
    второй таймер отдан на PWM.

2 таймера нужны для того, чтобы не делать PWM программно, т. к. если единственный таймер отдать на PWM - у него частоты не хватит для отсчёта длительности импульсов, а если его частоту сделать достаточной, то на выходе PWM будет уже не меандр ( ёмкость его сгладит ) - а уже нечто похожее на синусойду - тут ключи и будут греться.

ЗЫ. По этой прошивке ничего сказать не могу т.к. в ассемблере я НОЛЬ.

Не пинайте сильно, если чё не так сказал. Но критика полезна.

Neman2000
kot34rus:

Вечер добрый.
Есть схема регулятора под 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?
Вот кто бы типа Сергея Потупчика или он сам рассказали бы хоть в кратце
алгоритм -как все в проце для рега работает?

Всех с НАСТУПАЮЩИМ!!!

исходники.rar

PigTail

Ну вообще то стандартная замена должна быть на ATTiny25, нафига Вам столько ног, взгляните документик от Атмела по переходу с 2343 на Тиньку25 www.atmel.com/dyn/resources/…/doc2594.pdf
и изучайте лучше Си а не картинки в флаукоде 😉

Chekhov

А лучше читайте сразу doc2586.pdf - он про ATiny25/45/85 - идентичные по набору команд и возможностям МК.

Присоединяюсь к PigTail - учите лучше Си. Каждый уважающий себя матёрый программист со мной согласиться ( надеюсь на это ).
Свой рег, не зная почти ничего о МК, сделал за неделю!!!

Пользовался своими знаниями С и проги вообще + материалы с avr123.nm.ru (ЭТО НЕ РЕКЛАМА - ПРОСТО ВСЕГО ПОНЕМНОГУ В ОДОМ МЕСТЕ.)

Chekhov

Глянул я предоставленный исходник - впринципе в #15 посте я также написал алгоритм, просто у меня больше проверок, более нагружена логика и программный шим, что советую и вам сделать. Для этого исходника это сделать легко.

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

Syberian

просто и гениально одновременно

еще проще и “гениальнее” будет подключить переменный резистор на вход, добиться нужной отсечки, и впаять вместо него связку постоянных с тем же суммарным сопротивлением

Chekhov

Вот именно перепаивание мне и не нравиться.От нагревания сопротивление изменяется, а дорожки тоже не вечные.
Кноечно мой подход летит, если планируется использовать рег с разными акками - 2, 3 банки, или требовать от него автоопределения акка.
Зато большой плюс - НИКАКОГО СПЕЦИАЛЬНОГО подбора резисторов - просто нужно поставить 2 резистора в дельтель так, чтобы вход ADC не спалить - у меня это 1к и 4к7.

Если хотите рег из представленной прошивки делать, то оттуда нужно ещё выкинуть декодер.

AlexSr

Кноечно мой подход летит, если планируется использовать рег с разными акками - 2, 3 банки, или требовать от него автоопределения акка.

А почему бы Вам не сделать калибровку при известном значении (как у Вас и сделано, только максимальном V), а потом не пересчитать коэффициэнт для напряжения на другие пороги? Что мешает?

Chekhov

Верно подмечено!!! Зависимость будет почти линейная - должно сработать.
Тогда можно сразу ставить и автомат по определению подключенного аккумулятора и никаких утомительных подборок резисторов !!!

Единтвенное НО: чтобы пересчитать коэффициет нужно, чтобы рег знал, какое напряжение соотвецтвует полученному из ADC значению => калибровку нужно проводить 2 раза отдельно для Li-po и NiCd/NiMh (хотя это тоже терпимо).

Я хотел добиться того, что регу было начихать на реальность. Опустилось до измеренного значения - отключайся, а какое оно на самом деле ему всё равно.