Software schrijven bij een bestaande printplaat

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • oinkoink12
  • Registratie: Februari 2006
  • Laatst online: 28-07 15:30
Beste mensen!

Inleidende informatie
Een vriend van me is helemaal gek van vliegtuigsimulatoren en is bezig zijn eigen vliegtuigsimulator te maken.
Dit is natuurlijk een enorm project en hij is er ook al een paar jaar mee aan het sleutelen. Hij maakt zijn eigen meters(gauges) voor temperatuur snelheid e.d en daar heb ik een vraag over.

Casus
Om de meters te testen heeft hij bij www.opencockpits.com een USBStepper gekocht. Dit is een printplaat welke via usb dmv software het motortje onder andere kan laten draaien. De printplaat ziet er als volgt uit
Afbeeldingslocatie: http://mutleyshangar.com/reviews/jack/smc/img/Stepper_Card.jpg
de bijbehorende software is freeware en er zit een spaans/engels vertaalde pdf bij met de technische details en software koppelingen http://www.andare-ing.com...SBStepper%20(english).PDF

Daadwerkelijke probleem
De software die bij de USBStepper hoort is voor hetgeen mijn vriend wil gebruiken nodeloos complex, de originele software is geschreven om fysieke meters te laten communiceren met Flight Simulators, het alleen laten draaien van de meters en het afstellen ervan is dus een soort "bijeffect" hetgeen het een niet gebruiksvriendelijk product maakt als je het niet gebruikt waarvoor het gemaakt is.

Wat zou ik willen?
Ik wil weten of het mogelijk is om nieuwe software te schrijven voor deze printplaat waarbij er alleen een aantal "primitieve functies" gebruikt moet worden zoals het draaien van de meters voor een aantal steps en het sneller en langzamer draaien. Dit zijn allemaal functies die al op de een of andere manier bestaan binnen deze programma's maar vrij lastig benaderbaar zijn.

Wat heb ik al gedaan?
  • Contact opgenomen met de eigenaar van de software. Deze vertelde mij dat hij vrij weinig doet met de software en dat het freeware is dus dat ik er mee mag doen wat ik wil.
  • Geprobeerd uit te zoeken waar ik moet starten, maar kan heel weinig vinden.
  • Verschillende kennissen die in de software ontwikkeling zitten gevraagd, maar dit viel buiten hun kennisgebied.
Hopelijk hebben jullie een beginnetje voor mij, zodat ik aan de slag kan!
Alvast bedankt voor het doornemen van de grote lap tekst!

oinkoink12

Acties:
  • 0 Henk 'm!

  • Garyu
  • Registratie: Mei 2003
  • Laatst online: 12-09 15:00

Garyu

WW

Met software bedoel je dus alleen het tooltje dat op je PC draait?

Dat kan wel, je kan in principe hetzelfde doen als wat zijn software doet en een aantal waardes "vast" zetten. Je hebt een printplaat en een beschrijving van de componenten, dus het moet best kunnen.

Als de software open-source zou zijn, zou je natuurlijk een stuk sneller bij je doel komen. Denk je dat de eigenaar je de source toe kan spelen?

[ Voor 9% gewijzigd door Garyu op 06-03-2012 13:48 ]

It's Difficult to Make Predictions - Especially About the Future


Acties:
  • 0 Henk 'm!

  • oinkoink12
  • Registratie: Februari 2006
  • Laatst online: 28-07 15:30
Garyu schreef op dinsdag 06 maart 2012 @ 13:48:
Met software bedoel je dus alleen het tooltje dat op je PC draait?

Dat kan wel, je kan in principe hetzelfde doen als wat zijn software doet en een aantal waardes "vast" zetten. Je hebt een printplaat en een beschrijving van de componenten, dus het moet best kunnen.

Als de software open-source zou zijn, zou je natuurlijk een stuk sneller bij je doel komen. Denk je dat de eigenaar je de source toe kan spelen?
De software is helaas niet open-source. En de eigenaar wil de source liever niet delen, omdat hij denkt dat mensen met zijn files geld wil verdienen. Vandaar dat het freeware is.

Ik heb de printplaat en alle relevante hardwarematige info. Ik heb alleen geen idee waar ik moet beginnen. Welke programmeertaal (ik heb maar met een paar talen ervaring) en ik kan online ook weinig info vinden van mensen die software voor een PCB schrijven of geschreven hebben.

Acties:
  • 0 Henk 'm!

  • base_
  • Registratie: April 2003
  • Laatst online: 12-09 14:26
Software schrijf je voor een microcontroller. Datasheet van zo'n ding is al 600+ pagina's dus als je hier iets voor wilt leren schrijven en ook daadwerkelijk wilt schrijven heb je of heel erg veel tijd over of je kan beter een arduino ofzo kopen en daar de stappenmotor op hangen (daar zijn genoeg open libraries voor om dit redelijk snel te kunnen doen).

Acties:
  • 0 Henk 'm!

  • oinkoink12
  • Registratie: Februari 2006
  • Laatst online: 28-07 15:30
base_ schreef op dinsdag 06 maart 2012 @ 13:55:
Software schrijf je voor een microcontroller. Datasheet van zo'n ding is al 600+ pagina's dus als je hier iets voor wilt leren schrijven en ook daadwerkelijk wilt schrijven heb je of heel erg veel tijd over of je kan beter een arduino ofzo kopen en daar de stappenmotor op hangen (daar zijn genoeg open libraries voor om dit redelijk snel te kunnen doen).
Als het een onbegonnen zaak is om dit met deze opstelling te doen staan we open voor een makkelijkere oplossing.

Ik had met mijn beperkte ervaring en het simplisme waarmee de huidige software in elkaar zit, niet het idee dat het " jaren " werk zou zijn.

Ik ga even het Arduino verhaal doorlezen, bedankt voor je informatie!

[ Voor 15% gewijzigd door oinkoink12 op 06-03-2012 14:06 ]


Acties:
  • 0 Henk 'm!

  • base_
  • Registratie: April 2003
  • Laatst online: 12-09 14:26
Niet onbegonnen maar relatief veel werk om een microcontroller platform te leren, hier een arduino voorbeeldje: http://arduino.cc/hu/Tutorial/StepperUnipolar

Acties:
  • 0 Henk 'm!

  • oinkoink12
  • Registratie: Februari 2006
  • Laatst online: 28-07 15:30
base_ schreef op dinsdag 06 maart 2012 @ 14:06:
Niet onbegonnen maar relatief veel werk om een microcontroller platform te leren, hier een arduino voorbeeldje: http://arduino.cc/hu/Tutorial/StepperUnipolar
Dat ziet er relatief simpel uit.
Toch nog een vraag vanuit mijn kant. Aangezien het huidige programma wel werkt met dit bord, is het niet mogelijk om daar iets van te gebruiken? Feitelijk wil ik alleen maar een gestripte versie van de huidige software en niet opnieuw het wiel uit vinden.

[ Voor 6% gewijzigd door oinkoink12 op 06-03-2012 14:10 ]


Acties:
  • 0 Henk 'm!

  • base_
  • Registratie: April 2003
  • Laatst online: 12-09 14:26
Die software connection / IOCP/SOIC zou je de details van moeten krijgen. Je zou dan contact op moeten nemen met de maker van de software en vragen of hij een API/protocol heeft voor de aansturing van zijn controller. Ik zie dat de "IO Card stepper" naar poort 8092 luistert, als hij daar een protocol van heeft kun je hem vanuit een eigen programma aansturen.

[ Voor 24% gewijzigd door base_ op 06-03-2012 14:18 ]


Acties:
  • 0 Henk 'm!

  • Garyu
  • Registratie: Mei 2003
  • Laatst online: 12-09 15:00

Garyu

WW

base_ schreef op dinsdag 06 maart 2012 @ 14:15:
Die software connection / IOCP/SOIC zou je de details van moeten krijgen. Je zou dan contact op moeten nemen met de maker van de software en vragen of hij een API/protocol heeft voor de aansturing van zijn controller. Ik zie dat de "IO Card stepper" naar poort 8092 luistert, als hij daar een protocol van heeft kun je hem vanuit een eigen programma aansturen.
Inderdaad, dit bedoelde ik ook - als het om het tooltje gaat dat de config van de microcontroller op zich neemt, kan je dit eventueel aan de hand van een blackbox-analyse reverse-engineeren. Maar met een beetje hulp van de ontwikkelaar kom je misschien ook een heel eind.

It's Difficult to Make Predictions - Especially About the Future


Acties:
  • 0 Henk 'm!

  • Sissors
  • Registratie: Mei 2005
  • Niet online
base_ schreef op dinsdag 06 maart 2012 @ 13:55:
Software schrijf je voor een microcontroller. Datasheet van zo'n ding is al 600+ pagina's dus als je hier iets voor wilt leren schrijven en ook daadwerkelijk wilt schrijven heb je of heel erg veel tijd over of je kan beter een arduino ofzo kopen en daar de stappenmotor op hangen (daar zijn genoeg open libraries voor om dit redelijk snel te kunnen doen).
Dat is wel wat overdreven. Een atmel bijvoorbeeld met AVR-GCC proggen is prima te doen, het is vooral dat je dan ook een programmer nodig hebt, en een Arduino steek je direct in je computer. Maar iets als stappenmotoren zijn er ook prima (nou ja weet niet of ze prima zijn, maar ze werken vast) libraries in AVR-GCC.

Het probleem vooral als je deze printplaat wil gebruiken is dat je eerst moet uitvogelen waar alles mee verbonden is, en dat is al een redelijk irritant werkje. Vervolgens kan je die microcontroller ook niet programmeren, je zal eerst een andere microcontroller moeten halen die compatible is en die programmeren.


En zo klinkt een datasheet wel heel erg eng, volgens mij zijn meeste al korter, maar sowieso voor zon project kan je minstens 95% van een datasheet per direct overslaan.

[ Voor 7% gewijzigd door Sissors op 06-03-2012 14:26 ]


Acties:
  • 0 Henk 'm!

  • base_
  • Registratie: April 2003
  • Laatst online: 12-09 14:26
furby-killer schreef op dinsdag 06 maart 2012 @ 14:24:
[...]
Dat is wel wat overdreven. Een atmel bijvoorbeeld met AVR-GCC proggen is prima te doen, het is vooral dat je dan ook een programmer nodig hebt, en een Arduino steek je direct in je computer. Maar iets als stappenmotoren zijn er ook prima (nou ja weet niet of ze prima zijn, maar ze werken vast) libraries in AVR-GCC.
Een stappenmotor aansturen is gewoon een patroon doorlopen dus dat valt wel mee, e.e.a. aan usb knopen en daar drivers voor maken is een ander verhaal, daar gaan libraries enorm helpen. Het is overigens een PIC (16C745) en geen AVR
Het probleem vooral als je deze printplaat wil gebruiken is dat je eerst moet uitvogelen waar alles mee verbonden is, en dat is al een redelijk irritant werkje.
schema staat in de documentatie van zijn link
Vervolgens kan je die microcontroller ook niet programmeren, je zal eerst een andere microcontroller moeten halen die compatible is en die programmeren.
De huidige controller kan je waarschijnlijk niet uitlezen maar wel wissen en herschrijven met een eigen programma, je hebt echter wel een programmer nodig.
En zo klinkt een datasheet wel heel erg eng, volgens mij zijn meeste al korter, maar sowieso voor zon project kan je minstens 95% van een datasheet per direct overslaan.
Bij mij komt murphy meestal even langs die nou net zorgt dat een of ander poortje verkeerd staat, je moet dan toch wel even zoeken... ;)
edit: datasheet -> http://ww1.microchip.com/downloads/en/DeviceDoc/41124c.pdf , 160 pagina's dus dat valt nog mee :)

[ Voor 3% gewijzigd door base_ op 06-03-2012 14:38 ]


Acties:
  • 0 Henk 'm!

  • oinkoink12
  • Registratie: Februari 2006
  • Laatst online: 28-07 15:30
Ik denk alles meenemend dat ik voor de arduino Uno icm de Adafruit stepper motor kit mezelf hard ga maken.

https://www.adafruit.com/products/81 Hiermee kan de harde eis van mijn vriend (2 steppermotoren tegelijkertijd) en de relatief makkelijke programmeerbaarheid snel gerealiseerd worden.

Acties:
  • 0 Henk 'm!

  • Stoney3K
  • Registratie: September 2001
  • Laatst online: 19:06

Stoney3K

Flatsehats!

De PIC16C745 is een one-time-programming (OTP) versie die dus NIET te wissen of herprogrammeren is.

Je kan hem vervangen door een PIC16F745 (Flash) die wel programmeerbaar is, alleen heb je dan wel een MPLAB ICD, ICP of vergelijkbare programmer nodig.

De printplaat zelf is verder niet zo ontzettend spannend. De controller zit gewoon rechtstreeks aan een setje darlington-arrays (ik gok ULN2003/2803 varianten met vrijloopdiodes) en de USB vast. Als je uit kan vissen welke pin waarheen loopt kun je redelijk snel nieuwe firmware schrijven.

Zet het daar maar neer! -- It's time to party like it's 1984 -- Soundcloud


Acties:
  • 0 Henk 'm!

  • base_
  • Registratie: April 2003
  • Laatst online: 12-09 14:26
Stoney3K schreef op dinsdag 06 maart 2012 @ 15:40:
De PIC16C745 is een one-time-programming (OTP) versie die dus NIET te wissen of herprogrammeren is.
verrek, da's waar ook, zie zo vaak F types dat ik er overheen las, maar ik weet ook niet welke daadwerkelijk op de print zit, typenummer komt uit schema
Je kan hem vervangen door een PIC16F745 (Flash) die wel programmeerbaar is, alleen heb je dan wel een MPLAB ICD, ICP of vergelijkbare programmer nodig.
pickit is goedkoper
Als je uit kan vissen welke pin waarheen loopt kun je redelijk snel nieuwe firmware schrijven.
schema is aanwezig

Acties:
  • 0 Henk 'm!

  • oinkoink12
  • Registratie: Februari 2006
  • Laatst online: 28-07 15:30
Vandaag de Adafruit Motor/Stepper/Servo Shield for Arduino kit - v1.0 en de Arduino duemilanove besteld.

Verder begonnen met uitzoeken welke bestaande Arduino scripten/software er al bestaat die heel erg overeenkomt met wat we willen.

Na een dag zoeken heb ik een paar mooie scripts gevonden welke zelfs een op C++ gebaseerde GUI hebben.
Nu afwachten tot de spullen er zijn.
Pagina: 1