Ontwerpen van een Multi knooppunt Ledlamp PWM (4 / 6 stap)

Stap 4: Software


De software echt maakt deze teek project!

De broncode in de 12F609 is echt ingewikkeld. Ik ben met behulp van ooit laatste geheugenlocatie! Alle 64 bytes hebben zijn verbruikt door mijn code. Ik heb een maar liefst 32 bytes van flash links over als reserve. Dus, ben ik met behulp van 100% van de RAM en 97% van de flitser. Echter, het verbazingwekkend hoeveel functionaliteit krijgt u voor alles wat complexiteit.

Mededeling aan elk licht is gearchiveerd door acht-byte gegevenspakketten te sturen. Elk gegevenspakket eindigt met een controlesom - dus echt, er is zeven bytes aan gegevens plus een definitieve controlesom. Met 9600 baud neemt een gegevenspakket iets meer dan 8 milliseconden te komen.

De truc is voor multitasking terwijl het pakje bytes is aankomst. Als een van de LED's zijn actief met een PWM-signaal, de output PWM moeten houden bijgewerkt zelfs tijdens het ontvangen van nieuwe packet bytes. Dat is de truc. Het kostte me weken en weken dit uitzoeken. Ik heb een enorme hoeveelheid tijd werken met mijn Logiport LSA proberen te volgen van elke bit. Dit is een aantal van de meest ingewikkelde code die ik ooit heb geschreven. Het is omdat de micro net zo beperkt is. Op de micros die meer krachtige er makkelijk los/eenvoudig code schrijven en hebben de snelle micro rip erdoor zonder klagen. Met de 12F609, een losse code met kost je veel. Alle micro broncode is geschreven in C met uitzondering van de interrupt service routine.

Waarom hebben dergelijke grote gegevenspakketten die kunt u vragen. Nou, omdat we willen dat de LEDs-oprit op en neer op hun eigen overeenstemming. Zodra een profiel van de oprit is ingeladen, kan de LED gaan uit en start speedramp zelfs terwijl nieuwe opdrachten ontvangen voor een andere LED. Elke lamp heeft ontvangen en decoderen van alle data packet verkeer, zelfs als het pakket is niet bedoeld voor het.

Een LED-profiel bestaat uit een niveau start, start wonen tijd, oprit tarief, top niveau, bovenaan nadruktijd, helling omlaag tarief, onderste niveau. Zie telpatroon gekoppeld. Wow, dat is veel voor een LED. Nu vermenigvuldig dat maal het aantal LEDs. Het wordt te veel - ik kon alleen bijhouden van drie LEDs met volledige oprit profielen. De vierde (witte LED op de dev-bord) heeft alleen helling van/naar vermogen. Het is een compromis. Neem een kijkje op de bijgevoegde foto van een helling-profiel.

Het PWM-signaal is gegenereerd uit een timer die wordt uitgevoerd op 64uS per teek. De 8-bits timer rolt over elke 16.38mS. Dit betekent dat het PWM-signaal wordt uitgevoerd op 61.04 Hz. Dit is niet goed voor video te onttrekken! Dus, ik gebruikte een truc van de software en sprong een paar van extra graven in de timer het strekken tot 60Hz. Dit maakt de video te onttrekken kijken veel beter.

Op elke roll-over van de PWM-timer (16.67mS) update ik de oprit Profiel(en). Daarom is elke oprit/dwell teek 1/60 van een seconde, of 60Hz. Het langste profiel segment (met behulp van een telling van 255) zal laatste 4,25 seconden en de kortste (met behulp van een telling van 1) duurt 17ms. Dit geeft een mooi bereik om te werken binnen. Neem een kijkje op de bijgevoegde foto van de logic analyzer. Wilt echt zien de detail in de foto, opent u de foto in hoge resolutiemodus. Dit duurt een paar extra kliks op de instructable website. Er is ook een tekening van een profiel hieronder.

Documenteren van het instructieprotocol is op mijn todolijst. Ik ben van plan om te schrijven een gegevensblad soort document om protocol volledig te beschrijven. Ik ben begonnen met een gegevensblad voor de chip - een voorlopige versie is nu op mijn website.

Gerelateerde Artikelen

Ontwerpen van een mozaïek

Ontwerpen van een mozaïek

het doel van dit instructable moet u tonen hoe te ontwerpen en lay-out een mozaïek van lijntekeningen. Dit is vooral nuttig voor iedereen creëren van grotere mozaïeken. En wie een mozaïek instructie klasse leidt kan volgen de stappen voor het maken v
Ontwerpen van een uitbreiding PCB (Intel® IoT)

Ontwerpen van een uitbreiding PCB (Intel® IoT)

Dit Instructable is geschreven als een uitgangspunt voor degenen die graag gebruik van de Intel® Edison aan haar volle potentieel, door het op te nemen in een volledig ontwikkelde ingesloten project. Om dit te doen, u zult waarschijnlijk moeten maken
Ontwerpen van een romantische PCB met behulp van een gratis PCB design tool - EasyEDA

Ontwerpen van een romantische PCB met behulp van een gratis PCB design tool - EasyEDA

Heb je ooit geprobeerd om het ontwerpen van een PCB voor uw minnaar, kinderen of vrienden op een speciale dag? Waarom niet?PCB ook zou een geweldig cadeau dat openbaart dat uw creativiteit zal ook uw PCB-vaardigheden. Hier wil ik delen een romantisch
Ontwerpen van een elektrische uitrusting kamer

Ontwerpen van een elektrische uitrusting kamer

IntroductieDit is een instructie voor het ontwerpen van een kamer van elektrische apparatuur. Dit zijn de kamers die men vindt in grote gebouwen, dat is het centrum van alle elektrische systemen. Dit zal gaan door de fase van dit soort kamer, zoals b
Ontwerpen van een chocolade mal

Ontwerpen van een chocolade mal

u hebben allemaal gehoord van chocolade konijntjes, en je hebt waarschijnlijk al gegeten peanut butter cups - maar heb je ooit geprobeerd om uw eigen chocolade? Als u geïnteresseerd bent in goochelen professioneel uitziende bonbons, moet u een mal -
Ontwerpen van een draagbare schommel

Ontwerpen van een draagbare schommel

Hallo, mijn naam is Thibo Castelein en ik studeer Product Engineering aan Howest. Een van onze opdrachten is het ontwerpen van een schommel. De schommel is om te worden draagbaar, zodat u het om de parc, op vakantie, enz nemen kunt. In dit instructab
Ontwerpen van een functioneel 3d-printbaar AR-15 magazine model

Ontwerpen van een functioneel 3d-printbaar AR-15 magazine model

DISCLAIMER: Ik neem geen verantwoordelijkheid voor het gebruik van een item dat is gemaakt met behulp van deze instructies. Dit is een nieuwsgierigheid, en niet een beproefde, bewezen ontwerp in de echte wereld. Individuen met behulp van dit werk moe
Ontwerpen van een raket neus kegel (met Software)

Ontwerpen van een raket neus kegel (met Software)

Als u ontwerpt een amateur raket of een grote raket te plaatsen van een satelliet in een baan, is een van de meest belangrijke onderdeel van een raket de neus kegel. De neus van een raket bepaalt de hoeveelheid slepen dat de lucht gaat om in uw lance
Ontwerpen van een USB-Pen met behulp van Autodesk Inventor

Ontwerpen van een USB-Pen met behulp van Autodesk Inventor

In deze tutorial zullen we lopen door het ontwerpen van een aangepaste USB pen drive geschikt voor afdrukken in 3D.Als je een leraar, leerlingen ontwerpen te stimuleren objecten met echte applicatie is een geweldige manier om te gaan van hun creativi
Ontwerpen van een Step-Up DC-naar-DC Boost Converter

Ontwerpen van een Step-Up DC-naar-DC Boost Converter

Een Step-Up converter is geschikt voor het stimuleren van een lage ingangsspanning, zeggen 1,5 V tot een veel hogere spanning zoals, 5 V. Aangezien macht moet worden behouden, terwijl het opvoeren van de spanning, is de uitgangsstroom verlaagd. Nemen
Ontwerpen van een oude Afrikaanse masker met behulp van Autodesk 123D Design

Ontwerpen van een oude Afrikaanse masker met behulp van Autodesk 123D Design

als u een leraar bent, het ontwerpen van unieke en zinvolle artefacten is een geweldige manier deelnemen aan studenten geschiedenis en kunst, terwijl zetten meer kwantitatieve design vaardigheden te werken. Leraren kunnen hun leerlingen denken en han
Ontwerpen van een PC behuizing vanaf nul

Ontwerpen van een PC behuizing vanaf nul

Ongeveer een jaar geleden besloten heb ik dat ik wilde de kleinste productie-kwaliteit PC behuizing die het huis van de meest krachtige onderdelen kunt ontwerpen. Dit betekent water koeling, full-sized grafische kaart overklokken, de hele keet. Maar
Ontwerpen van een dienblad roosteren in Fusion 360

Ontwerpen van een dienblad roosteren in Fusion 360

Laten we een koffieboon brander!FirstBuild is een vrij zoete Gemeenschap van ontwerpers en ingenieurs waar iedereen kan bijdragen aan het ontwerp en de productie van GE Appliances, en deze maand ze uitvoert de uitdaging van een ontwerp voor een koffi
Ontwerpen van een functionele kartonnen stoel

Ontwerpen van een functionele kartonnen stoel

De kerels van Hey!Ik zal in dit Instructable lopen jullie door middel van het ontwerp en bouwen van proces van het maken van een kartonnen stoel. Dit project was een toewijzing voor mij in design school, maar het is een leuke, goedkope ontwerp uitdag