Перейти к содержанию
    

NickSmith

Участник
  • Постов

    84
  • Зарегистрирован

  • Посещение

Весь контент NickSmith


  1. Добрый день коллеги. Имеется микровольтметр В3-57, который достался мне в нерабочем состоянии и я его восстановил. Теперь хотелось бы сделать ему настройку, но эталонных источников у меня нет. Сунулся к коммерческим метрологам, но цены там конские. Может кто то поможет в его настройке за денежку или подскажет куда можно обратиться? Нахожусь в Спб.
  2. Спасибо добрый человек. Все получилось. А о том, как работать в CAMtstic где бы можно было почитать, а то все пытаюсь ковырять, но много чего не понятно. Например, как размножить платы? Как задать размер заготовки? Как сделать технологические переходы и фрезеровку по контуру??
  3. А вот с этого момента можно поподробней. Я так понимаю, что в трассировщике крутить плату не камельфо. Ее надо крутить и готовить к выводу в Cam редакторе, но вот как ее повернуть в CAMtastic я честно говоря не нашел. Логично предположить, что при повороте изменится и сверловка?? Проясните ситуацию. Пожалуйста..
  4. Здравствуйте! Есть разведенная плата. По техническим причинам мне необходимо ее повернуть на 90 градусов, нашел только как проводники повернуть а вот как саму плату с проводниками повернуть нет. Что бы было понятно. Ширина платы больше рабочего поля моего ЧПУ станка. Что бы вписаться в рабочее поле мне нужно развернуть ее на 90 градусов что бы получить N/C drill файл нужной конфигурации. Может быть это можно сделать в CAMtastic ??
  5. В общем возвращаюсь к теме. Попробовал CopperCam на первый взгляд работает, но столкнулся с кучей проблем в виде не возможности вбить нужное количество инструментов, округления диаметра отверстий и.т.д. Напрямую Mach файлы из Altiuma не жрет. Попробовал экспортировать гербер и сверловку в DipTrace. Гербер получился хорошо, а вот сверловка вся кривая получилась. Может быть есть какой то другой, пускай более сложный но с гарантированным результатом путь?
  6. Читал все это. Одна вода, абстрактные теории ни какой конкретики. Ну да, это пока что единственная удобная рабочая технология:-) Я конечно понимаю, что в задачи Алтиума это не входит, но при его гибкости добавить плагин для вывода не архисложная задача. В Diptrace это все есть. Но вот пользоваться им я не очень хочу:-)
  7. Добрый день! Возникла необходимость подготовить управляющую программу для Mach3. Порывшись в интернете информации толком не нашел. Самый удобоваривмй способ экспортировать гербер и сверловку , далее открывать все это в CoppiCam и там уже совершать все необходимые шаманства. Но по отзывам эта связка часто глючит да и весьма примитивна. Существуют ли какие нибудь другие способы подготовки УП для Mach3 из альтиума без серьезных шаманств? Или осваивать VisualCam или CAM350?
  8. Добрый день! Имеется изрядно раздолбанный намоточный станок СРН 0.5 М2. Когда то вырвал из лап металлистов. начал его восстанавливать и подумал заменить старинную систему управления двигателем УЛ-062 У4 на более современную. Вот описание двигателя : http://www.laborant.ru/eltech/01/8/5/03-97.htm В первоначальном виде есть возможность регулировать скорость вращения при помощи педали, а так же есть хитрая система торможения. Все естественно аналоговое, увесистых габаритов. Регулировка оборотов была сделана на принципе смещения фазы. Торможение - откидывание релюхами питающего напряжения и подача на обмотки статора постоянки и замыкания между собой якоря. Прилагаемая схема от следующей модификации (М3), но общий смысл не изменный. К сожалению опыта разработки таких контроллеров нет. Есть общее представление. В голову приходит управление с помощью ШИМа. Это еще не очень сложно реализуемо, но вот как систему торможения сделать более современную ума не приложу? Просветите в этом вопросе. И еще вопрос. В этом станке сделана механическая передача вращения с этого двигателя на каретку укладчика. Система в принципе простая и надежная, но больно громоздкая. Конструктивно не сложно поставить шаговик на привод каретки и выкинуть всю механику. Стоит ли это делать?
  9. Спасибо большое. Теперь мне все понятно.
  10. Я все это понимаю, с этой записью мне все понятно. Я еще только изучаю язык и хочу понять почему вроде бы стандартное объявление не хочет прокатывать в случае объявления указателя и строки в flash Понятно, что сделать можно инициализировав массив каи вы пишите, но ведь синтаксис char *pm="Words"; эквивалентен. В юниксе эта конструкция без вопросов инициализируется при объявлении, а тут не хочет. Ведь считается, что IAR полностью соответствует стандарту.
  11. Но так Words сидит и в flash и в памяти. И обращение с pm получается только как с указателем в памяти.
  12. Хм, такой вариант еще не пробовал. Испытаю. Заранее спасибо. Я веду речь за стандарт Си. У Керниган & Ритчи говорится, в главе 5.5 , что по мимо записи char pm[] ="Words"; есть еще вариант char *pm= "Words"; В последнем случае получается не массив, а простая, строковая переменная в памяти с указателем на нее. Я естественно хочу разместить и указатель и саму строку в flash __flash char * __flash pm="Words" в такой записи, компилятор все проглатывает, но слово все равно размещается в ОЗУ. Если записывать char __flash * __flash pm="Words" Компилятор ругается: Error[Pe144]: a value of type "char *" cannot be used to initialize an entity of type "char __flash *" Мне просто хочется понять, как делать такое объявление указателя и размещать строку и указатель на нее в flash.
  13. Так я же писал, что это и ежу понятно. Хочется с описанной мной ситуацией разобраться. Как инициализировать переменную. Как я понимаю, компилятору не нравится, что я пихаю в переменную во flash данные не из flash как компилятору это объяснить.
  14. AVR IAR C flash

    Добрый день! Никак не могу одолеть задачку. В си возможна конструкция char *pm="Words"; Т.е указатель на это слово, по которому можно ссылаться на это слово. Попробовал реализовать это в IARavr __flash char * __flash pm="Words"; Ругается на не соответствие типов памяти. Т.е компилятор говорит, что я пытаюсь тип char скормить __flash char Если сделать так: __flash char *pm="Words"; В таком случае все естествен пихается в озу, но такая конструкция проходит. P.S. Понятно, что проблему можно решить через массив, но хочется разобраться именно с такой конструкцией.
  15. А вот с таким вариантом стоит связываться? http://www.ebay.com/itm/OpenM128-B-ATmega1...=item3cc57a555c Как я понимаю к нему еще дебаггер нужен?
  16. Спасибо. Именно так и надо, только я почему то начитавшись книжек подумал, что это не правильно. Сейчас понял, что так же тоже правильно. Только с точки зрения памяти это немного расточительно по моему. Через ссылки будет будет по экономичней но меня в принципе и такой вариант устраивает полностью или я не прав?? Палыч действительно прав, но теперь уже хочется разобраться до конца как такой вариант реализовывать.. Два дня убил на него. unsigned int __eeprom *bdz[]={&m3,&m4,&m7}; И unsigned int __eeprom *bdz[]={*m3,*m4,*m7}; Оба работают. Если я например обращаюсь так temp=*bdz[1] Получаю значение 0.0 из массива m4. Если пишу так: temp=*(bdz[1]+3) То соответственно могу сместить адрес и получить ячейку.. При любой записи при организации ссылочного массива результат одинаковый???
  17. Никак не могу одолеть следующую проблему: Необходимо создать несколько многомерных массивов, а для удобства работы с ними создать массив с ссылками на них: Создаю: __eeprom unsigned int m3 [10][2]; __eeprom unsigned int m4 [10][2]; __eeprom unsigned int m7 [10][2]; unsigned int __eeprom *bdz[]={*m3,*m4,*m7}; Теперь хочу обратится например к m4 строке 3 ячейке 0. Типа temp=bdz[1][3][0] Пишу unsigned int temp; int main( void ) { temp=*(bdz[2]{[3][0]}); } Компилятор ругается, пробовал по всякому. Много раз перечитывал K&R главу 5 . Указатели и массивы. В общем понимание есть, но как это правильно описать хоть убей не могу понять.. Хоть на case это делай...
  18. Я тогда не очень понимаю, как мне сказать, что мне нужно обратится по второй ссылке к 5 строке и 1 ячейке...?? Я Си изучаю еще только вторую неделю а с IAR ковыряюсь третий день. Столько информации, что еще все в голове не систематизировалось... Так что не судите строго за нелепые вопросы.
  19. Я имел в виду тип данных для хранения указателей unsigned int. Можно ли использовать char? Теперь не могу разобраться как при помощи bdz получить данные из нужнго мне массива.. Например мне нужно записать данные в строку 5 ячейку 1 m4 их temp ... bdz[1][4][1]=temp; Работать не хочет??
  20. Т.е это лучше в озу хранить?? И как я понимаю для указателя unsigned char не нужно??
  21. K&R читаю постоянно, но пока не все понятно.. Мне нужно организовать три массива для сохранения трех типов параметров. Хочу создать массив с указателями, что бы можно было было работать с массивами через указатели...
  22. Переполз на IAR и опять те же грабли.. делаю так: __eeprom unsigned int m3 [10][2]; __eeprom unsigned int m4 [10][2]; __eeprom unsigned int m7 [10][2]; __eeprom unsigned int *bdz[]={m3,m4,m7}; Error[Pe144]: a value of type "unsigned int __eeprom (*)[2]" cannot be used to initialize an entity of type "unsigned int *" Error[Pe144]: a value of type "unsigned int __eeprom (*)[2]" cannot be used to initialize an entity of type "unsigned int *" Error[Pe144]: a value of type "unsigned int __eeprom (*)[2]" cannot be used to initialize an entity of type "unsigned int *" Error while running C/C++ Compiler Что не так??
  23. Ну да, пишут, что IAR разрабатывался совместно с производителями.. По первым граблям, на которые я наступил тоже стало понятно что CV это язык пионерии.. Мигающие светодиоды и данные с датчика считать в простую можно, а как только что то серьезное, то тут же бяки выползают... В общем будем изучать IAR...
×
×
  • Создать...