In dit instructable, ik zal laten zien hoe ik ontwierp, geprogrammeerd, en gebouwd een apparaat als dit met een paar extra handige functies waarmee het veelzijdiger dan bij uw lokale paintball veld. Maar eerst, een beetje achtergrond...
Was ik experimenteren met zelfgemaakte raket motoren (puur voor weekend entertainment), en een vriend en ik begon te praten over het optimaliseren van het brandstofmengsel. Snel realiseerden we ons dat we nooit de prestaties ergens in de buurt nauwkeurig genoeg schatten kunnen te kunnen om alle relevante gegevens over de effecten van kleine aanpassingen aan de brandstofverhouding. Het gesprek ging in op meettechnieken. Het duurde niet lang voordat ik denken sensoren, tellers en LEDs was! Het oorspronkelijke idee was om het gebruik van een teller gedreven door een 555 oscillator die wordt gestart wanneer de raket een sensor passeert en stopt wanneer de raket de tweede sensor passeert. Vervolgens weergeven eenvoudig de status van de teller op een bos van LEDs in binaire...
OK, dat zou kunnen werken, maar ik zou moeten nemen van een calculator met mij voor elke lancering. Dan is er de handel af tussen eenvoud en nauwkeurigheid. Een snelle oscillator zou nauwkeuriger, maar ten minste 2 of 3 items trapsgewijs als u wilt tellen alle de pulsen gedurende de korte tijd dat de raket tussen de sensoren zou vereisen. Een teller kan het werk doen, maar alleen als de oscillator langzaam genoeg is dat de teller niet overloop... Ik verlaten dat idee onmiddellijk.
Ik had een paar AVR Microcontrollers rondslingeren (een arduino ook maar beter voor het bouwen van uw eigen target-systeem is op elk niveau. Ik bespaart dat argument voor een andere dag...) en ik besefte dat een van hen het werk perfect doen kon. En ik zou niet zelfs een rekenmachine nodig! Op dat moment begon ik serieus het ontwerpen van dit project en dit instructable werd geboren.
Een korte beschrijving van hoe het functioneert alvorens verder te gaan:
Twee 12VDC foto sensoren (projector/ontvangers met reflectoren) detecteren de raket, kind en/of ballistische fruitcake, of wat je wilt klok en een signaal afgeven aan de twee externe interrupt-pinnen op een ATMega328P via de transistor buffers (we krijgen in interrupts en spullen later, belofte.) De sensoren die ik gebruik zijn Omron E3F2-DS10B4-P1 van. Deze zijn gemakkelijk het duurste onderdeel, maar ik was kunnen lenen van een paar van hen voor de ontwikkeling en testen van dit circuit. Elk apparaat dat kan ontdekken uw doelobject en een signaal afgeven zal wel prima werken. Het circuit ik hier laten werken met de 12VDC van deze sensoren, maar met een beetje wijziging het kan ook werken op andere spanningen even goed.
De ATMega meet de tijd tussen de interrupts, leest de gebruiker gedefinieerde afstand tussen de sensoren van sommige DIP-schakelaars, alle de wiskunde doet, leest de gebruiker gedefinieerd uitvoereenheden (MPH, KPH, etc...) uit meer DIP-schakelaars, en ten slotte de output naar drie 7-segment displays via een enkele 74LS48 BCD 7-segment decoder multiplexes.
Klinkt niet al te slecht recht? Nou ja, alles behalve de fruitcake toch...
De sensoren kunnen overal van 1 tot 16 voet uit elkaar kan, en de uitvoer in mijl/uur, kilometer/hr, voeten/sec of meter/sec. De instelling van de afstand voor de sensoren kan de gebruiker de snelheid van de minimale en maximale meetbaar doel wijzigen zonder te herprogrammeren van de chip. Dit is handig wanneer, na het vliegen een raket of twee, de jonge geitjes willen hun fietsen race... Er is nog een kwestie van timer overloop, en de variabele afstand is één manier om enigszins eromheen. Er is een andere manier dat ik ook gebruikte dat ik spreek over later: timer prescaling.
Dit instructable is (hopelijk) All-Inclusive. Elke stap in het proces zal worden besproken in detail van het ontwerpen van de hardware, het programmeren van de AVR, bij het opstellen van het schema en printplaat lay-out, om eindelijk het etsen en het solderen van de Raad van bestuur. Alles van de software die ik gebruik is volledig gratis en zeer functioneel. Atmel studio 6 is voor de ontwikkeling van de AVR en ExpressPCB voor het schema en bestuur-indeling. Daarom, alle screenshots en procedures zullen worden op basis van deze software. Er zijn andere even gratis en aantoonbaar meer functionele opties die er zijn, dus kies wat het beste voor u is. Aan de kant van de hardware, ik zal met behulp van een AVR Dragon (~ $50) voor de programmering, een breadboard voor prototyping en hopelijk een computer met een USB-poort spreekt vanzelf :)
Een complete gereedschappen, materialen en onderdelenlijst zal worden geplaatst op stap 11 ***
By the way, moet de AVRDragon ten minste een 6-pin ribbon kabel om de programmering te doen. Het moet een 2 x 3 vrouwelijke header aan elk uiteinde (2,54 mm.)
Wat betreft het etsen van de Raad van bestuur, ik gebruikte een vooraf gesensibiliseerde dubbel zijdig koper bekleed bord (1oz, 1 / 2oz zou zijn ok,) sommige positieve ontwikkelaar de blootgestelde fotoresist en ferrichloride aan etch van de koper te verwijderen. Ik heb nooit de overzetmethode toner gebruikt, dus ik ben niet zeker of de kleine sporen zou komen schoon met die techniek.
Meer over later etsen. Eerst, laat gewoon eens een kijkje op het schema...