PIC10F "The World's Smallest Microcontroller"
Ett exempel på när en 6-pinnars µC kan vara bra är en elektrisk tandborste. Den jag har hemma säger till när man har borstat i 2 minuter, genom att pulsera motorn ett par gånger. Det räcker ju med en enda I/O-pinne för detta, men att göra en två minuters timer med pulseringsvarning på annat sätt hade nog varit både dyrare och mindre noggrannt!
Det finns så många skitbra användningsområden för så små mikrocontrontrollers. Ett ex är inom fordons bruk. Framtiden visar ju på att man kommer att skippa de där enorma kabelhärvorna till förmån för en databuss. En sådan i varje enhet för att känna av givare, dörrkontakter, tända lampor, aktivera centrallåset osv. Gissar på att vi hinner med att uppleva hur våra hem styrs på samma sätt.
Radiokontrollerade strömbrytare behöver inte mera än 1 pinne för mottagning och 1 för att styra switchen. Då har man 2 över till utökade funktioner.
Larm är en annan tänkbar applikation. Alla kontakter o sensorer kommunicerar via en databuss. Larmets huvudenhet skickar hela tiden ut en förfrågan till samtliga enheter, en efter en. Enheterna svarar sedan med sin status. Då räcker det med en kabel som dras runt i hela byggnaden, larmet kan ändå berätta exakt vilken sensor som löst ut. Försök sedan att tjuvkoppla ett sådant larm. Du har en entråds buss där kanske 100st sensorer kommunicerar hela tiden med huvudenheten. Det är ett förbannat svårt o tids ödande projekt att ta reda på vilken som är vilken. Vidare så behöver ju inte alla sensorer vara inbrotts typ utan det kan ju kombineras valfritt med rök, temp, vatten osv.
Jag skulle nog kunna komma på tusentals olika områden där dessa små controllers skulle kunna användas.
Mikael
Radiokontrollerade strömbrytare behöver inte mera än 1 pinne för mottagning och 1 för att styra switchen. Då har man 2 över till utökade funktioner.
Larm är en annan tänkbar applikation. Alla kontakter o sensorer kommunicerar via en databuss. Larmets huvudenhet skickar hela tiden ut en förfrågan till samtliga enheter, en efter en. Enheterna svarar sedan med sin status. Då räcker det med en kabel som dras runt i hela byggnaden, larmet kan ändå berätta exakt vilken sensor som löst ut. Försök sedan att tjuvkoppla ett sådant larm. Du har en entråds buss där kanske 100st sensorer kommunicerar hela tiden med huvudenheten. Det är ett förbannat svårt o tids ödande projekt att ta reda på vilken som är vilken. Vidare så behöver ju inte alla sensorer vara inbrotts typ utan det kan ju kombineras valfritt med rök, temp, vatten osv.
Jag skulle nog kunna komma på tusentals olika områden där dessa små controllers skulle kunna användas.
Mikael
- grapetonix
- Inlägg: 293
- Blev medlem: 14 juli 2004, 17:20:50
- Skype: grapetonix
- Ort: Hägersten, Stockholm
Haha! Du tog orden ur munnen på mig!Earendil skrev:Ett exempel på när en 6-pinnars µC kan vara bra är en elektrisk tandborste. Den jag har hemma säger till när man har borstat i 2 minuter, genom att pulsera motorn ett par gånger. Det räcker ju med en enda I/O-pinne för detta, men att göra en två minuters timer med pulseringsvarning på annat sätt hade nog varit både dyrare och mindre noggrannt!
Tänkte replya med exakt samma sak, men som sagt, mången hjärnor verkar gå i samma banor.
EDIT: I min sista sampleorder drog jag hem 3st. 10F206-or, och nu vet jag inte vad jag ska använda dem till! Hu! De är ju så små att jag inte ens tror att jag kan löda dem för hand, trots att jag har en relativt fin lödkolv (1.2mm^2 spets)
Upptäckta en tråd som jag vill kommentera:
Anledningen till att MicroChip gillar flash är att det, så småning om, ska ersätta EPROM. För ett par år sedan var jag på ett MicroChip-seminar och då berättade dom helt tydligt och klart att det var målet.
De jobbar med att trimma deras processer så att utfallet blir bättre och därmed blir det billigare. Samtidig ger flash-teknologien möjlighet att göra mindre minnesceller = mindre kretsar = fler kretsar på varje silicium-skiva = billigare kretsar.
Jag använder i övrigt den ICD (In-Circuit Debugger) jag fick via det seminar flitigt och har aldrig bränd av en krets utom ett par tillfällen där spänningsregulatorn, under drift, fick spader och skickade ut 12V (billigt switch-skit), det var en aning mer än kretsen tyckte om......
Med ICD är det riktigt trevligt att jobba, stega fram i programmet, ändra värden/portar/minne, köra full hastighet, lägga in break-point i hårdvaran osv. Riktigt kul faktisk. Även om att den stjäl ett par pinnar går det bra, jag har en sockel som byter en port så jag använder 16F877 som 16F873.
Vill man något tungt tycker jag att ICD:n är nära nog ett måste.
Anledningen till att MicroChip gillar flash är att det, så småning om, ska ersätta EPROM. För ett par år sedan var jag på ett MicroChip-seminar och då berättade dom helt tydligt och klart att det var målet.
De jobbar med att trimma deras processer så att utfallet blir bättre och därmed blir det billigare. Samtidig ger flash-teknologien möjlighet att göra mindre minnesceller = mindre kretsar = fler kretsar på varje silicium-skiva = billigare kretsar.
Jag använder i övrigt den ICD (In-Circuit Debugger) jag fick via det seminar flitigt och har aldrig bränd av en krets utom ett par tillfällen där spänningsregulatorn, under drift, fick spader och skickade ut 12V (billigt switch-skit), det var en aning mer än kretsen tyckte om......
Med ICD är det riktigt trevligt att jobba, stega fram i programmet, ändra värden/portar/minne, köra full hastighet, lägga in break-point i hårdvaran osv. Riktigt kul faktisk. Även om att den stjäl ett par pinnar går det bra, jag har en sockel som byter en port så jag använder 16F877 som 16F873.
Vill man något tungt tycker jag att ICD:n är nära nog ett måste.
- Motormannen
- Inlägg: 649
- Blev medlem: 12 september 2003, 18:40:48
- Ort: Stockholm
- Motormannen
- Inlägg: 649
- Blev medlem: 12 september 2003, 18:40:48
- Ort: Stockholm
-
- Inlägg: 3663
- Blev medlem: 11 september 2004, 09:30:42
- Ort: gbg
- Kontakt:
-
- Inlägg: 2360
- Blev medlem: 16 september 2003, 17:18:13
- Ort: Dubai, United Arab Emirates
- Kontakt:
Det kommer att fungera utmärkt dåligt.
Det kortsaste spåret har 40 tecken och dom två andra >100 tecken. En Pic10F har 16(24) bytes minne så det finns inte en chans i världen att buffra upp spåret och dekoda det innan man skickar det vilken är ett måste annars så måste man skicka i variabel hastighet beroende på hur fort användren drar och det fungerar inte mot en serieport.
Det kortsaste spåret har 40 tecken och dom två andra >100 tecken. En Pic10F har 16(24) bytes minne så det finns inte en chans i världen att buffra upp spåret och dekoda det innan man skickar det vilken är ett måste annars så måste man skicka i variabel hastighet beroende på hur fort användren drar och det fungerar inte mot en serieport.
Nu å då så dyker det upp idéer och förslag på vad man kan använda 10F-serien till. Å det är många som har diskuterat om att börja bygga DC/DC-omvandlare (i vissa fall med microkontroler som bas). Jag antar att många har varit tittat på Microchips hemsida...men ifall inte...jag hittade där ett applikationsblad som visar hur man kan använda en 10F som "soft start"-styrande krets för en DC/DC-omvandlare....kan det var nåt.
http://ww1.microchip.com/downloads/en/A ... 91081A.pdf
Sen finns det ju DC/DC-omvandlare med "softstart" inbyggt....
....men endå, man kan ju använda 10F-kretsen till nåt annat SAMTIDIGT...å då kan ju det vara ett intressant alternativ kanske
http://ww1.microchip.com/downloads/en/A ... 91081A.pdf
Sen finns det ju DC/DC-omvandlare med "softstart" inbyggt....

Tänkte skriva att det visst skulle kunna funka med magnetläsaren, för man kan använda timer-interrupt för att skicka seriella datan... men jag tog en snabbkoll på databladet och det verkar som 10F inte har några interrupt (!)
Missade jag nåt eller är det så?
Den har ju timers iaf, så man kanske skulle kunna sno ihop en multitaskande huvudloop som fixar biffen...
Missade jag nåt eller är det så?
Den har ju timers iaf, så man kanske skulle kunna sno ihop en multitaskande huvudloop som fixar biffen...
-
- Inlägg: 2360
- Blev medlem: 16 september 2003, 17:18:13
- Ort: Dubai, United Arab Emirates
- Kontakt:
Cyr: Hur ska man kunna skicka kortdatat utan att buffra upp det först? Från kortläsaren så kommer det ut en klockad dataström (553 bits på spår 1, 200 på spår 2 eller 535 bitar på spår 3) och man vill få över det till en asynkron serieport med lagom hastighet.
... Fast nu när jag skriver detta så funderar jag på om man kanske skulle kunna klara sig utan en allt för stor ringbuffer om man har tillräckligt hög hastighet på serieporten eftersom man inte kan swipa hur fort som helst. Skriver man lite snygg kod som bitbangar ut till PC'n ssamtidigt som man tar hand om den klockade datan från läsaren och sköter ringbufferten så kan det nog fungera.
Dock inte med picbasic....
... Fast nu när jag skriver detta så funderar jag på om man kanske skulle kunna klara sig utan en allt för stor ringbuffer om man har tillräckligt hög hastighet på serieporten eftersom man inte kan swipa hur fort som helst. Skriver man lite snygg kod som bitbangar ut till PC'n ssamtidigt som man tar hand om den klockade datan från läsaren och sköter ringbufferten så kan det nog fungera.
Dock inte med picbasic....
Jo, det förutsätter att man använder så hög bitrate att man hinner skicka ut i samma takt som data kommer in, mer eller mindre. Och så kräver det då ett väldigt väl planerat program som både kan hålla koll på datan från kortet och skifta ut databitar till serieporten med rätt hastighet.
Det är nog inte omöjligt om man använder en timer för att hålla reda på bitraten, men det får bli assembler givetvis...
Det är nog inte omöjligt om man använder en timer för att hålla reda på bitraten, men det får bli assembler givetvis...