реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Автоподстройка на скважности., На контроллере Тини-15.
Коляй
сообщение Oct 18 2007, 13:14
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 148
Регистрация: 27-04-06
Пользователь №: 16 558



Ребята, подскажите? Делаю автоподстройку нуля. А опыта мало совсем. Сигнал автоподстройки берётся с фильтра на ОУ, а на сам фильтр идёт прямоугольный сигнал с переменной скважностью, частотой 120-200 гц. Скважность меняется во времени уменьшаясь или увеличиваясь, в зависимости от состояния компаратора, который подключен к выходу усилителя на ОУ ( Ку-30), а на вход подается сигнал автоподстройки с фильтра, подмешанный к некоторому входному сигналу. Когда на выходе "0", сигнал близок к меандру. И т.д...
Как бы покрасивее всё это оформить програмно? Контроллер Тини-15, ИАР отказался с ним на СИ работать, придётся наверное Асм поднимать. Поделитесь пожалуйста кто что думает? Спасибо.
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Oct 18 2007, 16:43
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(Коляй @ Oct 18 2007, 16:14) *
Поделитесь пожалуйста кто что думает?

Я вот думаю, как бы здорово было поесть и выпить.
И пусть только кто меня обвинит в оффтопике!

Из описанного понял, что микроконтроллер притянут за уши. Шоб был!


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
Коляй
сообщение Oct 18 2007, 18:46
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 148
Регистрация: 27-04-06
Пользователь №: 16 558



Цитата(Dog Pawlowa @ Oct 18 2007, 20:43) *
Из описанного понял, что микроконтроллер притянут за уши. Шоб был!


А вы попробуйте повешайте интеграторов с резисторами по 20 Мом, вот тогда и скажете своё имхо!
Задача хитрая. Там в обычном режиме значение подстройки меняется примерно раз в секунду. При подаче питания большая скорость переходит на "раз в секунду" примерно за 5-8 секунд. Потом ещё если сигнал в плюс идёт, то "раз в секунду", если в минус - сначала быстро, с переходом на "раз в секунду" по экспоненте желательно. Так что ещё АЦП придётся задействовать. Изначально эта схема сделана на логике, но подстройка получается больше самого аппарата (по корпусам МС). Так что шоб был или не был позвольте уж мне решать.
И вобще вопрос не стоял про целесообразность применения МК. Чего флудить то?

Сообщение отредактировал Коляй - Oct 18 2007, 18:50
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Oct 19 2007, 07:20
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(Коляй @ Oct 18 2007, 21:46) *
...
И вобще вопрос не стоял про целесообразность применения МК. Чего флудить то?

Поверьте, у меня есть некоторый опыт применения и МК, и интеграторов в десятками мегаом, но я не понял, какой вопрос вообще стоял. И другие видимо тоже, раз не пишут ничего.
Обвинять во флуде единственного ответившего, конечно же, Ваше право, но стоит немного и призадуматься о качестве и внятности формулировки вопросов.
Успехов


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
sseett
сообщение Oct 19 2007, 07:28
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 165
Регистрация: 14-01-05
Из: РФ Приморский край (рег.25)
Пользователь №: 1 939



> Контроллер Тини-15, ИАР отказался с ним на СИ работать, придётся наверное Асм поднимать

Эту проблему решит Тини25-45-85
Go to the top of the page
 
+Quote Post
WHALE
сообщение Oct 19 2007, 07:50
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768



мона и на тини13,она дешевше.


--------------------
"Hello, word!" - 17 errors 56 warnings
Go to the top of the page
 
+Quote Post
add
сообщение Oct 19 2007, 08:13
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 345
Регистрация: 10-10-05
Пользователь №: 9 459



Цитата(Коляй @ Oct 18 2007, 17:14) *
Ребята, подскажите? Делаю автоподстройку нуля. А опыта мало совсем. Сигнал автоподстройки берётся с фильтра на ОУ, а на сам фильтр идёт прямоугольный сигнал с переменной скважностью, частотой 120-200 гц. Скважность меняется во времени уменьшаясь или увеличиваясь, в зависимости от состояния компаратора, который подключен к выходу усилителя на ОУ ( Ку-30), а на вход подается сигнал автоподстройки с фильтра, подмешанный к некоторому входному сигналу. Когда на выходе "0", сигнал близок к меандру. И т.д...
Как бы покрасивее всё это оформить програмно? Контроллер Тини-15, ИАР отказался с ним на СИ работать, придётся наверное Асм поднимать. Поделитесь пожалуйста кто что думает? Спасибо.

Чето вопрос правда не совсем понятен:-/ я так понимаю Вам необходимо анализировать входной сигнал с переменной скважностью, собственно определять скважность? и выводить (куда то?!) значение? так? Ну дык по прерываню с порта "смотрите" первый интервал, потом второй сравниваете, и вперед.. получаете отношение. Далее что угодно с ним и делайте. В чем собственно проблема? :-?


--------------------
Если задачу можно решить, то не надо тревожиться. А если нельзя решить, то тревожиться бесполезно.
Go to the top of the page
 
+Quote Post
Коляй
сообщение Oct 19 2007, 09:44
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 148
Регистрация: 27-04-06
Пользователь №: 16 558



Спасибо. Немного не так спросил. Необходимо наоборот регулировать скважность в импульсах частотой 120-200 гц. Нужно импульсы сделать что б скважность в широких пределах регулировалась одной переменной, хотя бы в 8 бит для начала. Хотелось бы спросить как пограмотнее сделать. Спасибо.
Go to the top of the page
 
+Quote Post
Maik-vs
сообщение Oct 19 2007, 10:00
Сообщение #9


Местный
***

Группа: Участник
Сообщений: 246
Регистрация: 4-12-06
Пользователь №: 23 101



Цитата(Коляй @ Oct 19 2007, 13:44) *
Спасибо. Немного не так спросил. Необходимо наоборот регулировать скважность в импульсах частотой 120-200 гц. Нужно импульсы сделать что б скважность в широких пределах регулировалась одной переменной, хотя бы в 8 бит для начала. Хотелось бы спросить как пограмотнее сделать. Спасибо.

Так ШИМом же. Счётчик таймера считает то 0 до 255. Его значение сравнивается с регистром сравнения (специально есть такой в таймере). Записали в регистр 127 - получили меандр, записали 1 - 1/256-ю преиода. Всё это происжодит независимо от процессора, нужно только организовать частоту счёта, вид сравнения и разрешить вывод на ногу процессора. В даташите всё подробненько описано; В TINY15 всё есть. А вот откуда возьмётся значение ШИМа? Вычислится из аналоговой величины рассогласования?
Go to the top of the page
 
+Quote Post
Коляй
сообщение Oct 19 2007, 13:25
Сообщение #10


Частый гость
**

Группа: Участник
Сообщений: 148
Регистрация: 27-04-06
Пользователь №: 16 558



Цитата(Maik-vs @ Oct 19 2007, 14:00) *
Так ШИМом же. Счётчик таймера считает то 0 до 255. Его значение сравнивается с регистром сравнения (специально есть такой в таймере). Записали в регистр 127 - получили меандр, записали 1 - 1/256-ю преиода. Всё это происжодит независимо от процессора, нужно только организовать частоту счёта, вид сравнения и разрешить вывод на ногу процессора. В даташите всё подробненько описано; В TINY15 всё есть. А вот откуда возьмётся значение ШИМа? Вычислится из аналоговой величины рассогласования?


Угу, спасибо. Пока временно сделал без ШИМа, но если удобнее, то сделаю ШИМ. В ИАРе пока Тини-13 выбрал. Ну а скорости изменений потом буду подгонять. Тини-15 просто есть одна, а так бы конечно не связывался без ОЗУ.
Go to the top of the page
 
+Quote Post
Коляй
сообщение Oct 20 2007, 07:10
Сообщение #11


Частый гость
**

Группа: Участник
Сообщений: 148
Регистрация: 27-04-06
Пользователь №: 16 558



Таймерами пользовался, в ШИМ не хотелось лезть. А он оказывается для этих целей и сделан. Немного прочитал, зарядил регистры (на асме) и сразу почти заработало (вывод только пришлось немного сконфигурировать), даже частота правильная получилась. Ну дальше уже дело техники. Спасибо всем большое.
Go to the top of the page
 
+Quote Post
Коляй
сообщение Oct 21 2007, 05:05
Сообщение #12


Частый гость
**

Группа: Участник
Сообщений: 148
Регистрация: 27-04-06
Пользователь №: 16 558



Чего боялся на то и напоролся. Оказывается мало 8 бит для ШИМа. Там сделано частота 120 гц и дискретность ШИМа 2 мкс. Это получается нужен 12-и разрядный ШИМ. Если программно сделать, то проц будет только ШИМ-ом одним заниматься и больше ни чем. Что же, Мегу опять придётся применять?
(ещё делал это дело на 572ПА1, ЦАП 10-разрядный + реверс.счетчики, вобще плохо получилось, мало дискретности было, сигнал на выходе дрыгался прилично).

Сообщение отредактировал Коляй - Oct 21 2007, 05:20
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Oct 21 2007, 12:31
Сообщение #13


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Может радикально пересмотреть ситуацию и выбрать другой контроллер? У Freescale есть контроллеры специально для управления двигателями с хорошими ШИМ.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
Коляй
сообщение Oct 21 2007, 18:52
Сообщение #14


Частый гость
**

Группа: Участник
Сообщений: 148
Регистрация: 27-04-06
Пользователь №: 16 558



Цитата(mdmitry @ Oct 21 2007, 16:31) *
Может радикально пересмотреть ситуацию и выбрать другой контроллер? У Freescale есть контроллеры специально для управления двигателями с хорошими ШИМ.


А придётся. Хошь не хошь. В наличии есть Мега8535, Тиньки2313, и Тиня-15. Придётся на Меге делать, но тогда и остальное надо ей поручать, ЖК цеплять, кнопки, меню... не одной же автоподстройкой ей заниматься. Опять новый прибор получается вместо доработки. Делаю металлоискатель.
Спасибо всем.
Go to the top of the page
 
+Quote Post
=GM=
сообщение Oct 21 2007, 19:49
Сообщение #15


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(Коляй @ Oct 21 2007, 18:52) *
В наличии есть Мега8535, Тиньки2313, и Тиня-15. Придётся на Меге делать, но тогда и остальное надо ей поручать, ЖК цеплять, кнопки, меню... не одной же автоподстройкой ей заниматься. Опять новый прибор получается вместо доработки.

Обратите внимание на 8-ногие ATtiny25/45/85, у них есть внутренняя ПЛЛ, вырабатывает 64 МГц, предназначенные как раз для быстрого шим.

Что касается тайни15, то внутри прибора с помощью ПЛЛ можно получить 25 МГц...


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
Maik-vs
сообщение Oct 22 2007, 13:08
Сообщение #16


Местный
***

Группа: Участник
Сообщений: 246
Регистрация: 4-12-06
Пользователь №: 23 101



Цитата(Коляй @ Oct 21 2007, 09:05) *
Чего боялся на то и напоролся. Оказывается мало 8 бит для ШИМа. Там сделано частота 120 гц и дискретность ШИМа 2 мкс. Это получается нужен 12-и разрядный ШИМ. Если программно сделать, то проц будет только ШИМ-ом одним заниматься и больше ни чем. Что же, Мегу опять придётся применять?
(ещё делал это дело на 572ПА1, ЦАП 10-разрядный + реверс.счетчики, вобще плохо получилось, мало дискретности было, сигнал на выходе дрыгался прилично).

Ну, Мегу - не мегу, есть и тиньки с 16-разрядными таймерами. Правда, корпус минимум 14-ногий.
Можно попробовать сделать программно, разделив 12 бит на старшие 4 бита и младшие, в таймере. В прерывании по сравнению таймера сравнивать старшие биты, в прерывании переполнения таймера наращивать счётчик старших бит. Частота ШИМа получится в 16 раз меньше частоты переполнения таймера. Если для этого ресурсов не хватит, то конечно - брать контроллер с 16-разрядным таймером.
Go to the top of the page
 
+Quote Post
Коляй
сообщение Oct 30 2007, 19:11
Сообщение #17


Частый гость
**

Группа: Участник
Сообщений: 148
Регистрация: 27-04-06
Пользователь №: 16 558



Ребята, посмотрите вы пожалуйста код? Проклятый Протеус не желает ни в какую показывать сигнал, один импульс дрыгнет и всё. И прямая линия дальше. В АВР-Студии всё отлично работает, правда в 3,22 (четвёртая слетает с любого файла). Я уже делал и на разных таймерах, всё одно... Мне то дальше надо писАть, а тут в самом начале уже косяки начались. Посмотрите вы чего я накосячил? Да, в VMLAB-е работает всё, но не с первого раза. VMLAB ругается сначала 2 раза, что то про SREG (Bit1).
Цитата
.include "tn15def.inc"
; Variable Declarations
.def temp = r16
.def skwlow = r20
.def skwhigh = r21
.def freqhigh = r22
.def takt = r19
.def n = r18
.def stek = r26
.cseg ; CODE segment.

;Interrupt Vectors
.org 0
rjmp RESET ;Reset
reti ;INT 0
reti ;Pin Change
rjmp TIMER1_COMP ;Output compare
rjmp TIMER1_OVF ;Timer 1
reti ;rjmp tov0 ;Timer 0
reti ;EEPROM ready
reti ;Analog Comparator
reti ;ADC Complete

;Initialization
RESET:
ldi temp, 0 ;
out OSCCAL,temp
ldi temp, 0x07 ; port na out
out DDRB, temp ;
ldi temp, 0x44 ; prer po COMP & OVF
out TIMSK, temp ;
ldi temp, 0x80 ; test
out 0x2E, r16 ;
ldi temp, 0x05 ; clock/1
out TCCR1, temp ;
clr skwlow ;
clr freqhigh ;
ldi skwhigh, 0x04 ;test

sei ;
; ldi r16,$8E ; Enable, ADIE, Prescale = 1/64
; out ADCSR,r16
; ldi r16,0 ; Select ADC0 as input, VCC as VREF
; out ADMUX,r16

LOOP:
nop
nop
rjmp LOOP ;

TIMER1_OVF:

in stek, SREG ;
cpi freqhigh, 0x10 ;
brne dal1;
clr freqhigh ;
sbi PORTB, 2 ;
dal1:
inc freqhigh;

out SREG, stek ;
reti ;

TIMER1_COMP:

in stek, SREG ;
cbi PORTB, 2 ;
out SREG, stek ;
reti ;
Go to the top of the page
 
+Quote Post
Maik-vs
сообщение Oct 31 2007, 08:35
Сообщение #18


Местный
***

Группа: Участник
Сообщений: 246
Регистрация: 4-12-06
Пользователь №: 23 101



Цитата(Коляй @ Oct 30 2007, 23:11) *
Ребята, посмотрите вы пожалуйста код? Проклятый Протеус не желает ни в какую показывать сигнал, один импульс дрыгнет и всё. И прямая линия дальше. В АВР-Студии всё отлично работает, правда в 3,22 (четвёртая слетает с любого файла). Я уже делал и на разных таймерах, всё одно... Мне то дальше надо писАть, а тут в самом начале уже косяки начались. Посмотрите вы чего я накосячил? Да, в VMLAB-е работает всё, но не с первого раза. VMLAB ругается сначала 2 раза, что то про SREG (Bit1).


Косяков не видно... прогнал дебаггером в AvrStudio 4.13.555 sp1. Всё работает. При 4 мегагерцах прерывания через 64 мкс, на порту выскакивает импульс длиной 32 мкс через 1024 мкс. Кстати, SREG в прерывании TIMER1_COMP можно не запоминать: команда sbi не изменяет флаги.
Go to the top of the page
 
+Quote Post
Коляй
сообщение Oct 31 2007, 10:22
Сообщение #19


Частый гость
**

Группа: Участник
Сообщений: 148
Регистрация: 27-04-06
Пользователь №: 16 558



Цитата(Maik-vs @ Oct 31 2007, 11:35) *
Косяков не видно... прогнал дебаггером в AvrStudio 4.13.555 sp1. Всё работает. При 4 мегагерцах прерывания через 64 мкс, на порту выскакивает импульс длиной 32 мкс через 1024 мкс. Кстати, SREG в прерывании TIMER1_COMP можно не запоминать: команда sbi не изменяет флаги.

Спасибо. Надо в железе наверное уже делать, вернее будет. Прерывание придётся ещё немного дописАть потом, так что SREG пригодится.
Go to the top of the page
 
+Quote Post
Коляй
сообщение Nov 3 2007, 20:26
Сообщение #20


Частый гость
**

Группа: Участник
Сообщений: 148
Регистрация: 27-04-06
Пользователь №: 16 558



Всё, хватит! Кончилось терпение! Поеду 13-ю Тиню покупать, вроде в магазине ещё пара штук осталась. Достало уже это убожество без ОЗУ (15-я). А 13-я и в Протеусе заработала, я привык уже к нему. Хотелось бы только спросить, а как на СИ из переменной unsigned int младший байт куда-нить отправить, хотя бы в порт в IAR-е?
Go to the top of the page
 
+Quote Post
Коляй
сообщение Nov 5 2007, 10:44
Сообщение #21


Частый гость
**

Группа: Участник
Сообщений: 148
Регистрация: 27-04-06
Пользователь №: 16 558



Цитата(Коляй @ Nov 3 2007, 23:26) *
Хотелось бы только спросить, а как на СИ из переменной unsigned int младший байт куда-нить отправить, хотя бы в порт в IAR-е?


Вопрос снялся. ИАР сам отправил младший байт куда надо. Когда потребовалось сравнить старший байт с 8-разрядным числом, я сделал сдвиг вправо на 8 бит, думал компилятор наставит 8 lsr - ов. А ИАР сам всё сделал грамонто, использовав только старший байт. Спасибо всем за советы.
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Nov 5 2007, 12:07
Сообщение #22


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(Коляй @ Nov 5 2007, 13:44) *
Вопрос снялся. ИАР сам отправил младший байт куда надо. Когда потребовалось сравнить старший байт с 8-разрядным числом, я сделал сдвиг вправо на 8 бит, думал компилятор наставит 8 lsr - ов. А ИАР сам всё сделал грамонто, использовав только старший байт. Спасибо всем за советы.

Можно макро использовать
#define LOBYTE(x) (uint8_t(x))
#define HIBYTE(x) (uint8_t(x>>8))


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
Коляй
сообщение Nov 16 2007, 18:38
Сообщение #23


Частый гость
**

Группа: Участник
Сообщений: 148
Регистрация: 27-04-06
Пользователь №: 16 558



Ребята, посмотрите пожалуйста код? Не работает как положено. Вобщем хорошо скважность меняется, но доходит до определённых мест и останавливается на 0,5 секунды, потом скачет вперёд, потом опять идёт плавно. Вот эти скачки то мне не к чему как раз. Весь смысл такой подстройки теряется. Наверное это происходит когда в регистр сравнения заносится число близкое к максимальному. Как бы от этого избавиться?
Код
#include <iotiny13.h>
#include <intrinsics.h>

__eeprom unsigned char raz @ 0x02;
unsigned char  adc, freq;
unsigned int skw;


void  pausa (unsigned int p)
{
  while (p)
  {
    p --;  
  }
}

void main()
{
  raz ++;
  if (raz > 0x14)
  {
    while(1)
    {}
  }
  
  /* CPU INIT */
  DDRB = 0x06;
  PORTB_Bit0 = 1;
  ADMUX = 0x22; //ADLAR. PINB_Bit4
  ADCSRA = 0xE5; // adc_on, neprerivno, clock/64, adc_start
  OCR0A= 0x80;//
  TIMSK0=0x06;//  COMP0A,  OVF0
  TCCR0B=0x01;// Start clock CK/1
  __enable_interrupt();


  while(1)
  {
    
  }
}


#pragma vector=TIM0_COMPA_vect
__interrupt void MyInterrupt (void)
{
  if (freq == (skw >> 8))
  {
    PORTB_Bit1 = 0;
    skw ++;
    OCR0A = skw;
  }
}


#pragma vector=TIM0_OVF_vect
__interrupt void MyInterrupt2 (void)
{
  freq++;
  if (freq >= 0x80)
  {
    freq = 0;
   PORTB_Bit1 = 1;
  }

}
Go to the top of the page
 
+Quote Post
Коляй
сообщение Nov 16 2007, 22:04
Сообщение #24


Частый гость
**

Группа: Участник
Сообщений: 148
Регистрация: 27-04-06
Пользователь №: 16 558



Или наоборот дальше от нуля отходить...
(чего то правки сообщения не нашол)
Go to the top of the page
 
+Quote Post
IGK
сообщение Nov 18 2007, 13:47
Сообщение #25


Местный
***

Группа: Свой
Сообщений: 313
Регистрация: 7-01-07
Из: Севастополь
Пользователь №: 24 170



Коляй, это ваш сайт kolyay.narod.ru ?

Если интересно - гляньте мой сайт metadec.narod.ru
Там пара приборов, многочастотных. В каждом задействованы все аппаратные ШИМы, есть 4 вспомогательных программных по 5 бит и два 10 битных для баланса.
Вы уверены, что Вам хватит Тиньки? Лучше сразу заложитесь полнее - Мега нынче копейки стоит...
"Изюминка" этих приборов в том, что работают они с любыми датчиками, сбалансированными как угодно :-)- при изготовлении достаточно получить вых.напряжение в пределах 500мВ и любой фазовый сдвиг. Если же применен датчик с единственной обмоткой - даже этого не надо. Еще можно мгновенно менять датчики, работающие на чатотах от 2 до 20кГц.
Ну, остальное на сайте...
Удачи

Блин, хотел смайлик вставить - не получилось... Видно, сложное это дело.

Сообщение отредактировал IGK - Nov 18 2007, 13:50
Go to the top of the page
 
+Quote Post
Коляй
сообщение Nov 18 2007, 17:18
Сообщение #26


Частый гость
**

Группа: Участник
Сообщений: 148
Регистрация: 27-04-06
Пользователь №: 16 558



Ну "сайт" это конечно громко сказано, скорее так просто пара схемок. А на ваш обязательно щас загляну. Тиньки хватит, она только подстройкой занимается. Неохота для этого Мегу заряжать, хотя в наличии есть.
Проблема решилась. Пришлось разделить переменную int на две однобайтовые и ту которая загружается в OCR0A ограничить, что не была менее 0х20 к примеру. Теперь нормально всё идёт. Спасибо всем.
Go to the top of the page
 
+Quote Post
IGK
сообщение Nov 19 2007, 06:09
Сообщение #27


Местный
***

Группа: Свой
Сообщений: 313
Регистрация: 7-01-07
Из: Севастополь
Пользователь №: 24 170



Цитата(Коляй @ Nov 18 2007, 19:18) *
Проблема решилась. Пришлось разделить переменную int на две однобайтовые и ту которая загружается в OCR0A ограничить, что не была менее 0х20 к примеру. Теперь нормально всё идёт. Спасибо всем.


А верное ли это решение? Я бы не стал привязываться к каким-либо конкретным значениям. САР не должна иметь мертвых зон, скважность должна устанавливаться автоматически при балансировке. 0х20 это сегодня - а завтра изменилась температура,... чихнули не вовремя - и нужно записывать 0х40?
Мне кажется - где-то недоработка...
Go to the top of the page
 
+Quote Post
Коляй
сообщение Dec 2 2007, 14:08
Сообщение #28


Частый гость
**

Группа: Участник
Сообщений: 148
Регистрация: 27-04-06
Пользователь №: 16 558



Так и не удалось добиться нормальной работы программного ШИМ-а. Дрыгается всё равно. В мрограммировании ещё не очень разбираюсь, по этому поступил проще. В Тини_13 есть 2 ШИМа, вот и сделал старший байт в один, младший - в другой. Всё пока отлично в симуляторах, завтра в железе попробую. На выходах перед фильтром простой резистивный сумматор. R + R*16 или на 15. Вобщем видимо потребуется тчательный подбор резисторов, и два выходных ключа видимо лучше в одном корпусе взять, но это уже не беда. Спасибо.

Сообщение отредактировал Коляй - Dec 2 2007, 14:09
Go to the top of the page
 
+Quote Post
Коляй
сообщение Dec 4 2007, 14:45
Сообщение #29


Частый гость
**

Группа: Участник
Сообщений: 148
Регистрация: 27-04-06
Пользователь №: 16 558



Упс, ошибочка. Не R*15, a R*(2^15)
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 21:43
Рейтинг@Mail.ru


Страница сгенерированна за 0.01605 секунд с 7
ELECTRONIX ©2004-2016