12個(gè)光纖傳感器,對應(yīng)12路通道,當(dāng)有元器件件(直徑3mm)經(jīng)過檢測區(qū)域時(shí),輸入有信號(hào),只是時(shí)間極短。12路通道的匯總,進(jìn)入一個(gè)容器,總共滿100個(gè)元器件的時(shí)候,關(guān)閉總閥門。 要求嚴(yán)格計(jì)數(shù),99個(gè)或101個(gè)均算失敗。
每一路通道不會(huì)出現(xiàn)同時(shí)掉落兩個(gè)元器件,時(shí)間上有先后,間隔時(shí)間100ms以上;
不同路通道(比如通道1和通道2)的元器件掉落時(shí)間是有可能重合的;
大家?guī)臀蚁胂脒@個(gè)怎么弄才不會(huì)有誤差。
我想的方案是:
每一路輸入都設(shè)置脈沖捕捉輸入功能,并且在循環(huán)中斷(循環(huán)中斷時(shí)間設(shè)置5ms)里對12路高速輸入上升沿計(jì)數(shù)
利用12路硬件上升沿中斷,每一個(gè)中斷對應(yīng)每一路通道,每個(gè)通道分別計(jì)數(shù); 開一個(gè)循環(huán)中斷(掃描周期要短)不停的把12路通道的計(jì)數(shù)變量進(jìn)行加運(yùn)算,滿100,立即關(guān)閉閥門。
請大家指教,上述兩個(gè)控制方案有啥不足之處? 或者再看看有別的好的控制方案嗎