Регулируемый генератор синусоиды на Attiny13. Вопросы.

Обсуждаем контроллеры компании Atmel.
Ответить
Родился
Сообщения: 8
Зарегистрирован: Чт дек 12, 2013 15:21:56

Сообщение mss17 »

Есть в инете схема такого генератора http://yysup.narod.ru/schem/1fase_g.html
Изображение
Файл с прошивкой HEX, кодом на ассемблере и проектом для Proteus в архиве http://yysup.narod.ru/Arhiv/1fas_g.rar
К сожалению автор этого генератора не отвечает на e-mail :(
По этому прошу сообщество оказать помощь с воплощением этой схемы в железе.
Есть много вопросов по реализации.

1. Как правильно выставить Фьюзы в PonyProg, если автор не упоминал о них в статье?
Этот вопрос останавливает меня с реализацией не силовой части на МК (она на рисунке выше).
Все элементы уже куплены, трасировка сделана.

2. При симуляции в Proteus (файлы в архиве http://yysup.narod.ru/Arhiv/1fas_g.rar ) получается значение частоты синусоиды на выходе от 500Гц до 1000Гц (примерно).
Судя по описанию из статьи - должно было быть больше 50. В общем оно больше, но на порядок.
Может быть так, что протеус ошибается с симуляцией или это ошибка в программе(прошивке)?

3. Если прошивка действительно написана так, что частота на выходе 500-1000Гц можно ли её уменьшить перекомпиляцией файла программы (на ассемблере) с указанием меньшей частоты тактового генератора МК (если она по умолчанию была 8Мгц, задать 1?). Или каким то другим способом?
Я пробовал изменить массив 24 значений для полупериода синусоиды
Спойлер.org $60
Sin: ; таблица синуса.
;
.db 1,33,65,96,125,152,177,198
.db 217,231,241,248,250,248,241,231 ;
.db 217,198,177,152,125,96,65,33
.db 1
но не могу после этого получить HEX (avrasm2.exe –fI –o 1fas_g.hex 1fas_g.asm)

ошибки даже с не измененным файлом на асемблере (если его попробовать)
СпойлерC:\...6)\Atmel\AVR Tools\AvrAssembler2>vrasm2.exe -fI -o 1fas_g.hex 1fas_g.asm
AVRASM: AVR macro assembler 2.1.42 (build 1796 Sep 15 2009 10:48:36)
Copyright (C) 1995-2009 ATMEL Corporation

1fas_g.asm(4): Including file 'C:\Program Files (x86)\Atmel\AVR Tools\AvrAssembl
er2\Appnotes\tn13def.inc'
1fas_g.asm(25): error: Use of undefined or forward referenced symbol 'TIM0_COMPA
addr' in .org
1fas_g.asm(26): error: Overlap in .cseg: addr=0x0 conflicts with 0x0:0x1
1fas_g.asm(27): error: Use of undefined or forward referenced symbol 'TIM0_COMPB
addr' in .org
1fas_g.asm(28): error: Overlap in .cseg: addr=0x0 conflicts with 0x0:0x1
1fas_g.asm(29): error: Use of undefined or forward referenced symbol 'ADCaddr' i
n .org
1fas_g.asm(30): error: Overlap in .cseg: addr=0x0 conflicts with 0x0:0x1

Assembly failed, 6 errors, 0 warnings
Что я делаю не так в этом шаге для получения HEX файла? Куда копать, куда смотреть?

4. Еще вопрос по подключению напряжения к силовым транзисторам IRF.
У того же автора есть похожая схема, но уже трехфазного регулятора. IRF BE30 там подключены на +300 и -300 вольт. С середины берется фаза (выход). Эти +-300В получаем с диодного моста, а среднюю точку (землю для нагрузки) с конденсаторов? Как на схеме http://radiokot.ru/lab/analog/29/03.gif ?
Просто у меня не будет трансформатора, а сразу 220В и диодный мост. И тогда какой емкости нужно брать конденсаторы?
Последний раз редактировалось Gudd-Head Пт фев 21, 2014 16:35:29, всего редактировалось 1 раз.
Причина: Сюда перенёс
Реклама
Вымогатель припоя
Сообщения: 630
Зарегистрирован: Пн июн 14, 2010 13:07:29
Откуда: Жуковский

Сообщение a_skr »

1. Фьюзы можно посмотреть в модели протеуса. Считать заводские. Поменять CKSEL с 10 на 01. CLKDIV8 в модели не установлен, а на заводе установлен. если его не трогать, то как раз частота будет в 8 раз меньше. У меня в модели получилось около 30 Гц минимальная частота.
2. Протеус в этой части скорее всего не ошибается.
3. Заменить это:
.org TIM0_COMPAaddr
.org TIM0_COMPBaddr
.org ADCaddr
на это:
.org OC0Aaddr
.org OC0Baddr
.org ADCCaddr
Реклама
Родился
Сообщения: 8
Зарегистрирован: Чт дек 12, 2013 15:21:56

Сообщение mss17 »

a_skr , спасибо. Заменил - скомпилировал HEX. Буду теперь разбираться с фьюзами.
Родился
Сообщения: 8
Зарегистрирован: Чт дек 12, 2013 15:21:56

Сообщение mss17 »

Т.к. с фьюзами толком не разобрался в протеусе, решил зашить HEX прямиком в МК без изменения фьюзов.
Понипрог на виндовс 7 не захотел работать, пришлось поставить Khazama. А в ней программатор USBASP стал ругаться на скорость ISP.

По форуму вычитал, что нужно его перепрошивать. Скачал для USBASP другую программу - extreme burner. Через неё зашил МК, но он так и не заработал. После проверки схемы с мультиметром, решил все же казамой прошить.

Казама хоть и ругалась на скорость ISP, но все равно МК прошила. Подключил на выход МК пъезоизлучатель, схемка работает :)
Второй МК зашил с измененной частотой тактового генератора (в 2 раза меньше). Из двух буду выбирать, какой лучше подойдет.

Теперь буду разводить и собирать силовую часть :)
Реклама
Эиком - электронные компоненты и радиодетали
Родился
Сообщения: 8
Зарегистрирован: Чт дек 12, 2013 15:21:56

Сообщение mss17 »

Вопрос.
Как подвести питание на оптроны?
У того же автора, есть трехфазный генератор. Для него он привел схему силовой части.
СпойлерИзображение
На первый оптрон подается +15V0p и -15V0p
на второй оптрон подается +15Vn и -15Vn
У меня есть БП на 15В/1А для питания кренки для МК. Его я хотел использовать и для оптронов.
В схеме для протеуса (из первого сообщения) для питания оптронов стоят батарейки.
В модели я попробовал подключить одну батарейку через диоды (батарейка в роли моего БП), как на картинке ниже. Но сигнал там стал не синусоидальный.
Можно ли использовать один блок питания для подключения МК и двух оптопар, если питание на оптопары подать через диоды?
Или нужно собирать еще два отдельных БП для каждого оптрона?
Если нельзя, то посоветуйте попроще схемку БП 220/15В, может на емкостном балласте??
СпойлерИзображение
Реклама
Родился
Сообщения: 8
Зарегистрирован: Чт дек 12, 2013 15:21:56

Сообщение mss17 »

Собрал генератор. Поставил трансформатор для питания МК и второй на две катушки - для включения полевиков.
Схема работает, но очень греются IRFPE50 на выходе.
Из-за чего это может быть?
Вложения
gen.zip
для протеус
(43.54 КБ) 285 скачиваний
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 84
Зарегистрирован: Пт дек 19, 2008 18:16:52
Откуда: West Ukraine

Сообщение digiRom »

Того и греются, что не закрываются. Буфер для полевиков более чем странный, особенно нижнее плечо. Зачем такие извраты, не пойму. Лучше всего ипользовать готовые микросхемы для управления полевиками, выбор огромный. Если очень сильно хоцца сделать на дискретных элементах, то делайте. Но сами продумайте всю схемотехнику, не ведитесь на готовые решения. И помните главное - полевик открыть легко, его тяжело закрыть, причем наглухо и вовремя.
Берегите лес,он нам еще пригодится...
Родился
Сообщения: 8
Зарегистрирован: Чт дек 12, 2013 15:21:56

Сообщение mss17 »

Просто все уже распаяно на монтажке. Что изврат - я уже понял. Нодеталибыли куплены еще раньше.
В общем собрал на диодах двухполюсный (полупериодный наверно?) блок питания для подачи напряжения на полевики. Теперь не греются. А до этого +15В и ноль подавал... :)
Чтоб дать им время закрыться - я подправил таблицу синуса в программе. Теперь там нулевая зона есть.
Но мне теперь хочется переделать совсем программу, добавить вход для отключения генерации и может быть несколько таблиц с синусом, для регулировки мощности на выходе.

Изначально схема собирается для подключения к электрокатушке мощного вибратора. Регулировка по частоте нужна, чтоб вгонять его в резонансные колебания.
Родился
Сообщения: 8
Зарегистрирован: Чт дек 12, 2013 15:21:56

Сообщение mss17 »

Доделал. Добавил в схему индуктивный датчик, для выключения генерации (в протеусе просто кнопка). Правда программа стала зависать после нажатия кнопки, но я добавил перезагрузку по вочдогу раз в 8 сек (если кнопка нажата была и зависло).
Вложения
staf2002_AVRStudio4.rar
(6.02 КБ) 284 скачивания
1fas_g.rar
(21.75 КБ) 291 скачивание
datch.png
(75.11 КБ) 849 скачиваний
Ответить

Вернуться в «AVR»