Elektroniknahe Maschinensteuerung, sehr Interessant ! lesen

Du brauchst Grafiken, gute Programme oder Leute die dir helfen? Frag hier.
Peter66
Beiträge: 4
Registriert: 14.06.2010 10:21

Elektroniknahe Maschinensteuerung, sehr Interessant ! lesen

Beitrag von Peter66 »

Hallo liebe Boardbesucher,

Ich habe eine Maschine gebaut, jetzt fehlt noch eine Steuersoftware, diese soll in Purebasic geschrieben werden,
die Hardware der ganzen Mechanik wird über die serielle Schnittstelle angesteuert, (kommuniziert mit Atmel Microcontroller)
dazu kommt noch eine USB Webcam, deren Bild soll zu Steueraufgaben ausgewertet werden. Weiterhin sollen noch Daten und Parameter in Dateien geschrieben und gelesen werden.

Da ich selbst Elektroniker bin, und mich lieber um die Mechanik und die Steuerung und Mikrocontroller kümmere, brauche ich Unterstützung bei der Software.

Natürlich sollt ihr das nicht umsonst tun, es ist ein komerzielles Projekt,
von vorteil wäre natürlich wenn ihr nicht allzuweit weg wohnen würdet von Dresden,
aber auch für Unterkunft und Reisekosten kann gesorgt werden, auch könnte ich die Maschine mit zu euch bringen.
auch solltet ihr realistisch den Arbeitsaufwand vorher abschätzen können,
es werden wohl 100-200 Zeilen Programmcode werden.

Also wer hat lust mitzuarbeiten, traut sich die Sache zu, hat Zeit, und noch etwas dabei zu verdienen?

Da die Sache sich abgeschlossen Dokumentieren läßt und überschaubar ist, auch sehr gut als Abschlußarbeit bzw. Praktikum geeignet, als Firma könnte ich das Betreuen.

also wer lust hat bitte melden,

so nun zum technischen:

ich habe schon mal angefangen die Kamera auszuwerten, und auch sie serielle Kommunikation,

hier zähle ich einfach die Pixel die über bestimmten grenzwerten liegen, und bestimmten Farben:

Code: Alles auswählen

   z=0
   y = 10
   k = 0
   color = 0
   
#Window_0 = 0
#WM_APP = 32768
#WM_HID_EVENT = #WM_APP + 200
#NOTIFY_PLUGGED = 1
#NOTIFY_UNPLUGGED = 2
#NOTIFY_CHANGED = 3
#NOTIFY_READ = 4

#WM_CAP_START = #WM_USER
#WM_CAP_SET_CALLBACK_ERROR = #WM_CAP_START + 2
#WM_CAP_SET_CALLBACK_STATUS = #WM_CAP_START + 3
#WM_CAP_SET_CALLBACK_YIELD = #WM_CAP_START + 4
#WM_CAP_SET_CALLBACK_FRAME = #WM_CAP_START + 5
#WM_CAP_SET_CALLBACK_VIDEOSTREAM = #WM_CAP_START + 6
#WM_CAP_SET_CALLBACK_WAVESTREAM = #WM_CAP_START + 7
#WM_CAP_DRIVER_CONNECT = #WM_USER + 10
#WM_CAP_DRIVER_DISCONNECT = #WM_USER + 11
#WM_CAP_DRIVER_GET_CAPS = #WM_CAP_START + 14
#WM_CAP_DLG_VIDEOFORMAT = #WM_CAP_START + 41
#WM_CAP_DLG_VIDEOSOURCE = #WM_CAP_START + 42
#WM_CAP_DLG_VIDEODISPLAY = #WM_CAP_START + 43
#WM_CAP_SET_PREVIEW = #WM_CAP_START + 50
#WM_CAP_SET_PREVIEWRATE = #WM_CAP_START + 52
#WM_CAP_GET_STATUS = #WM_CAP_START + 54
#WM_CAP_FILE_SAVEDIB = #WM_USER + 25
#WM_CAP_SET_SCALE = #WM_USER + 53
#WM_CAP_SET_CALLBACK_CAPCONTROL = #WM_CAP_START + 85

#TrackBar_Resolution = 12



Procedure Open_Window_0()
  hWnd = OpenWindow(#Window_0, 310, 185, 800, 472, "Farbsortierer",  #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_TitleBar | #PB_Window_WindowCentered )
 

     If OpenLibrary(0, "AVICAP32.DLL")

          hWebcam = CallFunction(0, "capCreateCaptureWindowA", "", #WS_VISIBLE + #WS_CHILD, 50, 25, 151, 151, hwnd, 0)
          
          SendMessage_(hWebcam, #WM_CAP_DRIVER_CONNECT , 0 , 0)
          SendMessage_(hWebcam, #WM_CAP_SET_SCALE , 1 , 0)
          SendMessage_(hWebcam, #WM_CAP_SET_PREVIEWRATE , 1 , 0)
          SendMessage_(hWebcam, #WM_CAP_SET_PREVIEW , 1 , 0)
          SendMessage_(hwebcam, #WM_CAP_FILE_SAVEDIB , 1 , 0)
          
          ;SendMessage_(hwebcam, #WM_CAP_DLG_VIDEOSOURCE , 0,0)
          ;SendMessage_(hwebcam, #WM_CAP_DLG_VIDEOFORMAT , 0 , 0)
          ;SendMessage_(hwebcam, #WM_CAP_SET_CALLBACK_CAPCONTROL , 500 , 0)
          
          
     EndIf     
     ProcedureReturn 1

EndProcedure



;{ Mainunit
If Open_Window_0()



   StartDrawing(WindowOutput(0))
    
 ;Box(399,24,303,303, RGB(255,255,255))  
     

Repeat
    EventID = WaitWindowEvent()
    
    
    
    
    z=0
   For y = 25 To 175
   For k = 400 To 550
    i = K - 350
    Color = Point(i , y)
    If Green(color) > 10 
     z = z + 1
   
     Plot(k, y , color) 
     ;Plot(k, y , $ED1112)
       Else
      Plot(k, y , $9FFF60) 
    EndIf
     
     Next k  
     Next y  
  
  z=z/225
  U$ = Str(z)
   z=0 
   DrawText(500, 370, "              " , $0066FF , $FFFF99) 
  DrawText(500, 370, U$ , $0066FF , $FFFF99)
  
  
Until EventID = #PB_Event_CloseWindow
  SendMessage_(hWebcam, #WM_CAP_SET_PREVIEW , 0, 0)
  SendMessage_(hWebcam, #WM_CAP_DRIVER_DISCONNECT, "BLUBBER", 0)
  CloseWindow(0)
  CloseLibrary(0)


EndIf
End


das war zum testen ob es überhaupt möglich ist, nun könnte ich mich wochenlang in Purebasic einarbeiten,
besser wäre es jemand erfahrenes hilft mir, und das ganze dauert eher par Tage,
http://www.urg.de
Benutzeravatar
Max_der_Held
Beiträge: 594
Registriert: 18.04.2006 17:01
Wohnort: Bavaria
Kontaktdaten:

Re: Elektroniknahe Maschinensteuerung, sehr Interessant ! le

Beitrag von Max_der_Held »

hallo Peter66,
  • Also, du baust ein Atmelgerät(welcher Funktion?) mit Camera und RS232?..
    weil dein hier geposteter Code läuft ja auf dem Atmega (32?..168?.. ) nicht!
    dafür brauchst du AVR studio oder Bascom.. k.a. weißt du sicher eh..
aber was ist denn der genaue Auftrag:
  • den Microcontroler zu programmieren oder
    den auf seriell angeschlossenen Rechner?
Ich bin interessiert,
  • ..wäre ja auch so nah an dresden...... naja.. siehe Altötting..
    Bisher Habe ich für die Cartesy gmbh gearbeitet (bezüglich Wiegesystem-firmware, GUIs, bluetooth, RS232 komprimierung etc.)
    und beim Visoin ING Wettbewerb den 3. Platz mit einem größeren Atmegaprojekt gewonnen.
Relevante Kenntnisse:
  • Bascom
    c
    c++
    Purebasic
    Winapi
    Iphone (glbasic) und windows Mobile SDK
über den Preis müsste man sich natürlich einig werden.
Besteht das Projekt soweit noch?
Bewerbung schreiben?
DarkDragon
Beiträge: 6267
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: Elektroniknahe Maschinensteuerung, sehr Interessant ! le

Beitrag von DarkDragon »

weil dein hier geposteter Code läuft ja auf dem Atmega (32?..168?.. ) nicht!
Das ist ein PureBasic Code, der die USB Webcam auswertet ;-) . Das sollte man eigentlich erkennen können und er hat es ja auch explizit dazugeschrieben. Er kommuniziert über RS232 mit dem Atmel µC. Und ob es ein Atmega ist steht ja auch nicht fest ;-) .
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
Max_der_Held
Beiträge: 594
Registriert: 18.04.2006 17:01
Wohnort: Bavaria
Kontaktdaten:

Re: Elektroniknahe Maschinensteuerung, sehr Interessant ! le

Beitrag von Max_der_Held »

Hallo?
alles ok? hilfe?
^^..
Die Frage ist nicht ob es PB code ist, die Frage ist, meint er, dass er Atmels 32-BIt RISC architektur mit einer Programmiersprache für 32-Bit CISC Prozessoren von Intel und AMD programmieren kann.
oder KURZ:

SOll die Camera am PC sein oder am ATMEGA?

Naja.. Aber danke DarkDragon.., dass du dir die Mühe machst mich über die zugrundeliegende Programmiersprache des Syntax aufzuklähren...

ps: oder nimmst du schon Xmega her, Peter66?
[edit] hey darkdragon! du hast deinen text editiert!^^... nagut egal k.a.. nur: es ist IMMER ein Atmega..[/edit]
DarkDragon
Beiträge: 6267
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: Elektroniknahe Maschinensteuerung, sehr Interessant ! le

Beitrag von DarkDragon »

Max_der_Held hat geschrieben:Hallo?
alles ok? hilfe?
^^..
Die Frage ist nicht ob es PB code ist, die Frage ist, meint er, dass er Atmels 32-BIt RISC architektur mit einer Programmiersprache für 32-Bit CISC Prozessoren von Intel und AMD programmieren kann.
oder KURZ:

SOll die Camera am PC sein oder am ATMEGA?
Er meint das sicherlich nicht, wenn er hier so ein ernsthaftes Jobangebot reinstellt.
Max_der_Held hat geschrieben:Naja.. Aber danke DarkDragon.., dass du dir die Mühe machst mich über die zugrundeliegende Programmiersprache des Syntax aufzuklähren...

ps: oder nimmst du schon Xmega her, Peter66?
[edit] hey darkdragon! du hast deinen text editiert!^^... nagut egal k.a.. nur: es ist IMMER ein Atmega..[/edit]
Lies mal meine Signatur ;-) ("Ich bearbeite meine Postings häufig kurz nachdem ich sie abgeschickt habe.").
Es ist nicht immer ein Atmega! Ich kenne viel mehr Firmen die 8051µCs verwenden als Firmen die schon AVR Atmegas verwenden.

Ich schätze ich weiß sogar was das ganze wird.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Peter66
Beiträge: 4
Registriert: 14.06.2010 10:21

Re: Elektroniknahe Maschinensteuerung, sehr Interessant ! le

Beitrag von Peter66 »

Hallo,
die Cam ist am PC, so wie es eine USB Webcam eben ist.
Lösungen einer Bildauswertung auf einem Controller scheiterten alle samt an der fehlenden Rechenleistung, wenn man Farbe und diese Auflösung braucht hat selbst ein PC ordentlich zu tun,
Controller benutze ich eigentlich von Atmel alle bunt gemischt, in diesem Fall ist es ein AT90S8535 weil ich davon noch einige rumliegen habe und sowieso ein Quarz auf dem Board war, es hätte auch ein Tiny, Mega103, oder Mega44 sein können, Controller programmiere ich jeden Tag.

Wenn ein Programmierprofi der seinen roten Preis kennt, nicht den Code zum Purebasic im Purebasicforum zuordnen kann...

Das ganze wird eine komplizierte Sortiermaschine, die anderen Sensoren, IO und die Motorsteuerungen macht auch AVR,
reiner jakob
Beiträge: 23
Registriert: 03.08.2010 15:15

Re: Elektroniknahe Maschinensteuerung, sehr Interessant ! le

Beitrag von reiner jakob »

Hallo Peter66

Ich habe 1984 die Fa. IMS GmbH gegründet und CNC-Steuerungen für Drehen Fräsen entwickelt. Wir haben zu Anfang kleine Maschinen bis zum Schluß die größten Maschinen Deutschlands damit umgerüstet .Wir hatten einen eigenen Rechner auf 68000 Basis mit komplettem eigenen Betriebssystem.
Wie haben bis 1998 180 Maschinen damit ausgerüstet.

1998 kam nach einem Maschinbau-Tief die " Werkzeugmaschine " so in Schwierigkeiten, daß 70 Prozent der Arbeitsplätze im Werkzeugmaschinenbau abgeschossen wurden. Mein Bänker hat mich dann vor Schiss gecancelt.

Zur Sache.

Wenn Du in Elektronik gut bist, und nicht nur für Dein Projekt denkst, habe ich alles an Wissen , Kundenkreis, Vertriebssoftware, um eine marktfähige Supersteuerung auf PC-Basis /(low-cost) zu designen. Ich habe aber auch noch weitere Projekte .

meine Tel : 0621 672027 Handy 0171 28 94 119
EMail office@endescon.de

ruf doch mal an
endescon GmbH
Reiner jakob
Antworten