![]() |
| | #31 (permalink) | |
| Lid sinds: 3 februari 2008 Locatie: Utrecht Leeftijd: 29
Berichten: 38
| Citaat:
Wat mij betreft is de RC-duino waar Jelle het over heeft een project wat geheel los staat van het laser-combat. Misschien is het handiger om daar een aparte thread voor te starten als daar ook behoefte aan is. | |
| | |
| | #34 (permalink) |
| Lid sinds: 1 augustus 2006 Locatie: Utrecht
Berichten: 486
|
In principe kan je alle servos op een ingang uitlezen, mits je ontvanger detecteerbare pauzes openlaat bij het schakelen tussen de verschillende kanalen. Dan krijg je in feite je ppm signaal weer terug. En dat is vrij eenvoudig te decoderen met een interrupt en een timer (die is essentieel om de opname precies te houden in geval van zware belasting). Maar volgens mij is de belasting niet zo zwaar: het meest frequente werk is het schakelen van de IR uit pin op 36 KHz. Met een kloksnelheid van 16MHz heb je dus ruim genoeg kloktikken om andere dingen te doen. De andere processen gaan op een veel lagere frequentie, veel rond de 50Hz zoals het decoderen van de servo signalen en het IR zenden en ontvangen op iets hogere frequentie (~1KHz, RC5 protocol). Ook aan de uitgang hoeft het niet al te precies, als het gereduceerde throttle signaal een paar us te kort of lang is, dan is dat ook geen ramp. Met andere woorden: jitter is geen probleem en gaat het waarschijnlijk ook niet worden. Luuk, je hebt gelijk dat een rc-duino initiatief niet zo veel met rc-lasercombat te maken heeft, behalve dat het veel van dezelfde hardware gebruikt. Maar zo te zien is het animo hier daar niet zo groot voor, dus komt dat voor nu op de lange baan. Overigens zijn er ook al anderen die zich op dit terrein hebben gewaagd: J44 Industries: DogFight en zelfs op IBM developerworks iets moois: IBM developerWorks : Open source : Technical library view Ik heb ondertussen een projectje aangemaakt op sourceforge: https://sourceforge.net/projects/rc-lasercombat/ en daar de code in svn gestopt. Als jullie dus iets meer willen dan alleen maar er over praten, dan ben je van harte uitgenodigd om daar eens door de code te neuzen. PS: Arduino duemillenova staat tot 2009 zoals fiat cinquecento tot 500 staat. Het beestje moet een naampje hebben.
__________________ Tijd voor een andere handtekening... |
| | |
| | #35 (permalink) |
| Lid sinds: 23 juli 2008 Leeftijd: 51
Berichten: 707
|
Jelle, Ik heb even in die repositories gekeken, maar kon er zo gauw geen wijs uit worden. Het lijkt of je de volledige Arduino libraries, inclusief examples, gepost hebt. Ik wilde erin kijken om te zien wat je architectuur is. Ik heb er zelf even over nagedacht, en zou het alsvolgt opzetten (als het in een kleine micro moest als een AVR of een PIC). Ik zou software architectuur laten bestaan uit een main, en een enkel interrupt level. Het hart zou een vrijlopende 16bit timer kunnen zijn op 1uSec tik. De main zou een lus hebben van 20mSec, die lus wordt ieder keer gestart bij een puls van de throttle van de RC receiver. Hij meet in (max 2 mSec) de puls van de throttle, en meteen daarna (de volgende 2 msec) stuurt hij de throttle puls uit op throttle out. Je kunt dit gelijktijdig doen, maar dat hoeft niet (end de code is makkelijker als je wilt gaan stotteren). De overige 16msec worden gebruikt voor het vuren. Dit 16msec block start afwisselend 2 stukjes code. In het even tijdslot decodeer je de VUUR PWM ingang (gas zit op 3 of 1 (Futaba/Graupner)) en VUUR op 5,6,7,8 dus dit past netjes in de timing). Het oneven tijdslot gebruik je voor het uitsturen van een IR code naar de IR LED als je vuurt. Je kunt dat niet doen in een RC5 frame (duurt 25mSec) maar dan neem je b.v. een 4PPM protocol van 10 bits. Dat past wel. Of je verzint zelf wat met een mark-space van 1mSec : 1.5mSec verhouding. Zorg dat de IR burst minimaal 400uSec is anders hebben IR oogjes er problemen mee. Dit IR protocol gebruik je ook voor alle communicatie (zie beneden). Dit geeft een maximale vuur snelheid van 1 schot per 40mSec, ofwel 25 schoten per seconde. Minder kan natuurlijk altijd. Dan sla je wat tijdsloten over. De interrupt routine loopt hier onafhankelijk van, en decodeert de IR ontvanger. Belangrijk is dat de IR routine op flank triggering werkt, en vergelijkt de codes met een vrijlopende timer. Iedere onafhankelijke interrupt moet kort zijn om de timing van de main niet te veel te beinvloeden. Dit zou moeten kunnen werken op de traagste micro'tjes (8 pins 4MHz PIC12F509). Elke HIT zou opgeslagen worden in EEPROM, als adres van de aanvaller. Zo zou een lijst onstaan van hits. Aanvallers zouden een nummer hebben van b.v. 0-29 (in geval 5 bits adres). De overige 5 bits kunnen gebruikt worden voor checksum en wapen keuze (rakket, kanon, mitrailleur, pistool). Het uitlezen zou ik doen via de bestaande IR LED en IR oogje. Ik zou een adres reserveren (b.v. adres 31), en bij het ontvangen van die code gaat de software (in dezelfde lus als boven) achtereenvolgens alle nummers uitspugen die in EEPROM zijn opgenomen. Een IR oogje aan een PC kan deze lijst verwerken (met b.v. Winlirc). Tenslotte stuurt de PC een andere gereserveerde code (b.v. adres 30), en die code wist het EEPROM weer. Ik weet niet of dit in de richting komt van wat je aan het doen bent, maar dat hoor ik graag. Laatst gewijzigd door Volhout; 11 februari 2010 om 12:45 |
| | |
| | #36 (permalink) |
| Lid sinds: 1 augustus 2006 Locatie: Utrecht
Berichten: 486
|
Dat klopt, het zijn de volledige arduino 0017 sources. In een vorm die met eclipse handig te verwerken is. Daarom heet de directory waar ze in staan ook arduino-0017 De andere gebruikte library is IRremote, waar we wel wat wijzigingen in hebben. Het echte werk om het bij elkaar te knopen staat in CombatLaser. Volgens mij had Luuk hier als wat eerder uitgelegd hoe wij het doen. Zoals jij het voorsteld zou het misschien ook kunnen, maar maak je het misschien wat onnodig rigide. Hoe meer je op intterupt kan doen, hoe meer tijd er over blijft voor andere dingen. De main loop kan je dan gebruiken voor huishouden dat niet heel erg tijdsgebonden is, bv een motorgeluid bitbangen op een poortje. (maar niet in de aankomende versies..)
__________________ Tijd voor een andere handtekening... |
| | |
| | #37 (permalink) |
| Lid sinds: 3 februari 2008 Locatie: Utrecht Leeftijd: 29
Berichten: 38
|
Er blijkt vanuit onze eigen vliegclub toch erg weinig belangstelling te zijn voor het combat setje. Tot nu toe heb ik nog maar één bestelling gehad. Ik had gedacht er om te beginnen er een stuk of 10 te maken maar dat zullen er dan wel minder worden. Ik maak er nu verlies op met de verzendkosten erbij dus als er hier nog mensen zijn die nog een setje willen bestellen, stuur me dan even een privé berichtje. Ik wil de onderdelen morgen aan het eind van de dag bestellen, dus reageer voor die tijd. Als je nu bestelt heeft dat als nadeel dat de software nog niet compatible is met het IR programmeer-kastje wat we er later waarschijnlijk bij gaan maken. Maar, wanneer we deze hebben kan je gewoon een software update krijgen zodat het dan wel werkt (ff opsturen of langsrijden als je in de buurt woont) De kosten zijn uitgekomen op 30 euro voor één unit. Da's iets meer dan ik eerst dacht maar dat is omdat ik voor de prototypes de extra benodigdheden nog had liggen en niet in de kosten had meegeteld. Als je een unit of setje van 2 of meer wilt bestellen wil ik wel dat het van te voren betaald wordt zodat ik er geen risico mee loop. Betalen mag via bank of PayPal, details krijg je per PM of email. |
| | |
| | #38 (permalink) |
| Lid sinds: 4 februari 2005 Locatie: Hoogerheide, Club: BVL-steenbergen Leeftijd: 29
Berichten: 4.513
|
Is er al buiten getest?
__________________ -= Space Scooter, Picojet, FreeAir Jerry, LL4 black Quadcopter (MW), FPV Nemo, HK ParkJet, Seadolphin 770, M-04 Mx-5, Xray NT18T, HK 1:16 brushless, MX12-2.4ghz =-My Blog |
| | |
| | #40 (permalink) |
| Lid sinds: 4 februari 2005 Locatie: Hoogerheide, Club: BVL-steenbergen Leeftijd: 29
Berichten: 4.513
|
jup, wil het wel even weten hoe het buiten gaat voordat we er evt gaan bestellen.
__________________ -= Space Scooter, Picojet, FreeAir Jerry, LL4 black Quadcopter (MW), FPV Nemo, HK ParkJet, Seadolphin 770, M-04 Mx-5, Xray NT18T, HK 1:16 brushless, MX12-2.4ghz =-My Blog |
| | |
| ||||||
![]() |
| Labels |
| combat, indoor, laser |
| Discussietools | |
| Weergave | |
| |