Jump to content

    

pnp_mechanic

Участник
  • Content Count

    66
  • Joined

  • Last visited

Everything posted by pnp_mechanic


  1. Прошло немного времени и я опять вернулся к теме ультразвукового расходомера. :-) На базе МС TDC1000+tdc7200 не удаётся получить требуемую точность. Соорудил макетку на TDC-GP22, схему взял с оф. документа. Подкупает эта МС своей доступностью и ценой. Всё нормально работает и точность 0.5 - 1% на расходах 0.006 - 3.0 куба вполне достижима. И даже пробные замеры это подтверждают. Но вот проблема при резкой смене расхода, вообще перестаёт быть видна разница времени по потоку и против. Через 5-10 сек. всё возвращается в норму, причём сброс МС и перезагрузка настроек в течении этого времени не помогают, отклик УЗ сигнала наблюдается без значительного изменения амплитуды Интересно в серийных теплосчётчиках и расходомерах такое тоже наблюдается или для таких изделий динамика процесса не важна и важен только долговременный показатель расхода. Может быть что происходит с датчиками при резкой смене давления. Конечная цель - получить более менее точные данные мгновенного расхода с интервалом 1 сек. или меньше.
  2. Да, спасибо. Похоже это они. Только прибором определяется 100 Ом. Вообще конечно хорошие резисторы, у прибора где они впаяны точность 0,16% по всей шкале 4-20 мА.
  3. Установлены в цепи питания тензомоста. Размер немного больше 1206, но они круглые. Интересует возможность покупки или хотя бы тип. При нагреве сопротивление падает, прямо сверхпроводник может получится :-)
  4. Ради интереса замерил ток "Макиты" 24 вольтовой Ток холостого хода до 7А. доходит, саморезы закручивал до 30А доходило. 500 Вт самое то...
  5. Спасибо за ваше внимание . Сейчас уже разобрался, забыл совсем настроить камеру. cvSetCaptureProperty(cam_capture, CV_CAP_PROP_FRAME_WIDTH, 640); cvSetCaptureProperty(cam_capture, CV_CAP_PROP_FRAME_HEIGHT, 480);
  6. А там вообще есть чему ток ограничить, например в Orange прямой проводник от +5. Наверное и тут также.
  7. Возникла необходимость регистрировать событие с вебкамеры. Общая идея -отображать в части окна видео с камеры и на этом же окне кнопки для управления и настройки. Для этой затеи приспособил Orange PI с Armbian 5.9, захват видео с камеры успешно работает до момента нажатия кнопки "butt_1". Причём далее программа на кнопку реагирует, а видео останавливается. Подозреваю, что нет необходимого условия для отрисовки части окна. Это не смотря на то, что каждый раз выполняется "gtk_widget_queue_draw(area);" Может что не так в программе...? /* makefile CXX ?= g++ CXXFLAGS += -c -Wall $(shell pkg-config --cflags opencv --libs gtk+-2.0) LDFLAGS += $(shell pkg-config --libs --static opencv --libs gtk+-2.0) all: prog_ex prog_ex: main.o; $(CXX) $< -o $@ $(LDFLAGS) %.o: %.cpp; $(CXX) $< -o $@ $(CXXFLAGS) clean: ; rm -f main.o prog_ex */ #include "opencv2/core.hpp" #include "opencv2/imgproc.hpp" #include "opencv2/highgui.hpp" #include "opencv2/videoio.hpp" #include "highgui.h" #include <linux/videodev2.h> #include <sys/ioctl.h> #include <sys/types.h> #include <sys/stat.h> #include <sys/mman.h> #include <gtk/gtk.h> #include <gdk/gdk.h> #include <cairo.h> #include <stdio.h> #include <stdbool.h> #include <iostream> using namespace cv; using namespace std; GtkWidget *window; GdkPixbuf* pix; GtkWidget *area; CvCapture* cam_capture; IplImage* frame; VideoCapture capture; //кнопоки и ... GtkWidget *vbox_1; //контейнер GtkWidget *hbox_1; GtkWidget *video_box; GtkWidget *btn1,*btn2; //кнопки static void destroy(GtkWidget *widget, gpointer data) { gtk_main_quit(); } //событие по кнопке static void clic_butt_1(GtkWidget *widget, gpointer data) { g_print("\n\r key pres"); } //событие по кнопке exit static void clic_butt_2(GtkWidget *widget, gpointer data) { gtk_main_quit(); } //Работает до тех пор пока не нажата "btn1" !!! static gboolean expose_event(GtkWidget *widget, GdkEventExpose *event, gpointer data) { g_print("N_1"); frame = cvQueryFrame(cam_capture); if(!frame) { g_print("Err_1"); return TRUE;} pix = gdk_pixbuf_new_from_data((guchar*) frame->imageData, GDK_COLORSPACE_RGB,FALSE, frame->depth, frame->width-350, frame->height -150, (frame->widthStep), NULL, NULL); gdk_draw_pixbuf(widget->window,widget->style->fg_gc[GTK_WIDGET_STATE (widget)], pix, 0, 0, 0, 0, -1, -1, GDK_RGB_DITHER_NONE, 0, 0); // -> X gtk_widget_queue_draw(area); return FALSE ; } //================================================= int main(int argc, char *argv[]) { g_print("\n\rTest prog capture video of webcam"); cam_capture = cvCreateCameraCapture(0); gtk_init(&argc, &argv); //Окно window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(window), "Test Open_CV"); gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER); GdkGeometry windowProperties; windowProperties.min_width = 800; windowProperties.min_height = 600; gtk_window_set_geometry_hints(GTK_WINDOW(window), NULL, &windowProperties, GDK_HINT_MIN_SIZE); gtk_window_set_resizable(GTK_WINDOW(window), FALSE); g_signal_connect(window, "destroy", G_CALLBACK(destroy), NULL); g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(destroy), NULL); //виджет area = gtk_drawing_area_new(); gtk_drawing_area_size(GTK_DRAWING_AREA(area), 300, 300); //BOX контейнер vbox_1 = gtk_vbox_new(GTK_ORIENTATION_HORIZONTAL,5); hbox_1 = gtk_vbox_new(GTK_ORIENTATION_HORIZONTAL,5); video_box = gtk_vbox_new(GTK_ORIENTATION_HORIZONTAL,5); //создать кнопки btn1 = gtk_button_new_with_label (" Test_key "); btn2 = gtk_button_new_with_label (" Close "); gtk_button_set_relief(GTK_BUTTON(btn1), GTK_RELIEF_NORMAL); //Кнопки в контейнер gtk_box_pack_end (GTK_BOX (hbox_1),btn1, FALSE, FALSE, 0); gtk_box_pack_end (GTK_BOX (hbox_1),btn2, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX (video_box),area, FALSE, TRUE, 0); //Контейнер кнопок -> в контейнер номер 1 gtk_box_pack_end (GTK_BOX (vbox_1),hbox_1, FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox_1),video_box, FALSE, TRUE, 0); //Контейнер с контейнером на окно gtk_container_add (GTK_CONTAINER (window), vbox_1); //на окно //СОбытия кнопок "pressed","released","clicked" g_signal_connect (G_OBJECT(btn1), "clicked", G_CALLBACK (clic_butt_1),NULL); g_signal_connect (G_OBJECT(btn2), "clicked", G_CALLBACK (clic_butt_2),NULL); //событие - "видео с камеры" - работает пока кнопка не нажата!!?? почему так g_signal_connect(G_OBJECT(area), "expose_event", G_CALLBACK(expose_event), NULL); gtk_widget_show_all(window); gtk_main(); return 0; }
  8. Точно, в схемах только дюймовые размеры. Если нужно я ставлю самую мелкую, иногда выручает...
  9. А "сетку пользователя" можно сделать 1мм? Или я что-то пропустил.
  10. Судя по фото и схеме, снабберные конденсаторы используете без последовательного резистора. Интересно почему так? Насколько я понимаю в таком случае будет греться и емкость и транзистор.
  11. Надо полагать, что сигнальная земля подключена к одному из пинов. Тогда корпус разъёма как в PC... А вот конденсатор может же и зарядится испытательным напряжением. Ударит током испытателя, тогда точно не пройдёте сертификацию :-) И потом куда второй конец разъёма подключаться будет, наверное тоже к чему то заземлённому. Как ни крути земля или корпуса устройств соединятся.
  12. Интересно, сертификация это и испытания тоже? Куда второй "конец" высоковольтного импульса будет приложен?
  13. Да, сам такое наблюдал, станок плазменной резки + Mach3. Любой провод длиннее 100 мм., в том числе мышь и кл., работают как антенна. Не смотря на полную гальваническую развязку PC от станка, мышь и кл. виснут. Если принтер зависает, всех проблем-то чека не будет. Фискальную память для такого случая никто не отменял. А вот приёмник денег конечно важен и он уже имеет RS232 или вообще счётный выход. Другое дело, что USB становится все более и более распространённым интерфейсом. И рано или поздно USB осваивать нужно....
  14. Да, разумеется принтер с RS232 значительно проще в применение. Но есть в доступности только USB. ( цена, наличие, распространённость и пр.) Пока получилось посредством STM32CubeMx( ох, не нравится он мне) прочитать дескрипторы принтера. А коли чего, так припаяю RX TX прямо к центральному МК принтера и вперёд, благо схема имеется.
  15. К сожалению мои знания про USB поверхностны. Но подозреваю , что пакет что отправляется от HOST к ус-ву должен каким-то образом попасть в конечную точку. Где и как посмотреть "дескрипторы конечной точки"? Или достаточно просто , как говорилось раньше "простым ногодрыгом" отправить последовательность байт в принтер. Попробую-ка я посмотреть каким нибудь USB сканером...Должны же быть программные способы перехвата USB пакетов.
  16. Да, протокол принтера EPSON. Кроме всего прочего для аппарата нужен ещё приёмник денег и GSM модуль, и ещё какой-то экранчик, и куча реле, и кнопок.. Боюсь у Расбери не хватит ног. У принтера судя по схеме есть вывод RX TX, но они "глубоко".Кроме того можно купить другую интерфейсную плату с RS232 интерфейсом, но она стоит как принтер :-) Нужно именно привязать принтер к МК. Интересует как определить куда же всё таки cat "file.txt" > /dev/usb/lp0 отправляются байты этой командой.
  17. Изобретаю вендинговый аппарат. Есть чековый USB принтер STAR-TUP992. Сейчас успешно получается выводить на печать текст на Linux машине простым способом cat "file.txt" > /dev/usb/lp0 Использовать компьютер или Orang PC и пр. для этого аппарата считаю не оправданно. Весь вопрос к уважаемому сообществу состоит в следующем: возможно ли подобное делать на STM32, какой МК наиболее подойдёт для этой задачи? Ведь не должно быть очень сложно реализовать HOST средствами МК. Видел есть куча библиотек для реализации HOST на МК, но все они заточены либо для мыши, либо для клавиатуры, либо USB флешки. И интересно как работает выше указанная команда, что просто отправляет байты в какую-то конечную точку..
  18. Если непосредственно то XTR116 и им подобные. И "Vref" имеется...
  19. Т.Е. нужно полагать, что симметрирующий трансформатор возможен только в 3-х фазном исполнении?
  20. Не плохо бы знать диаметр вашей палки, и в каких условиях она греется :-) Моя диаметром 30 мм. длинной 2500 мм. греется 80-ю КВт до 1100 гр за минуту на открытом воздухе. Если знаете как нагреть меньшей мощностью буду рад узнать. ( теплоизоляцию не предлагать :-) ) Но вопрос то был другой...
  21. Добрый день уважаемые коллеги. Есть задача, нагреть пруток металла диаметром 20-30 мм длиной 3000 мм. Предполагается прямой нагрев - пруток это резистор, предварительный расчёт показал что необходимо напряжение около 10 вольт. Для этого есть трансформаторы 380\10 мощность каждого 40 кВт. Для обеспечения равномерной нагрузки на сеть необходимо использовать все 3 фазы. К сожалению мне не известен иной способ объединения 3-х фаз в одну, кроме симметрирующего трансформатора. Возможно ли делать такой трансформатор из 3-х однофазных? Или есть другие способы получения одной фазы из 3-х.
  22. В документе AVR494.pdf даже картинки есть выходного напряжения. Но однако меандр точно не нужен- нагреется мотор. И таки важно знать управление v/f ?
  23. Так ведь добавляют 3-ю гармонику к выходному сигналу ПЧ. И говорят хорошо моторы крутятся.