Декодер ШИМ на Atmel AVR
t
timsa™
сто один :-)
во вторник допаяю JTAG ICE и, надеюсь, поставлю жирную точку в теме :-)
во вторник допаяю JTAG ICE и, надеюсь, поставлю жирную точку в теме :-)
t
timsa™
урааа, JTAG ICE работает!
х
0хCB
а наффиг он тут?
t
timsa™
а наффиг он тут?
потому что программа при пошаговой отладке работает идеально, а в железе не работает никак (ну кроме банального мигания лампочками).
никаких явных ошибок не выявлено, вариантов решения тоже особо нет.
пришлось немного отступить в сторону, сделать отладчик, дабы заглянуть в кремниевые кишки атмеги и понять что же я делаю не так.
ввиду того что опыта работы с микроконтроллерами у меня по сути нет, я все свои "изыскания" пишу в этой теме, да извинят меня матерые зубры электронщики.
если все заработает и получится - выложу схемы, исходники и фотки. мало ли кому такое же понадобится.
p.s. я завел все три сигнала через диоды на вход осциллографа - между импульсами просадки до лог "0" нет (недостаточная). тогда я повесил на сигнал нагрузку в ~1кОм и в принципе получил то что хотел - сигнал просаживается до нуля между импульсами и я могу завести его на ICP. но я боюсь так нагружать источник сигнала, он как бы не ожидает такой подляны от меня и может сдохнуть.
p.p.s. вообще у меня есть более серьезная задача. но я за нее не берусь пока не смогу решить эту.
я завел все три сигнала через диоды на вход осциллографа
тогда я повесил на сигнал нагрузку в ~1кОм и в принципе получил то что хотел
любые входы в воздухе бросать нельзя. что вход микросхемы...что переход база-эмиттер транзистора... мне еще в 6 лет такое объясняли. нагрузки-то нету. мегаомы входа осца?
нужны обязательные подтяжки.
но я боюсь так нагружать источник сигнала, он как бы не
ожидает такой подляны от меня и может сдохнуть.
источник сигнала не потянет при логических уровнях нагрузку в 1кОм? ну поставь 10кОм. главное - подтяни
х
0хCB
длительность просадки сколько? в микросекундах? мега длительности меньше чем Fclk не отловит. а 1ком вобщем то нормальная нагрузка.
t
timsa™
я может неправильно выразился.
есть приемник радиосигнала и есть исполнительное устройство (серводвигатель со своей схемой управления). первый выдает второму ШИМ.
я пытаюсь вклиниться между ними дабы тоже попользоваться этим сигналом (выполнить свои действия).
поправьте меня, но если я полезу туда с нагрузками и прочим, ни приемник, ни исполнительное устройство мне спасибо не скажут.
есть приемник радиосигнала и есть исполнительное устройство (серводвигатель со своей схемой управления). первый выдает второму ШИМ.
я пытаюсь вклиниться между ними дабы тоже попользоваться этим сигналом (выполнить свои действия).
поправьте меня, но если я полезу туда с нагрузками и прочим, ни приемник, ни исполнительное устройство мне спасибо не скажут.
х
0хCB
а что, серва нагрузку не создает? теже килоомы вобщем то и висят.
ps про длительность просадки до ноля таки очень хочется услышать цифири :-)
t
timsa™
длительность просадки до ноля
визуально - ширина луча осциллографа. я просто сопротивлением добился чтоб он коснулся нуля.
серва цифровая и я полагаю что да, не создает. и более того не факт что будет работать если я вот так амплитуду сигнала на вольт опущу.
не проверял пока.
поправьте меня, но если я полезу туда с нагрузками и прочим, ни приемник, ни исполнительное устройство мне спасибо не скажут.
килоом нагрузки в любой цифровой шине хуже не сделает
t
timsa™
только что прогнал отладчиком. есть первый результаты.
определение дефолтных цифр работает и работает верно!
более того, полученная дискретизация очень даже велика - в 1,5мс счетчик успевает досчитать до ~800.
таким образом всю ширину импульса будет описывать цифра от ~530 до ~1070.
забыл пульт, не могу подвигать ШИМ. вечером доделаю :-)
определение дефолтных цифр работает и работает верно!
более того, полученная дискретизация очень даже велика - в 1,5мс счетчик успевает досчитать до ~800.
таким образом всю ширину импульса будет описывать цифра от ~530 до ~1070.
забыл пульт, не могу подвигать ШИМ. вечером доделаю :-)
х
0хCB
а толку от этих дефолтных значений? сейчас в основном цикле то длительность выполнения другая :-)
2 микросекунды дискрет, це 16 тактов на 8мегерах. можно кстати утоптать до 8 тактов, тк на счетчик больше 16 бит не нужен
2 микросекунды дискрет, це 16 тактов на 8мегерах. можно кстати утоптать до 8 тактов, тк на счетчик больше 16 бит не нужен
t
timsa™
длительность выполнения другая
чуть чуть другая! можно сделать поправку на ветер.
для меня самое главное что оно вообще работает!
дальше проще - уровнять длину циклов, сделать выкидывание флагов, а зажигание лампочек убрать в прерывания по таймеру.
отладчик - вещь! он еще и шить умеет! :-)
х
0хCB
уровнять длину циклов
нафиг? заведи продпрограммы измерения длительности
Авторизуйтесь, чтобы принять участие в дискуссии.